/* MEO service page: inherit shared service typography, navigation and contact. */
.meo-page { --meo-copy:#425572; --meo-line:#cbd9e9; --meo-accent:#3d6297; }
.meo-page .es-section { padding-block:72px; scroll-margin-top:100px; }
.meo-page .es-section h2 { font-size:clamp(28px,2.9vw,42px); font-weight:800; }
.meo-page .es-section .gradient-text { background-image:linear-gradient(100deg,#126b9b,#3c4bc2 55%,#823dba); }
.meo-page .es-hero-grid { grid-template-columns:1.05fr 1fr; gap:60px; padding-block:24px 20px; }
.meo-page .es-hero h1 { font-size:clamp(38px,3.6vw,52px); line-height:1.5; }
.meo-page .es-lead { font-size:17px; max-width:32em; }
.meo-page .es-hero-actions { gap:16px 24px; }
.meo-page .es-hero-actions > .button { border-color:transparent; box-shadow:inset 0 0 0 1px #a1dbffb3,0 0 1px #a1dbff66,0 4px 24px #733dff21; }
.meo-page .es-hero-link { font-size:14px; }
.meo-page .es-intro { font-size:16px; color:var(--meo-copy); }
.meo-page .es-section-head { margin-bottom:38px; gap:56px; }
.meo-hero-visual { position:relative; margin:0; padding:70px 30px 0; isolation:isolate; }
.meo-map { position:absolute; inset:0 0 94px; overflow:hidden; border:1px solid #435b79; border-radius:16px; background:#142c48; z-index:-1; }
.meo-map-road { position:absolute; background:#273f5b; border:1px solid #3b5470; }
.meo-map-road--one { width:120%; height:38px; top:29%; left:-10%; transform:rotate(-23deg); }
.meo-map-road--two { width:36px; height:150%; left:58%; top:-25%; transform:rotate(28deg); }
.meo-map-road--three { width:100%; height:25px; top:74%; left:5%; transform:rotate(17deg); }
.meo-map-block { position:absolute; background:#204450; border:1px solid #376575; border-radius:12px; }
.meo-map-block--one { width:76px; height:65px; top:30px; left:35%; transform:rotate(-23deg); }
.meo-map-block--two { width:62px; height:95px; right:20px; bottom:30px; transform:rotate(17deg); }
.meo-map-pin { position:absolute; right:36px; top:28px; color:#91bdff; }
.meo-map-pin .icon { width:53px; height:53px; fill:#213f6a; stroke-width:1.5; }
.meo-search-pill { position:absolute; top:23px; left:-16px; padding:13px 22px; display:flex; align-items:center; gap:12px; background:#eef4fd; color:#274261; border:1px solid #9aafc9; border-radius:40px; font-size:16px; font-weight:600; }
.meo-search-pill .icon { width:20px; height:20px; }
.meo-profile-card { max-width:355px; margin:22px auto 0; border:1px solid #b5c6dc; border-radius:10px; overflow:hidden; background:#fff; color:#13263e; box-shadow:0 15px 35px #0004; }
.meo-profile-photo { min-height:96px; background:linear-gradient(125deg,#e7f1f5,#e9e9f8); display:flex; align-items:center; justify-content:center; gap:14px; color:#4d688b; font-size:14px; border-bottom:1px solid #d4e0ec; }
.meo-profile-photo .icon { width:38px; height:38px; }
.meo-profile-body { padding:24px; }
.meo-profile-body h2,.meo-profile-body h3 { font-size:24px; line-height:1.5; letter-spacing:0; margin:0 0 19px; }
.meo-profile-fields { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.meo-profile-fields > li { display:flex; align-items:center; gap:9px; font-size:15px; color:#465d7a; }
.meo-profile-fields .icon { width:17px; height:17px; color:#376d8a; }
.meo-profile-link { margin-top:23px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 15px; border-radius:5px; color:white; background:#425d91; font-size:15px; font-weight:600; }
.meo-page .meo-visual-check { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:20px; color:#cce4f1; font-size:14px; }
.meo-visual-check .icon { width:17px; height:17px; color:#9dd2df; }
.meo-hero-visual figcaption { position:relative; margin:20px -20px 0; color:#c5d7ee; font-size:12px; line-height:1.8; text-align:center; }
/* Introductory search scene and service-specific information. */
.meo-page h3 { font-size:21px; line-height:1.6; }
.meo-page :is(dl,figure) { margin-inline:0; }
.meo-page dd { margin:0; }
.meo-page :is(.meo-note,.meo-source-links) { color:var(--meo-copy); font-size:14px; line-height:1.9; margin-top:22px; }
.meo-source-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
.meo-source-links a { color:#2a5a91; text-underline-offset:4px; overflow-wrap:anywhere; }
.meo-page .es-service-name { font-size:15px; max-width:28em; }
.meo-page .es-hero h1 { font-size:clamp(36px,3.3vw,49px); }
.meo-profile-photos { display:grid; grid-template-columns:1fr 1fr; }
.meo-profile-photos .meo-profile-photo { flex-direction:column; gap:6px; min-height:100px; }
.meo-profile-photos .meo-profile-photo + .meo-profile-photo { border-left:1px solid #cbd9e9; background:#e8edf8; }
.meo-profile-actions { display:flex; gap:7px; margin-top:23px; }
.meo-profile-actions > span { flex:1; text-align:center; padding:9px 3px; border:1px solid #b0c6e5; border-radius:5px; background:#f2f6fc; color:#294c7d; font-size:13px; font-weight:600; }
.meo-about-intro { max-width:850px; color:var(--meo-copy); margin-bottom:32px; }
.meo-search-explainer { border:1px solid #b9cce0; border-radius:12px; padding:28px; background:#f4f8fc; }
.meo-search-query { display:flex; align-items:center; gap:12px; border:1px solid #b5c7dc; padding:15px 21px; border-radius:40px; background:white; font-size:18px; font-weight:600; max-width:560px; margin-bottom:24px!important; }
.meo-search-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:25px; }
.meo-search-results { display:grid; grid-template-columns:.85fr 1fr; gap:14px; }
.meo-result-map { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; min-height:220px; border-radius:8px; color:#345e91; background:linear-gradient(27deg,transparent 42%,#fff 42%,#fff 49%,transparent 49%),linear-gradient(113deg,transparent 39%,#fff 39%,#fff 47%,transparent 47%),#dde9e9; border:1px solid #c7d8e0; }
.meo-result-map > .icon { width:46px; height:46px; background:#edf3fc; border-radius:50%; padding:6px; }
.meo-result-list { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.meo-result-list > li { border:1px solid #c9d7e8; border-radius:6px; padding:17px 13px; background:#fff; font-size:14px; color:var(--meo-copy); }
.meo-result-list > li:first-child { border-color:#6397c6; background:#edf5ff; box-shadow:inset 3px 0 #527fac; }
.meo-result-list strong,.meo-result-list span { display:block; }
.meo-store-detail { border:1px solid #7099c5; background:white; border-radius:8px; padding:24px; }
.meo-store-detail h3 { margin:0 0 16px; font-size:22px; }
.meo-store-detail .meo-profile-photos { margin-bottom:20px; overflow:hidden; border-radius:5px; }
.meo-store-detail dl { margin:15px 0 0; display:grid; gap:10px; }
.meo-store-detail dl > div { display:grid; grid-template-columns:90px 1fr; gap:12px; font-size:14px; }
.meo-store-detail dt { font-weight:600; color:#40618b; }
.meo-explainer-callout { margin-top:22px!important; border-left:3px solid #477bb0; padding:14px 20px; background:#e4eefb; color:#224b7c; font-weight:600; }
.meo-search-explainer > figcaption { margin-top:15px; font-size:13px; color:#4c6684; }
.meo-about-definitions,.meo-seo-comparison { display:grid; grid-template-columns:1fr 1fr; gap:38px; margin-block:32px 0; }
.meo-about-definitions > div,.meo-seo-comparison > div { border-top:1px solid var(--meo-line); padding-top:22px; }
.meo-about-definitions dt,.meo-seo-comparison dt { font-size:19px; font-weight:700; margin-bottom:10px; }
.meo-about-definitions dd,.meo-seo-comparison dd { font-size:16px; color:var(--meo-copy); }
.meo-audience-layout { display:grid; grid-template-columns:1fr 1fr; gap:65px; }
.meo-business-types { margin:0; display:grid; gap:24px; }
.meo-business-types > div { border-left:3px solid #94b0d1; padding-left:23px; }
.meo-business-types dt { font-size:20px; font-weight:700; margin-bottom:10px; }
.meo-business-types dd { font-size:16px; color:var(--meo-copy); }
.meo-worries { list-style:none; margin:0; padding:0; }
.meo-worries li { border-bottom:1px solid var(--meo-line); padding:12px 0 12px 27px; position:relative; font-size:16px; }
.meo-worries li:first-child { padding-top:0; }
.meo-worries li::before { content:'✓'; position:absolute; left:0; color:#537eac; }
.meo-ranking-factors { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin:0 0 25px; }
.meo-ranking-factors > div { border-top:2px solid #7e9fc3; padding-top:23px; }
.meo-ranking-factors dt { font-size:25px; font-weight:700; margin-bottom:12px; }
.meo-ranking-factors dd { color:var(--meo-copy); font-size:16px; }
.meo-keyword-process { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; list-style:none; padding:0; margin:35px 0; counter-reset:meo-keyword; }
.meo-keyword-process li { counter-increment:meo-keyword; padding:19px 18px; background:#f0f5fb; font-size:15px; border-top:1px solid #a9bfd8; }
.meo-keyword-process li::before { content:'0' counter(meo-keyword); display:block; font:500 17px Arial,sans-serif; color:#547ca8; margin-bottom:12px; }
.meo-keyword-process strong { display:block; font-size:17px; margin-bottom:8px; }
.meo-keyword-example { margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; border-block:1px solid var(--meo-line); padding-block:23px; }
.meo-keyword-example dt { font-size:14px; color:#426991; margin-bottom:8px; font-weight:600; }
.meo-keyword-example dd { font-size:16px; }
.meo-support-rows { border-top:1px solid #9fb8d4; }
.meo-support-rows article { display:grid; grid-template-columns:.75fr 2fr; gap:40px; padding:29px 0; border-bottom:1px solid var(--meo-line); }
.meo-support-rows h3 { margin:0; }
.meo-support-rows h3 .es-number { display:block; font-size:14px; margin-bottom:5px; }
.meo-support-rows dl { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin:0; }
.meo-support-rows dt { color:#41668f; font-size:13px; font-weight:600; margin-bottom:9px; }
.meo-support-rows dd { font-size:16px; color:var(--meo-copy); }
.meo-scope-note { padding:22px 25px; border-left:3px solid #6e95c0; background:#e9f0fa; margin-top:30px; font-size:15px; color:var(--meo-copy); }
.meo-scope-note h3 { margin:0 0 10px; font-size:18px; color:#223f65; }
.meo-role-flow { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.meo-role-flow li { position:relative; padding:27px; border:1px solid #b3c9df; background:#fff; border-radius:7px; }
.meo-role-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-30px; top:46%; color:#5680aa; font-size:23px; }
.meo-role-flow h3 { margin:12px 0; }
.meo-role-flow p { font-size:16px; color:var(--meo-copy); }
.meo-role-flow .icon { color:#4b74a2; width:30px; height:30px; }
.meo-mismatch-list { padding-left:22px; color:var(--meo-copy); font-size:16px; margin-top:27px; }
.meo-mismatch-list li+li { margin-top:8px; }
.meo-process-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:35px 48px; }
.meo-process-steps > li { border-top:1px solid #9ab5d1; padding-top:23px; }
.meo-process-steps h3 { margin:6px 0 14px; }
.meo-process-steps > li > p { color:var(--meo-copy); font-size:16px; }
.meo-process-steps dl { display:grid; gap:13px; margin:21px 0 0; padding:20px; background:#f2f6fb; }
.meo-process-steps dl > div { display:grid; grid-template-columns:105px 1fr; gap:16px; font-size:14px; }
.meo-process-steps dt { color:#42678e; font-weight:600; }
.meo-page .es-pricing { background:#f5f8fc url('../assets/pricing-trails.png') center bottom/cover no-repeat; }
.meo-price-rows { margin:0; border-top:2px solid #7196bf; }
.meo-price-rows > div { display:grid; grid-template-columns:240px 1fr; gap:38px; padding:25px 0; border-bottom:1px solid #b9cce0; }
.meo-price-rows dt { font-weight:700; font-size:20px; }
.meo-price-rows dd { color:var(--meo-copy); font-size:16px; }
.meo-price-conditions { margin-top:25px; color:var(--meo-copy); font-size:15px; padding-left:22px; }
.meo-price-conditions li+li { margin-top:8px; }
.meo-related-links { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.meo-related-links a { display:block; text-decoration:none; padding:22px 0; border-top:1px solid #a9c0db; }
.meo-related-links a:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.meo-related-links h3 { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 12px; }
.meo-related-links p { font-size:16px; color:var(--meo-copy); }
.meo-page .site-contact .site-contact-button { width:min(100%,400px); background:var(--gradient); }
@media(max-width:1100px) {
 .meo-page .es-hero-grid { gap:32px; grid-template-columns:1fr 1fr; }
 .meo-page .es-hero h1 { font-size:38px; }
 .meo-hero-visual { padding-inline:15px; }
 .meo-search-pill { left:0; }
 .meo-map-pin { right:16px; }
 .meo-search-results { grid-template-columns:1fr; }
 .meo-result-map { min-height:130px; }
 .meo-result-list { grid-template-columns:1fr 1fr; }
 .meo-support-rows article { gap:25px; }
 .meo-keyword-process { grid-template-columns:1fr 1fr; }
 .meo-audience-layout { gap:35px; }
}
@media(max-width:800px) {
 .meo-page .es-hero-grid { grid-template-columns:1fr; gap:40px; }
 .meo-hero-visual { width:min(100%,540px); justify-self:center; padding-inline:34px; }
 .meo-profile-card { max-width:365px; }
 .meo-page .es-section-head { gap:25px; }
 .meo-page .es-section { padding-block:56px; }
 .meo-search-layout { grid-template-columns:1fr; }
 .meo-search-results { grid-template-columns:.8fr 1fr; }
 .meo-result-list { grid-template-columns:1fr; }
 .meo-audience-layout,.meo-process-steps { grid-template-columns:1fr; }
 .meo-support-rows article { grid-template-columns:1fr; gap:18px; }
 .meo-ranking-factors { gap:20px; }
 .meo-role-flow { grid-template-columns:1fr; gap:30px; }
 .meo-role-flow li:not(:last-child)::after { content:'↓'; right:50%; top:auto; bottom:-33px; }
 .meo-related-links { grid-template-columns:1fr; gap:10px; }
 .meo-price-rows > div { grid-template-columns:160px 1fr; gap:25px; }
}
@media(max-width:600px) {
 .meo-page .es-hero-grid { padding-block:8px 10px; gap:34px; }
 .meo-page .es-hero h1 { font-size:33px; }
 .meo-page .es-lead { font-size:16px; }
 .meo-page .es-hero-actions { gap:9px; }
 .meo-hero-visual { padding:66px 12px 0; }
 .meo-map { bottom:85px; border-radius:10px; }
 .meo-map-pin { top:18px; right:11px; }
 .meo-map-pin .icon { width:39px; height:39px; }
 .meo-search-pill { left:0; top:16px; font-size:14px; padding:11px 14px; gap:8px; }
 .meo-profile-body { padding:20px; }
 .meo-profile-body h2,.meo-profile-body h3 { font-size:22px; }
 .meo-hero-visual figcaption { margin-inline:0; text-align:left; }
 .meo-search-explainer { padding:18px; }
 .meo-search-query { font-size:16px; padding:12px 15px; }
 .meo-search-results { grid-template-columns:1fr; }
 .meo-result-list { grid-template-columns:1fr 1fr; }
 .meo-result-list > li { padding:12px 9px; }
 .meo-store-detail { padding:18px; }
 .meo-store-detail dl > div { grid-template-columns:1fr; gap:3px; }
 .meo-about-definitions,.meo-seo-comparison,.meo-ranking-factors,.meo-keyword-example { grid-template-columns:1fr; gap:24px; }
 .meo-ranking-factors dt { font-size:23px; }
 .meo-keyword-process { gap:14px; }
 .meo-keyword-process li { padding:16px 13px; }
 .meo-support-rows dl { grid-template-columns:1fr; gap:17px; }
 .meo-scope-note { padding:20px; }
 .meo-process-steps dl > div { grid-template-columns:1fr; gap:4px; }
 .meo-price-rows > div { grid-template-columns:1fr; gap:12px; }
 .meo-page .site-contact .site-contact-button { font-size:16px; }
 .meo-page .site-contact-title { overflow-wrap:anywhere; }
}
@media(max-width:359px) {
 .meo-page .es-hero h1 { font-size:29px; }
 .meo-page .button { padding-inline:22px; gap:10px; }
 .meo-keyword-process { grid-template-columns:1fr; }
 .meo-profile-body { padding:16px; }
 .meo-profile-actions { gap:4px; }
 .meo-profile-actions > span { font-size:12px; }
 .meo-search-explainer { padding:14px; }
}
/* Match the explanatory renderer without changing shared components. */
.meo-search-results { grid-template-columns:1fr; gap:14px; }
.meo-search-results h3 { margin:0; }
.meo-result-map .meo-explainer-map { position:absolute; inset:0; z-index:0; border:0; border-radius:0; background:#dfebed; }
.meo-explainer-map .meo-map-road { background:#fff; border-color:#c3d4df; }
.meo-explainer-map .meo-map-block { background:#c3dfd7; border-color:#a3c8c0; }
.meo-explainer-map .meo-map-pin { top:27px; right:30%; color:#345f99; }
.meo-explainer-map .meo-map-pin .icon { fill:#d5e5fa; }
.meo-map-label { position:relative; align-self:end; z-index:1; margin:0 12px 14px; padding:5px 15px; background:#fffffff0; border-radius:4px; font-size:14px; }
.meo-result-list { display:block; border:1px solid #a9bfd8; border-left:3px solid #4c7caf; border-radius:5px; padding:16px 19px; background:#fff; font-size:15px; }
.meo-result-label { font-size:12px; color:#50769b; margin-bottom:7px!important; }
.meo-result-list strong { margin-bottom:5px; }
.meo-profile-hours { color:#496583; font-size:14px; }
.meo-profile-actions > span { display:flex; flex-direction:column; align-items:center; gap:5px; }
.meo-profile-actions .icon { width:19px; height:19px; }
.meo-detail-name { display:block; margin:18px 0 10px; font-size:21px; }
.meo-store-detail > p { font-size:15px; color:var(--meo-copy); }
.meo-explainer-callout { display:flex; gap:12px; align-items:center; }
.meo-comparison { margin-top:37px; padding-top:23px; }
.meo-comparison > h3 { margin:0; }
.meo-seo-comparison { margin-top:20px; }
.meo-audience { background:#f2f6fb; }
.meo-worries li,.meo-mismatch-list li,.meo-price-conditions li { display:flex; gap:10px; padding-left:0; }
.meo-worries li::before { content:none; }
.meo-page :is(.meo-worries,.meo-mismatch-list,.meo-price-conditions) .icon { width:17px; height:26px; color:#557ba3; }
.meo-mismatch-list,.meo-price-conditions { padding-left:0; list-style:none; }
.meo-keyword-planning { margin-top:42px; }
.meo-keyword-planning h3 { margin:0; }
.meo-keyword-process li::before { content:none; }
.meo-keyword-process .meo-step-number { display:block; font:500 17px Arial,sans-serif; color:#547ca8; margin-bottom:12px; }
.meo-keyword-process li > .icon { display:none; }
.meo-example-label { margin-bottom:12px!important; color:#40658e; font-size:14px; font-weight:600; }
.meo-support-heading .es-number { display:block; font-size:14px; margin-bottom:5px; }
.meo-support-delivery { border-left:2px solid #aac0dc; padding-left:21px; }
.meo-role-arrow { display:none; }
.meo-role-label { margin-top:10px!important; color:#3c618e!important; font-size:14px!important; font-weight:600; }
.meo-mismatch { margin-top:35px; }
.meo-mismatch h3 { margin-bottom:18px; }
.meo-process-phase { display:flex; align-items:center; gap:17px; color:#416b9a; font-size:14px; }
.meo-process-description { margin-top:17px; }
.meo-process-description > p { color:var(--meo-copy); font-size:16px; }
.meo-process-description dl { display:block; }
.meo-process-description dt { font-size:13px; margin-bottom:7px; }
.meo-process-description dd { font-size:15px; color:var(--meo-copy); }
.meo-price-footer { display:grid; grid-template-columns:1fr 1fr; gap:55px; margin-top:35px; }
.meo-price-footer h3 { margin:0; }
.meo-price-footer .meo-note { margin-top:0; margin-bottom:24px; }
.meo-source-links .icon { width:15px; height:15px; margin-left:6px; vertical-align:middle; }
.meo-page .es-faq .meo-source-links { padding:0 0 24px 40px; margin:0; }
.meo-related-links a { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.meo-related-links a > span > strong { display:block; font-size:21px; line-height:1.6; margin-bottom:12px; }
.meo-related-links a > span > span { display:block; font-size:16px; color:var(--meo-copy); }
.meo-related-links a > .icon { margin-top:6px; }
.meo-related-links a:hover strong { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:800px) {
 .meo-result-map { min-height:200px; }
 .meo-price-footer { grid-template-columns:1fr; gap:25px; }
}
@media(max-width:600px) {
 .meo-support-delivery { padding-left:15px; }
 .meo-explainer-callout { padding:13px; font-size:15px; align-items:start; }
 .meo-explainer-callout .icon { width:19px; height:26px; }
}
.meo-page .es-section h2 .gradient-text { display:inline-block; max-width:100%; }
.meo-about .es-section-head { grid-template-columns:1fr; gap:24px; }
.meo-about .es-intro { max-width:920px; }
.meo-approach .es-section-head { grid-template-columns:1fr; gap:24px; }
.meo-approach .es-intro { max-width:920px; }
