.seo-geo-page {
  --seo-red: #d71618;
  --seo-red-deep: #a90e10;
  --seo-black: #231815;
  --seo-ink: #25201e;
  --seo-muted: #746c68;
  --seo-line: #e9e2df;
  --seo-paper: #f7f4f2;
  --seo-shell-width: 1200px;
  color: var(--seo-ink);
  background: #fff;
  overflow: clip;
}

.seo-geo-page *,
.seo-geo-page *::before,
.seo-geo-page *::after { box-sizing: border-box; }

.seo-geo-page .seo-shell { width: min(var(--seo-shell-width), calc(100% - 64px)); margin-inline: auto; }
.seo-geo-page a { color: inherit; }
.seo-geo-page a:focus-visible,
.seo-geo-page summary:focus-visible { outline: 3px solid var(--seo-red); outline-offset: 4px; }

.seo-geo-page .seo-hero { position: relative; color: #fff; overflow: hidden; background: var(--seo-black); }
.seo-geo-page .seo-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 79% 43%, rgba(215, 22, 24, .24), transparent 26%), linear-gradient(112deg, rgba(255, 255, 255, .035), transparent 46%); pointer-events: none; }
.seo-geo-page .seo-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); gap: 70px; align-items: center; min-height: 680px; padding-block: 84px 74px; }
.seo-geo-page .seo-hero-copy { position: relative; z-index: 1; }
.seo-geo-page .seo-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 54px; color: rgba(255, 255, 255, .64); font-size: 12px; line-height: 1.5; }
.seo-geo-page .seo-breadcrumbs a { text-decoration: none; }
.seo-geo-page .seo-breadcrumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.seo-geo-page .seo-eyebrow { margin: 0; color: var(--seo-red); font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .13em; }
.seo-geo-page .seo-hero .seo-eyebrow { color: #ff6768; }
.seo-geo-page .seo-hero h1,
.seo-geo-page h2,
.seo-geo-page h3,
.seo-geo-page p { margin-top: 0; }
.seo-geo-page .seo-hero h1 { max-width: 750px; margin: 16px 0 0; color: #fff; font-size: clamp(42px, 5.05vw, 72px); font-weight: 700; line-height: 1.22; letter-spacing: -.055em; }
.seo-geo-page .seo-hero-lead { max-width: 610px; margin: 28px 0 0; color: rgba(255, 255, 255, .78); font-size: 17px; line-height: 1.9; }
.seo-geo-page .seo-hero-scope { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.seo-geo-page .seo-hero-scope span { padding: 7px 11px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 100px; color: rgba(255, 255, 255, .82); font-size: 11px; letter-spacing: .03em; }
.seo-geo-page .seo-hero-notice { max-width: 625px; margin: 15px 0 0; color: rgba(255, 255, 255, .7); font-size: 12px; line-height: 1.75; }
.seo-geo-page .seo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.seo-geo-page .seo-button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: 20px; padding: 12px 20px; border: 1px solid transparent; border-radius: 0; font-size: 14px; font-weight: 700; line-height: 1.35; text-decoration: none; transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease; }
.seo-geo-page .seo-button:hover { transform: translateY(-2px); }
.seo-geo-page .seo-button-primary { border-color: var(--seo-red); color: #fff; background: var(--seo-red); }
.seo-geo-page .seo-button-primary:hover { border-color: #ef3739; background: #ef3739; }
.seo-geo-page .seo-button-outline { border-color: currentColor; color: #fff; background: transparent; }
.seo-geo-page .seo-button-outline:hover { color: var(--seo-black); background: #fff; }
.seo-geo-page .seo-foundation-link { display: flex; flex-wrap: wrap; gap: 9px 16px; align-items: center; margin: 31px 0 0; color: rgba(255, 255, 255, .66); font-size: 12px; line-height: 1.7; }
.seo-geo-page .seo-foundation-link a { color: #fff; font-weight: 700; text-decoration: underline; text-decoration-color: var(--seo-red); text-underline-offset: 5px; }
.seo-geo-page .seo-hero-visual { position: relative; min-height: 460px; }
.seo-geo-page .seo-hero-visual svg { display: block; width: min(100%, 535px); height: auto; margin: 0 auto; filter: drop-shadow(0 20px 55px rgba(0, 0, 0, .27)); }
.seo-geo-page .seo-orbit-line { stroke: rgba(255, 255, 255, .21); stroke-width: 1.5; }
.seo-geo-page .seo-orbit-one { stroke: rgba(255, 255, 255, .15); }
.seo-geo-page .seo-orbit-two { stroke: rgba(255, 91, 92, .8); stroke-dasharray: 7 9; }
.seo-geo-page .seo-orbit-three { stroke: rgba(255, 255, 255, .28); stroke-dasharray: 2 10; }
.seo-geo-page .seo-orbit-link { stroke: rgba(255, 255, 255, .26); stroke-width: 1.5; }
.seo-geo-page .seo-orbit-center { fill: var(--seo-red); }
.seo-geo-page .seo-orbit-dot { fill: #fff; }
.seo-geo-page .seo-orbit-dot-one { fill: #ff9697; }
.seo-geo-page .seo-orbit-dot-two { fill: #fff; }
.seo-geo-page .seo-orbit-dot-three { fill: #d71618; }
.seo-geo-page .seo-orbit-mark { stroke: #fff; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.seo-geo-page .seo-hero-visual-label { position: absolute; right: 0; bottom: 8px; left: 0; display: flex; justify-content: center; gap: 24px; color: rgba(255, 255, 255, .5); font-size: 10px; font-weight: 700; letter-spacing: .17em; }

.seo-geo-page .seo-anchor-nav { position: sticky; z-index: 6; top: 88px; border-bottom: 1px solid var(--seo-line); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); }
.seo-geo-page section[id] { scroll-margin-top: 60px; }
.seo-geo-page .seo-anchor-nav > .seo-shell { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: thin; }
.seo-geo-page .seo-anchor-nav a { display: inline-flex; flex: 0 0 auto; min-height: 59px; align-items: center; border-bottom: 2px solid transparent; color: #655c58; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.seo-geo-page .seo-anchor-nav a:hover { border-color: var(--seo-red); color: var(--seo-red); }

.seo-geo-page .seo-section { padding-block: 116px; }
.seo-geo-page .seo-section-heading { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(260px, .62fr); gap: 70px; align-items: end; margin-bottom: 58px; }
.seo-geo-page .seo-section-heading h2 { margin: 14px 0 0; color: var(--seo-ink); font-size: clamp(34px, 3.65vw, 54px); font-weight: 700; line-height: 1.25; letter-spacing: -.052em; }
.seo-geo-page .seo-section-heading h2 em,
.seo-geo-page .seo-faq-grid h2 em,
.seo-geo-page .seo-inquiry-copy h2 em { color: var(--seo-red); font-style: normal; }
.seo-geo-page .seo-section-heading > p { max-width: 390px; margin: 0 0 5px; color: var(--seo-muted); font-size: 15px; line-height: 1.9; }
.seo-geo-page .seo-pain-section { background: #fff; }
.seo-geo-page .seo-pain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--seo-line); border-left: 1px solid var(--seo-line); }
.seo-geo-page .seo-pain-grid article { min-height: 265px; padding: 31px 28px 26px; border-right: 1px solid var(--seo-line); border-bottom: 1px solid var(--seo-line); }
.seo-geo-page .seo-pain-grid span,
.seo-geo-page .seo-boundary-grid article > span { color: var(--seo-red); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.seo-geo-page .seo-pain-grid h3 { margin: 51px 0 13px; font-size: 20px; line-height: 1.45; }
.seo-geo-page .seo-pain-grid p { margin-bottom: 0; color: var(--seo-muted); font-size: 14px; line-height: 1.85; }

.seo-geo-page .seo-method-section { color: #fff; background: var(--seo-black); }
.seo-geo-page .seo-method-section .seo-heading-invert h2 { color: #fff; }
.seo-geo-page .seo-method-section .seo-heading-invert h2 em { color: #ff7778; font-style: normal; }
.seo-geo-page .seo-method-section .seo-heading-invert > p { color: rgba(255, 255, 255, .68); }
.seo-geo-page .seo-method-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .2); }
.seo-geo-page .seo-method-list li { min-height: 386px; padding: 29px 22px 25px; border-right: 1px solid rgba(255, 255, 255, .17); }
.seo-geo-page .seo-method-list li:first-child { border-left: 1px solid rgba(255, 255, 255, .17); }
.seo-geo-page .seo-method-index { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .42); border-radius: 50%; color: #fff; font-size: 11px; font-weight: 800; }
.seo-geo-page .seo-method-list li > div > p:first-child { margin: 34px 0 8px; color: #ff7778; font-size: 9px; font-weight: 800; letter-spacing: .1em; line-height: 1.5; }
.seo-geo-page .seo-method-list h3 { margin: 0; color: #fff; font-size: 21px; line-height: 1.45; }
.seo-geo-page .seo-method-list h3 + p { margin: 16px 0 0; color: rgba(255, 255, 255, .68); font-size: 13px; line-height: 1.85; }
.seo-geo-page .seo-method-list small { display: block; margin-top: 19px; color: rgba(255, 255, 255, .49); font-size: 11px; line-height: 1.6; letter-spacing: .04em; }

.seo-geo-page .seo-pricing-section { background: var(--seo-paper); }
.seo-geo-page .seo-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.seo-geo-page .seo-plan { position: relative; display: flex; min-width: 0; flex-direction: column; padding: 31px 30px 29px; border: 1px solid #dfd7d3; background: #fff; }
.seo-geo-page .seo-plan.is-recommended { z-index: 1; border: 2px solid var(--seo-red); box-shadow: 0 20px 40px rgba(35, 24, 21, .09); }
.seo-geo-page .seo-plan-badge,
.seo-geo-page .seo-plan-index { min-height: 21px; margin: 0; color: var(--seo-red); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.seo-geo-page .seo-plan-badge { margin: -32px -31px 17px; padding: 7px 30px; color: #fff; background: var(--seo-red); }
.seo-geo-page .seo-plan h3 { margin: 14px 0 0; color: var(--seo-ink); font-size: 28px; line-height: 1.3; letter-spacing: -.035em; }
.seo-geo-page .seo-plan-tagline { min-height: 52px; margin: 11px 0 0; color: var(--seo-muted); font-size: 13px; line-height: 1.75; }
.seo-geo-page .seo-price { display: flex; align-items: baseline; gap: 5px; margin-top: 27px; color: var(--seo-red); letter-spacing: -.04em; }
.seo-geo-page .seo-price > span { font-size: 23px; font-weight: 700; }
.seo-geo-page .seo-price > strong { font-size: clamp(42px, 4vw, 57px); line-height: 1; }
.seo-geo-page .seo-price > small { color: var(--seo-muted); font-size: 13px; font-weight: 700; letter-spacing: 0; }
.seo-geo-page .seo-price-note { min-height: 42px; margin: 8px 0 0; color: var(--seo-muted); font-size: 11px; line-height: 1.65; }
.seo-geo-page .seo-plan-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; margin: 25px 0 25px; padding: 0; list-style: none; border-top: 1px solid var(--seo-line); }
.seo-geo-page .seo-plan-metrics li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 7px; align-items: end; min-height: 65px; padding: 10px 0; border-bottom: 1px solid var(--seo-line); }
.seo-geo-page .seo-plan-metrics span { color: #564d49; font-size: 11px; line-height: 1.5; }
.seo-geo-page .seo-plan-metrics strong { color: var(--seo-ink); font-size: 20px; line-height: 1; }
.seo-geo-page .seo-plan-metrics small { grid-column: 1 / -1; color: #9a918d; font-size: 9px; line-height: 1.45; }
.seo-geo-page .seo-plan .seo-plan-choice { width: 100%; margin-top: auto; color: var(--seo-red); border-color: #d6cdca; background: #fff; }
.seo-geo-page .seo-plan .seo-plan-choice:hover { border-color: var(--seo-red); color: #fff; background: var(--seo-red); }
.seo-geo-page .seo-plan.is-recommended .seo-plan-choice { border-color: var(--seo-red); color: #fff; background: var(--seo-red); }
.seo-geo-page .seo-plan.is-recommended .seo-plan-choice:hover { border-color: var(--seo-red-deep); background: var(--seo-red-deep); }
.seo-geo-page .seo-plan.is-selected { outline: 3px solid rgba(215, 22, 24, .24); outline-offset: 4px; }
.seo-geo-page .seo-pricing-footnote { margin: 24px 0 0; color: var(--seo-muted); font-size: 13px; line-height: 1.8; }

/* Service comparison uses its own grid, independent of the legacy table rules. */
.seo-geo-page .seo-services-section { padding-block: 86px; background: #f8f6f4; }
.seo-geo-page .seo-service-heading { margin-bottom: 30px; gap: 48px; }
.seo-geo-page .seo-service-heading h2 { font-size: clamp(32px, 3vw, 44px); line-height: 1.35; }
.seo-geo-page .seo-service-heading > p { font-size: 14px; line-height: 1.85; }
.seo-geo-page .seo-service-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.seo-geo-page .seo-service-nav a { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; padding: 9px 15px; border: 1px solid #e1d9d4; border-radius: 6px; color: #4e4540; background: #fff; font-size: 13px; font-weight: 600; text-decoration: none; transition: color .18s ease, border-color .18s ease; }
.seo-geo-page .seo-service-nav a > span { color: #89776e; font-size: 10px; font-variant-numeric: tabular-nums; }
.seo-geo-page .seo-service-nav a:hover { border-color: var(--seo-red); color: var(--seo-red); }
.seo-geo-page .seo-comparison-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding-block: 14px; }
.seo-geo-page .seo-comparison-toolbar p { margin: 0; color: var(--seo-ink); font-size: 13px; font-weight: 700; line-height: 1.7; }
.seo-geo-page .seo-comparison-toolbar p > span { color: #756b65; font-size: 12px; font-weight: 400; }
.seo-geo-page .seo-service-toggle { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 16px; min-height: 44px; padding: 9px 13px; border: 1px solid #dbd2cc; border-radius: 6px; color: var(--seo-ink); background: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; transition: color .18s ease, border-color .18s ease; }
.seo-geo-page .seo-service-toggle span { font-size: 18px; font-weight: 400; line-height: 1; }
.seo-geo-page .seo-service-toggle:hover { border-color: var(--seo-red); color: var(--seo-red); }
.seo-geo-page .seo-service-toggle:focus-visible { outline: 3px solid var(--seo-red); outline-offset: 3px; }
.seo-geo-page .seo-service-groups { display: grid; gap: 24px; }
.seo-geo-page .seo-service-group { min-width: 0; overflow: hidden; border: 1px solid #e2dad5; border-radius: 10px; background: #fff; }
.seo-geo-page .seo-service-group-heading { display: flex; align-items: center; gap: 15px; padding: 22px 24px; }
.seo-geo-page .seo-service-group-index { display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; border: 1px solid #e9d4ce; border-radius: 7px; color: var(--seo-red); background: #fff5f1; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.seo-geo-page .seo-service-group-heading > div { min-width: 0; }
.seo-geo-page .seo-service-group-heading h3 { margin: 0; color: var(--seo-ink); font-size: 20px; line-height: 1.5; letter-spacing: -.02em; }
.seo-geo-page .seo-service-group-heading p { margin: 4px 0 0; color: #756b65; font-size: 13px; line-height: 1.6; }
.seo-geo-page .seo-service-group-count { flex-shrink: 0; margin-left: auto; color: #796e67; font-size: 12px; }
.seo-geo-page .seo-service-grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); }
.seo-geo-page .seo-service-columns { border-top: 1px solid #eee8e4; border-bottom: 1px solid #e6ded9; background: #fcfbfa; }
.seo-geo-page .seo-service-columns > span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 47px; padding: 10px 8px; color: #60544c; font-size: 12px; font-weight: 700; }
.seo-geo-page .seo-service-columns > span:first-child { justify-content: flex-start; padding-left: 24px; color: #796e67; font-weight: 400; }
.seo-geo-page .seo-service-columns > .is-recommended { color: var(--seo-red); background: #fff1ec; }
.seo-geo-page .seo-service-columns small { padding: 2px 5px; border-radius: 3px; color: #fff; background: var(--seo-red); font-size: 9px; font-weight: 600; line-height: 1.4; }
.seo-geo-page .seo-service-item + .seo-service-item { border-top: 1px solid #ece6e2; }
.seo-geo-page .seo-service-summary { min-width: 0; cursor: pointer; list-style: none; background: #fff; transition: background-color .18s ease; }
.seo-geo-page .seo-service-summary::-webkit-details-marker { display: none; }
.seo-geo-page .seo-service-summary::marker { content: ''; }
.seo-geo-page .seo-service-summary:hover { background: #fcfaf8; }
.seo-geo-page .seo-service-summary:focus-visible { position: relative; z-index: 1; outline-offset: -3px; }
.seo-geo-page .seo-service-name { display: grid; grid-template-columns: 23px minmax(0, 1fr) 22px; align-items: center; gap: 11px; min-width: 0; padding: 18px 22px; }
.seo-geo-page .seo-service-number { align-self: start; padding-top: 5px; color: #9b8579; font-size: 10px; font-weight: 600; font-variant-numeric: tabular-nums; }
.seo-geo-page .seo-service-copy { min-width: 0; }
.seo-geo-page .seo-service-copy > strong { display: block; color: var(--seo-ink); font-size: 15px; font-weight: 700; line-height: 1.55; overflow-wrap: anywhere; }
.seo-geo-page .seo-service-brief { display: block; margin-top: 4px; color: #756b65; font-size: 12px; line-height: 1.65; }
.seo-geo-page .seo-service-badge { display: inline-block; margin-top: 7px; padding: 2px 6px; border-radius: 3px; color: #8a4838; background: #f8ece5; font-size: 10px; font-weight: 500; line-height: 1.6; }
.seo-geo-page .seo-service-disclosure { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #dfd6d0; border-radius: 50%; color: #887368; font-size: 17px; font-weight: 400; line-height: 1; transition: transform .18s ease, color .18s ease; }
.seo-geo-page .seo-service-item[open] .seo-service-disclosure { transform: rotate(45deg); color: var(--seo-red); }
.seo-geo-page .seo-service-quantity { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; padding: 16px 10px; border-left: 1px solid #f0ebe7; text-align: center; }
.seo-geo-page .seo-service-quantity.is-recommended { background: #fff7f3; }
.seo-geo-page .seo-quantity-plan { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.seo-geo-page .seo-quantity-line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 5px; }
.seo-geo-page .seo-quantity-value { color: var(--seo-ink); font-size: 24px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.seo-geo-page .is-recommended .seo-quantity-value { color: var(--seo-red); }
.seo-geo-page .seo-quantity-unit { color: #796e67; font-size: 11px; line-height: 1.5; }
.seo-geo-page .seo-quantity-cadence { display: block; margin-top: 5px; color: #796e67; font-size: 11px; line-height: 1.5; }
.seo-geo-page .seo-quantity-note { display: block; max-width: 100%; margin-top: 6px; color: #675b54; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.seo-geo-page .seo-service-details { padding: 23px 24px 22px 56px; border-top: 1px solid #e8ded7; background: #faf7f3; }
.seo-geo-page .seo-service-details dl { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; margin: 0; }
.seo-geo-page .seo-service-details dt { margin: 0 0 7px; color: #8d4938; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: .05em; }
.seo-geo-page .seo-service-details dd { margin: 0; color: #51463f; font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.seo-geo-page .seo-service-measure { margin: 17px 0 0; padding-top: 13px; border-top: 1px solid #e8ded7; color: #7b6c62; font-size: 11px; line-height: 1.75; }
.seo-geo-page .seo-comparison-note { max-width: 1000px; margin: 23px 0 0; color: #796e67; font-size: 12px; line-height: 1.85; }

.seo-geo-page .seo-delivery-section { background: var(--seo-paper); }
.seo-geo-page .seo-rhythm { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid #d9cfca; }
.seo-geo-page .seo-rhythm li { position: relative; min-height: 225px; padding: 27px 22px 18px; border-right: 1px solid #d9cfca; }
.seo-geo-page .seo-rhythm li:first-child { border-left: 1px solid #d9cfca; }
.seo-geo-page .seo-rhythm li::after { content: ""; position: absolute; top: -4px; left: 22px; width: 8px; height: 8px; border-radius: 50%; background: var(--seo-red); }
.seo-geo-page .seo-rhythm span { color: var(--seo-red); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.seo-geo-page .seo-rhythm h3 { margin: 38px 0 10px; font-size: 20px; line-height: 1.4; }
.seo-geo-page .seo-rhythm p { margin-bottom: 0; color: var(--seo-muted); font-size: 13px; line-height: 1.8; }
.seo-geo-page .seo-standard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 55px; }
.seo-geo-page .seo-standard-grid article { padding: 27px 25px; background: #fff; }
.seo-geo-page .seo-standard-grid h3 { margin: 29px 0 12px; font-size: 22px; line-height: 1.45; }
.seo-geo-page .seo-standard-grid p:last-child { margin-bottom: 0; color: var(--seo-muted); font-size: 13px; line-height: 1.85; }

.seo-geo-page .seo-boundary-section { background: #fff; }
.seo-geo-page .seo-boundary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--seo-line); border-left: 1px solid var(--seo-line); }
.seo-geo-page .seo-boundary-grid article { min-height: 235px; padding: 27px 28px; border-right: 1px solid var(--seo-line); border-bottom: 1px solid var(--seo-line); }
.seo-geo-page .seo-boundary-grid h3 { margin: 35px 0 10px; font-size: 21px; line-height: 1.4; }
.seo-geo-page .seo-boundary-grid p { margin-bottom: 0; color: var(--seo-muted); font-size: 13px; line-height: 1.8; }

.seo-geo-page .seo-faq-section { background: var(--seo-black); color: #fff; }
.seo-geo-page .seo-faq-grid { display: grid; grid-template-columns: minmax(275px, .75fr) minmax(0, 1.25fr); gap: 95px; }
.seo-geo-page .seo-faq-grid h2 { margin: 15px 0 0; color: #fff; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.28; letter-spacing: -.05em; }
.seo-geo-page .seo-faq-grid > div:first-child > p:last-child { max-width: 345px; margin: 24px 0 0; color: rgba(255, 255, 255, .66); font-size: 14px; line-height: 1.9; }
.seo-geo-page .seo-faq-list { border-top: 1px solid rgba(255, 255, 255, .22); }
.seo-geo-page .seo-faq-list details { border-bottom: 1px solid rgba(255, 255, 255, .22); }
.seo-geo-page .seo-faq-list summary { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; color: #fff; cursor: pointer; font-size: 16px; font-weight: 700; line-height: 1.55; list-style: none; }
.seo-geo-page .seo-faq-list summary::-webkit-details-marker { display: none; }
.seo-geo-page .seo-faq-list summary > span { color: #ff7778; font-size: 26px; font-weight: 400; transition: transform .18s ease; }
.seo-geo-page .seo-faq-list details[open] summary > span { transform: rotate(45deg); }
.seo-geo-page .seo-faq-list details > p { max-width: 720px; margin: -2px 0 23px; color: rgba(255, 255, 255, .68); font-size: 14px; line-height: 1.9; }

.seo-geo-page .seo-inquiry-section { padding-block: 100px; color: #fff; background: var(--seo-red); }
.seo-geo-page .seo-inquiry-section .seo-eyebrow { color: #fff; }
.seo-geo-page .seo-inquiry-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: 80px; align-items: center; }
.seo-geo-page .seo-inquiry-copy h2 { margin: 15px 0 0; color: #fff; font-size: clamp(35px, 4vw, 58px); line-height: 1.25; letter-spacing: -.055em; }
.seo-geo-page .seo-inquiry-copy h2 em { color: var(--seo-black); }
.seo-geo-page .seo-inquiry-copy > p:not(.seo-contact-selection) { max-width: 600px; margin: 24px 0 0; color: rgba(255, 255, 255, .88); font-size: 15px; line-height: 1.9; }
.seo-geo-page .seo-contact-plan-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }
.seo-geo-page .seo-contact-plan-links a { padding: 8px 11px; border: 1px solid rgba(255, 255, 255, .55); color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; }
.seo-geo-page .seo-contact-plan-links a:hover,
.seo-geo-page .seo-contact-plan-links a[aria-current="true"] { border-color: var(--seo-black); color: var(--seo-black); background: #fff; }
.seo-geo-page .seo-contact-selection { margin: 18px 0 0; color: rgba(255, 255, 255, .84); font-size: 13px; }
.seo-geo-page .seo-contact-selection strong { color: #fff; }
.seo-geo-page .seo-inquiry-copy .seo-button { margin-top: 24px; border-color: var(--seo-black); color: #fff; background: var(--seo-black); }
.seo-geo-page .seo-inquiry-copy .seo-button:hover { border-color: #fff; color: var(--seo-black); background: #fff; }
.seo-geo-page .seo-wechat-card { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 23px; padding: 25px; color: var(--seo-ink); background: #fff; }
.seo-geo-page .seo-wechat-card img { width: 148px; height: 148px; background: #fff; object-fit: cover; }
.seo-geo-page .seo-wechat-card .seo-eyebrow { color: var(--seo-red); font-size: 9px; }
.seo-geo-page .seo-wechat-card h3 { margin: 17px 0 9px; font-size: 23px; line-height: 1.35; }
.seo-geo-page .seo-wechat-card p:not(.seo-eyebrow) { margin: 0; color: var(--seo-muted); font-size: 12px; line-height: 1.8; }
.seo-geo-page .seo-wechat-card a { display: inline-block; margin-top: 15px; color: var(--seo-red); font-size: 16px; font-weight: 800; text-decoration: none; }
.seo-geo-page .seo-wechat-card .seo-contact-only-note { grid-column: 1 / -1; margin: -2px 0 0; padding-top: 15px; border-top: 1px solid var(--seo-line); color: var(--seo-muted); font-size: 11px; line-height: 1.7; }

.seo-geo-entry { --seo-entry-red: #d71618; --seo-entry-ink: #231815; --seo-entry-muted: #6f6661; padding: 28px; border: 1px solid #e3dbd8; color: var(--seo-entry-ink); background: #fff; }
.seo-geo-entry .seo-entry-eyebrow { margin: 0; color: var(--seo-entry-red); font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.seo-geo-entry h3 { margin: 17px 0 10px; font-size: 25px; line-height: 1.35; letter-spacing: -.03em; }
.seo-geo-entry > p:not(.seo-entry-eyebrow):not(.seo-entry-price) { margin: 0; color: var(--seo-entry-muted); font-size: 14px; line-height: 1.8; }
.seo-geo-entry .seo-entry-price { margin: 22px 0 0; font-size: 13px; }
.seo-geo-entry .seo-entry-price strong { margin-left: 4px; color: var(--seo-entry-red); font-size: 25px; }
.seo-geo-entry .seo-entry-price span { color: var(--seo-entry-muted); font-size: 11px; }
.seo-geo-entry .seo-entry-link { display: inline-flex; gap: 18px; align-items: center; margin-top: 24px; color: var(--seo-entry-red); font-size: 13px; font-weight: 800; text-decoration: none; }
.seo-geo-entry .seo-entry-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.seo-geo-entry a:focus-visible { outline: 3px solid var(--seo-entry-red); outline-offset: 4px; }

@media (max-width: 1080px) {
  .seo-geo-page .seo-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); gap: 35px; }
  .seo-geo-page .seo-hero h1 { font-size: clamp(42px, 5.5vw, 62px); }
  .seo-geo-page .seo-method-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .seo-geo-page .seo-method-list li:nth-child(4) { border-left: 1px solid rgba(255, 255, 255, .17); }
  .seo-geo-page .seo-method-list li { min-height: 310px; border-bottom: 1px solid rgba(255, 255, 255, .17); }
  .seo-geo-page .seo-plan { padding-inline: 23px; }
  .seo-geo-page .seo-plan-badge { margin-inline: -24px; padding-inline: 23px; }
  .seo-geo-page .seo-plan-metrics { grid-template-columns: 1fr; }
  .seo-geo-page .seo-rhythm { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .seo-geo-page .seo-rhythm li:nth-child(4) { border-left: 1px solid #d9cfca; }
  .seo-geo-page .seo-rhythm li { border-bottom: 1px solid #d9cfca; }
  .seo-geo-page .seo-faq-grid { gap: 55px; }
  .seo-geo-page .seo-inquiry-grid { gap: 42px; }
}

@media (max-width: 780px) {
  .seo-geo-page .seo-shell { width: min(var(--seo-shell-width), calc(100% - 40px)); }
  .seo-geo-page .seo-hero-grid { grid-template-columns: 1fr; min-height: auto; gap: 0; padding-block: 31px 47px; }
  .seo-geo-page .seo-breadcrumbs { margin-bottom: 37px; font-size: 11px; }
  .seo-geo-page .seo-hero h1 { font-size: clamp(39px, 10vw, 57px); }
  .seo-geo-page .seo-hero-lead { font-size: 15px; }
  .seo-geo-page .seo-hero-visual { min-height: auto; margin-top: 10px; }
  .seo-geo-page .seo-hero-visual svg { max-width: 430px; }
  .seo-geo-page .seo-hero-visual-label { bottom: 0; }
  .seo-geo-page .seo-anchor-nav > .seo-shell { gap: 19px; width: 100%; padding-inline: 20px; }
  .seo-geo-page .seo-anchor-nav a { min-height: 52px; font-size: 12px; }
  .seo-geo-page .seo-section { padding-block: 74px; }
  .seo-geo-page .seo-section-heading { display: block; margin-bottom: 36px; }
  .seo-geo-page .seo-section-heading > p { margin-top: 22px; font-size: 14px; }
  .seo-geo-page .seo-pain-grid { grid-template-columns: 1fr 1fr; }
  .seo-geo-page .seo-pain-grid article { min-height: 245px; padding: 24px 20px; }
  .seo-geo-page .seo-pain-grid h3 { margin-top: 38px; font-size: 19px; }
  .seo-geo-page .seo-method-list { grid-template-columns: 1fr 1fr; }
  .seo-geo-page .seo-method-list li:nth-child(n) { min-height: 290px; border-left: 0; }
  .seo-geo-page .seo-method-list li:nth-child(odd) { border-left: 1px solid rgba(255, 255, 255, .17); }
  .seo-geo-page .seo-method-list li > div > p:first-child { margin-top: 26px; }
  .seo-geo-page .seo-plan-grid { grid-template-columns: 1fr; gap: 17px; max-width: 540px; margin-inline: auto; }
  .seo-geo-page .seo-plan { padding: 28px 25px; }
  .seo-geo-page .seo-plan-badge { margin: -29px -26px 16px; padding: 7px 25px; }
  .seo-geo-page .seo-plan-metrics { grid-template-columns: 1fr 1fr; }
  .seo-geo-page .seo-rhythm { grid-template-columns: 1fr 1fr; }
  .seo-geo-page .seo-rhythm li:nth-child(n) { min-height: 196px; border-left: 0; }
  .seo-geo-page .seo-rhythm li:nth-child(odd) { border-left: 1px solid #d9cfca; }
  .seo-geo-page .seo-standard-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; }
  .seo-geo-page .seo-boundary-grid { grid-template-columns: 1fr 1fr; }
  .seo-geo-page .seo-boundary-grid article { min-height: 240px; padding: 24px 20px; }
  .seo-geo-page .seo-faq-grid { grid-template-columns: 1fr; gap: 38px; }
  .seo-geo-page .seo-inquiry-section { padding-block: 72px; }
  .seo-geo-page .seo-inquiry-grid { grid-template-columns: 1fr; gap: 38px; }
  .seo-geo-page .seo-wechat-card { max-width: 530px; }
}

@media (max-width: 510px) {
  .seo-geo-page .seo-shell { width: calc(100% - 32px); }
  .seo-geo-page .seo-hero-grid { padding-top: 23px; }
  .seo-geo-page .seo-breadcrumbs { margin-bottom: 28px; }
  .seo-geo-page .seo-hero h1 { font-size: 39px; line-height: 1.26; }
  .seo-geo-page .seo-hero-lead { margin-top: 22px; font-size: 14px; line-height: 1.8; }
  .seo-geo-page .seo-hero-scope { margin-top: 22px; }
  .seo-geo-page .seo-actions { display: grid; grid-template-columns: 1fr; margin-top: 26px; }
  .seo-geo-page .seo-button { width: 100%; min-height: 48px; font-size: 13px; }
  .seo-geo-page .seo-foundation-link { margin-top: 24px; }
  .seo-geo-page .seo-hero-visual svg { width: 118%; max-width: none; margin-left: -9%; }
  .seo-geo-page .seo-hero-visual-label { gap: 15px; font-size: 8px; }
  .seo-geo-page .seo-section { padding-block: 62px; }
  .seo-geo-page .seo-section-heading h2,
  .seo-geo-page .seo-faq-grid h2,
  .seo-geo-page .seo-inquiry-copy h2 { font-size: 34px; }
  .seo-geo-page .seo-pain-grid { grid-template-columns: 1fr; }
  .seo-geo-page .seo-pain-grid article { min-height: auto; padding: 23px 21px 25px; }
  .seo-geo-page .seo-pain-grid h3 { margin: 30px 0 11px; }
  .seo-geo-page .seo-method-list { grid-template-columns: 1fr; }
  .seo-geo-page .seo-method-list li:nth-child(n) { min-height: auto; padding: 25px 21px 23px; border-left: 1px solid rgba(255, 255, 255, .17); }
  .seo-geo-page .seo-method-list li > div > p:first-child { margin-top: 22px; }
  .seo-geo-page .seo-method-list h3 + p { margin-top: 11px; }
  .seo-geo-page .seo-plan-metrics { grid-template-columns: 1fr; }
  .seo-geo-page .seo-price > strong { font-size: 49px; }
  .seo-geo-page .seo-rhythm { grid-template-columns: 1fr; }
  .seo-geo-page .seo-rhythm li:nth-child(n) { min-height: auto; padding: 23px 20px 25px; border-left: 1px solid #d9cfca; }
  .seo-geo-page .seo-rhythm h3 { margin-top: 24px; }
  .seo-geo-page .seo-boundary-grid { grid-template-columns: 1fr; }
  .seo-geo-page .seo-boundary-grid article { min-height: auto; padding: 23px 21px 25px; }
  .seo-geo-page .seo-boundary-grid h3 { margin-top: 27px; }
  .seo-geo-page .seo-faq-list summary { min-height: 63px; font-size: 15px; }
  .seo-geo-page .seo-faq-list details > p { font-size: 13px; }
  .seo-geo-page .seo-contact-plan-links { display: grid; grid-template-columns: 1fr; }
  .seo-geo-page .seo-contact-plan-links a { text-align: center; }
  .seo-geo-page .seo-wechat-card { grid-template-columns: 1fr; padding: 22px; }
  .seo-geo-page .seo-wechat-card img { width: 142px; height: 142px; }
  .seo-geo-entry { padding: 23px; }
  .seo-geo-entry h3 { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .seo-geo-page *,
  .seo-geo-page *::before,
  .seo-geo-page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Align the section navigation with the shared header's existing breakpoints. */
@media (max-width: 800px) { .seo-geo-page .seo-anchor-nav { top: 74px; } }
@media (max-width: 600px) { .seo-geo-page .seo-anchor-nav { top: 70px; } }

/* Each service becomes a three-plan comparison card on narrow screens. */
@media (max-width: 680px) {
  .seo-geo-page .seo-service-heading { margin-bottom: 24px; }
  .seo-geo-page .seo-service-heading h2 { font-size: 31px; line-height: 1.4; }
  .seo-geo-page .seo-service-heading > p { margin-top: 16px; font-size: 14px; }
  .seo-geo-page .seo-service-nav { gap: 7px; }
  .seo-geo-page .seo-service-nav a { gap: 6px; padding-inline: 10px; font-size: 11px; }
  .seo-geo-page .seo-service-nav a > span { font-size: 9px; }
  .seo-geo-page .seo-comparison-toolbar { gap: 10px; padding-block: 18px 14px; }
  .seo-geo-page .seo-comparison-toolbar p { font-size: 12px; }
  .seo-geo-page .seo-comparison-toolbar p > span { display: block; max-width: 165px; margin-top: 3px; font-size: 10px; line-height: 1.6; }
  .seo-geo-page .seo-service-toggle { gap: 10px; padding-inline: 10px; font-size: 11px; }
  .seo-geo-page .seo-service-groups { gap: 18px; }
  .seo-geo-page .seo-service-group { border-radius: 8px; }
  .seo-geo-page .seo-service-group-heading { align-items: flex-start; gap: 11px; padding: 20px 15px; }
  .seo-geo-page .seo-service-group-index { flex-basis: 29px; width: 29px; height: 29px; margin-top: 2px; border-radius: 5px; font-size: 10px; }
  .seo-geo-page .seo-service-group-heading h3 { font-size: 18px; line-height: 1.5; }
  .seo-geo-page .seo-service-group-heading p { margin-top: 6px; font-size: 12px; line-height: 1.7; }
  .seo-geo-page .seo-service-group-count { display: none; }
  .seo-geo-page .seo-service-columns { display: none; }
  .seo-geo-page .seo-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .seo-geo-page .seo-service-item:first-of-type { border-top: 1px solid #ece6e2; }
  .seo-geo-page .seo-service-name { grid-column: 1 / -1; grid-template-columns: 20px minmax(0, 1fr) 22px; gap: 8px; padding: 17px 15px 14px; }
  .seo-geo-page .seo-service-copy > strong { font-size: 15px; }
  .seo-geo-page .seo-service-brief { margin-top: 5px; font-size: 12px; }
  .seo-geo-page .seo-service-quantity { justify-content: flex-start; padding: 12px 8px 15px; border-top: 1px solid #f2ede9; }
  .seo-geo-page .seo-service-quantity:first-of-type { border-left: 0; }
  .seo-geo-page .seo-quantity-plan { position: static; width: auto; height: auto; margin-bottom: 8px; overflow: visible; clip-path: none; color: #6c5e55; font-size: 11px; font-weight: 600; line-height: 1.5; }
  .seo-geo-page .is-recommended .seo-quantity-plan { color: var(--seo-red); }
  .seo-geo-page .seo-quantity-value { font-size: 22px; }
  .seo-geo-page .seo-quantity-line { gap: 4px; }
  .seo-geo-page .seo-quantity-unit, .seo-geo-page .seo-quantity-cadence { font-size: 10px; }
  .seo-geo-page .seo-quantity-note { font-size: 10px; }
  .seo-geo-page .seo-service-details { padding: 19px 20px; }
  .seo-geo-page .seo-service-details dl { grid-template-columns: 1fr; gap: 17px; }
  .seo-geo-page .seo-service-details dd { font-size: 13px; }
  .seo-geo-page .seo-service-measure { font-size: 11px; }
  .seo-geo-page .seo-comparison-note { font-size: 11px; }
}
