:root {
–rosa: #CE1782; –rosa-hover: #B5106F; –rosa-light: #FEEFF8; –rosa-mid: #F5C9E2;
–navy: #071A35; –navy-deep: #050F26; –navy-light: #112344;
–text: #5C5C5C; –text-dark: #1E2330; –text-muted: #878D9C;
–white: #FFFFFF; –surface: #F5F5F5; –surface-cool: #F7F8FB;
–border: #EAEBED; –border-soft: #F1F2F4; –mint: #0FEDC1; –danger: #DE3D3D;
–shadow-sm: 0 4px 12px rgba(0,0,0,.04);
–shadow-md: 0 8px 32px rgba(0,0,0,.06);
–shadow-lg: 0 16px 40px rgba(206,23,130,.10);
}
.mk *, .mk *::before, .mk *::after { box-sizing: border-box; }
.mk { font-family: ‘Manrope’, system-ui, -apple-system, sans-serif; font-size: 16px; line-height: 1.5; color: var(–text); background: var(–white); -webkit-font-smoothing: antialiased; }
.mk h1, .mk h2, .mk h3, .mk h4 { font-family: ‘DM Sans’, system-ui, sans-serif; font-weight: 900; letter-spacing: -0.025em; margin: 0; color: var(–navy); }
.mk p { margin: 0; }
.mk a { color: inherit; text-decoration: none; transition: color .15s ease; }
.mk a:hover { color: var(–rosa); }
.mk ul { list-style: none; padding: 0; margin: 0; }
.mk img, .mk svg { display: block; max-width: 100%; }
/* Sections, all 1440px full-width with inner 1280px content */
.mk-section { width: 100%; padding: 0; position: relative; }
.mk-wrap { max-width: 1280px; margin: 0 auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-wrap { padding: 0 32px; } }
@media (max-width: 640px) { .mk-wrap { padding: 0 20px; } }
/* Eyebrow pill */
.mk-eyebrow { display: inline-flex; align-items: center; padding: 8px 14px; background: var(–rosa-light); color: var(–rosa); font-family: ‘DM Sans’, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 999px; }
/* Buttons */
.mk-btn { display: inline-flex; align-items: center; justify-content: center; padding: 16px 28px; font-family: ‘DM Sans’, sans-serif; font-weight: 700; font-size: 15px; border-radius: 999px; text-decoration: none; transition: all .15s ease; cursor: pointer; }
.mk-btn–primary { background: var(–rosa); color: var(–white); box-shadow: var(–shadow-lg); }
.mk-btn–primary:hover { background: var(–rosa-hover); color: var(–white); transform: translateY(-1px); }
.mk-btn–outline { background: transparent; color: var(–navy); border: 1.5px solid var(–navy); }
.mk-btn–outline:hover { background: var(–navy); color: var(–white); }
/* Section heads */
.mk-section-head { max-width: 800px; margin: 0 auto; text-align: center; }
.mk-section-head h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.05; margin-top: 16px; }
.mk-section-head .mk-section-sub { margin-top: 16px; font-size: 17px; color: var(–text); }
/* === 01 HERO === */
.mk-hero { padding: 80px 0 80px; }
.mk-hero__wrap { display: grid; grid-template-columns: 640px 1fr; gap: 80px; max-width: 1280px; margin: 0 auto; padding: 0 80px; }
@media (max-width: 1100px) { .mk-hero__wrap { grid-template-columns: 1fr; gap: 48px; } }
.mk-hero__left h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1.04; margin-top: 24px; }
.mk-hero__lead { margin-top: 32px; font-size: 18px; line-height: 1.55; max-width: 600px; color: var(–text); }
.mk-hero__ctas { display: flex; gap: 12px; margin-top: 40px; flex-wrap: wrap; }
.mk-hero__trust { display: flex; align-items: center; gap: 16px; margin-top: 40px; }
.mk-hero__avatars { display: flex; }
.mk-avatar { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(–white); margin-left: -10px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 11px; color: var(–white); font-family: ‘DM Sans’, sans-serif; }
.mk-avatar:first-child { margin-left: 0; }
.mk-avatar:nth-child(1) { background: linear-gradient(135deg, #CE1782, #B5106F); }
.mk-avatar:nth-child(2) { background: linear-gradient(135deg, #0FEDC1, #0BC4A1); }
.mk-avatar:nth-child(3) { background: linear-gradient(135deg, #071A35, #112344); }
.mk-avatar:nth-child(4) { background: linear-gradient(135deg, #5C5C5C, #1E2330); }
.mk-hero__trust-text { font-size: 13px; line-height: 1.3; }
.mk-hero__trust-text strong { display: block; color: var(–navy); font-weight: 700; font-size: 14px; }
.mk-hero__trust-text span { color: var(–text-muted); }
/* HeroRight 520×600 with blobs + HeroImageCard 480×600 */
.mk-hero__right { position: relative; width: 520px; height: 600px; }
@media (max-width: 1100px) { .mk-hero__right { width: 100%; max-width: 520px; margin: 0 auto; } }
.mk-blob { position: absolute; border-radius: 50%; filter: blur(0px); opacity: 0.5; z-index: 1; }
.mk-blob–rosa { left: 60px; top: -40px; width: 380px; height: 380px; background: radial-gradient(circle, var(–rosa-mid) 0%, var(–rosa-light) 70%, transparent 100%); }
.mk-blob–mint { left: 380px; top: 460px; width: 160px; height: 160px; background: radial-gradient(circle, var(–mint) 0%, rgba(15,237,193,.3) 60%, transparent 100%); }
.mk-hero__card { position: absolute; left: 20px; top: 0; width: 480px; height: 600px; background: var(–white); border-radius: 24px; box-shadow: var(–shadow-md); padding: 36px; z-index: 2; }
@media (max-width: 1100px) { .mk-hero__card { width: 100%; } }
.mk-statpill { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; background: var(–surface-cool); border-radius: 999px; font-size: 13px; font-weight: 700; color: var(–navy); }
.mk-statpill__dot { width: 8px; height: 8px; border-radius: 50%; background: var(–mint); box-shadow: 0 0 0 4px rgba(15,237,193,.18); animation: mk-pulse 1.8s infinite; }
@keyframes mk-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(15,237,193,.18); } 50% { box-shadow: 0 0 0 8px rgba(15,237,193,.08); } }
/* HeroProfileCard */
.mk-profcard { margin-top: 18px; border: 1px solid var(–border); border-radius: 16px; padding: 24px; background: var(–white); }
.mk-profcard__head { display: flex; justify-content: space-between; align-items: center; }
.mk-profcard__title { font-family: ‘DM Sans’, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: var(–text-muted); text-transform: uppercase; }
.mk-livedot { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; color: var(–rosa); letter-spacing: 0.06em; }
.mk-livedot__d { width: 6px; height: 6px; background: var(–rosa); border-radius: 50%; animation: mk-pulse 1.5s infinite; }
.mk-profrow { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(–border-soft); }
.mk-profrow:last-of-type { border-bottom: none; }
.mk-profrow__left { display: flex; align-items: center; gap: 10px; }
.mk-profrow__ico { width: 32px; height: 32px; background: var(–surface-cool); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.mk-profrow__label strong { display: block; font-size: 14px; font-weight: 700; color: var(–navy); }
.mk-profrow__label small { display: block; font-size: 12px; color: var(–text-muted); margin-top: 2px; }
.mk-profrow__price { font-family: ‘DM Sans’, sans-serif; font-size: 14px; font-weight: 800; color: var(–navy); }
.mk-profcta { display: block; text-align: center; margin-top: 12px; padding: 6px; font-size: 13px; font-weight: 700; color: var(–rosa); }
.mk-profcta:hover { color: var(–rosa-hover); }
/* HeroBigStat */
.mk-bigstat { margin-top: 24px; padding: 24px; background: linear-gradient(135deg, var(–rosa-light), #fff); border-radius: 16px; border: 1px solid var(–rosa-mid); }
.mk-bigstat__lbl { font-size: 13px; font-weight: 700; color: var(–rosa); text-transform: uppercase; letter-spacing: 0.06em; }
.mk-bigstat__num { font-family: ‘DM Sans’, sans-serif; font-size: 96px; font-weight: 900; line-height: 1; letter-spacing: -0.04em; color: var(–rosa); margin-top: 8px; }
.mk-bigstat__cap { font-size: 13px; color: var(–text); margin-top: 8px; line-height: 1.35; }
/* === 02 LOGOS === */
.mk-logos { padding: 80px 0 60px; background: var(–surface-cool); }
.mk-logos__head { text-align: center; font-family: ‘DM Sans’, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(–text-muted); }
.mk-logos__row { display: flex; justify-content: space-between; align-items: center; margin-top: 32px; gap: 24px; flex-wrap: wrap; }
.mk-logo { font-family: ‘DM Sans’, sans-serif; font-weight: 800; font-size: 17px; color: var(–text-muted); opacity: 0.7; letter-spacing: 0.04em; }
/* === 03 LLM ANSWER === */
.mk-llm { padding: 60px 0; }
.mk-llm__box { display: grid; grid-template-columns: 88px 1fr; gap: 32px; padding: 40px 48px; background: linear-gradient(135deg, #FAFBFE, #F4F6FB); border: 1px solid var(–border); border-radius: 24px; max-width: 1280px; margin: 0 auto; }
@media (max-width: 800px) { .mk-llm__box { grid-template-columns: 1fr; gap: 24px; padding: 28px; } }
.mk-llm__icon { width: 64px; height: 64px; background: var(–navy); color: var(–white); font-family: ‘DM Sans’, sans-serif; font-weight: 900; font-size: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.mk-llm__q { font-family: ‘DM Sans’, sans-serif; font-size: 26px; font-weight: 900; color: var(–navy); line-height: 1.2; }
.mk-llm__a { margin-top: 18px; font-size: 16px; line-height: 1.6; color: var(–text-dark); }
.mk-llm__source { margin-top: 24px; font-size: 12px; color: var(–text-muted); }
.mk-llm__source strong { color: var(–navy); font-family: ‘DM Sans’, sans-serif; letter-spacing: 0.04em; }
.mk-llm__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; padding: 12px 22px; background: var(–rosa); color: var(–white); border-radius: 999px; font-weight: 700; font-size: 14px; }
.mk-llm__cta:hover { background: var(–rosa-hover); color: var(–white); }
/* === 04 STATS GRID === */
.mk-stats { padding: 80px 0; }
.mk-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px; max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-stats__grid { grid-template-columns: repeat(2, 1fr); padding: 0 32px; } }
@media (max-width: 540px) { .mk-stats__grid { grid-template-columns: 1fr; } }
.mk-statcard { padding: 32px 28px; background: var(–white); border: 1px solid var(–border); border-radius: 20px; }
.mk-statcard__num { font-family: ‘DM Sans’, sans-serif; font-size: 56px; font-weight: 900; line-height: 1; color: var(–rosa); letter-spacing: -0.04em; }
.mk-statcard__num small { font-size: 31px; margin-left: 4px; color: var(–rosa); font-weight: 800; }
.mk-statcard__lbl { font-family: ‘DM Sans’, sans-serif; font-size: 17px; font-weight: 800; color: var(–navy); margin-top: 16px; line-height: 1.25; }
.mk-statcard__cap { margin-top: 16px; font-size: 13px; color: var(–text-muted); line-height: 1.45; }
.mk-stats__cta-row { text-align: center; margin-top: 56px; }
/* === 05 WHY CITY === */
.mk-why { padding: 100px 0; background: var(–surface-cool); }
.mk-why__wrap { display: grid; grid-template-columns: 600px 1fr; gap: 80px; max-width: 1280px; margin: 0 auto; padding: 0 80px; align-items: start; }
@media (max-width: 1024px) { .mk-why__wrap { grid-template-columns: 1fr; gap: 48px; padding: 0 32px; } }
.mk-why__left h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.05; margin-top: 16px; }
.mk-why__left p { margin-top: 24px; font-size: 16px; line-height: 1.7; color: var(–text); }
.mk-why__bullets { margin-top: 32px; display: grid; gap: 18px; }
.mk-bullet { display: flex; gap: 12px; align-items: flex-start; }
.mk-bullet__check { flex-shrink: 0; width: 24px; height: 24px; background: var(–rosa-light); color: var(–rosa); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 13px; }
.mk-bullet p { margin: 0; font-size: 15px; line-height: 1.55; color: var(–text-dark); }
.mk-why__cta { margin-top: 40px; }
.mk-why__right { position: sticky; top: 100px; }
.mk-mapcard { background: var(–white); border: 1px solid var(–border); border-radius: 24px; padding: 60px 40px; text-align: center; box-shadow: var(–shadow-sm); }
.mk-mapcard__pin { font-size: 56px; }
.mk-mapcard__name { font-family: ‘DM Sans’, sans-serif; font-size: 32px; font-weight: 900; color: var(–navy); margin-top: 16px; letter-spacing: -0.02em; }
.mk-mapcard__sub { font-size: 13px; color: var(–text-muted); margin-top: 6px; }
.mk-mini-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.mk-mini { background: var(–white); border: 1px solid var(–border); border-radius: 16px; padding: 24px; }
.mk-mini__num { font-family: ‘DM Sans’, sans-serif; font-size: 28px; font-weight: 900; color: var(–navy); letter-spacing: -0.02em; }
.mk-mini–rosa .mk-mini__num { color: var(–rosa); }
.mk-mini__lbl { font-size: 13px; font-weight: 700; color: var(–navy); margin-top: 12px; }
.mk-mini__cap { font-size: 12px; color: var(–text-muted); margin-top: 4px; }
/* === 06 SERVICE DEFINITION === */
.mk-def { padding: 100px 0; }
.mk-def__wrap { display: grid; grid-template-columns: 760px 488px; gap: 32px; max-width: 1280px; margin: 56px auto 0; padding: 0 80px; }
@media (max-width: 1024px) { .mk-def__wrap { grid-template-columns: 1fr; padding: 0 32px; } }
.mk-def__left { background: var(–white); border: 1px solid var(–border); border-radius: 24px; padding: 40px; }
.mk-def__label { font-family: ‘DM Sans’, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: var(–rosa); text-transform: uppercase; }
.mk-def__lead { margin-top: 16px; font-size: 17px; line-height: 1.6; color: var(–text-dark); }
.mk-def__div { height: 1px; background: var(–border); margin: 32px 0; }
.mk-def__list { display: grid; gap: 16px; margin-top: 24px; }
.mk-def__row { display: flex; gap: 12px; align-items: flex-start; }
.mk-def__dot { flex-shrink: 0; width: 8px; height: 8px; background: var(–rosa); border-radius: 50%; margin-top: 8px; }
.mk-def__row p { margin: 0; font-size: 15px; line-height: 1.55; color: var(–text); }
.mk-cite { background: linear-gradient(135deg, var(–navy) 0%, var(–navy-deep) 100%); color: var(–white); border-radius: 24px; padding: 36px; }
.mk-cite + .mk-cite { margin-top: 20px; }
.mk-cite__lbl { font-family: ‘DM Sans’, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: var(–mint); text-transform: uppercase; }
.mk-cite__num { font-family: ‘DM Sans’, sans-serif; font-size: 64px; font-weight: 900; line-height: 1; color: var(–white); letter-spacing: -0.03em; margin-top: 16px; }
.mk-cite__txt { margin-top: 20px; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.85); }
.mk-cite__src { margin-top: 24px; font-size: 11px; color: rgba(255,255,255,.6); letter-spacing: 0.04em; }
/* === 07 SERVICES GRID === */
.mk-svc { padding: 100px 0; background: var(–surface-cool); }
.mk-svc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 64px; max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-svc__grid { grid-template-columns: 1fr 1fr; padding: 0 32px; } }
@media (max-width: 720px) { .mk-svc__grid { grid-template-columns: 1fr; } }
.mk-svccard { background: var(–white); border: 1px solid var(–border); border-radius: 20px; padding: 32px; transition: all .2s ease; }
.mk-svccard:hover { transform: translateY(-2px); box-shadow: var(–shadow-md); border-color: var(–rosa-mid); }
.mk-svccard__icon { width: 56px; height: 56px; background: var(–rosa-light); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.mk-svccard__title { font-family: ‘DM Sans’, sans-serif; font-size: 20px; font-weight: 800; color: var(–navy); margin-top: 24px; line-height: 1.2; }
.mk-svccard__desc { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(–text); }
.mk-svccard__tags { display: flex; gap: 6px; margin-top: 24px; flex-wrap: wrap; }
.mk-tag { padding: 4px 10px; background: var(–surface); color: var(–navy); font-size: 11px; font-weight: 700; border-radius: 999px; font-family: ‘DM Sans’, sans-serif; }
/* === 08 COMPARISON TABLE === */
.mk-cmp { padding: 100px 0; }
.mk-cmp__table { max-width: 1280px; margin: 56px auto 0; padding: 0 80px; }
@media (max-width: 1024px) { .mk-cmp__table { padding: 0 32px; } }
.mk-cmp__tbl { width: 100%; border-collapse: separate; border-spacing: 0; background: var(–white); border-radius: 20px; overflow: hidden; box-shadow: var(–shadow-sm); border: 1px solid var(–border); }
.mk-cmp__tbl th, .mk-cmp__tbl td { padding: 24px 32px; text-align: left; vertical-align: middle; font-size: 14px; line-height: 1.5; }
.mk-cmp__tbl th { font-family: ‘DM Sans’, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(–text-muted); background: var(–surface); border-bottom: 1px solid var(–border); }
.mk-cmp__tbl th .mk-cmp__sub { display: block; margin-top: 8px; font-weight: 600; font-size: 13px; text-transform: none; letter-spacing: 0; color: var(–text); }
.mk-cmp__tbl th–rec { background: linear-gradient(180deg, var(–rosa-light), #fff); position: relative; }
.mk-cmp__tbl th–rec .mk-cmp__sub { color: var(–rosa); font-weight: 700; }
.mk-cmp__rec-tag { display: inline-block; padding: 4px 10px; background: var(–rosa); color: var(–white); font-size: 9px; font-weight: 800; letter-spacing: 0.08em; border-radius: 999px; margin-left: 8px; vertical-align: middle; }
.mk-cmp__tbl tr + tr td { border-top: 1px solid var(–border-soft); }
.mk-cmp__tbl td.mk-cmp__factor { font-family: ‘DM Sans’, sans-serif; font-weight: 700; color: var(–navy); font-size: 15px; }
.mk-cmp__cell { display: flex; gap: 12px; align-items: flex-start; }
.mk-cmp__x, .mk-cmp__chk { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; font-size: 13px; }
.mk-cmp__x { background: #FEEAEA; color: var(–danger); }
.mk-cmp__chk { background: rgba(15,237,193,.16); color: #0A8E72; }
/* === 09 PRICING === */
.mk-pri { padding: 100px 0; background: linear-gradient(180deg, #fff 0%, var(–surface-cool) 100%); }
.mk-pri__table { max-width: 1280px; margin: 56px auto 0; padding: 0 80px; }
@media (max-width: 1024px) { .mk-pri__table { padding: 0 32px; } }
.mk-pri__tbl { width: 100%; border-collapse: separate; border-spacing: 0; background: var(–white); border-radius: 20px; overflow: hidden; box-shadow: var(–shadow-md); border: 1px solid var(–border); }
.mk-pri__tbl th, .mk-pri__tbl td { padding: 22px 28px; font-size: 15px; line-height: 1.4; }
.mk-pri__tbl th { font-family: ‘DM Sans’, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(–text-muted); background: var(–surface); text-align: center; }
.mk-pri__tbl th:first-child { text-align: left; }
.mk-pri__tbl td { text-align: center; }
.mk-pri__tbl td:first-child { text-align: left; font-family: ‘DM Sans’, sans-serif; font-weight: 700; color: var(–navy); }
.mk-pri__tbl tr + tr td { border-top: 1px solid var(–border-soft); }
.mk-pri__local { font-family: ‘DM Sans’, sans-serif; font-weight: 700; color: var(–text); font-size: 17px; }
.mk-pri__metr { font-family: ‘DM Sans’, sans-serif; font-weight: 900; color: var(–rosa); font-size: 20px; letter-spacing: -0.02em; }
.mk-pri__save { display: inline-flex; align-items: center; padding: 6px 14px; background: rgba(15,237,193,.18); color: #0A8E72; font-family: ‘DM Sans’, sans-serif; font-weight: 800; font-size: 13px; border-radius: 999px; }
.mk-pri__foot { padding: 20px 28px; background: var(–surface); border-top: 1px solid var(–border); font-size: 12px; color: var(–text-muted); line-height: 1.55; }
.mk-pri__cta-row { text-align: center; margin-top: 56px; }
/* === 10 METHODOLOGY === */
.mk-meth { padding: 100px 0; }
.mk-meth__steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 56px; max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-meth__steps { grid-template-columns: repeat(2, 1fr); padding: 0 32px; } }
@media (max-width: 540px) { .mk-meth__steps { grid-template-columns: 1fr; } }
.mk-step { background: var(–white); border: 1px solid var(–border); border-radius: 20px; padding: 28px 24px; }
.mk-step__head { display: flex; align-items: center; gap: 10px; }
.mk-step__num { width: 36px; height: 36px; background: var(–navy); color: var(–white); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: ‘DM Sans’, sans-serif; font-weight: 900; font-size: 16px; }
.mk-step__day { padding: 4px 10px; background: var(–rosa-light); color: var(–rosa); font-family: ‘DM Sans’, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0.05em; border-radius: 999px; }
.mk-step__title { font-family: ‘DM Sans’, sans-serif; font-size: 18px; font-weight: 800; color: var(–navy); margin-top: 20px; line-height: 1.2; }
.mk-step__desc { margin-top: 16px; font-size: 13px; line-height: 1.6; color: var(–text); }
/* === 11 TESTIMONIALS === */
.mk-test { padding: 100px 0; background: var(–surface-cool); }
.mk-test__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-test__grid { grid-template-columns: 1fr; padding: 0 32px; } }
.mk-testcard { background: var(–white); border: 1px solid var(–border); border-radius: 20px; padding: 36px; display: flex; flex-direction: column; min-height: 380px; }
.mk-testcard__q { font-family: ‘DM Sans’, sans-serif; font-size: 48px; color: var(–rosa); line-height: 1; margin-bottom: 16px; }
.mk-testcard__txt { font-size: 16px; line-height: 1.6; color: var(–text-dark); flex: 1; }
.mk-testcard__btm { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(–border-soft); display: flex; gap: 14px; align-items: center; }
.mk-testcard__avatar { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(–rosa), var(–navy)); color: var(–white); display: flex; align-items: center; justify-content: center; font-family: ‘DM Sans’, sans-serif; font-weight: 800; font-size: 14px; }
.mk-testcard__author { font-family: ‘DM Sans’, sans-serif; font-weight: 800; font-size: 15px; color: var(–navy); }
.mk-testcard__role { font-size: 13px; color: var(–text); margin-top: 2px; }
.mk-testcard__tag { display: inline-block; margin-top: 6px; font-size: 10px; font-weight: 800; color: var(–rosa); letter-spacing: 0.08em; }
.mk-test__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 56px; padding: 32px 0; max-width: 1280px; margin-left: auto; margin-right: auto; padding-left: 80px; padding-right: 80px; }
@media (max-width: 1024px) { .mk-test__stats { grid-template-columns: repeat(2, 1fr); padding-left: 32px; padding-right: 32px; } }
.mk-tstat { text-align: center; }
.mk-tstat__n { font-family: ‘DM Sans’, sans-serif; font-size: 40px; font-weight: 900; color: var(–navy); letter-spacing: -0.03em; }
.mk-tstat__l { font-size: 13px; color: var(–text-muted); margin-top: 8px; }
/* === 12 ORIGINAL DATA === */
.mk-data { padding: 100px 0; }
.mk-data__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-data__grid { grid-template-columns: 1fr; padding: 0 32px; } }
.mk-datacard { background: linear-gradient(160deg, var(–navy), var(–navy-deep)); color: var(–white); border-radius: 20px; padding: 36px; min-height: 360px; display: flex; flex-direction: column; }
.mk-datacard__lbl { font-family: ‘DM Sans’, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: var(–mint); text-transform: uppercase; }
.mk-datacard__big { font-family: ‘DM Sans’, sans-serif; font-size: 72px; font-weight: 900; color: var(–white); letter-spacing: -0.04em; line-height: 1; margin-top: 24px; }
.mk-datacard__txt { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.82); margin-top: 24px; flex: 1; }
.mk-datacard__src { font-size: 11px; color: rgba(255,255,255,.55); margin-top: 24px; letter-spacing: 0.04em; }
.mk-datacard__src strong { color: var(–mint); }
/* === 13 FAQ === */
.mk-faq { padding: 100px 0; background: var(–surface-cool); }
.mk-faq__list { max-width: 960px; margin: 56px auto 0; padding: 0 32px; }
.mk-faq__item { background: var(–white); border: 1px solid var(–border); border-radius: 16px; margin-bottom: 12px; overflow: hidden; }
.mk-faq__item details { padding: 0; }
.mk-faq__item summary { padding: 24px 28px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: ‘DM Sans’, sans-serif; font-size: 17px; font-weight: 700; color: var(–navy); list-style: none; }
.mk-faq__item summary::-webkit-details-marker { display: none; }
.mk-faq__item summary::after { content: ‘+’; font-size: 24px; color: var(–rosa); font-weight: 400; line-height: 1; }
.mk-faq__item[open] summary::after { content: ‘−’; }
.mk-faq__answer { padding: 0 28px 24px; font-size: 15px; line-height: 1.65; color: var(–text); }
.mk-faq__cta { max-width: 960px; margin: 40px auto 0; padding: 36px; background: var(–white); border-radius: 20px; text-align: center; border: 1px solid var(–border); }
.mk-faq__cta h3 { font-family: ‘DM Sans’, sans-serif; font-size: 22px; font-weight: 800; color: var(–navy); }
.mk-faq__cta .mk-btn { margin-top: 20px; }
.mk-faq__cta a.mk-link { display: inline-block; margin-top: 16px; font-size: 14px; color: var(–rosa); font-weight: 700; }
/* === 14 AUTHOR BIO === */
.mk-author { padding: 60px 0; }
.mk-author__card { max-width: 1280px; margin: 0 auto; padding: 32px; background: var(–white); border: 1px solid var(–border); border-radius: 20px; display: grid; grid-template-columns: 96px 1fr auto; gap: 32px; align-items: center; }
@media (max-width: 1024px) { .mk-author__card { grid-template-columns: 1fr; text-align: center; } }
.mk-author__avatar { width: 96px; height: 96px; border-radius: 50%; background: linear-gradient(135deg, var(–rosa), var(–navy)); color: var(–white); display: flex; align-items: center; justify-content: center; font-family: ‘DM Sans’, sans-serif; font-weight: 900; font-size: 32px; }
.mk-author__top { display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 700; color: var(–text-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.mk-author__verify { padding: 4px 10px; background: rgba(15,237,193,.18); color: #0A8E72; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; }
.mk-author__name { font-family: ‘DM Sans’, sans-serif; font-size: 22px; font-weight: 800; color: var(–navy); margin-top: 8px; }
.mk-author__bio { margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(–text); }
.mk-author__links { margin-top: 16px; display: flex; gap: 24px; flex-wrap: wrap; }
.mk-author__links a { color: var(–rosa); font-weight: 700; font-size: 14px; }
.mk-author__date { text-align: right; font-size: 11px; color: var(–text-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.mk-author__date strong { display: block; font-family: ‘DM Sans’, sans-serif; font-size: 16px; font-weight: 800; color: var(–navy); margin-top: 6px; text-transform: none; letter-spacing: 0; }
.mk-author__date span { display: block; margin-top: 4px; color: var(–text); text-transform: none; letter-spacing: 0; font-size: 12px; }
/* === 15 RELATED CITIES === */
.mk-cities { padding: 100px 0; }
.mk-cities__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 56px; max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 80px; }
@media (max-width: 1024px) { .mk-cities__grid { grid-template-columns: repeat(2, 1fr); padding: 0 32px; } }
.mk-citycard { display: block; background: var(–white); border: 1px solid var(–border); border-radius: 14px; padding: 20px 24px; transition: all .15s ease; }
.mk-citycard:hover { border-color: var(–rosa-mid); box-shadow: var(–shadow-sm); transform: translateY(-1px); }
.mk-citycard–soon { opacity: .55; cursor: default; background: #FAFAFB; }
.mk-citycard–soon:hover { border-color: var(–border); box-shadow: none; transform: none; }
.mk-citycard–soon .mk-citycard__sub { font-style: italic; }
.mk-citycard__top { display: flex; align-items: center; gap: 10px; }
.mk-citycard__pin { width: 28px; height: 28px; background: var(–rosa-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.mk-citycard__name { font-family: ‘DM Sans’, sans-serif; font-size: 17px; font-weight: 800; color: var(–navy); }
.mk-citycard__sub { margin-top: 12px; font-size: 12px; color: var(–text-muted); }
.mk-citycard–current { background: var(–rosa-light); border-color: var(–rosa-mid); }
.mk-citycard–all { background: var(–surface-cool); border-style: dashed; text-align: center; }
.mk-citycard–all .mk-citycard__name { color: var(–rosa); display: block; text-align: center; }
/* === 16 FINAL CTA === */
.mk-final { padding: 100px 0; }
.mk-final__card { max-width: 1280px; margin: 0 auto; padding: 80px 200px; background: linear-gradient(135deg, var(–navy) 0%, var(–navy-deep) 100%); border-radius: 32px; text-align: center; color: var(–white); position: relative; overflow: hidden; }
@media (max-width: 1024px) { .mk-final__card { padding: 60px 32px; } }
.mk-final__card::before { content: ”; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(206,23,130,.25), transparent 70%); }
.mk-final__card::after { content: ”; position: absolute; bottom: -80px; left: -80px; width: 200px; height: 200px; background: radial-gradient(circle, rgba(15,237,193,.15), transparent 70%); }
.mk-final__eyebrow { display: inline-flex; padding: 8px 14px; background: rgba(255,255,255,.1); color: var(–white); border-radius: 999px; font-family: ‘DM Sans’, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; position: relative; z-index: 2; }
.mk-final__card h2 { font-family: ‘DM Sans’, sans-serif; font-size: clamp(32px, 4vw, 48px); font-weight: 900; line-height: 1.05; color: var(–white); margin-top: 24px; letter-spacing: -0.025em; position: relative; z-index: 2; }
.mk-final__card p { margin-top: 24px; font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.85); max-width: 760px; margin-left: auto; margin-right: auto; position: relative; z-index: 2; }
.mk-final__btns { display: flex; gap: 14px; justify-content: center; margin-top: 40px; flex-wrap: wrap; position: relative; z-index: 2; }
.mk-final__btns .mk-btn–primary { background: var(–rosa); }
.mk-final__btns .mk-btn–outline { color: var(–white); border-color: rgba(255,255,255,.5); }
.mk-final__btns .mk-btn–outline:hover { background: rgba(255,255,255,.1); color: var(–white); border-color: var(–white); }
.mk-final__trust { display: flex; gap: 32px; justify-content: center; margin-top: 32px; flex-wrap: wrap; position: relative; z-index: 2; }
.mk-final__trust span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.75); }
.mk-final__trust span::before { content: ‘✓’; color: var(–mint); font-weight: 900; }
@import url(‘https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap’);
/* === SCOPED FIXES, only target .mk children, plus minimal page-ID scoped overrides === */
/* (1) Hide the duplicate theme post title above our hero, scoped to these 2 pages */
body.page-id-9424 .entry-title,
body.page-id-9426 .entry-title,
body.page-id-9424 .page-title,
body.page-id-9426 .page-title { display: none !important; }
/* (2) Theme applies `filter: brightness(0) invert(1)` to header logo + nav widget,
designed for dark hero pages. Our hero left is white, so the white logo/nav
would be invisible. Undo the filter ONLY on these 2 pages. */
/* Button text colors */
.mk .mk-btn { text-decoration: none !important; }
.mk a.mk-btn–primary, .mk .mk-btn–primary { color: #FFFFFF !important; background: var(–rosa) !important; }
.mk a.mk-btn–primary:hover, .mk .mk-btn–primary:hover { background: var(–rosa-hover) !important; color: #FFFFFF !important; }
.mk a.mk-btn–outline, .mk .mk-btn–outline { color: var(–navy) !important; background: transparent !important; border: 1.5px solid var(–navy) !important; }
.mk a.mk-btn–outline:hover, .mk .mk-btn–outline:hover { background: var(–navy) !important; color: #FFFFFF !important; }
/* (3) Final CTA outline button, higher specificity so white text + bright border stick */
.mk .mk-final .mk-final__card .mk-btn–outline,
.mk .mk-final__btns a.mk-btn–outline,
.mk-final__card a.mk-btn–outline {
color: #FFFFFF !important;
background: transparent !important;
border: 1.5px solid rgba(255,255,255,0.7) !important;
}
.mk .mk-final .mk-final__card .mk-btn–outline:hover,
.mk .mk-final__btns a.mk-btn–outline:hover,
.mk-final__card a.mk-btn–outline:hover {
background: rgba(255,255,255,0.12) !important;
border-color: #FFFFFF !important;
color: #FFFFFF !important;
}
.mk a.mk-profcta { color: var(–rosa) !important; }
.mk a.mk-llm__cta { color: #FFFFFF !important; background: var(–rosa); }
.mk-author__links a { color: var(–rosa) !important; }
/* Comparison table column widths */
.mk-cmp__tbl { table-layout: fixed; }
.mk-cmp__tbl th:nth-child(1), .mk-cmp__tbl td:nth-child(1) { width: 28%; }
.mk-cmp__tbl th:nth-child(2), .mk-cmp__tbl td:nth-child(2) { width: 36%; }
.mk-cmp__tbl th:nth-child(3), .mk-cmp__tbl td:nth-child(3) { width: 36%; }
/* === HERO REDESIGN, Figma-faithful dark navy right card === */
.mk-hero { padding: 40px 0 60px; }
.mk-hero__wrap {
display: grid !important;
grid-template-columns: minmax(0, 1fr) minmax(0, 460px) !important;
gap: 48px !important;
max-width: 1100px !important;
margin: 0 auto !important;
padding: 0 20px !important;
align-items: start !important;
}
@media (max-width: 900px) { .mk-hero__wrap { grid-template-columns: 1fr !important; } }
.mk-hero__left h1 {
font-size: clamp(34px, 4.2vw, 50px) !important;
line-height: 1.08 !important;
}
.mk-h1-rosa { color: var(–rosa) !important; }
.mk-hero__right {
position: relative !important;
width: 100% !important;
height: auto !important;
background: linear-gradient(165deg, #0B1F40 0%, #050F26 100%) !important;
border-radius: 32px !important;
padding: 36px 30px 32px !important;
overflow: hidden !important;
box-shadow: 0 24px 64px rgba(7,26,53,0.20) !important;
}
.mk-hero__right .mk-blob {
position: absolute !important;
border-radius: 50% !important;
filter: blur(50px) !important;
z-index: 0 !important;
pointer-events: none !important;
top: auto !important; left: auto !important; right: auto !important;
}
.mk-hero__right .mk-blob–rosa {
right: -90px !important; bottom: -130px !important;
width: 340px !important; height: 340px !important;
background: var(–rosa) !important; opacity: 0.55 !important;
}
.mk-hero__right .mk-blob–mint {
left: -90px !important; bottom: -60px !important;
width: 240px !important; height: 240px !important;
background: var(–mint) !important; opacity: 0.28 !important;
}
.mk-hero__right .mk-hero__card {
background: transparent !important;
box-shadow: none !important;
padding: 0 !important;
position: relative !important;
z-index: 2 !important;
width: 100% !important;
height: auto !important;
left: 0 !important;
top: 0 !important;
}
.mk-hero__card > .mk-statpill { background: white !important; color: var(–navy) !important; }
.mk-hero__card .mk-profcard {
background: white !important;
border-radius: 14px !important;
padding: 16px 18px !important;
margin-top: 14px !important;
border: none !important;
}
.mk-profcard .mk-profrow { padding: 10px 0 !important; }
.mk-profcard .mk-profrow__ico { width: 28px !important; height: 28px !important; font-size: 13px !important; }
.mk-profcard .mk-profrow__label strong { font-size: 13px !important; }
.mk-profcard .mk-profrow__label small { font-size: 11px !important; }
.mk-profcard .mk-profrow__price { font-size: 13px !important; }
.mk-hero__card .mk-bigstat {
background: none !important;
border: none !important;
padding: 0 !important;
margin-top: 26px !important;
}
.mk-hero__card .mk-bigstat__lbl {
color: rgba(255,255,255,0.78) !important;
font-family: ‘Manrope’, sans-serif !important;
font-size: 13px !important;
font-weight: 500 !important;
letter-spacing: 0 !important;
text-transform: none !important;
}
.mk-hero__card .mk-bigstat__num {
font-size: clamp(72px, 8.5vw, 116px) !important;
color: #FFFFFF !important;
margin-top: 4px !important;
}
.mk-hero__card .mk-bigstat__cap {
color: rgba(255,255,255,0.65) !important;
font-size: 12px !important;
margin-top: 10px !important;
}
/* Trust avatars: rosa / navy / mint / rosa-mid (per Figma) */
.mk-hero__avatars .mk-avatar {
font-size: 0 !important;
width: 28px !important;
height: 28px !important;
margin-left: -8px !important;
background-image: none !important;
}
.mk-hero__avatars .mk-avatar:first-child { margin-left: 0 !important; }
.mk-hero__avatars .mk-avatar:nth-child(1) { background: var(–rosa) !important; }
.mk-hero__avatars .mk-avatar:nth-child(2) { background: var(–navy) !important; }
.mk-hero__avatars .mk-avatar:nth-child(3) { background: var(–mint) !important; }
.mk-hero__avatars .mk-avatar:nth-child(4) { background: var(–rosa-mid) !important; }
/* (4) Original Data cards, reduce big number font + tighten so “up to 56%” fits */
.mk-datacard { padding: 28px 28px !important; min-height: 320px !important; }
.mk-datacard__big {
font-size: 56px !important;
line-height: 1.0 !important;
margin-top: 18px !important;
letter-spacing: -0.03em !important;
word-spacing: -0.05em !important;
}
.mk-datacard__txt { margin-top: 18px !important; font-size: 13px !important; }
.mk-datacard__src { margin-top: 18px !important; }
/* (5) Topband removed, hide if still in HTML */
.mk-topband { display: none !important; }
/* Header menu link color, theme sets WHITE for dark-hero pages, force navy here */
/* Keep dropdown arrows visible too */
/* Inner span of menu items has direct color:white, override */
/* Catch-all for header text incl Chrome auto-translate
tags */
/* Push hero below the theme header so navy card doesn’t overlap nav */
.mk-hero { padding-top: 90px !important; }
/* === SPACING PASS, breathing room everywhere === */
/* Hero: more space above + below, wider gap between columns */
.mk-hero { padding-top: 120px !important; padding-bottom: 100px !important; }
.mk-hero__wrap {
gap: 80px !important;
max-width: 1180px !important;
grid-template-columns: minmax(0, 1fr) minmax(0, 440px) !important;
}
/* Add internal padding to hero left so h1 has space from edge */
.mk-hero__left { padding-right: 0 !important; }
.mk-hero__left h1 { margin-top: 28px !important; }
.mk-hero__lead { margin-top: 32px !important; }
.mk-hero__ctas { margin-top: 44px !important; gap: 14px !important; }
.mk-hero__trust { margin-top: 44px !important; }
/* Hero right card: pull in a bit, more internal padding */
.mk-hero__right { padding: 40px 36px 36px !important; }
/* All sections: consistent vertical padding */
.mk-logos { padding: 80px 0 !important; }
.mk-llm { padding: 80px 0 !important; }
.mk-stats { padding: 110px 0 !important; }
.mk-why { padding: 110px 0 !important; }
.mk-def { padding: 110px 0 !important; }
.mk-svc { padding: 110px 0 !important; }
.mk-cmp { padding: 110px 0 !important; }
.mk-pri { padding: 110px 0 !important; }
.mk-meth { padding: 110px 0 !important; }
.mk-test { padding: 110px 0 !important; }
.mk-data { padding: 110px 0 !important; }
.mk-faq { padding: 110px 0 !important; }
.mk-author { padding: 70px 0 !important; }
.mk-cities { padding: 110px 0 !important; }
.mk-final { padding: 110px 0 !important; }
/* Section heads: more space below the eyebrow pill and h2 */
.mk-section-head h2 { margin-top: 20px !important; }
.mk-section-head .mk-section-sub { margin-top: 20px !important; }
/* Stats / why-city / def / svc grids: more room above the cards */
.mk-stats__grid { margin-top: 64px !important; }
.mk-why__wrap { gap: 80px !important; }
.mk-def__wrap { gap: 40px !important; margin-top: 64px !important; }
.mk-svc__grid { margin-top: 64px !important; gap: 28px !important; }
.mk-meth__steps { margin-top: 64px !important; gap: 24px !important; }
.mk-test__grid { margin-top: 64px !important; gap: 28px !important; }
.mk-data__grid { margin-top: 64px !important; gap: 28px !important; }
/* Comparison/pricing tables: more space above */
.mk-cmp__table { margin-top: 64px !important; }
.mk-pri__table { margin-top: 64px !important; }
.mk-pri__cta-row { margin-top: 64px !important; }
.mk-stats__cta-row { margin-top: 64px !important; }
/* FAQ list spacing */
.mk-faq__list { margin-top: 64px !important; }
.mk-faq__cta { margin-top: 56px !important; }
/* Related cities + final CTA */
.mk-cities__grid { margin-top: 64px !important; }
/* === HERO EXTRA SPACING === */
.mk-hero { padding-top: 160px !important; padding-bottom: 140px !important; }
.mk-hero__wrap { gap: 96px !important; }
.mk-hero__left h1 { margin-top: 36px !important; }
.mk-hero__lead { margin-top: 40px !important; }
.mk-hero__ctas { margin-top: 56px !important; }
.mk-hero__trust { margin-top: 60px !important; }
.mk-hero__right { padding: 48px 40px 44px !important; }
.mk-hero__card .mk-profcard { margin-top: 22px !important; padding: 20px 22px !important; }
.mk-profcard .mk-profrow { padding: 14px 0 !important; }
.mk-hero__card .mk-bigstat { margin-top: 36px !important; }
.mk-hero__card .mk-bigstat__num { margin-top: 8px !important; }
.mk-hero__card .mk-bigstat__cap { margin-top: 16px !important; }
/* === HERO DECOR + MORE SPACING (matches homepage curve) === */
.mk-hero {
position: relative !important;
overflow: hidden !important;
padding-top: 180px !important;
padding-bottom: 160px !important;
}
.mk-hero::before {
content: ”;
position: absolute;
top: -260px;
right: -260px;
width: 780px;
height: 780px;
background: radial-gradient(circle at 30% 30%, rgba(206,23,130,0.50) 0%, rgba(140,40,200,0.42) 35%, rgba(180,60,200,0.18) 60%, transparent 80%);
border-radius: 50%;
filter: blur(40px);
z-index: 0;
pointer-events: none;
}
.mk-hero::after {
content: ”;
position: absolute;
top: -180px;
right: -100px;
width: 520px;
height: 520px;
background: radial-gradient(circle, rgba(206,23,130,0.30) 0%, rgba(120,30,180,0.20) 50%, transparent 80%);
border-radius: 50%;
z-index: 0;
pointer-events: none;
}
.mk-hero__wrap {
position: relative !important;
z-index: 1 !important;
gap: 100px !important;
}
.mk-hero__left h1 { margin-top: 40px !important; }
.mk-hero__lead { margin-top: 44px !important; }
.mk-hero__ctas { margin-top: 60px !important; }
.mk-hero__trust { margin-top: 64px !important; }
/* === NAVY CARD DARK + COMPACT, HEADER CURVE === */
/* Card stays pure dark navy, remove decorative blobs */
.mk-hero__right {
background: linear-gradient(165deg, #050F26 0%, #071A35 100%) !important;
padding: 32px 28px !important;
}
.mk-hero__right .mk-blob { display: none !important; }
/* Compact spacing inside the card */
.mk-hero__card > .mk-statpill { margin-bottom: 0 !important; }
.mk-hero__card .mk-profcard {
margin-top: 14px !important;
padding: 14px 18px !important;
border-radius: 14px !important;
}
.mk-profcard .mk-profrow { padding: 9px 0 !important; }
.mk-profcard__head { padding-bottom: 4px !important; }
.mk-profcta { margin-top: 8px !important; padding: 4px 0 !important; }
.mk-hero__card .mk-bigstat { margin-top: 22px !important; }
.mk-hero__card .mk-bigstat__lbl { font-size: 13px !important; }
.mk-hero__card .mk-bigstat__num {
margin-top: 4px !important;
font-size: clamp(72px, 7.5vw, 100px) !important;
line-height: 0.95 !important;
}
.mk-hero__card .mk-bigstat__cap { margin-top: 10px !important; }
/* Top-right curve: sharper + more vibrant like homepage */
.mk-hero::before {
top: -120px !important;
right: -320px !important;
width: 760px !important;
height: 760px !important;
background: radial-gradient(circle at 35% 40%, rgba(206,23,130,0.72) 0%, rgba(150,30,180,0.62) 35%, rgba(110,40,160,0.32) 60%, transparent 78%) !important;
filter: blur(0px) !important;
border-radius: 50% !important;
}
.mk-hero::after { display: none !important; }
/* === CLEAN HERO BG (matches Figma) + MINT GLOW === */
/* Remove the pink-purple top-right blob, Figma is clean white */
.mk-hero::before,
.mk-hero::after { display: none !important; }
.mk-hero { overflow: visible !important; }
/* Hero right wrapper allows blob to overflow */
.mk-hero__right { overflow: visible !important; }
/* Mint glow at bottom-right of navy card (per Figma) */
.mk-hero__right > .mk-mint-glow,
.mk-hero__right::before {
content: ”;
position: absolute;
bottom: -70px;
right: -50px;
width: 200px;
height: 200px;
background: radial-gradient(circle, rgba(15,237,193,0.55) 0%, rgba(15,237,193,0.25) 40%, transparent 70%);
border-radius: 50%;
filter: blur(30px);
z-index: 0;
pointer-events: none;
display: block !important;
}
/* === PROFILE CARD EMBEDDED IN NAVY (matches Figma) === */
/* Profile card is no longer a white inset, it’s dark, with white text */
.mk-hero__card .mk-profcard {
background: transparent !important;
border: 1px solid rgba(255,255,255,0.10) !important;
border-radius: 14px !important;
padding: 18px 18px !important;
margin-top: 18px !important;
}
.mk-hero__card .mk-profcard__head {
padding-bottom: 8px !important;
border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.mk-hero__card .mk-profcard__title {
color: rgba(255,255,255,0.55) !important;
font-size: 10px !important;
letter-spacing: 0.12em !important;
}
.mk-hero__card .mk-livedot { color: var(–mint) !important; font-size: 10px !important; }
.mk-hero__card .mk-livedot__d { background: var(–mint) !important; box-shadow: 0 0 0 3px rgba(15,237,193,0.18) !important; }
/* Profile rows on dark bg */
.mk-hero__card .mk-profrow {
padding: 11px 0 !important;
border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.mk-hero__card .mk-profrow:last-of-type { border-bottom: none !important; }
.mk-hero__card .mk-profrow__ico {
background: rgba(255,255,255,0.10) !important;
color: white !important;
width: 32px !important;
height: 32px !important;
font-size: 14px !important;
}
.mk-hero__card .mk-profrow__label strong {
color: #FFFFFF !important;
font-size: 13px !important;
font-weight: 700 !important;
}
.mk-hero__card .mk-profrow__label small {
color: rgba(255,255,255,0.50) !important;
font-size: 11px !important;
}
.mk-hero__card .mk-profrow__price {
color: #FFFFFF !important;
font-weight: 800 !important;
font-size: 13px !important;
}
/* “Ver todos los perfiles” CTA */
.mk-hero__card .mk-profcta {
color: var(–rosa) !important;
margin-top: 10px !important;
padding: 8px 0 !important;
border-top: 1px solid rgba(255,255,255,0.06) !important;
}
.mk-hero__card .mk-profcta:hover { color: var(–mint) !important; }
/* “Equipo operativo” pill stays white on dark per Figma */
.mk-hero__card > .mk-statpill {
background: rgba(255,255,255,0.96) !important;
color: var(–navy) !important;
font-size: 13px !important;
}
/* === TIGHTER SPACING PASS === */
/* Hero: less top/bottom padding, tighter internal gaps */
.mk-hero { padding-top: 100px !important; padding-bottom: 70px !important; }
.mk-hero__wrap { gap: 72px !important; }
.mk-hero__left h1 { margin-top: 24px !important; }
.mk-hero__lead { margin-top: 28px !important; }
.mk-hero__ctas { margin-top: 36px !important; }
.mk-hero__trust { margin-top: 36px !important; }
/* Section padding: lower from 110 to 80px */
.mk-logos { padding: 60px 0 !important; }
.mk-llm { padding: 60px 0 !important; }
.mk-stats { padding: 80px 0 !important; }
.mk-why { padding: 80px 0 !important; }
.mk-def { padding: 80px 0 !important; }
.mk-svc { padding: 80px 0 !important; }
.mk-cmp { padding: 80px 0 !important; }
.mk-pri { padding: 80px 0 !important; }
.mk-meth { padding: 80px 0 !important; }
.mk-test { padding: 80px 0 !important; }
.mk-data { padding: 80px 0 !important; }
.mk-faq { padding: 80px 0 !important; }
.mk-author { padding: 50px 0 !important; }
.mk-cities { padding: 80px 0 !important; }
.mk-final { padding: 80px 0 !important; }
/* Tighter gaps between section heads and content */
.mk-section-head h2 { margin-top: 14px !important; }
.mk-section-head .mk-section-sub { margin-top: 14px !important; }
.mk-stats__grid { margin-top: 44px !important; }
.mk-why__wrap { gap: 60px !important; }
.mk-def__wrap { gap: 28px !important; margin-top: 44px !important; }
.mk-svc__grid { margin-top: 44px !important; gap: 22px !important; }
.mk-meth__steps { margin-top: 44px !important; gap: 20px !important; }
.mk-test__grid { margin-top: 44px !important; gap: 22px !important; }
.mk-data__grid { margin-top: 44px !important; gap: 22px !important; }
.mk-cmp__table { margin-top: 44px !important; }
.mk-pri__table { margin-top: 44px !important; }
.mk-pri__cta-row { margin-top: 44px !important; }
.mk-stats__cta-row { margin-top: 44px !important; }
.mk-faq__list { margin-top: 44px !important; }
.mk-faq__cta { margin-top: 36px !important; }
.mk-cities__grid { margin-top: 44px !important; }
/* === HERO TOP SPACE BUMP === */
.mk-hero { padding-top: 165px !important; }
/* === FIX SECTION OVERFLOW (fixed-px grid cols + too-wide padding) === */
/* Convert all fixed-pixel grid columns to minmax fr so they shrink in theme container */
.mk-why__wrap {
grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
padding-left: 20px !important;
padding-right: 20px !important;
gap: 40px !important;
}
.mk-def__wrap {
grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
padding-left: 20px !important;
padding-right: 20px !important;
gap: 28px !important;
}
.mk-llm__box {
grid-template-columns: 72px minmax(0, 1fr) !important;
padding-left: 24px !important;
padding-right: 24px !important;
}
.mk-author__card {
grid-template-columns: 80px minmax(0, 1fr) auto !important;
padding: 28px !important;
}
/* All other section wraps: reduce huge 80px padding to 20px */
.mk-wrap, .mk-stats__grid, .mk-svc__grid, .mk-cmp__table, .mk-pri__table,
.mk-meth__steps, .mk-test__grid, .mk-test__stats, .mk-data__grid,
.mk-cities__grid, .mk-final__card {
padding-left: 20px !important;
padding-right: 20px !important;
}
.mk-section__wrap {
padding-left: 20px !important;
padding-right: 20px !important;
}
/* Def section right side: stat cards should fit comfortably */
.mk-def__side { min-width: 0 !important; }
.mk-def__stat {
padding: 28px 24px !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.mk-def__stat-big {
font-size: clamp(48px, 5vw, 64px) !important;
word-break: break-word !important;
}
.mk-def__stat-txt {
font-size: 14px !important;
line-height: 1.5 !important;
}
/* === HEADER: match homepage behavior on these 2 pages (opt out of theme’s subpage filter) === */
/* === HEADER COLOR RESTORE + HIDE PAGE-HEADER (9484), match 9424/9426 treatment === */
body.page-id-10120 #logo-header { filter: none !important; }
body.page-id-10120.page.page-child header.elementor-location-header span.e-n-menu-title-text,
body.page-id-10120.page header.elementor-location-header span.e-n-menu-title-text {
color: #071a35 !important;
}
/* Calculator (6th nav item) has its own navy bg, keep white text */
body.page-id-10120.page header.elementor-location-header .e-n-menu-item:nth-child(6) span.e-n-menu-title-text {
color: #ffffff !important;
}
/* Hide the rogue WP theme page-header H1 that sits above the hero */
body.page-id-10120 .page-header,
body.page-id-10120 main.site-main > .page-header {
display: none !important;
}
/* === RESPONSIVE V3, MOBILE STACK FIX (9424 + 9484) === */
@media (max-width: 1024px) {
body.page-id-10120 .mk .mk-hero__wrap,
body.page-id-9424 .mk .mk-hero__wrap,
body.page-id-10120 .mk-hero__wrap,
body.page-id-9424 .mk-hero__wrap {
display: block !important;
grid-template-columns: 1fr !important;
gap: 32px !important;
}
body.page-id-10120 .mk-hero__left,
body.page-id-9424 .mk-hero__left,
body.page-id-10120 .mk-hero__right,
body.page-id-9424 .mk-hero__right {
width: 100% !important;
max-width: 100% !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
body.page-id-10120 .mk-why__wrap,
body.page-id-9424 .mk-why__wrap {
display: block !important;
grid-template-columns: 1fr !important;
gap: 24px !important;
}
body.page-id-10120 .mk-why__left,
body.page-id-9424 .mk-why__left,
body.page-id-10120 .mk-why__right,
body.page-id-9424 .mk-why__right {
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-mini-row,
body.page-id-9424 .mk-mini-row {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 12px !important;
}
body.page-id-10120 .mk-mini,
body.page-id-9424 .mk-mini {
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-cmp__table,
body.page-id-9424 .mk-cmp__table {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto !important;
}
}
@media (max-width: 768px) {
body.page-id-10120 .mk-hero h1,
body.page-id-9424 .mk-hero h1 {
font-size: 30px !important;
line-height: 1.15 !important;
width: 100% !important;
word-break: normal !important;
overflow-wrap: break-word !important;
}
body.page-id-10120 .mk-mini-row,
body.page-id-9424 .mk-mini-row {
grid-template-columns: 1fr !important;
}
body.page-id-10120 .mk-mini,
body.page-id-9424 .mk-mini {
margin-bottom: 10px !important;
}
body.page-id-10120 .mk-hero__wrap,
body.page-id-9424 .mk-hero__wrap {
padding-left: 16px !important;
padding-right: 16px !important;
}
}
@media (max-width: 480px) {
body.page-id-10120 .mk-hero h1,
body.page-id-9424 .mk-hero h1 {
font-size: 26px !important;
}
body.page-id-10120 .mk-pri__tbl,
body.page-id-9424 .mk-pri__tbl {
font-size: 13px !important;
}
}
/* === RESPONSIVE V4 PATCH, comparison table mobile scroll === */
@media (max-width: 768px) {
body.page-id-10120 .mk-cmp__table,
body.page-id-9424 .mk-cmp__table { display: block !important; overflow-x: auto !important; max-width: 100% !important; width: 100% !important; }
body.page-id-10120 .mk-cmp__tbl,
body.page-id-9424 .mk-cmp__tbl { min-width: 600px !important; }
body.page-id-10120 .mk-cmp__sub,
body.page-id-9424 .mk-cmp__sub { max-width: 100% !important; word-wrap: break-word !important; }
body.page-id-10120 .mk-cmp,
body.page-id-9424 .mk-cmp { overflow-x: hidden !important; }
}
/* === RESPONSIVE V5, universal mobile stack fix === */
@media (max-width: 1024px) {
body.page-id-10120 .mk-llm__box, body.page-id-9424 .mk-llm__box,
body.page-id-10120 .mk-def__wrap, body.page-id-9424 .mk-def__wrap,
body.page-id-10120 .mk-test__stats, body.page-id-9424 .mk-test__stats,
body.page-id-10120 .mk-cities__grid, body.page-id-9424 .mk-cities__grid,
body.page-id-10120 .mk-svc__grid, body.page-id-9424 .mk-svc__grid,
body.page-id-10120 .mk-meth__grid, body.page-id-9424 .mk-meth__grid,
body.page-id-10120 .mk-faq__grid, body.page-id-9424 .mk-faq__grid {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 16px !important;
}
body.page-id-10120 .mk-author__card, body.page-id-9424 .mk-author__card {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
text-align: center !important;
gap: 12px !important;
}
body.page-id-10120 .mk-llm__icon, body.page-id-9424 .mk-llm__icon {
margin: 0 auto 12px !important;
}
}
@media (max-width: 768px) {
body.page-id-10120 .mk-cmp__tbl, body.page-id-9424 .mk-cmp__tbl {
min-width: auto !important;
width: 100% !important;
font-size: 12px !important;
}
body.page-id-10120 .mk-cmp__tbl th, body.page-id-10120 .mk-cmp__tbl td,
body.page-id-9424 .mk-cmp__tbl th, body.page-id-9424 .mk-cmp__tbl td {
padding: 10px 6px !important;
font-size: 12px !important;
line-height: 1.35 !important;
vertical-align: top !important;
}
body.page-id-10120 .mk-section h2, body.page-id-9424 .mk-section h2 {
font-size: 26px !important;
line-height: 1.2 !important;
}
body.page-id-10120 .mk-section h3, body.page-id-9424 .mk-section h3 {
font-size: 20px !important;
}
body.page-id-10120 .mk-section, body.page-id-9424 .mk-section {
padding-left: 16px !important;
padding-right: 16px !important;
}
}
/* === SCROLL LOCK FIX (page-id-10120), page only scrolls vertically; wide tables scroll internally === */
@media (max-width: 1024px) {
body.page-id-10120,
html:has(body.page-id-10120) {
overflow-x: hidden !important;
max-width: 100vw !important;
}
body.page-id-10120 .mk-section,
body.page-id-10120 section.mk-section {
overflow-x: hidden !important;
max-width: 100vw !important;
}
body.page-id-10120 .mk-cmp__table,
body.page-id-10120 .mk-pri__table {
display: block !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch !important;
max-width: 100% !important;
width: 100% !important;
overscroll-behavior-x: contain !important;
}
body.page-id-10120 .mk-cmp__tbl,
body.page-id-10120 .mk-pri__tbl {
min-width: auto !important;
width: 100% !important;
}
}
/* === TIER COMPARISON SECTION (page-id-10120 only, unique to atención al cliente page) === */
body.page-id-10120 .mk-tier { padding: 80px 0; background: linear-gradient(180deg, #fff 0%, #FEEFF8 100%); }
body.page-id-10120 .mk-tier__wrap { max-width: 1180px !important; margin: 0 auto !important; padding: 0 20px !important; box-sizing: border-box !important; }
body.page-id-10120 .mk-tier__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
body.page-id-10120 .mk-tier__card { padding: 32px 28px; border: 1px solid #E5E7EB; border-radius: 16px; background: #fff; position: relative; transition: transform 0.2s, box-shadow 0.2s; }
body.page-id-10120 .mk-tier__card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
body.page-id-10120 .mk-tier__card–recommended { border: 2px solid #CE1782; box-shadow: 0 12px 32px rgba(206, 23, 130, 0.18); background: linear-gradient(180deg, #fff 0%, #FEEFF8 100%); }
body.page-id-10120 .mk-tier__icon { font-size: 36px; margin-bottom: 16px; }
body.page-id-10120 .mk-tier__card h3 { font-size: 20px; font-weight: 700; margin: 0 0 8px; color: #0E1B3D; }
body.page-id-10120 .mk-tier__price { font-size: 26px; font-weight: 800; color: #CE1782; margin: 8px 0 20px; }
body.page-id-10120 .mk-tier__card ul { list-style: none; padding: 0; margin: 0; }
body.page-id-10120 .mk-tier__card ul li { padding: 8px 0; padding-left: 24px; position: relative; font-size: 14px; color: #4B5563; line-height: 1.5; }
body.page-id-10120 .mk-tier__card ul li:before { content: ‘✓’; position: absolute; left: 0; color: #CE1782; font-weight: 700; }
body.page-id-10120 .mk-tier__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: #CE1782; color: white; padding: 6px 16px; border-radius: 20px; font-size: 11px; font-weight: 700; letter-spacing: 1px; white-space: nowrap; }
body.page-id-10120 .mk-tier__source { margin-top: 32px; font-size: 13px; color: #6B7280; text-align: center; font-style: italic; }
@media (max-width: 1024px) {
body.page-id-10120 .mk-tier { padding: 48px 0; }
body.page-id-10120 .mk-tier__grid { grid-template-columns: 1fr; gap: 20px; }
body.page-id-10120 .mk-tier__card { padding: 24px 20px; }
}
/* === PALMA PAGE-SPECIFIC DESIGN VARIATIONS (page-id-10120 only) === */
/* FAQ section: fix breathing room around heading + subtitle */
body.page-id-10120 .mk-faq { padding: 96px 0 80px; background: linear-gradient(180deg, #FAFAFB 0%, #FFFFFF 60%); }
body.page-id-10120 .mk-faq .mk-section-head { margin-bottom: 48px; text-align: center; }
body.page-id-10120 .mk-faq .mk-section-head .mk-eyebrow { display: inline-block; margin-bottom: 20px; padding: 6px 16px; background: #FEEFF8; color: #CE1782; border-radius: 20px; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; }
body.page-id-10120 .mk-faq .mk-section-head h2 { margin: 0 0 20px !important; padding: 0; font-size: 44px; line-height: 1.15; font-weight: 800; color: #0E1B3D; max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
body.page-id-10120 .mk-faq .mk-section-head p { margin: 0 auto !important; padding: 0; max-width: 720px; font-size: 17px; line-height: 1.55; color: #5B6478; }
/* FAQ items: vertical breathing room + visual variation */
body.page-id-10120 .mk-faq__list { max-width: 920px; margin: 0 auto; padding: 0 20px; }
body.page-id-10120 .mk-faq__item { margin-bottom: 16px !important; padding: 0; border: 1px solid #E8EAEE; border-left: 4px solid #0E1B3D; border-radius: 14px; background: #fff; transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; overflow: hidden; }
body.page-id-10120 .mk-faq__item:hover { border-left-color: #CE1782; box-shadow: 0 6px 20px rgba(14, 27, 61, 0.08); transform: translateY(-1px); }
body.page-id-10120 .mk-faq__item details { padding: 0; }
body.page-id-10120 .mk-faq__item summary { padding: 22px 28px; font-size: 17px; font-weight: 700; color: #0E1B3D; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; line-height: 1.4; }
body.page-id-10120 .mk-faq__item summary::-webkit-details-marker { display: none; }
body.page-id-10120 .mk-faq__item summary::after { content: ‘+’; flex-shrink: 0; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; background: #FEEFF8; color: #CE1782; border-radius: 50%; font-size: 22px; font-weight: 700; line-height: 1; transition: transform 0.25s, background 0.25s; }
body.page-id-10120 .mk-faq__item details[open] summary::after { content: ‘−’; transform: rotate(180deg); background: #CE1782; color: #fff; }
body.page-id-10120 .mk-faq__item details[open] summary { color: #CE1782; }
body.page-id-10120 .mk-faq__answer { padding: 0 28px 24px; font-size: 15.5px; line-height: 1.65; color: #4B5563; max-width: 820px; }
body.page-id-10120 .mk-faq__cta { margin-top: 40px; padding: 28px; background: #FFFFFF; border: 1px dashed #CE1782; border-radius: 16px; text-align: center; }
body.page-id-10120 .mk-faq__cta p { margin: 0 0 16px; font-size: 16px; font-weight: 600; color: #0E1B3D; }
/* Hero side-card variation for Palma de Mallorca: industrial navy accent border */
body.page-id-10120 .mk-hero__card,
body.page-id-10120 .mk-hero__right > div { border-top: 3px solid #0E1B3D; }
/* Stats variation: navy left border on each stat card to echo industrial Palma de Mallorca */
body.page-id-10120 .mk-stat,
body.page-id-10120 .mk-stats__card { border-left: 3px solid #0E1B3D !important; }
/* Tier-section (Convenio Contact Center): slightly tighter padding so the page feels different than Madrid */
body.page-id-10120 .mk-tier { padding: 72px 0; background: linear-gradient(180deg, #FFFFFF 0%, #F4F6FA 100%); }
body.page-id-10120 .mk-tier .mk-section-head h2 { font-size: 42px; }
body.page-id-10120 .mk-tier .mk-section-head p { margin-top: 16px; max-width: 760px; margin-left: auto; margin-right: auto; }
/* Mobile FAQ adjustments */
@media (max-width: 768px) {
body.page-id-10120 .mk-faq { padding: 64px 0 56px; }
body.page-id-10120 .mk-faq .mk-section-head h2 { font-size: 32px; }
body.page-id-10120 .mk-faq .mk-section-head p { font-size: 15px; padding: 0 16px; }
body.page-id-10120 .mk-faq__item summary { padding: 18px 20px; font-size: 15.5px; }
body.page-id-10120 .mk-faq__answer { padding: 0 20px 20px; font-size: 14.5px; }
body.page-id-10120 .mk-faq__item summary::after { width: 28px; height: 28px; font-size: 18px; }
}
/* === PALMA STUNNING REDESIGN (page-id-10120 only) === */
/* HERO: blueprint pattern background + dramatic depth */
body.page-id-10120 .mk-hero { position: relative; background: linear-gradient(180deg, #FFFFFF 0%, #FAFBFC 100%); overflow: hidden; padding-bottom: 80px; }
body.page-id-10120 .mk-hero::before {
content: ”; position: absolute; inset: 0; pointer-events: none; z-index: 0;
background-image:
linear-gradient(rgba(14, 27, 61, 0.045) 1px, transparent 1px),
linear-gradient(90deg, rgba(14, 27, 61, 0.045) 1px, transparent 1px);
background-size: 56px 56px;
mask-image: radial-gradient(ellipse at top right, rgba(0,0,0,1) 0%, rgba(0,0,0,0.6) 30%, transparent 70%);
-webkit-mask-image: radial-gradient(ellipse at top right, rgba(0,0,0,1) 0%, rgba(0,0,0,0.6) 30%, transparent 70%);
}
body.page-id-10120 .mk-hero::after {
content: ”; position: absolute; top: 10%; right: -10%; width: 600px; height: 600px;
background: radial-gradient(circle, rgba(206, 23, 130, 0.08) 0%, transparent 70%);
pointer-events: none; z-index: 0;
}
body.page-id-10120 .mk-hero > * { position: relative; z-index: 1; }
/* H1 56% gradient underline accent */
body.page-id-10120 .mk-hero h1 strong,
body.page-id-10120 .mk-hero h1 span[style*=”CE1782″] {
background: linear-gradient(180deg, transparent 78%, rgba(206, 23, 130, 0.22) 78%, rgba(206, 23, 130, 0.22) 100%);
padding: 0 6px;
}
/* === NEW SECTION 1: Por qué Palma de Mallorca === */
.mk-whybio { padding: 88px 0 96px; background: linear-gradient(180deg, #FAFBFC 0%, #FFFFFF 50%, #FAFBFC 100%); position: relative; overflow: hidden; }
.mk-whybio__wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 1; }
.mk-whybio .mk-section-head { text-align: center; margin-bottom: 56px; }
.mk-whybio .mk-section-head .mk-eyebrow { display: inline-block; margin-bottom: 18px; padding: 6px 16px; background: #FEEFF8; color: #CE1782; border-radius: 100px; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; }
.mk-whybio .mk-section-head h2 { margin: 0 0 18px; font-size: 44px; line-height: 1.15; font-weight: 800; color: #0E1B3D; max-width: 900px; margin-left: auto; margin-right: auto; }
.mk-whybio .mk-section-head p { margin: 0 auto; max-width: 720px; font-size: 17px; line-height: 1.55; color: #5B6478; }
.mk-whybio__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.mk-whybio__card { padding: 32px 24px; background: linear-gradient(135deg, #FFFFFF 0%, #F4F6FA 100%); border: 1px solid #E0E4EA; border-left: 3px solid #0E1B3D; border-radius: 16px; box-shadow: 0 2px 8px rgba(14, 27, 61, 0.04); transition: transform 0.2s, box-shadow 0.2s; }
.mk-whybio__card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(14, 27, 61, 0.08); }
.mk-whybio__card–hero { background: linear-gradient(135deg, #0E1B3D 0%, #1F2D4F 100%); border-color: #CE1782; border-left-color: #CE1782; }
.mk-whybio__card–hero .mk-whybio__num,
.mk-whybio__card–hero .mk-whybio__lbl,
.mk-whybio__card–hero .mk-whybio__src { color: #FFFFFF; }
.mk-whybio__card–hero .mk-whybio__src { color: rgba(255,255,255,0.7); }
.mk-whybio__num { font-size: 42px; font-weight: 800; color: #0E1B3D; line-height: 1; margin-bottom: 12px; letter-spacing: -1px; }
.mk-whybio__num span { font-size: 24px; font-weight: 700; }
.mk-whybio__lbl { font-size: 14px; font-weight: 700; color: #0E1B3D; margin-bottom: 8px; }
.mk-whybio__src { font-size: 12px; color: #6B7280; font-style: italic; }
/* === NEW SECTION 2: IBEX employers === */
.mk-ibex { padding: 88px 0 96px; background: #0E1B3D; color: #FFFFFF; position: relative; overflow: hidden; }
.mk-ibex::before {
content: ”; position: absolute; inset: 0;
background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
background-size: 56px 56px;
mask-image: radial-gradient(ellipse at top, rgba(0,0,0,0.7), transparent 70%);
-webkit-mask-image: radial-gradient(ellipse at top, rgba(0,0,0,0.7), transparent 70%);
}
.mk-ibex__wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 1; }
.mk-ibex .mk-section-head { text-align: center; margin-bottom: 56px; }
.mk-ibex .mk-section-head .mk-eyebrow { display: inline-block; margin-bottom: 18px; padding: 6px 16px; background: rgba(206, 23, 130, 0.2); color: #FFC4E3; border-radius: 100px; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; }
.mk-ibex .mk-section-head h2 { margin: 0 0 18px; font-size: 44px; line-height: 1.15; font-weight: 800; color: #FFFFFF; max-width: 800px; margin-left: auto; margin-right: auto; }
.mk-ibex .mk-section-head p { margin: 0 auto; max-width: 720px; font-size: 17px; line-height: 1.55; color: rgba(255,255,255,0.8); }
.mk-ibex__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.mk-ibex__card { padding: 28px 22px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; backdrop-filter: blur(10px); transition: transform 0.2s, background 0.2s, border-color 0.2s; }
.mk-ibex__card:hover { transform: translateY(-3px); background: rgba(255,255,255,0.08); border-color: #CE1782; }
.mk-ibex__icon { font-size: 32px; margin-bottom: 16px; line-height: 1; }
.mk-ibex__card h3 { margin: 0 0 12px; font-size: 22px; font-weight: 800; color: #FFFFFF; }
.mk-ibex__addr { margin: 0 0 16px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,0.85); font-weight: 500; }
.mk-ibex__note { margin: 0; font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,0.6); font-style: italic; }
/* === Stat cards: industrial metallic gradient === */
body.page-id-10120 .mk-stat,
body.page-id-10120 .mk-stats__card { background: linear-gradient(135deg, #FFFFFF 0%, #F4F6FA 100%) !important; border: 1px solid #E0E4EA !important; border-left: 3px solid #0E1B3D !important; box-shadow: 0 2px 8px rgba(14, 27, 61, 0.04); }
/* === Comparison table: industrial steel-tone === */
body.page-id-10120 .mk-cmp table thead th { background: #0E1B3D !important; color: #FFFFFF !important; }
body.page-id-10120 .mk-cmp table tbody tr:nth-child(even) { background: #F8F9FB !important; }
body.page-id-10120 .mk-cmp table tbody tr:hover { background: #FFF4FA !important; }
/* === Pricing table: same steel tone === */
body.page-id-10120 .mk-pri table thead th { background: #0E1B3D !important; color: #FFFFFF !important; }
body.page-id-10120 .mk-pri table tbody tr:nth-child(even) { background: #F8F9FB !important; }
body.page-id-10120 .mk-pri table tbody tr:hover { background: #FFF4FA !important; }
/* === Service cards: navy bottom accent on hover === */
body.page-id-10120 .mk-svc__card,
body.page-id-10120 .mk-svc .card { border-bottom: 3px solid transparent !important; transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s !important; }
body.page-id-10120 .mk-svc__card:hover,
body.page-id-10120 .mk-svc .card:hover { border-bottom-color: #CE1782 !important; transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(14, 27, 61, 0.08) !important; }
/* === Methodology: navy left border === */
body.page-id-10120 .mk-meth__step,
body.page-id-10120 .mk-meth .step { border-left: 3px solid #0E1B3D !important; }
/* === Final CTA: diagonal split + Palma de Mallorca gradient === */
body.page-id-10120 .mk-final { position: relative; overflow: hidden; background: linear-gradient(135deg, #0E1B3D 0%, #1F2D4F 50%, #0E1B3D 100%) !important; color: #FFFFFF !important; }
body.page-id-10120 .mk-final::before { content: ”; position: absolute; top: 0; right: 0; width: 50%; height: 100%; background: linear-gradient(135deg, transparent 0%, transparent 40%, rgba(206, 23, 130, 0.18) 50%, transparent 60%, transparent 100%); pointer-events: none; }
body.page-id-10120 .mk-final h2,
body.page-id-10120 .mk-final p { color: #FFFFFF !important; position: relative; z-index: 1; }
body.page-id-10120 .mk-final .mk-eyebrow { background: rgba(206, 23, 130, 0.2) !important; color: #FFFFFF !important; }
/* === Mobile responsive === */
@media (max-width: 768px) {
body.page-id-10120 .mk-hero::before { background-size: 36px 36px; }
.mk-whybio { padding: 56px 0 64px; }
.mk-whybio .mk-section-head h2 { font-size: 30px; }
.mk-whybio__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
.mk-whybio__card { padding: 22px 18px; }
.mk-whybio__num { font-size: 32px; }
.mk-ibex { padding: 56px 0 64px; }
.mk-ibex .mk-section-head h2 { font-size: 30px; }
.mk-ibex__grid { grid-template-columns: 1fr; gap: 14px; }
.mk-ibex__card { padding: 22px 18px; }
body.page-id-10120 .mk-final::before { width: 100%; opacity: 0.3; }
}
@media (max-width: 480px) {
.mk-whybio__grid { grid-template-columns: 1fr; }
}
/* === PALMA MOBILE FIX (page-id-10120, MAX-WIDTH 768PX), AGGRESSIVE === */
@media (max-width: 768px) {
/* HERO: force vertical stack, Elementor columns to stack */
body.page-id-10120 .mk-hero .elementor-container,
body.page-id-10120 .mk-hero .elementor-row,
body.page-id-10120 .mk-hero > .e-con,
body.page-id-10120 .mk-hero > div,
body.page-id-10120 .mk-hero .e-con-inner {
flex-direction: column !important;
flex-wrap: wrap !important;
display: flex !important;
}
body.page-id-10120 .mk-hero .elementor-column,
body.page-id-10120 .mk-hero .elementor-element,
body.page-id-10120 .mk-hero .e-con,
body.page-id-10120 .mk-hero > div > div {
width: 100% !important;
max-width: 100% !important;
flex: 0 0 100% !important;
}
body.page-id-10120 .mk-hero h1 {
font-size: 30px !important;
line-height: 1.18 !important;
word-break: normal !important;
overflow-wrap: normal !important;
hyphens: none !important;
max-width: 100% !important;
margin: 16px 0 18px !important;
}
body.page-id-10120 .mk-hero h1 span,
body.page-id-10120 .mk-hero h1 strong {
display: inline !important;
padding: 0 2px !important;
white-space: normal !important;
}
body.page-id-10120 .mk-hero .mk-eyebrow,
body.page-id-10120 .mk-hero span.mk-eyebrow {
font-size: 11px !important;
padding: 5px 12px !important;
white-space: nowrap !important;
display: inline-block !important;
width: auto !important;
max-width: 100% !important;
line-height: 1.3 !important;
}
body.page-id-10120 .mk-hero p {
font-size: 15px !important;
line-height: 1.55 !important;
}
body.page-id-10120 .mk-hero__card,
body.page-id-10120 .mk-hero__right,
body.page-id-10120 .mk-hero__right > div {
margin: 24px 0 0 !important;
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-hero::before { background-size: 36px 36px !important; }
body.page-id-10120 .mk-hero { padding: 32px 0 56px !important; }
/* PRICING TABLE: horizontal scroll wrapper */
body.page-id-10120 .mk-pri .mk-pri__table,
body.page-id-10120 .mk-pri__table-wrap,
body.page-id-10120 .mk-pri table {
display: block !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch !important;
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-pri table {
min-width: 580px !important;
}
body.page-id-10120 .mk-pri table thead,
body.page-id-10120 .mk-pri table tbody { display: table-header-group !important; }
body.page-id-10120 .mk-pri table tbody { display: table-row-group !important; }
/* COMPARISON TABLE: horizontal scroll wrapper */
body.page-id-10120 .mk-cmp .mk-cmp__table,
body.page-id-10120 .mk-cmp__table-wrap,
body.page-id-10120 .mk-cmp table,
body.page-id-10120 .mk-cmp__row {
display: block !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch !important;
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-cmp table { min-width: 640px !important; }
body.page-id-10120 .mk-cmp__row { min-width: 640px !important; }
body.page-id-10120 .mk-cmp__thead,
body.page-id-10120 .mk-cmp .mk-cmp__thead {
display: flex !important;
min-width: 640px !important;
}
/* Scroll hint hint pseudo-element */
body.page-id-10120 .mk-pri::after,
body.page-id-10120 .mk-cmp::after {
content: ‘← Desliza para ver más →’;
display: block;
text-align: center;
margin-top: 12px;
font-size: 12px;
color: #6B7280;
font-style: italic;
}
/* WHY PALMA DE MALLORCA grid: force 1 column */
body.page-id-10120 .mk-whybio__grid {
grid-template-columns: 1fr !important;
gap: 12px !important;
display: grid !important;
}
body.page-id-10120 .mk-whybio__card {
padding: 22px 20px !important;
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-whybio__num { font-size: 36px !important; }
body.page-id-10120 .mk-whybio { padding: 56px 0 !important; }
body.page-id-10120 .mk-whybio .mk-section-head h2 { font-size: 28px !important; line-height: 1.2 !important; }
/* IBEX grid: force 1 column */
body.page-id-10120 .mk-ibex__grid {
grid-template-columns: 1fr !important;
gap: 12px !important;
display: grid !important;
}
body.page-id-10120 .mk-ibex__card {
padding: 22px 20px !important;
width: 100% !important;
max-width: 100% !important;
}
body.page-id-10120 .mk-ibex { padding: 56px 0 !important; }
body.page-id-10120 .mk-ibex .mk-section-head h2 { font-size: 28px !important; line-height: 1.2 !important; }
/* TIER (Hacienda Foral) grid: force 1 column */
body.page-id-10120 .mk-tier__grid {
grid-template-columns: 1fr !important;
gap: 14px !important;
display: grid !important;
}
body.page-id-10120 .mk-tier__card { padding: 26px 22px !important; }
body.page-id-10120 .mk-tier .mk-section-head h2 { font-size: 28px !important; line-height: 1.2 !important; }
/* Service grid: force 1-2 column responsive */
body.page-id-10120 .mk-svc__grid {
grid-template-columns: 1fr !important;
gap: 12px !important;
}
/* All section heads: smaller fonts on mobile */
body.page-id-10120 .mk-section .mk-section-head h2 {
font-size: 28px !important;
line-height: 1.2 !important;
padding: 0 12px !important;
}
body.page-id-10120 .mk-section .mk-section-head p {
font-size: 15px !important;
padding: 0 16px !important;
}
/* Final CTA: tighter */
body.page-id-10120 .mk-final { padding: 56px 0 !important; }
body.page-id-10120 .mk-final h2 { font-size: 28px !important; line-height: 1.2 !important; padding: 0 16px !important; }
body.page-id-10120 .mk-final p { padding: 0 16px !important; }
body.page-id-10120 .mk-final::before { width: 100% !important; opacity: 0.3 !important; }
/* Container wraps: prevent horizontal overflow */
body.page-id-10120 .mk-whybio__wrap,
body.page-id-10120 .mk-ibex__wrap,
body.page-id-10120 .mk-tier__wrap { padding: 0 16px !important; }
}
/* Even smaller phones */
@media (max-width: 480px) {
body.page-id-10120 .mk-hero h1 { font-size: 26px !important; }
body.page-id-10120 .mk-section .mk-section-head h2 { font-size: 24px !important; }
body.page-id-10120 .mk-whybio__num { font-size: 32px !important; }
body.page-id-10120 .mk-pri table { min-width: 520px !important; }
body.page-id-10120 .mk-cmp table { min-width: 580px !important; }
}
/* === INFOGRAPHICS (responsive) === */
body.page-id-10120 .mk-infographic{margin:36px auto 0;max-width:1000px;width:100%;}
body.page-id-10120 .mk-infographic img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 6px 24px rgba(14,27,61,.10);}
body.page-id-10120 .mk-infographic figcaption{margin-top:12px;font-size:13.5px;line-height:1.5;color:#6B7280;text-align:center;font-style:italic;}
@media (max-width:768px){body.page-id-10120 .mk-infographic{margin-top:24px;}body.page-id-10120 .mk-infographic img{border-radius:12px;}body.page-id-10120 .mk-infographic figcaption{font-size:12.5px;padding:0 12px;}}
/* === INFOGRAPHICS (responsive) === */
body.page-id-10120 .mk-infographic{margin:36px auto 0;max-width:1000px;width:100%;}
body.page-id-10120 .mk-infographic img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 6px 24px rgba(14,27,61,.10);}
body.page-id-10120 .mk-infographic figcaption{margin-top:12px;font-size:13.5px;line-height:1.5;color:#6B7280;text-align:center;font-style:italic;}
@media (max-width:768px){body.page-id-10120 .mk-infographic{margin-top:24px;}body.page-id-10120 .mk-infographic img{border-radius:12px;}body.page-id-10120 .mk-infographic figcaption{font-size:12.5px;padding:0 12px;}}
{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”¿Qué es externalizar la atención al cliente en Palma de Mallorca y cómo funciona con Metrickal?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Delegas el soporte a tus clientes, por teléfono, email o chat, a un equipo que trabaja con tus herramientas y bajo tus criterios. Metrickal es una empresa BPO con base en Barcelona. Nuestros Account Managers están en España y los equipos se montan en el país que mejor se ajuste a tu operación, con Filipinas y Colombia por defecto.”}},{“@type”:”Question”,”name”:”¿Por qué cuesta tanto contratar en Mallorca?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Porque el coste de la vivienda expulsa a los candidatos. El alquiler medio en Palma ronda los 1.606 euros al mes y un alquiler de temporada baja de 2.000 euros es casi inexistente, según el Colegio de Agentes de la Propiedad Inmobiliaria de Baleares. Hay enfermeras con contrato firmado que no encuentran dónde vivir, y el sueldo medio de enfermería en el IB-Salut ronda los 2.700 euros brutos. Si no les salen las cuentas a ellas, tampoco le salen a un agente de atención al cliente.”}},{“@type”:”Question”,”name”:”¿Cómo se cubre un pico sin ampliar plantilla?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Subiendo horas. Puedes reforzar en campaña de Navidad, rebajas o temporada alta y volver al volumen base después, desde 20 horas por semana y con 15 días de aviso si no funciona. El equipo conserva la formación entre campañas, que es lo que se pierde cuando contratas de cero cada año.”}},{“@type”:”Question”,”name”:”¿Cuánto cuesta un agente de atención al cliente en Palma de Mallorca?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”El convenio de contact center es estatal, así que la base es la misma en toda España: 1.224,26€ al mes en nivel 10, catorce pagas, 17.139,58€ brutos anuales, con una subida del 3,4% en 2026. Sumando Seguridad Social, estructura y absentismo, el coste por hora productiva ronda los 15,55€ a 21,60€ según perfil. Con Metrickal el ahorro llega hasta el 56%.”}},{“@type”:”Question”,”name”:”¿Cómo está el mercado laboral en Palma de Mallorca ahora mismo?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Tenso por el lado de la oferta. El Banco de España lleva tiempo advirtiendo de que la escasez de vivienda asequible dificulta la movilidad laboral y la capacidad de las empresas para incorporar trabajadores, y Baleares es la comunidad donde mayor parte del salario se destina al alquiler según Fotocasa e InfoJobs. Muchos candidatos rechazan ofertas porque las cuentas no les salen.”}},{“@type”:”Question”,”name”:”¿En qué idiomas podéis atender?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Español e inglés de forma estándar, con más idiomas bajo demanda. En una provincia donde el turismo marca el calendario y el comercio concentra los picos, el inglés deja de ser opcional en cuanto tu cliente cruza la frontera.”}},{“@type”:”Question”,”name”:”¿Qué pasa si un agente causa baja en plena campaña?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Sustitución en 72 horas sin penalización, con bajas por IT y vacaciones cubiertas en el precio. En temporada alta una cola sin cubrir se traduce en abandono, y ahí la continuidad pesa más que el precio hora.”}},{“@type”:”Question”,”name”:”¿Con qué CRM y telefonía trabajáis?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Dentro de tu stack, no del nuestro. Salesforce Service Cloud, HubSpot, Zendesk, Freshdesk, Aircall, Genesys Cloud y RingCentral, además de marcadores, IVR y grabación. Acceso bajo identificación individual con MFA, permisos de mínimo privilegio y registros auditables.”}},{“@type”:”Question”,”name”:”¿En cuánto tiempo está operativo el equipo?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”En menos de 3 semanas. Diagnóstico los primeros días, diseño de flujos y guiones, dos semanas de selección y formación sobre tu operativa, y arranque con shadowing. Con perfil disponible y urgencia real, 48 horas.”}},{“@type”:”Question”,”name”:”¿Qué conviene no externalizar?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”La relación con tus clientes grandes y las decisiones comerciales. Un equipo externo resuelve consultas, incidencias y pedidos con reglas claras, pero la conversación con la cuenta que representa un tercio de tu facturación se queda dentro.”}}]}
{“@context”:”https://schema.org”,”@type”:”Service”,”serviceType”:”Externalización de atención al cliente (BPO)”,”name”:”Externalización de atención al cliente en Palma de Mallorca”,”description”:”Externalización de atención al cliente en Palma de Mallorca con equipos remotos y Account Manager en España. Cubre la temporada sin competir por vivienda en la isla, con ahorro de hasta el 56% frente al III Convenio Estatal de Contact Center (BOE-A-2026-5300).”,”provider”:{“@type”:”LocalBusiness”,”name”:”Metrickal”,”address”:{“@type”:”PostalAddress”,”streetAddress”:”Carrer d’Ausiàs Marc 141″,”addressLocality”:”Barcelona”,”postalCode”:”08013″,”addressCountry”:”ES”},”url”:”https://metrickal.com”},”areaServed”:{“@type”:”City”,”name”:”Palma de Mallorca”},”offers”:{“@type”:”Offer”,”priceCurrency”:”EUR”,”availability”:”https://schema.org/InStock”}}
{“@context”:”https://schema.org”,”@type”:”LocalBusiness”,”name”:”Metrickal”,”image”:”https://metrickal.com/wp-content/uploads/2025/07/logo-metrical-white.svg”,”url”:”https://metrickal.com”,”address”:{“@type”:”PostalAddress”,”streetAddress”:”Carrer d’Ausiàs Marc 141″,”addressLocality”:”Barcelona”,”postalCode”:”08013″,”addressCountry”:”ES”},”geo”:{“@type”:”GeoCoordinates”,”latitude”:41.398,”longitude”:2.182},”areaServed”:[{“@type”:”City”,”name”:”Palma de Mallorca”},{“@type”:”City”,”name”:”Madrid”},{“@type”:”City”,”name”:”Barcelona”},{“@type”:”City”,”name”:”Valencia”},{“@type”:”City”,”name”:”Sevilla”},{“@type”:”City”,”name”:”Málaga”},{“@type”:”City”,”name”:”Zaragoza”},{“@type”:”City”,”name”:”Bilbao”},{“@type”:”City”,”name”:”Las Palmas de Gran Canaria”},{“@type”:”City”,”name”:”Murcia”}]}
CUSTOMER SERVICE · PALMA DE MALLORCA
Customer service outsourcing in Palma de Mallorca: save up to 56% without losing control of your operations
Metrickal is a Barcelona-based BPO company. Our account managers in Spain set up customer service teams in the country that best suits your operations (the Philippines and Colombia by default). For companies in Palma de Mallorca and the Balearic Islands in sectors such as retail, tourism, hospitality, and e-commerce: accounting, documentation, compliance, HR, operations, and billing. 24/7 access to your dashboard with real-time KPIs. Native speakers of Spanish, English, and German. Up and running in less than 3 weeks, starting at 20 hours per week, with a 15-day cancellation notice if it doesn’t work out.
OF JR
EP JZ
Over 360 companies in Spain
already trust metrickal
Operational equipment in <3 weeks
CUSTOMER SERVICE REPRESENTATIVES AVAILABLE IN PALMA DE MALLORCA
LIVE
💬
Document management operation. 8 available
depending on volume
🌐
Senior Accountant 5 positions available
depending on workload
🌍
Junior Compliance & Legal 3 positions available
depending on workload
⭐
Operations Team Lead 2 positions available
depending on volume
View all profiles →
Average savings
-56%
vs. in-house customer service in Palma de Mallorca under the III Contact Center Agreement (BOE-A-2026-5300)
WHY PALMA · VERIFIED DATA The Bank of Spain has already warned: without affordable housing, there is no labor mobility. The Balearic Islands are the region where the largest portion of one’s salary goes toward rent. That is why many candidates turn down job offers that look good on paper.
€ 1,606
Average rent in Palma
Fotocasa Real Estate Index
+7.9%
Year-over-year increase in rent
Idealista, February 2026
€20.09/m²
Second most expensive region
Second only to Madrid
€5,443/m²
Purchase price
€435,459 for the average home, +5.3%
Why a candidate turns down an offer that looks good on paper.
Over 360 companies in Spain are already working with us
FLIPDISH
DOCTORALIA
ZERCA!
HANGRY
AURO
CLOUDFLOW
?
What is customer service outsourcing in Palma de Mallorca?
Outsourcing customer service in Palma de Mallorca involves entrusting a specialized BPO provider with the comprehensive management of support channels (WhatsApp Business, email, web chat, phone, social media). Metrickal is a Barcelona-based BPO company that sets up customer service teams in the Philippines and Colombia, managed by account managers in Spain, offering labor cost savings of up to 56% compared to the Third National Contact Center Collective Bargaining Agreement. Operational in less than 3 weeks, starting at 20 hours per week, with native-language support in Spanish, Catalan, English, German, Italian, and 14+ other languages—a key advantage for companies in Palma de Mallorca and the Balearic Islands in sectors such as retail, tourism, hospitality, and e-commerce with expansion into the EU and Latin America. More than 360 companies in Spain already trust metrickal, with over 20,000 pre-screened candidates.
SOURCE: Metrickal public data · metrickal.com · Updated May 2026
→ Schedule a demo for Palma de Mallorca
PROVEN RESULTS
Why Companies in Palma de Mallorca Choose Metrickal
52%
Savings on labor costs
vs. fully-loaded cost of in-house customer service in Palma de Mallorca (estimate based on collective bargaining agreement + payroll taxes + overhead)
<3 weeks
Until the team is up and running
Assessment, recruitment, training, and onboarding. 48 hours in urgent cases.
+360
Companies in Spain
Startups, SaaS, e-commerce, logistics, hospitality, fintech, healthcare, and more
14+
Supported languages
ES, CA, EN, FR, DE, PT, IT, NL, RU, HE, DA, SV, AR, and more
LOCAL MARKET · PALMA DE MALLORCA
Why Companies in Palma de Mallorca Outsource to Metrickal
In Mallorca, finding housing has become a major challenge. The average rent for an apartment in Palma is around 1,606 euros per month, or 20.09 euros per square meter, making the Balearic Islands the second most expensive region in Spain, behind only Madrid. Prices rose 7.9% year-over-year, climbing from 16.2 euros per square meter in January 2024 to 19.5 in February 2026. The local business press sums up the situation: Mallorca is no longer competing to attract tourists; it is competing to attract workers.
✓ Account Manager in Spain, same time zone (CET, UTC+1) and physical proximity for in-person meetings
✓ Teams in the Philippines and Colombia: Your company has no employment relationship in Spain
✓ Customer service team available starting at 20 hours per week, with 15 days’ notice. 15 days’ notice required for cancellation
✓ Native-language support in ES + CA + EN + DE + IT + DE—essential for fintech/SaaS companies in Palma de Mallorca and the Balearic Islands operating in sectors such as retail, tourism, hospitality, and e-commerce with expansion into the EU and Latin America
📍
Palma de Mallorca
Metrickal Headquarters · Eixample
~€14.50/hr
Fully-loaded in-house cost
Estimate based on collective bargaining agreement + payroll taxes
based on volume
Metrickal rate
Teams in the Philippines and Colombia formed
DEFINITION
What Is Customer Service Outsourcing and Why Outsource It
A clear definition, when it applies, and how it benefits companies in Palma de Mallorca.
DEFINITION
Customer service outsourcing—also known as customer service BPO—involves delegating the comprehensive management of support channels—WhatsApp Business, email, web chat, phone, social media, and forms—to a specialized provider. In Palma de Mallorca, metrickal operates out of Barcelona and has customer service teams in the country that best suits your operation (the Philippines and Colombia by default). Flexible hours, support in up to 14 languages, and compliance with the LOPDGDD and GDPR guaranteed by the Account Manager in Spain.
WHEN DOES IT APPLY?
Overwhelmed in-house customer service team: You’re losing customers due to a lack of follow-up on WhatsApp or via email—a common issue among startups in Palma de Mallorca and the Balearic Islands in rapidly growing sectors such as retail, tourism, hospitality, and e-commerce
Need for multilingual support (ES + CA + EN + DE + IT + DE) that the local labor market cannot provide with the necessary flexibility
Seasonal spikes—such as Mobile World Congress, ISE, 4YFN, and the tourist season—that do not justify permanent hiring under a collective bargaining agreement
Focus on core business: free up your Barcelona-based team from repetitive Level 1 customer service tasks so they can focus on product development, sales, or expansion
METRICKAL COST REDUCTION
50%+
is the reduction in labor and task-based costs that metrickal achieves for its clients, according to information provided on its own platform.
SOURCE: Metrickal, linkedin.com/company/metrickal
METRICKAL ACTIVATION
<3 weeks
is the time it takes for metrickal clients to scale their operations, from diagnosis to a team with defined KPIs.
SOURCE: Metrickal, metrickal.com (homepage)
WHAT’S INCLUDED
Customer service included for businesses in Palma de Mallorca
Each package is tailored to your industry, channels, languages, and volume. Starting at 20 hours per week, with 15 days’ notice.
💬
Multichannel Customer Service
WhatsApp Business (the #1 channel in Spain), email, web chat, phone, and social media. Incident resolution, FAQ management, and escalation to Level 2.
WhatsApp Email Chat
📦
Order and Return Management
Order processing, modifications, returns, and tracking with carriers (SEUR, DHL, GLS, Correos). Integration with Shopify, WooCommerce, Magento, and PrestaShop.
E-commerce Orders Returns
📊
NPS and CSAT Surveys
Design, launch, and analysis of post-purchase NPS surveys and post-interaction CSAT surveys. Monthly reporting with actionable insights and a quarterly plan.
NPS CSAT
🎯
Reactive Upselling and Cross-Selling
Identifying opportunities during customer service interactions. Validated scripts, ongoing training, and a commission model based on conversions.
Upsell Conversion Revenue
📱
Social Media Support
Reactive community management: Instagram DMs, Twitter/X, Facebook Messenger, TikTok. Response time <30 minutes during business hours.
Social Media DMs Reputation
🌍
International Multilingual Customer Service
Native or bilingual team in 14+ languages. Ideal for fintech, SaaS, and e-commerce companies in Palma de Mallorca and the Balearic Islands in sectors such as retail, tourism, hospitality, and e-commerce with expansion into Europe or Latin America. Native Catalan speakers included.
14+ languages Catalan International
COMPARISON
In-house team in Palma de Mallorca vs. Metrickal
What Changes When You Outsource to a Specialized BPO Partner.
FACTOR
IN-HOUSE IN PALMA DEMALLORCA Hiring under a collective bargaining agreement
WITHMETRICKAL —RECOMMENDED—Outsourcing with Metrickal
Monthly cost per FTE agent
✕ ~€2,320+/month (€17,139.58 at collective bargaining agreement level 10 + language bonus + payroll taxes ~30% + equipment + indirect costs)
✓ Starting at €1,280/month (160 hours × €8), all-inclusive, with no hidden variables
Onboarding Time
✕ 8–12 weeks in Palma de Mallorca: selection, contract, social security enrollment, initial training
✓ Operational in <3 weeks (48 hours in urgent cases with a suitable candidate available)
Scalability of Hours and Profiles
✕ Limited: Each additional agent requires a new hiring process that takes 8–12 weeks
✓ Immediate: Add hours, languages, or channels within 72 hours with no penalties
Administrative and Labor Management
✕ Contracts, payroll, severance pay, sick leave, and terminations handled by you (HR or an administrative agency)
✓ 100% managed by Metrickal: contracts, payroll, sick leave
Hours of Operation
✕ Limited to the number of hours specified in the collective bargaining agreement (1,764 hours/year). Premium pay for holidays and night shifts
✓ 24/7 coverage with no surcharges for shifts, holidays, or night work
Replacements for Absences
✕ Lengthy processes: 3–6 weeks to replace an agent in Palma de Mallorca
✓ Replacement handled by Metrickal, at no cost and with no operational disruption
Risk and Labor Liabilities
✕ High: high turnover typical of the sector, temporary disability leave, labor disputes, severance pay
✓ None: no direct employment relationship, no liabilities, no disputes
Available Languages
✕ Limited to the local Barcelona market (ES + CA + EN). Additional languages as per agreement
✓ 14+ native or bilingual languages (CA, FR, DE, PT, IT, NL, RU, HE, DA, SV, AR)
HOUSING AND TALENT · BALEARIC ISLANDS In Mallorca, the problem is no longer finding customers. It’s finding people who can live here. That was the headline in the Mallorcan business press in July 2026: Mallorca is no longer competing to attract tourists; it’s competing to attract workers. Hotels, businesses, hospitals, and government agencies all face the same problem, and the reason is the cost of living on the islands.
🏠
The Cost of Living Here €1,606/month
Average rent for an apartment in Palma de Mallorca €20.09 per square meter, second most expensive in Spain Rents rose 7.9% year-over-year From €16.2 per square meter in January 2024 to €19.5 in February 2026 METRICKAL · NO HOUSING PROBLEM
🎧
Why this keeps us out of the housing crisis Remote team
Your agent doesn’t need to find an apartment in Palma You’re not competing for housing with vacation rentals You increase hours during peak season and reduce them afterward 15 days’ notice if it doesn’t work out ⚠️
What’s Already Happening €2,000
Minimum for a seasonal rental, according to the API Association A ground-floor room for €800 is almost impossible to find in the summer There are nurses with signed contracts who can’t find a place to live Some hotel chains are once again providing housing for their staff The Cost of Living in Palma, Based on Data from Fotocasa and Idealista. Sources: Fotocasa Real Estate Index and Idealista for rental prices. Statements by José Miguel Artieda, president of the Balearic Islands Association of Real Estate Agents, June 2026. Satse Nursing Union and IB-Salut. Mallorca Economy, July 2026.
WHO IS COMPETING FOR THE SAME TARGET AUDIENCES Every sector on the island is looking for the same people. The difficulty in hiring staff is no longer limited to specific sectors. When a hospital can’t fill its positions, neither can a local call center.
🏨
Hospitality Chains Resum ly Providing Housing for Staff
Providing housing has become part of the salary.
🏥
Healthcare €2,700 gross average nursing salary
Even so, rent takes up almost the entire salary.
🏗
Construction Public Complaint About Labor Shortages
Competes for the same candidates as everyone else.
🏛
Government Agencies s are also affected, according to local media
The problem extends to the island’s public sector.
PRICES · SEPTEMBER 2026
How Much Does Customer Service Outsourcing Cost in Palma de Mallorca: A Real-World Comparison
Average hourly rate for in-house staffing versus metrickal’s rates with teams in the Philippines and Colombia.
PROFILE
PRICE IN PALMA DE MALLORCA
SAVINGS
Administrative Document Processing
€15.55/hour
Up to 49%
Senior Accountant
€17.64/hour
Up to 56%
Junior Compliance & Legal Specialist
€19.00/hour
Up to 48%
Operations Team Lead
€19.84/hour
Up to 56%
Commercial Customer Service Operations
€19.00/hour
Up to 56%
METHODOLOGY · 5 STEPS
How We Get Your Team Up and Running in Palma de Mallorca
A process proven effective with over 360 clients in Spain.
1
DAY 1–2
Customized Assessment
We analyze your current customer service channels, ticket volume, languages, target KPIs (DSO, error rate, processing time, accuracy), and tools (Zendesk, Intercom, HubSpot, Freshdesk).
2
DAY 3–5
Team Design
We define the number of agents, their profiles, coverage schedules, languages, and level of complexity by channel. A finalized quote will be provided within 48 hours.
3
SEM 1-2
Recruitment + Training
Selection from over 20,000 pre-screened candidates in the Philippines and Colombia. Training on your product, scripts, tone of voice, and tools via e-learning.
4
SEM 3
Integrated Onboarding
The team gets started with shadowing alongside your Barcelona team, with KPIs defined in the SLA and an Account Manager overseeing the transition.
5
ONGOING
Continuous Optimization
Weekly meetings with your Account Manager in Spain, CSAT/NPS analysis, A/B testing of scripts, and SLA review every 6 months.
SUCCESS STORIES
CEOs and founders who trust metrickal
Real companies in Spain that outsource operations, customer service, and administration to metrickal from Palma de Mallorca.
“
We knew metrickal from our previous company, and we’ve relied on them for this new project from day one. They’ve been key to scaling our operations without overburdening the team.
OF
Olivier de Forges
CEO, Zocochic
E-COMMERCE
“
Thanks to metrickal, we’ve significantly reduced costs in marketing, support, and operations, leading to lower expenses and more sustainable growth for Find Balance.
JR
Jesús Rebollo
CEO, Find Balance
SAAS
“
We started working with metrickal by using only their customer service to take the pressure off us so we could focus on other aspects of the business. Today, they handle multiple areas for us.
EP
Enrique Perez-Castro
Co-CEO, Nugu Burger
HOSPITALITY
+20K
Pre-screened candidates
3
continents / 10 countries
<3 weeks
Average turnaround time
METRICKAL BY THE NUMBERS
Metrickal for Businesses in Palma de Mallorca: What the Data Says
Verifiable public figures on metrickal and its outsourcing model with teams in the Philippines and Colombia.
COST SAVINGS
up to 56%
in guaranteed savings compared to in-house hiring in Palma de Mallorca, according to metrickal’s public savings calculator.
SOURCE: metrickal.com/calculadora
ACTIVATION TIME
<3 weeks
This is the time it takes for metrickal’s clients in Palma de Mallorca to scale up operations, from the initial assessment to a fully operational team with defined KPIs.
SOURCE: metrickal.com (homepage)
PLATFORM AND NETWORK
+360
companies in Spain work with metrickal, which has a network of over 20,000 pre-screened candidates recruited in the Philippines and Colombia.
SOURCE: metrickal.com (homepage)
FAQ · CUSTOMER SERVICE IN PALMA DE MALLORCA Everything You Need to Know About Outsourcing Your Customer Service in Palma de Mallorca The most frequently asked questions from Mallorcan companies experiencing seasonal peaks.
What does it mean to outsource customer service in Palma de Mallorca, and how does it work with metrickal? You delegate support for your customers—via phone, email, or chat—to a team that works with your tools and according to your guidelines. Metrickal is a Barcelona-based BPO company. Our account managers are based in Spain, and teams are set up in the country that best suits your operations, with the Philippines and Colombia as the default options.
Why is it so hard to find tenants in Mallorca? Because the cost of housing drives candidates away. The average rent in Palma is around 1,606 euros per month, and a low-season rent of 2,000 euros is almost nonexistent, according to the Balearic Islands Association of Real Estate Agents. There are nurses with signed contracts who can’t find a place to live, and the average gross salary for nurses at IB-Salut is around 2,700 euros. If the numbers don’t add up for them, they certainly won’t for a customer service representative either.
How do you handle a peak without expanding your staff? By increasing hours. You can ramp up staff during the Christmas season, sales, or peak season and then return to the base workload afterward—starting at 20 hours per week and with 15 days’ notice if it doesn’t work out. The team retains its training between seasons, which is what you lose when you hire from scratch every year.
How much does a customer service representative cost in Palma de Mallorca? The contact center collective bargaining agreement is national, so the base pay is the same throughout Spain: €1,224.26 per month at level 10, fourteen monthly payments, €17,139.58 gross annually, with a 3.4% increase in 2026. When you add Social Security, overhead, and absenteeism, the cost per productive hour ranges from €15.55 to €21.60, depending on the employee’s profile. With metrickal, savings can reach up to 56%.
What is the job market like in Palma de Mallorca right now? Tight on the supply side. The Bank of Spain has long warned that the shortage of affordable housing hinders labor mobility and companies’ ability to hire workers, and according to Fotocasa and InfoJobs, the Balearic Islands are the region where the largest portion of wages goes toward rent. Many candidates turn down job offers because they can’t make ends meet.
What languages do you offer support in? Spanish and English as standard, with additional languages available upon request. In a province where tourism sets the pace and business activity peaks during certain times of the year, English is no longer optional the moment your customer crosses the border.
What happens if an agent takes a leave of absence in the middle of a campaign? Replacement within 72 hours with no penalty, and sick leave and vacation time are covered in the price. During peak season, an unfilled shift leads to customers leaving, and in that situation, continuity matters more than the hourly rate.
What CRM and phone systems do you use? Within your tech stack, not ours. Salesforce Service Cloud, HubSpot, Zendesk, Freshdesk, Aircall, Genesys Cloud, and RingCentral, as well as dialers, IVR, and call recording. Access is granted via individual authentication with MFA, least-privilege permissions, and auditable logs.
How long does it take for the team to be up and running? In less than 3 weeks. Diagnosis in the first few days, design of workflows and scripts, two weeks of selection and training on your operations, and a launch with shadowing. With an available candidate and a genuine urgency, 48 hours.
What should you avoid outsourcing? Your relationships with major clients and business decisions. An external team handles inquiries, issues, and orders according to clear guidelines, but conversations with the account that accounts for a third of your revenue remain in-house.
JB
CONTENT REVIEWED BY ✓ VERIFIED
Jaume Boada, Co-founder & CCO, metrickal
20 years of experience in the sales departments of multinational companies (Philip Morris, Crédito y Caución) and growth-stage startups (Just Eat as Head of Sales, Tiller, Grupo Mox as General Manager). Over 10 years in the food delivery industry. Co-founder of Metrickal alongside Patrick Synge.
LAST UPDATE
May 13, 2026
Next review: June 2026
COVERAGE IN SPAIN
Outsourced customer service in other cities across Spain
Metrickal works with companies throughout Spain. Headquartered in Palma de Mallorca, with multilingual support and the same time zone.
NEXT STEPS
Start with a free assessment and have a team up and running in less than 3 weeks
Free assessment, personalized proposal, and a fully operational team in less than 3 weeks. Teams in the Philippines and Colombia that comply with LOPDGDD and GDPR. Requires 15 days’ notice to sign up and 15 days’ notice to cancel.
No commitment
With 15 days notice
Free replacement
Equipment in <3 weeks