/*
  THESIS: a decisive digital service desk, not a clinic brochure or card catalogue.
  OWN-WORLD: navy field for choosing, brand yellow for in-clinic care, white reading surface for tools.
  STORY: a parent identifies a concern, selects a useful starting point, then moves into a precise service.
  FIRST VIEWPORT: an open navy decision field with the selector as the primary working surface.
  FORM: a signal-and-route layout: dark start, yellow care band, structured service register.
*/
:root { --blue:#0093dd; --yellow:#f1a400; --navy:#123d59; --ink:#15384d; --muted:#5f7888; --line:#d6e3e9; --paper:#fff; --mist:#f4f8fa; }
body { background: var(--paper); }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(214,227,233,.9); box-shadow:0 6px 18px rgba(18,61,89,.06); backdrop-filter:blur(12px); }
.header-inner { width:min(1320px,calc(100% - 56px)); }
.brand strong { font-size: 16px; }
.top-nav { gap: 5px; align-items:center; }
.top-nav button, .top-nav .notice-link { min-height:34px; padding:0 12px; color:#416171; background:transparent; border:0; border-radius:4px; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.top-nav button:hover, .top-nav .notice-link:hover { color:var(--navy); background:#edf7fb; }
.top-nav button[aria-selected="true"] { color:var(--navy); background:#e7f5fb; }
.top-nav .top-nav-clinical.is-active { color:var(--navy); background:#e7f5fb; }
.top-nav button:focus-visible, .top-nav .notice-link:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.tool-count { padding-left: 24px; }

.main-panel[hidden] { display:none; }
.main-panel.is-active { animation:panel-enter .22s ease-out both; }
@keyframes panel-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

.navigator { position:relative; overflow:hidden; color:var(--navy); background:#edf8fc url("assets/growth-tools.png") center/cover no-repeat; border:0; }
.navigator::before { content:""; position:absolute; top:0; left:max(28px,calc((100% - 1320px)/2)); width:72px; height:5px; background:var(--yellow); }
.navigator::after { display:none; }
.navigator-inner { width:min(1320px,calc(100% - 56px)); grid-template-columns:minmax(0,.9fr) minmax(510px,1.1fr); gap:74px; padding:82px 0 56px; }
.navigator-inner, .service-steps, .recommend-result { position:relative; z-index:1; }
.navigator-copy { align-self:center; }
.navigator .eyebrow { color:#c88500; }
.navigator h1 { max-width:580px; color:var(--navy); font-size:42px; font-weight:750; line-height:1.2; text-shadow:none; }
.navigator-copy > p:not(.eyebrow) { max-width:500px; color:#426276; font-size:16px; }
.recommend-form { padding:27px; background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.8); border-radius:12px; box-shadow:14px 14px 0 rgba(18,61,89,.13); }
.recommend-form legend { color:var(--navy); }
.choice-row label { color:#496875; background:#fff; border-color:#d6e3e9; }
.choice-row label:hover { color:var(--navy); border-color:#75bfdc; background:#f4fbfe; }
.choice-row label:has(input:checked) { color:var(--navy); background:#e8f7fd; border-color:var(--blue); box-shadow:inset 0 0 0 1px var(--blue); }
.primary-button { color:var(--navy); background:var(--yellow); box-shadow:none; }
.primary-button:hover { color:var(--navy); background:#ffc435; }
.primary-button:focus-visible { outline-color:#8bd7f4; }
.service-steps { width:min(1320px,calc(100% - 56px)); border-top:1px solid rgba(32,91,118,.25); }
.service-steps div { min-height:88px; }
.service-steps div + div { border-left-color:rgba(32,91,118,.25); }
.service-steps span { color:#c88500; }
.service-steps strong { color:var(--navy); font-weight:650; }
.recommend-result { color:var(--ink); background:#edf8fc; }
.recommend-picks button { width:100%; min-height:70px; padding:12px 14px; display:grid; grid-template-columns:1fr auto; align-content:center; color:var(--ink); background:#fff; border:1px solid rgba(0,147,221,.18); border-radius:7px; font:inherit; text-align:left; cursor:pointer; transition:.2s; }
.recommend-picks button:hover { border-color:var(--blue); transform:translateY(-2px); }
.recommend-picks button i { grid-column:2; grid-row:1 / span 2; font-style:normal; }
.recommend-picks button:focus-visible { outline:3px solid rgba(0,147,221,.28); outline-offset:3px; }

.checkup-promo { color:var(--navy); background:#f3f9fb; border:0; }
.checkup-promo-inner { width:min(1320px,calc(100% - 56px)); grid-template-columns:.86fr 1.14fr; gap:92px; padding:76px 0 52px; align-items:center; }
.checkup-promo .eyebrow { color:#c88500; }
.checkup-promo h2 { color:var(--navy); font-size:42px; line-height:1.14; }
.checkup-promo-copy > p:not(.eyebrow) { max-width:480px; color:#496a7a; font-size:16px; }
.checkup-facts { padding-top:4px; border-top:1px solid #cbdfe7; }
.checkup-facts dt { color:#678491; }
.checkup-facts dd { color:var(--navy); font-size:16px; }
.checkup-button { min-width:252px; color:#fff; background:var(--blue); border:0; border-radius:5px; font:inherit; cursor:pointer; }
.checkup-button:hover { color:#fff; background:#087cb8; }
.checkup-visual { min-height:342px; margin:0; position:relative; overflow:hidden; background:#fff; box-shadow:16px 16px 0 #dceff6; }
.checkup-visual img { display:block; width:100%; height:342px; object-fit:cover; object-position:center; }
.checkup-visual figcaption { position:absolute; right:0; bottom:0; left:0; padding:17px 20px; display:grid; gap:3px; color:#fff; background:rgba(18,61,89,.84); }
.checkup-visual figcaption span { color:#f9c642; font-size:10px; font-weight:800; letter-spacing:.1em; }.checkup-visual figcaption strong { font-size:14px; line-height:1.45; }
.checkup-scope { width:min(1320px,calc(100% - 56px)); margin:auto; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cbdfe7; }
.checkup-scope span { min-height:74px; padding:0 18px; display:flex; align-items:center; color:#426576; font-size:13px; font-weight:750; }.checkup-scope span + span { border-left:1px solid #cbdfe7; }.checkup-scope span::before { content:""; width:7px; height:7px; margin-right:10px; flex:none; background:var(--yellow); border-radius:50%; }
.checkup-promo { padding:0 0 82px; background:#f3f9fb; }.checkup-hub { width:min(1320px,calc(100% - 56px)); margin:auto; padding:64px 0 0; }.checkup-hub-heading { max-width:690px; }.checkup-hub-heading h2 { margin:0; color:var(--navy); font-size:42px; line-height:1.15; }.checkup-hub-heading > p:not(.eyebrow) { margin:15px 0 0; color:var(--muted); font-size:16px; }.checkup-path-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:43px; }.checkup-path-card { overflow:hidden; display:grid; grid-template-columns:.95fr 1.05fr; min-height:365px; background:#fff; border:1px solid #d8e7ec; box-shadow:9px 9px 0 #dceef4; }.checkup-path-card figure { margin:0; min-width:0; background:#e8f3f7; }.checkup-path-card figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }.checkup-path-card > div { padding:27px 27px 24px; display:flex; flex-direction:column; }.path-age { margin:0; color:#0789ca; font-size:11px; font-weight:850; letter-spacing:.08em; }.checkup-path-card h3 { margin:11px 0 0; color:var(--navy); font-size:26px; line-height:1.2; }.checkup-path-card > div > p:not(.path-age) { margin:11px 0 0; color:var(--muted); font-size:12px; line-height:1.65; }.checkup-path-card ul { margin:17px 0 20px; padding:0; list-style:none; color:#426576; font-size:11px; line-height:1.9; }.checkup-path-card li::before { content:""; display:inline-block; width:5px; height:5px; margin:0 8px 2px 0; background:var(--yellow); border-radius:50%; }.checkup-path-card .checkup-button { width:100%; min-width:0; min-height:42px; margin-top:auto; padding:0 12px; display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:750; }
.development-details { color:var(--ink); background:#f4f9fb; }.development-detail-header { width:min(1320px,calc(100% - 56px)); margin:auto; padding:58px 0 42px; }.development-detail-header h2 { margin:0; color:var(--navy); font-size:42px; line-height:1.15; }.development-detail-header > div > p:last-child { max-width:680px; margin:14px 0 0; color:var(--muted); font-size:15px; }.development-detail-content { width:min(1120px,calc(100% - 56px)); margin:auto; padding:0 0 86px; }.development-section { padding:46px 0; border-top:1px solid var(--line); }.development-heading { display:flex; align-items:start; gap:15px; margin-bottom:25px; }.development-heading > span { width:29px; height:29px; display:flex; align-items:center; justify-content:center; flex:none; color:#fff; background:var(--blue); border-radius:50%; font-size:11px; font-weight:850; }.development-heading h3 { margin:0; color:var(--navy); font-size:28px; line-height:1.15; }.development-heading p { margin:6px 0 0; color:var(--muted); font-size:13px; }.development-item-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.development-item-grid article, .development-feature { padding:21px 22px; background:#fff; border-left:4px solid var(--blue); }.development-item-grid h4, .development-feature h4 { margin:0; color:var(--navy); font-size:17px; }.development-item-grid p:not(.development-keywords), .development-feature p:not(.development-keywords) { margin:9px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }.development-keywords { margin:8px 0 0; color:#0789ca; font-size:12px; line-height:1.6; }.development-neuro .development-heading > span, .development-neuro .development-feature { border-color:#50b49c; }.development-neuro .development-heading > span { background:#50b49c; }.development-special .development-heading > span, .development-special .development-feature { border-color:var(--yellow); }.development-special .development-heading > span { background:var(--yellow); }.development-guidance .development-heading > span { background:#e9ad36; }.guidance-grid { grid-template-columns:repeat(2,1fr); }.guidance-grid article { border-color:#e9ad36; }.development-add-ons { margin:8px 0 0; padding:23px 26px; color:#466879; background:#e9f7fd; border:1px solid #b7e0f1; }.development-add-ons h3, .development-reminder h3 { margin:0; font-size:22px; }.development-add-ons p, .development-reminder p { margin:9px 0 0; font-size:13px; line-height:1.75; }.development-reminder { margin:15px 0 0; padding:25px 27px; color:#765a29; background:#fff5d6; border:1px solid #f0c45a; }.development-reminder h3 { color:#9a6410; }

.checkup-details { color:var(--ink); background:var(--mist); }
.checkup-detail-header { width:min(1320px,calc(100% - 56px)); margin:auto; padding:58px 0 42px; }
.detail-back { display:inline-flex; align-items:center; gap:8px; min-height:36px; margin-bottom:42px; padding:0 12px; color:var(--navy); background:transparent; border:1px solid #bed5e0; border-radius:4px; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
.detail-back:hover { color:#fff; background:var(--navy); border-color:var(--navy); }
.detail-back:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.checkup-detail-header h2 { max-width:780px; margin:0; color:var(--navy); font-size:42px; line-height:1.15; }
.checkup-detail-header > div > p:last-child { max-width:680px; margin:14px 0 0; color:var(--muted); font-size:15px; }
.detail-section { padding:58px max(28px,calc((100% - 1320px)/2)); background:#fff; }
.detail-section + .detail-section { border-top:1px solid var(--line); }
.detail-heading { width:min(100%,1000px); display:flex; justify-content:space-between; align-items:end; gap:48px; margin:0 0 30px; }
.detail-heading h3 { margin:0; color:var(--navy); font-size:29px; line-height:1.25; }
.detail-heading > p { max-width:none; margin:0; color:var(--muted); font-size:12px; white-space:nowrap; }
.detail-package-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.detail-package-grid article { min-height:170px; padding:20px; display:flex; flex-direction:column; background:#f6fafc; border-top:4px solid var(--blue); }
.detail-package-grid article:nth-child(2) { border-color:#36bea8; }.detail-package-grid article:nth-child(3) { border-color:#f77c54; }.detail-package-grid article:nth-child(4) { border-color:var(--yellow); }
.detail-package-grid p { margin:0; color:var(--muted); font-size:11px; }.detail-package-grid h4 { margin:13px 0 auto; color:var(--navy); font-size:17px; line-height:1.35; }.detail-package-grid dl { display:flex; align-items:end; gap:22px; margin:18px 0 0; }.detail-package-grid dt { color:#91a2aa; font-size:10px; }.detail-package-grid dd { margin:2px 0 0; color:#91a2aa; font-size:11px; font-weight:650; text-decoration:line-through; }.detail-package-grid dl > div:last-child dt { color:#0789ca; font-weight:800; }.detail-package-grid dl > div:last-child dd { color:var(--blue); font-size:20px; font-weight:850; line-height:1.05; letter-spacing:0; text-decoration:none; }.detail-note { margin:15px 0 0; color:#bf6549; font-size:11px; }
.detail-included { background:#eaf6fc; }.detail-included-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.detail-included-grid article { padding:19px 20px; background:#fff; border-left:4px solid var(--blue); }.detail-included-grid h4 { margin:0; color:var(--navy); font-size:16px; }.detail-included-grid p { margin:7px 0 0; color:var(--muted); font-size:12px; }
.detail-comparison { overflow-x:auto; background:#fff; border:1px solid var(--line); }.detail-comparison:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }.detail-comparison table { width:100%; min-width:760px; border-collapse:collapse; }.detail-comparison th,.detail-comparison td { padding:16px 14px; border-bottom:1px solid var(--line); text-align:center; font-size:12px; }.detail-comparison thead th { color:#527487; background:#eaf6fc; font-size:11px; }.detail-comparison tbody th { width:52%; text-align:left; color:var(--ink); font-weight:650; line-height:1.5; }.detail-comparison tbody tr:last-child > * { border-bottom:0; }.detail-comparison td { color:#b0bec6; }.detail-comparison .yes { font-size:21px; }.blue-dot { color:var(--blue)!important; }.green-dot { color:#36bea8!important; }.coral-dot { color:#f77c54!important; }.yellow-dot { color:var(--yellow)!important; }
.detail-add-ons { background:#fff4d5; }.detail-add-ons ul { margin:0; padding:0; list-style:none; }.detail-add-ons li { min-height:43px; padding:0 14px; display:grid; grid-template-columns:110px 1fr auto; align-items:center; background:rgba(255,255,255,.76); border-bottom:1px solid #f0dca1; font-size:12px; }.detail-add-ons li:first-child { border-radius:5px 5px 0 0; }.detail-add-ons li:last-child { border-bottom:0; border-radius:0 0 5px 5px; }.detail-add-ons span { color:#a47627; font-size:10px; }.detail-add-ons em { color:#6e7c85; font-style:normal; }

.services { width:100%; margin:0; padding:0 0 92px; background:#fff; }
.services-heading { width:min(1320px,calc(100% - 56px)); min-height:318px; margin:auto; padding:64px 0 42px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr); gap:70px; align-items:stretch; }
.services-heading-copy { align-self:center; max-width:555px; }
.services-heading .eyebrow { display:block; color:#c88500; }
.services-heading h2 { margin:0; color:var(--navy); font-size:42px; line-height:1.15; }
.services-heading-copy > p:not(.eyebrow) { margin:15px 0 0; color:var(--muted); font-size:15px; }
.services-summary { padding-top:17px; border-top:1px solid var(--line); }.services-summary strong { margin-right:6px; color:var(--blue); font-size:24px; line-height:1; }
.services-visual { min-height:252px; margin:0; position:relative; overflow:hidden; background:#eaf6fc; box-shadow:12px 12px 0 #e7f2f6; }.services-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }.services-visual figcaption { position:absolute; right:0; bottom:0; padding:9px 13px; color:#fff; background:rgba(18,61,89,.78); font-size:11px; font-weight:750; }
.services-directory { width:min(1320px,calc(100% - 56px)); margin:auto; }
.clinical-page { min-height:calc(100vh - 76px); padding:0 0 92px; color:var(--ink); background:#f5fafc; }
.clinical-hero { width:min(1320px,calc(100% - 56px)); min-height:318px; margin:auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr); gap:70px; align-items:stretch; }
.clinical-hero-copy { max-width:555px; align-self:center; }
.clinical-hero .eyebrow { color:#c88500; }
.clinical-hero h2 { margin:0; color:var(--navy); font-size:42px; line-height:1.15; }
.clinical-hero-copy > p:not(.eyebrow) { margin:15px 0 0; color:var(--muted); font-size:15px; }
.clinical-summary { padding-top:17px; border-top:1px solid var(--line); }
.clinical-summary strong { margin-right:6px; color:#1784b4; font-size:24px; line-height:1; }
.clinical-visual { min-height:252px; margin:0; position:relative; overflow:hidden; background:#eaf5f9; box-shadow:12px 12px 0 #d9ebf1; }
.clinical-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }
.clinical-visual figcaption { position:absolute; right:0; bottom:0; padding:9px 13px; color:#fff; background:rgba(18,61,89,.78); font-size:11px; font-weight:750; }
.clinical-directory { width:min(1120px,calc(100% - 56px)); margin:0 auto; padding:62px 0 0; }
.clinical-directory-heading { display:flex; align-items:end; justify-content:space-between; gap:48px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.clinical-directory-heading h3 { margin:0; color:var(--navy); font-size:30px; line-height:1.2; }
.clinical-directory-heading > p { max-width:430px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.clinical-list { margin-top:14px; }
.clinical-list .service-card { min-height:0; padding:26px 0; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr) 104px; gap:26px; align-items:center; background:transparent; border:0; border-bottom:1px solid var(--line); border-left:4px solid #1784b4; border-radius:0; box-shadow:none; }
.clinical-list .service-card:hover { background:#edf8fb; border-color:var(--line); border-left-color:#1784b4; box-shadow:none; transform:none; }
.clinical-list .service-card-copy { padding-left:19px; }
.clinical-list .card-action { color:var(--navy); background:#dff2f8; }
.clinical-list .card-action:hover { color:#fff; background:var(--navy); }
.clinical-note { margin:22px 0 0; padding:15px 18px; color:#597482; background:#e6f3f7; border-left:4px solid #76bdd7; font-size:12px; line-height:1.7; }
.filter-bar { margin:0; padding:27px 0 24px; gap:0; border:0; border-top:1px solid var(--line); }
.filter-button { height:44px; padding:0 17px; color:#607b8a; border:1px solid #cddfe7; border-right:0; border-radius:0; font-weight:700; }
.filter-button:first-child { border-radius:7px 0 0 7px; }
.filter-button:last-child { border-right:1px solid #cddfe7; border-radius:0 7px 7px 0; }
.filter-button.active { color:#fff; background:var(--navy); box-shadow:none; border-color:var(--navy); }
.filter-button.active + .filter-button { border-left-color:var(--navy); }
.service-group { display:grid; grid-template-columns:225px minmax(0,1fr); gap:42px; padding:42px 0; border-bottom:1px solid var(--line); }
.service-group:first-child { padding-top:40px; }
.service-group-heading { display:block; margin:0; padding-top:5px; }
.service-group-heading p { max-width:220px; color:var(--muted); font-size:13px; line-height:1.6; }
.service-group-heading h3 { margin-top:10px; color:var(--navy); font-size:28px; line-height:1.2; }
.service-group-heading > span { display:inline-block; margin-top:18px; padding:0; color:var(--blue); background:transparent; border-radius:0; font-size:12px; }
.group-visual { height:112px; margin:19px 0 0; overflow:hidden; background:#eef7fa; border:1px solid #d6e5ea; }.group-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }
.service-grid { display:block; border-top:1px solid var(--line); }
.service-grid > .service-card, .service-grid > .service-card:only-child, .service-grid > .service-card:last-child:nth-child(odd) { min-height:0; padding:22px 0; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr) 104px; gap:26px; align-items:center; background:transparent; border:0; border-radius:0; border-bottom:1px solid var(--line); box-shadow:none; }
.service-grid > .service-card:hover { background:#edf8fc; border-color:var(--line); box-shadow:none; transform:none; }
.service-card-copy { padding-left:16px; }
.service-mobile-kicker { display:none; }
.service-card-copy h3 { color:var(--navy); font-size:18px; line-height:1.4; }
.service-card-copy p { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.6; }
.service-card dl { display:flex; justify-content:flex-start; gap:20px; margin:0; padding:0; border:0; }
.service-card dt { color:#7c929d; font-size:10px; }
.service-card dd { color:var(--navy); font-size:11px; }
.card-action { min-width:0; min-height:38px; padding:0 12px; align-self:center; color:var(--navy); background:#e8f5fa; border-radius:4px; font-size:11px; }
.card-action:hover { color:#fff; background:var(--navy); }
.notice-band { width:100%; margin:0; padding:74px max(28px,calc((100% - 1320px)/2)); color:#fff; background:var(--navy); }
.notice-band h2 { color:#fff; font-size:34px; }
.notice-copy { max-width:690px; color:#d1e2ea; }
.future-note { color:#d5e9f2; background:rgba(255,255,255,.09); border-radius:0; }
.offers-page { color:var(--ink); background:#fff; }
.offer-hero { width:min(1320px,calc(100% - 56px)); height:348px; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:54px; align-items:stretch; color:var(--ink); background:#f3f9fb; }
.offer-hero-copy { padding:60px 0 54px 54px; align-self:center; }.offer-hero .eyebrow { color:#c88500; }.offer-hero h2 { max-width:470px; margin:0; color:var(--navy); font-size:42px; line-height:1.15; }.offer-hero-copy > p:not(.eyebrow) { max-width:475px; margin:16px 0 0; color:var(--muted); font-size:15px; line-height:1.75; }
.offer-status { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }.offer-status span { padding:6px 10px; color:#087fb9; background:#e7f6fc; border:1px solid #b7e0f1; border-radius:4px; font-size:11px; font-weight:750; }
.offer-product { height:348px; min-height:0; margin:0; overflow:hidden; background:#1599d9; box-shadow:12px 12px 0 #dceef4; }.offer-product img { display:block; width:100%; height:348px; object-fit:contain; object-position:center; }
.offer-content { width:min(1120px,calc(100% - 56px)); margin:auto; padding:72px 0 86px; }.offer-section { padding:0 0 58px; }.offer-section + .offer-section { padding-top:58px; border-top:1px solid var(--line); }
.offer-heading { display:flex; justify-content:space-between; align-items:end; gap:52px; margin-bottom:30px; }.offer-heading h3 { margin:0; color:var(--navy); font-size:30px; line-height:1.2; }.offer-heading > p { max-width:455px; margin:0; color:var(--muted); font-size:12px; }
.offer-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.offer-price-grid article { min-height:213px; padding:27px 30px; color:var(--ink); background:#fff; border-top:4px solid var(--blue); box-shadow:0 8px 22px rgba(18,61,89,.06); }.offer-price-large { border-top-color:var(--yellow)!important; }.offer-price-grid p { margin:0; color:var(--navy); font-size:17px; font-weight:800; }.offer-price-grid h4 { margin:6px 0 0; color:var(--muted); font-size:13px; }.offer-price-grid dl { display:flex; align-items:end; justify-content:space-between; gap:28px; margin:34px 0 0; padding-top:16px; border-top:1px solid var(--line); }.offer-price-grid dt { color:#7b929e; font-size:11px; }.offer-price-grid dd { margin:3px 0 0; color:#7b929e; font-size:14px; font-weight:650; text-decoration:line-through; }.offer-price-grid dl > div:first-child dt { color:#0789ca; font-weight:800; }.offer-price-grid dl > div:first-child dd { color:var(--blue); font-size:31px; line-height:1; font-weight:850; text-decoration:none; }.offer-reservation-note { margin:16px 0 0; padding:15px 18px; color:#765a29; background:#fff5d6; border-left:4px solid var(--yellow); font-size:13px; font-weight:750; }
.offer-timing-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.offer-timing-grid article { min-height:148px; padding:22px 24px; background:#e7f5fb; border-left:4px solid var(--blue); }.offer-timing-grid span { display:inline-flex; width:25px; height:25px; align-items:center; justify-content:center; color:#fff; background:var(--yellow); border-radius:50%; font-size:11px; font-weight:850; }.offer-timing-grid h4 { margin:12px 0 0; color:var(--navy); font-size:18px; }.offer-timing-grid p { margin:7px 0 0; color:#54707f; font-size:13px; }.offer-season-note { margin:15px 0 0; padding:15px 18px; color:#675a32; background:#fff8e6; font-size:13px; line-height:1.7; }.offer-season-note strong { color:#a86c00; }
.offer-facts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.offer-facts-grid article { min-height:157px; padding:22px; background:#fff; border-top:3px solid var(--blue); box-shadow:0 7px 20px rgba(18,61,89,.05); }.offer-facts-grid h4 { margin:0; color:var(--navy); font-size:16px; }.offer-facts-grid p { margin:9px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }.offer-disclaimer { margin:0; padding:16px 20px; color:#667b86; background:#eaf2f5; font-size:12px; line-height:1.7; }
.site-footer { color:#69808d; background:#fff; border-top:1px solid var(--line); }
.footer-brand img { filter:none; }
.footer-brand strong { color:var(--navy); }
.footer-brand small, .site-footer p { color:#69808d; }

@media (max-width:1080px) {
  .navigator-inner { grid-template-columns:.88fr 1.12fr; gap:42px; }
  .navigator h1 { font-size:40px; }
  .services-heading { grid-template-columns:.9fr 1.1fr; gap:40px; }
  .clinical-hero { grid-template-columns:.9fr 1.1fr; gap:40px; }
  .service-group { grid-template-columns:210px minmax(0,1fr); gap:32px; }
  .service-grid > .service-card, .service-grid > .service-card:only-child, .service-grid > .service-card:last-child:nth-child(odd) { grid-template-columns:minmax(0,1fr) 102px; }
  .service-card dl { grid-column:1; }
  .card-action { grid-column:2; grid-row:1 / span 2; }
}

@media (max-width:760px) {
  .site-header { height:auto; }
  .header-inner { min-height:112px; padding:10px 0 8px; display:flex; flex-wrap:wrap; align-content:center; }
  .brand { flex:1 1 100%; gap:14px; }
  .brand img { width:34px; height:34px; transform:scale(1.28); }
  .brand strong { font-size:15px; }
  .brand small { margin-top:3px; }
  .top-nav { display:grid; width:100%; margin:8px 0 0; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; overflow:visible; }
  .top-nav::-webkit-scrollbar { display:none; }
  .top-nav button, .top-nav .notice-link { min-width:0; min-height:36px; padding:0 3px; font-size:10px; white-space:nowrap; }
  .top-nav .notice-link { display:none; }
  .header-inner, .navigator-inner, .service-steps, .checkup-promo-inner { width:calc(100% - 32px); }
  .navigator::before { left:16px; width:52px; }
  .navigator-inner { padding:56px 0 32px; }
  .navigator h1 { font-size:33px; line-height:1.25; }
  .navigator-copy > p:not(.eyebrow) { color:#426276; }
  .recommend-form { box-shadow:8px 8px 0 rgba(0,0,0,.14); }
  .service-steps { padding:7px 0; }
  .service-steps div + div { border-left:0; border-top-color:rgba(32,91,118,.25); }
  .checkup-promo-inner { padding:52px 0 35px; }
  .checkup-promo h2 { font-size:32px; }
  .checkup-visual { min-height:260px; margin-top:30px; box-shadow:9px 9px 0 #dceff6; }
  .checkup-visual img { height:260px; }
  .checkup-scope { width:calc(100% - 32px); grid-template-columns:1fr 1fr; }
  .checkup-scope span { min-height:57px; padding:0 9px; font-size:11px; }.checkup-scope span:nth-child(3) { border-left:0; border-top:1px solid #cbdfe7; }.checkup-scope span:nth-child(4) { border-top:1px solid #cbdfe7; }
  .checkup-promo { padding-bottom:54px; }.checkup-hub { width:calc(100% - 32px); padding-top:45px; }.checkup-hub-heading h2 { font-size:34px; }.checkup-hub-heading > p:not(.eyebrow) { font-size:14px; }.checkup-path-grid { grid-template-columns:1fr; gap:13px; margin-top:30px; }.checkup-path-card { grid-template-columns:.86fr 1.14fr; min-height:278px; box-shadow:7px 7px 0 #dceef4; }.checkup-path-card > div { padding:20px 18px 18px; }.checkup-path-card h3 { font-size:21px; }.checkup-path-card ul { display:none; }.checkup-path-card > div > p:not(.path-age) { font-size:11px; }.development-detail-header { width:calc(100% - 32px); padding:36px 0 30px; }.development-detail-header h2 { font-size:31px; }.development-detail-content { width:calc(100% - 32px); padding-bottom:58px; }.development-section { padding:37px 0; }.development-heading h3 { font-size:25px; }.development-item-grid, .guidance-grid { grid-template-columns:1fr; }.development-item-grid article, .development-feature { padding:18px 18px; }.development-add-ons, .development-reminder { padding:20px; }.development-add-ons h3, .development-reminder h3 { font-size:20px; }
  .checkup-detail-header { width:calc(100% - 32px); padding:36px 0 30px; }
  .detail-back { margin-bottom:31px; }
  .checkup-detail-header h2 { font-size:31px; }
  .detail-section { padding:43px 16px; }
  .detail-heading { display:block; margin-bottom:23px; }
  .detail-heading h3 { font-size:25px; }
  .detail-heading > p { margin-top:9px; white-space:normal; }
  .detail-package-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .detail-package-grid article { min-height:156px; padding:15px; }
  .detail-package-grid h4 { font-size:15px; }
  .detail-package-grid dl { gap:12px; }
  .detail-included-grid { grid-template-columns:1fr; }
  .detail-comparison { margin-right:-16px; }
  .detail-add-ons li { grid-template-columns:77px 1fr auto; padding:0 10px; font-size:11px; }
  .detail-add-ons span { font-size:9px; }
  .services { padding:0 0 66px; }
  .services-heading, .services-directory { width:calc(100% - 32px); }
  .services-heading { min-height:0; padding:48px 0 31px; display:block; }
  .services-heading h2 { font-size:34px; }
  .services-visual { min-height:210px; margin-top:28px; box-shadow:8px 8px 0 #e7f2f6; }
  .services-visual img { height:210px; }
  .clinical-page { padding-bottom:58px; }
  .clinical-hero { width:calc(100% - 32px); min-height:0; padding:48px 0 31px; display:block; }
  .clinical-hero h2 { font-size:34px; }
  .clinical-visual { min-height:210px; margin-top:28px; box-shadow:8px 8px 0 #d9ebf1; }
  .clinical-visual img { height:210px; }
  .clinical-directory { width:calc(100% - 32px); padding-top:41px; }
  .clinical-directory-heading { display:block; padding-bottom:21px; }
  .clinical-directory-heading h3 { font-size:25px; }
  .clinical-directory-heading > p { margin-top:11px; }
  .clinical-list .service-card { margin:14px 0 0; padding:18px 14px 17px; grid-template-columns:minmax(0,1fr) 82px; gap:12px; background:#fff; border:0; border-bottom:1px solid #dbe8ed; border-left:3px solid #1784b4; }
  .clinical-list .service-card-copy { padding-left:0; }
  .clinical-note { margin-top:18px; padding:14px 16px; }
  .filter-bar { margin:0 -16px; padding:25px 16px 20px; }
  .offer-hero { width:100%; height:auto; display:block; }.offer-hero-copy { padding:48px 16px 38px; }.offer-hero h2 { font-size:34px; }.offer-product { height:230px; }.offer-product img { height:230px; object-position:center; }.offer-content { width:calc(100% - 32px); padding:48px 0 58px; }.offer-section { padding-bottom:42px; }.offer-section + .offer-section { padding-top:42px; }.offer-heading { display:block; margin-bottom:22px; }.offer-heading h3 { font-size:25px; }.offer-heading > p { margin-top:10px; }.offer-price-grid, .offer-timing-grid { grid-template-columns:1fr; }.offer-price-grid article { min-height:190px; padding:24px 21px; }.offer-facts-grid { grid-template-columns:1fr; }.offer-facts-grid article { min-height:0; }.offer-disclaimer { padding:14px 16px; }
  .filter-bar { margin:30px -16px 0; padding:0 16px; overflow-x:auto; }
  .filter-button { flex:none; }
  .service-group { display:block; padding:43px 0; }
  .service-group-heading { padding:0 0 21px; }
  .service-group-heading h3 { font-size:25px; }
  .service-group-heading p { max-width:300px; }
  .service-group-heading > span { margin-top:10px; }
  .group-visual { height:145px; margin-top:17px; }
  .service-grid > .service-card, .service-grid > .service-card:only-child, .service-grid > .service-card:last-child:nth-child(odd) { margin:0; padding:18px 14px 17px; grid-template-columns:minmax(0,1fr) 82px; gap:12px; background:#f8fbfc; border:0; border-bottom:1px solid #dbe8ed; border-left:3px solid var(--blue); }
  .service-grid > .service-card[data-group="development"] { border-left-color:#3cae93; }
  .service-grid > .service-card[data-group="wellbeing"] { border-left-color:var(--yellow); }
  .service-grid > .service-card[data-group="behavior"] { border-left-color:#e77957; }
  .service-card-copy { padding-left:0; }
  .service-mobile-kicker { display:block; margin:0 0 6px; color:#1685b6; font-size:10px; font-weight:800; letter-spacing:.08em; line-height:1.2; }
  .service-card-copy h3 { margin:0; color:var(--navy); font-size:18px; font-weight:800; line-height:1.4; }
  .service-card-copy p { margin-top:7px; font-size:12px; line-height:1.62; }
  .service-card dl { gap:14px; padding-top:11px; border-top:1px solid #dce9ee; }
  .service-card dt { font-size:10px; }
  .service-card dd { font-size:11px; }
  .card-action { min-width:0; padding:0 8px; font-size:10px; }
  .notice-band { padding:52px 16px; }
  .notice-band h2 { font-size:29px; }
}
