@font-face{font-family:'Fredoka';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/fredoka-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Fredoka';font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/fredoka-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Fredoka';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/fredoka-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/nunito-sans-latin-800-normal.woff2) format('woff2')}
:root{color-scheme:light}
[hidden]{display:none!important}
img{max-width:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Layout concept: a bright, rounded clinic site. Hero pairs the headline with the logo card;
   services read as one featured card plus a quiet row; the booking portal is a stepped card with a live summary. */
:root{
  --navy:#0C3F93; --purple:#7A2A9A; --sun:#FFD21A; --pink:#FF3D95; --sky:#27A7F2; --leaf:#6CC04A; --tangerine:#FF9F1C;
  --bg:#FBFAFF; --surface:#FFFFFF; --surface-2:#F3F0FC; --fg:#1A2146; --muted:#566090; --line:#E2DEF3;
  --head:#0C3F93; --accent-text:#7A2A9A; --link:#0C3F93;
  --btn-bg:#0C3F93; --btn-fg:#FFFFFF; --btn-hover:#0A3278;
  --soft-blue:#E6EEFB; --sun-soft:#FFF4C2; --sun-ink:#5C4700;
  --ok:#1E6E31; --ok-soft:#E0F4E4; --warn:#7A4F00; --warn-soft:#FFF0CC; --bad:#B3261E; --bad-soft:#FDE7E5; --off:#8A90B0;
  --shadow:0 1px 2px rgba(26,33,70,.06),0 10px 28px rgba(26,33,70,.09);
  --rainbow:linear-gradient(90deg,#27A7F2,#7A2A9A 38%,#FF3D95 68%,#FF9F1C);
  --header-bg:rgba(251,250,255,.92);
  --font-display:'Fredoka','Trebuchet MS',system-ui,sans-serif;
  --font-body:'Nunito Sans','Segoe UI',system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0C1131; --surface:#141A47; --surface-2:#1B2258; --fg:#EDEFFF; --muted:#AAB1DC; --line:#2C3578;
    --head:#FFFFFF; --accent-text:#E0A8FF; --link:#8BD0FF;
    --btn-bg:#FFD21A; --btn-fg:#0C2A6B; --btn-hover:#FFE15A;
    --soft-blue:#1F2A70; --sun-soft:#3A3410; --sun-ink:#FFE680;
    --ok:#8BE0A0; --ok-soft:#183B2A; --warn:#FFD98A; --warn-soft:#3F3210; --bad:#FFB4AB; --bad-soft:#4A1E24; --off:#7F87BD;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.35);
    --header-bg:rgba(12,17,49,.92);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0C1131; --surface:#141A47; --surface-2:#1B2258; --fg:#EDEFFF; --muted:#AAB1DC; --line:#2C3578;
  --head:#FFFFFF; --accent-text:#E0A8FF; --link:#8BD0FF;
  --btn-bg:#FFD21A; --btn-fg:#0C2A6B; --btn-hover:#FFE15A;
  --soft-blue:#1F2A70; --sun-soft:#3A3410; --sun-ink:#FFE680;
  --ok:#8BE0A0; --ok-soft:#183B2A; --warn:#FFD98A; --warn-soft:#3F3210; --bad:#FFB4AB; --bad-soft:#4A1E24; --off:#7F87BD;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.35);
  --header-bg:rgba(12,17,49,.92);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:17px;line-height:1.6;margin:0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--header-bg)}
h1,h2,h3{font-family:var(--font-display);color:var(--head);line-height:1.15;margin:0;text-wrap:balance;font-weight:600}
h1{font-size:clamp(2.4rem,6vw,4rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,4vw,2.5rem)}
h3{font-size:1.2rem}
p{margin:0}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-text)}
.lead{font-size:1.15rem;color:var(--muted);max-width:56ch}
.small{font-size:.88rem;color:var(--muted)}
.src{font-size:.82rem;color:var(--muted);margin-top:14px}
.src a{color:var(--muted)}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--head);font-family:var(--font-display);font-weight:700;font-size:1.25rem;white-space:nowrap}
.brand svg{width:32px;height:32px;flex:none}
.brand span em{font-style:normal;color:var(--accent-text)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a.link{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--fg);font-weight:600;font-size:.95rem}
.nav a.link:hover{background:var(--surface-2)}
.rainbow{height:5px;background:var(--rainbow)}
@media (max-width:820px){.nav a.link{display:none}.site-header .wrap{justify-content:space-between}.nav{margin-left:0}}
@media (max-width:420px){.brand{font-size:1.05rem}.brand svg{width:26px;height:26px}}

/* buttons */
.btn{font:inherit;font-weight:700;border:2px solid transparent;border-radius:999px;padding:12px 24px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2;transition:background .15s,transform .15s}
.btn.primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn.primary:hover:not(:disabled){background:var(--btn-hover)}
.btn.ghost{background:transparent;color:var(--head);border-color:var(--line)}
.btn.ghost:hover:not(:disabled){background:var(--surface-2)}
.btn.small-btn{padding:7px 14px;font-size:.88rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:active:not(:disabled){transform:translateY(1px)}

/* hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(60% 80% at 92% 10%,color-mix(in srgb,var(--sky) 20%,transparent),transparent 70%),
  radial-gradient(50% 70% at 0% 100%,color-mix(in srgb,var(--pink) 14%,transparent),transparent 70%),var(--bg)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:64px 72px}
.hero-copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start;min-width:0}
.hero-copy h1 em{font-style:normal;color:var(--accent-text)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;padding:6px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--fg)}
.badge i{width:9px;height:9px;border-radius:50%;background:var(--leaf);display:inline-block}
.logo-card{background:#fff;border-radius:32px;padding:14px;box-shadow:var(--shadow);transform:rotate(1.2deg);border:1px solid var(--line);min-width:0}
.logo-card img{display:block;width:100%;height:auto;border-radius:20px}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:32px;padding-block:40px 48px}.logo-card{transform:none;max-width:520px}}

/* sections */
section{scroll-margin-top:84px}
.band{padding-block:72px}
.band.alt{background:var(--surface-2)}
.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
@media (max-width:640px){.band{padding-block:52px}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.svc.feature{grid-column:1/-1;flex-direction:row;gap:28px;align-items:center;background:var(--sun-soft);border-color:transparent;padding:28px}
.svc.feature h3{font-size:1.7rem;color:var(--head)}
.svc.feature p{color:var(--sun-ink)}
.svc-ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex:none;color:#fff}
.svc-ico svg{width:28px;height:28px}
.svc.feature .svc-ico{width:72px;height:72px;border-radius:24px}
.svc.feature .svc-ico svg{width:38px;height:38px}
.svc-text{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.pill{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.02em;align-self:flex-start}
.pill.live{background:var(--ok-soft);color:var(--ok)}
.pill.soon{background:var(--surface-2);color:var(--muted)}
.pill.requested{background:var(--warn-soft);color:var(--warn)}
.pill.confirmed{background:var(--ok-soft);color:var(--ok)}
.pill.cancelled{background:var(--surface-2);color:var(--muted);text-decoration:line-through}
.svc p{color:var(--muted);font-size:.97rem}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr}.svc.feature{flex-direction:column;align-items:flex-start;gap:16px}}

/* speech */
.speech-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}
.help-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 28px;margin:0;padding:0;list-style:none}
.help-list li{display:flex;gap:12px;min-width:0}
.help-list .dot{width:14px;height:14px;border-radius:5px;margin-top:7px;flex:none}
.help-list b{display:block;font-family:var(--font-display);font-weight:600;color:var(--head);font-size:1.05rem;line-height:1.3}
.help-list span.d{color:var(--muted);font-size:.95rem;display:block}
.signs{background:var(--surface);border-radius:24px;padding:28px;border:1px solid var(--line);box-shadow:var(--shadow)}
.signs h3{margin-bottom:14px}
.signs ul{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.signs li{display:flex;gap:10px;font-size:.98rem}
.signs li::before{content:"";flex:none;width:18px;height:18px;margin-top:4px;border-radius:50%;background:var(--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.5 2.5L13 6.5' fill='none' stroke='%230C2A6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
@media (max-width:900px){.speech-grid{grid-template-columns:1fr}}
@media (max-width:560px){.help-list{grid-template-columns:1fr}}

/* funding */
.fund{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.fund-copy{display:flex;flex-direction:column;gap:14px;min-width:0}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 14px;text-align:center;display:flex;flex-direction:column;gap:4px;min-width:0}
.tile b{font-family:var(--font-display);font-size:2.3rem;line-height:1;color:var(--head);font-weight:700;font-variant-numeric:tabular-nums}
.tile span{font-size:.85rem;color:var(--muted);line-height:1.3}
@media (max-width:900px){.fund{grid-template-columns:1fr}}
@media (max-width:420px){.tile b{font-size:1.8rem}}

/* booking */
.book-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.status-line{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--muted)}
.status-line i{width:10px;height:10px;border-radius:50%;background:var(--off);display:inline-block}
.status-line.live i{background:var(--leaf);box-shadow:0 0 0 4px color-mix(in srgb,var(--leaf) 25%,transparent)}
.status-line.warn i{background:var(--tangerine)}
.book-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.card{background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);min-width:0}
.book-main{padding:28px;display:flex;flex-direction:column;gap:24px}
.steps{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.steps li{flex:1;min-width:92px}
.steps button{width:100%;font:inherit;font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:2px solid var(--line);background:transparent;color:var(--muted);cursor:default}
.steps button .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:.78rem;flex:none}
.steps li.done button{cursor:pointer;color:var(--fg);border-color:var(--line)}
.steps li.done button .n{background:var(--leaf);color:#0B2A12}
.steps li.current button{border-color:var(--btn-bg);color:var(--head)}
.steps li.current button .n{background:var(--btn-bg);color:var(--btn-fg)}
.panel{display:flex;flex-direction:column;gap:22px}
.fs{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.fs legend{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--head);padding:0;margin-bottom:12px;float:left;width:100%}
.fs legend+*{clear:both}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.opt{position:relative;display:block;cursor:pointer;min-width:0}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt .body{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:18px;border:2px solid var(--line);background:var(--surface);height:100%}
.opt .body b{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--head)}
.opt .body .meta{font-size:.85rem;font-weight:700;color:var(--accent-text)}
.opt .body small{color:var(--muted);font-size:.88rem;line-height:1.4}
.opt input:checked+.body{border-color:var(--btn-bg);background:var(--soft-blue)}
.opt input:focus-visible+.body{outline:3px solid var(--sky);outline-offset:2px}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pills .opt .body{flex-direction:row;padding:10px 20px;border-radius:999px;align-items:center}
.pills .opt .body b{font-size:1rem}
.days{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}
.day{flex:none;scroll-snap-align:start;width:76px;font:inherit;border:2px solid var(--line);background:var(--surface);color:var(--fg);border-radius:18px;padding:10px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.25}
.day span{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.day b{font-family:var(--font-display);font-size:1.7rem;color:var(--head);font-weight:600;line-height:1.1}
.day small{font-size:.74rem;color:var(--ok);font-weight:700;margin-top:2px}
.day[aria-pressed="true"]{border-color:var(--btn-bg);background:var(--soft-blue)}
.day:disabled{opacity:.5;cursor:not-allowed}
.day:disabled small{color:var(--muted)}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.time{font:inherit;font-weight:700;padding:12px 8px;border-radius:14px;border:2px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;font-variant-numeric:tabular-nums}
.time:hover:not(:disabled){border-color:var(--btn-bg)}
.time[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.time:disabled{background:var(--surface-2);color:var(--off);cursor:not-allowed;text-decoration:line-through;border-color:transparent}
.sub{font-family:var(--font-display);font-weight:600;color:var(--head);font-size:1.05rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-weight:700;font-size:.92rem;color:var(--fg)}
.field input[type=text],.field input[type=tel],.field input[type=email],.field select,.field textarea{font:inherit;color:var(--fg);background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:11px 14px;width:100%;min-width:0}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--sky);outline-offset:0;border-color:var(--sky)}
.field [aria-invalid="true"]{border-color:var(--bad)}
.err{color:var(--bad);font-size:.85rem;font-weight:600;min-height:0}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--navy)}
.nav-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.notice{padding:12px 16px;border-radius:14px;background:var(--warn-soft);color:var(--warn);font-weight:600;font-size:.92rem}
.notice.bad{background:var(--bad-soft);color:var(--bad)}
.summary{padding:24px;display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}
.summary dl{margin:0;display:flex;flex-direction:column;gap:12px}
.summary dl div{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.summary dl div:last-child{border-bottom:0;padding-bottom:0}
.summary dt{font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.summary dd{margin:0;font-weight:700;color:var(--fg)}
.summary dd.empty{color:var(--off);font-weight:400;font-style:italic}
.done-card{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.done-star{width:76px;height:76px}
.ref{font-family:var(--font-display);font-weight:600;letter-spacing:.12em;background:var(--sun-soft);color:var(--sun-ink);padding:6px 14px;border-radius:12px;font-size:1.1rem}
.next-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}
.row-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.book-grid{grid-template-columns:1fr}.summary{position:static;order:-1}}
@media (max-width:560px){.book-main{padding:20px 16px}.opts,.form-grid{grid-template-columns:1fr}.steps li{min-width:calc(50% - 4px)}}

/* my bookings and dashboard */
.mine{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.mine h3{font-size:1.2rem}
.bk{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 18px}
.bk b{display:block;color:var(--head);font-family:var(--font-display);font-weight:600}
.bk small{color:var(--muted)}
.dash-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 18px;display:flex;flex-direction:column}
.stat b{font-family:var(--font-display);font-size:1.8rem;line-height:1.1;color:var(--head);font-variant-numeric:tabular-nums}
.stat span{font-size:.82rem;color:var(--muted)}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:.93rem}
th{text-align:left;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}
td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
tr.is-cancelled td{opacity:.55}
td b{color:var(--head)}
td .s{display:block;color:var(--muted);font-size:.85rem}
.empty-state{padding:36px 20px;text-align:center;color:var(--muted)}

/* contact + footer */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.contact dl{margin:0;display:flex;flex-direction:column;gap:14px}
.contact dt{font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.contact dd{margin:2px 0 0;font-weight:700}
.contact dd.tbd{color:var(--off);font-weight:400;font-style:italic}
.contact .card{padding:26px}
@media (max-width:760px){.contact{grid-template-columns:1fr}}
footer{background:var(--navy);color:#E8ECFF;padding-block:36px}
footer .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;align-items:center}
footer .tag{font-family:var(--font-display);font-weight:600;color:var(--sun);font-size:1.1rem}
footer p{font-size:.88rem;color:#C5CDF5;max-width:60ch}

/* Enhanced parent-friendly presentation */
.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:#0c3f93;padding:12px 18px;border-radius:12px}.skip-link:focus{top:12px}
:root[data-theme="light"]{--bg:#fffcf7;--surface-2:#f7f4ff;--line:#eae5f5;--shadow:0 8px 30px rgba(40,41,94,.08),0 2px 8px rgba(40,41,94,.04)}
.hero{background:radial-gradient(circle at 5% 20%,#fff1c8 0,transparent 35%),radial-gradient(circle at 96% 80%,#ffe2ef 0,transparent 35%),var(--bg)}
.hero .wrap{padding-block:86px 94px}
.hero-copy h1{font-size:clamp(2.7rem,5.8vw,4.8rem);line-height:1.08;max-width:12ch}
.hero-copy h1 em{background:linear-gradient(100deg,#7a2a9a,#f43e91);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy .lead{font-size:1.2rem;max-width:47ch}
.logo-card{position:relative;transform:rotate(0deg);border:8px solid white;border-radius:36px;box-shadow:0 24px 55px rgba(80,60,145,.16)}
.hero-sparkle{position:absolute;z-index:1;display:grid;place-items:center;border-radius:50%;box-shadow:var(--shadow)}
.sparkle-one{top:-27px;right:-20px;width:70px;height:70px;background:#fff0a4;color:#e98a00;font-size:42px}
.sparkle-two{bottom:-22px;left:-25px;width:60px;height:60px;background:#e9d7ff;color:#8137b4;font-size:34px}
.welcome-strip{background:#fff;border-top:1px solid #f2edf7;border-bottom:1px solid #f2edf7}
.welcome-items{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:17px;color:#414367;font-size:.91rem;font-weight:800}
.welcome-items span{display:inline-flex;align-items:center;gap:8px}
.centered{align-items:center;text-align:center}.centered .lead{max-width:55ch}
.approach-band{background:linear-gradient(180deg,#fffaf4,#fff)}
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.journey-card{position:relative;background:#fff;border:1px solid #eee5f5;border-radius:26px;padding:32px 28px;box-shadow:var(--shadow)}
.journey-card:nth-child(2){background:#f7f0ff}.journey-card:nth-child(3){background:#fff1f6}
.journey-icon{font-size:2.2rem;background:#fff8e5;border-radius:18px;width:70px;height:70px;display:grid;place-items:center;margin-bottom:24px}
.journey-number{position:absolute;right:25px;top:24px;color:#a58ab9;font-family:var(--font-display);font-weight:700}
.journey-card h3{margin-bottom:12px}.journey-card p{color:#566090}
.approach-cta{margin-top:30px;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;text-align:center;font-weight:700}
.faq-layout{display:grid;grid-template-columns: .8fr 1.2fr;gap:65px;align-items:start}
.faq-list{display:grid;gap:12px}
.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:0 22px}
.faq-list summary{cursor:pointer;list-style:none;font-weight:800;padding:19px 32px 19px 0;position:relative;color:var(--head)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:0;font-size:1.5rem;top:12px;color:var(--accent-text)}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{padding-bottom:20px;color:var(--muted)}
.svc,.card,.signs{box-shadow:0 5px 24px rgba(50,42,110,.045)}
@media(max-width:820px){.welcome-items{flex-wrap:wrap;justify-content:center}.journey-grid{grid-template-columns:1fr}.faq-layout{grid-template-columns:1fr;gap:18px}.hero .wrap{padding-block:48px 58px}}
@media(max-width:520px){.welcome-items{display:grid;justify-content:start;gap:9px}.hero-copy h1{font-size:clamp(2.55rem,11vw,3.5rem)}.journey-card{padding:25px}.hero-sparkle{display:none}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0c1131;--surface-2:#1b2258;--line:#2c3578}.hero,.approach-band{background:var(--bg)}.welcome-strip{background:var(--surface);border-color:var(--line)}.welcome-items{color:var(--fg)}.journey-card,.journey-card:nth-child(2),.journey-card:nth-child(3){background:var(--surface);border-color:var(--line)}.journey-card p{color:var(--muted)}}
:root[data-theme="dark"] .hero,:root[data-theme="dark"] .approach-band{background:var(--bg)}
:root[data-theme="dark"] .welcome-strip{background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] .welcome-items{color:var(--fg)}
:root[data-theme="dark"] .journey-card,:root[data-theme="dark"] .journey-card:nth-child(2),:root[data-theme="dark"] .journey-card:nth-child(3){background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] .journey-card p{color:var(--muted)}

/* Round 2: first-visit guidance and mobile booking improvements */
.prepare-band{background:linear-gradient(145deg,#f5f9ff 0%,#fffaf1 52%,#fff3f8 100%)}
.prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.prep-card{background:#fff;border:1px solid #e8e5f1;border-radius:24px;padding:27px;box-shadow:0 8px 25px rgba(50,42,110,.06)}
.prep-card h3{margin:14px 0 9px}.prep-card p{color:#505a7e;line-height:1.65}
.prep-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:#f4eaff;font-size:1.8rem}
.prep-card:nth-child(2) .prep-icon{background:#fff2cf}.prep-card:nth-child(3) .prep-icon{background:#e5f7f0}
.prep-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:26px;padding:20px 24px;background:#fff;border:1px solid #e8e5f1;border-radius:20px;flex-wrap:wrap}
.prep-footer p{margin:0;max-width:54ch}.mobile-book-cta{display:none}
.faq-list details:focus-within{outline:2px solid #6243bd;outline-offset:3px}
html{scroll-padding-top:95px}#book,#faq,#prepare,#contact{scroll-margin-top:95px}
@media(max-width:760px){.prep-grid{grid-template-columns:1fr}.prep-footer{align-items:flex-start}.mobile-book-cta{display:block;position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:16px;right:16px;z-index:40;text-align:center;padding:14px 20px;background:#5735a7;color:#fff;border-radius:16px;font-weight:800;box-shadow:0 10px 28px rgba(32,22,87,.3);text-decoration:none}body{padding-bottom:76px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(prefers-color-scheme:dark){.prepare-band{background:var(--bg)}.prep-card,.prep-footer{background:var(--surface);border-color:var(--line)}.prep-card p{color:var(--muted)}}

/* Simplified clinical screening selections */
.social-options { display:grid; gap:10px; padding:10px 0; }
.social-options .check { display:flex; align-items:flex-start; gap:10px; }
#panel-3 h3 { margin:14px 0 2px; color:#194a89; }
#panel-3 select { width:100%; min-height:46px; }


/* V8: professional paediatric speech therapy presentation */
:root{--navy:#183D79;--purple:#7451B8;--pink:#F06EAC;--sky:#56B6E8;--leaf:#67BCA2;--bg:#FFFCF9;--surface-2:#F7F5FE;--fg:#283350;--muted:#586581;--line:#E9E5F2;--head:#193D76;--accent-text:#7150B1;--btn-bg:#274F9C;--btn-hover:#183E80;--soft-blue:#ECF2FF;--shadow:0 12px 40px rgba(32,48,105,.07),0 2px 8px rgba(32,48,105,.035);--header-bg:rgba(255,252,249,.97)}
body{letter-spacing:.002em}
.wrap{max-width:1180px;padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px))}
.site-header{border-bottom:1px solid rgba(34,47,89,.07);box-shadow:0 3px 16px rgba(24,40,92,.035)}
.site-header .wrap{min-height:76px}
.brand{font-size:1.21rem;letter-spacing:-.02em}.brand svg{width:39px;height:39px}
.nav{gap:2px}.nav a.link{padding:8px 9px;font-size:.86rem}
.rainbow{height:3px;background:linear-gradient(90deg,#6AB9E9,#A88CE1,#F2A6C7,#F8D37A,#81C8B2)}
.btn{box-shadow:0 3px 10px rgba(39,79,156,.08)}.btn.primary{box-shadow:0 8px 20px rgba(39,79,156,.17)}.btn.ghost{box-shadow:none;background:#fff}
.nav-toggle{display:none;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:44px;height:44px}
.nav-toggle span{width:20px;height:2px;border-radius:2px;background:var(--navy)}
.hero{background:radial-gradient(ellipse 43% 80% at 95% 15%,#E5F6FF 0,transparent 75%),radial-gradient(ellipse 55% 85% at 2% 95%,#FFF1DB 0,transparent 75%),linear-gradient(115deg,#FFFCF8,#FDFBFF)}
.hero .wrap{grid-template-columns:1.07fr .93fr;gap:54px;padding-block:84px 102px}
.hero-copy{gap:20px}.hero-copy h1{font-size:clamp(2.75rem,5.1vw,4.5rem);max-width:13.5ch;line-height:1.1;letter-spacing:-.035em}
.hero-copy h1 em{background:linear-gradient(110deg,#7654BA,#D86DAB);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy .eyebrow{display:inline-flex;align-items:center;background:#F0EAFB;color:#6844A3;border-radius:999px;padding:7px 15px;font-size:.8rem;letter-spacing:.045em}
.hero-copy .lead{font-size:1.15rem;max-width:50ch;line-height:1.72}.hero-promise{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:#7451B8}
.hero-actions{margin-top:6px}.hero-badges{margin-top:6px}.hero-badges .badge{background:#fff;border-color:#EEEAF5;font-size:.81rem}
.hero-art{position:relative;min-width:0;padding:28px 16px 36px}.hero-orbit{position:absolute;pointer-events:none;border-radius:50%;z-index:0}.orbit-one{inset:0 4% 0 0;background:#E8E2FA;transform:rotate(-9deg)}.orbit-two{inset:10% 0 8% 8%;background:#FDE6EE;transform:rotate(9deg)}
.hero-art .logo-card{position:relative;z-index:1;transform:rotate(-2deg);padding:10px;border:9px solid #fff;border-radius:30px;box-shadow:0 24px 55px rgba(45,52,111,.15)}
.hero-art .logo-card img{border-radius:17px}.hero-mini-card{position:absolute;z-index:3;bottom:5px;left:-5px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #EDE8F3;border-radius:18px;padding:14px 18px;box-shadow:0 12px 35px rgba(35,44,92,.13);max-width:280px}
.hero-mini-card>span{width:43px;height:43px;border-radius:13px;background:#E9F4FF;display:grid;place-items:center;font-size:1.35rem;flex:none}.hero-mini-card strong{font-family:var(--font-display);font-size:.92rem;line-height:1.2;display:block;color:var(--head)}.hero-mini-card small{display:block;font-size:.75rem;color:var(--muted)}
.sparkle-one{background:#FFF2B8}.sparkle-two{background:#E7DDF9}
.welcome-strip{background:#fff}.welcome-items{padding-block:18px;color:#344368;gap:12px}.welcome-items span{font-size:.9rem}.welcome-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#F5F0FF;font-size:1.1rem}
.band{padding-block:88px}.section-head{margin-bottom:38px;gap:12px}.section-head h2{max-width:23ch}.section-head.centered h2{max-width:none}.section-head .lead{font-size:1.08rem}
.svc-grid{gap:18px}.svc{border-radius:23px;padding:24px;box-shadow:0 5px 20px rgba(30,44,94,.025)}.svc.feature{background:linear-gradient(110deg,#E9F4FF,#F2ECFF);border:1px solid #DCE5F8;padding:34px;border-radius:27px;box-shadow:0 10px 30px rgba(33,61,111,.06)}.svc.feature p{color:#4B5878}.svc.feature h3{font-size:1.85rem}.svc.feature .svc-ico{background:#274F9C!important}
.svc:not(.feature){background:#fff}.svc:not(.feature) .pill{background:#F5F2FA}.svc:not(.feature) p{font-size:.92rem}.svc .btn{white-space:nowrap}
.help-list{gap:24px 28px}.help-list li{padding:3px 0}.help-list .dot{width:12px;height:12px;border-radius:50%}.signs{border-radius:25px;background:#F9FBFF;border-color:#DCE8F6;padding:32px}.signs h3{font-size:1.32rem}.signs ul{gap:12px}
.journey-card,.prep-card{transition:transform .2s ease,box-shadow .2s ease}.journey-card:hover,.prep-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(32,48,105,.09)}
#book-section{background:linear-gradient(180deg,#F9F7FF,#FFFDFB)}.book-top{align-items:center;margin-bottom:25px}.book-top .section-head h2{max-width:24ch}.booking-intro{max-width:65ch!important;font-size:1rem!important}.book-grid{grid-template-columns:minmax(0,1fr) 310px}.book-main{padding:30px;border-radius:26px}.booking-card-header{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}.booking-card-icon{width:48px;height:48px;display:grid;place-items:center;flex:none;background:#FFF3C9;border-radius:16px;font-size:1.6rem;color:#C48D22}.booking-card-header strong{display:block;font-family:var(--font-display);font-size:1.16rem;color:var(--head)}.booking-card-header span:not(.booking-card-icon){display:block;color:var(--muted);font-size:.9rem}
.summary{border:1px solid #E1E4F3;border-radius:24px}.summary-title{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.summary-title span{font-size:1.5rem}.summary-title h3{font-size:1.15rem}
#panel-3 h3{color:var(--head)}.form-grid{row-gap:18px}.field input[type=date]{font:inherit;color:var(--fg);background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:11px 14px;width:100%}.field input[type=date]:focus{outline:3px solid var(--sky);border-color:var(--sky)}
.end-cta{background:linear-gradient(110deg,#244C95,#6B4DA8);color:#fff;padding-block:60px}.end-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.end-cta h2{color:#fff;max-width:23ch;font-size:clamp(1.7rem,3.5vw,2.4rem);margin:8px 0 12px}.end-cta p{color:#E8E9FF}.end-cta .eyebrow{color:#FFDA82}.end-cta .btn.primary{background:#fff;color:#1C4384;white-space:nowrap}.end-cta .btn.primary:hover{background:#FFF1C5}
@media(max-width:1050px){.nav a.link{font-size:.81rem;padding:7px 6px}.brand{font-size:1.1rem}.hero .wrap{gap:30px}}
@media(max-width:900px){.book-grid{grid-template-columns:1fr}.summary{order:0}.hero .wrap{grid-template-columns:1fr 1fr}.hero-copy h1{font-size:clamp(2.4rem,5.4vw,3.7rem)}}
@media(max-width:820px){.site-header .wrap{position:relative;min-height:68px}.nav-toggle{display:flex;margin-left:auto}.nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 3px);background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:0 20px 50px rgba(24,42,88,.16);padding:12px;z-index:50;flex-direction:column;align-items:stretch;gap:4px}.site-header.menu-open .nav{display:flex}.nav a.link{display:block;font-size:1rem;padding:10px 14px}.nav .btn{margin-top:6px}.hero .wrap{grid-template-columns:1fr;gap:24px;padding-block:50px 68px}.hero-art{max-width:530px;width:100%;margin-inline:auto}.hero-copy h1{max-width:16ch}.welcome-items{justify-content:center}.end-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.wrap{padding-left:20px;padding-right:20px}.hero-copy h1{font-size:clamp(2.65rem,10vw,3.65rem)}.hero-art{padding:15px 12px 26px}.hero-mini-card{left:0;bottom:-8px;padding:10px 12px}.hero-mini-card strong{font-size:.8rem}.hero-mini-card small{font-size:.69rem}.welcome-items{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.band{padding-block:62px}.svc.feature{padding:25px}.svc.feature h3{font-size:1.55rem}.book-main{padding:20px 16px}.booking-card-header{align-items:flex-start}.end-cta{padding-block:45px}}
@media(prefers-reduced-motion:reduce){.journey-card,.prep-card{transition:none}}

/* ===== V9: refined professional presentation ===== */
:root{
  --navy:#14356E;--navy-2:#0E2755;--purple:#6A47AE;--bg:#FBFAFD;--surface:#fff;--surface-2:#F4F2FA;
  --head:#14305F;--fg:#26304D;--muted:#5A6482;--line:#E6E3F0;--btn-bg:#1F4796;--btn-hover:#14356E;
  --gold:#F2B72B;--r-sm:12px;--r-md:18px;--r-lg:26px;
  --shadow-sm:0 1px 2px rgba(20,48,95,.05),0 2px 8px rgba(20,48,95,.04);
  --shadow-md:0 1px 2px rgba(20,48,95,.04),0 8px 24px rgba(20,48,95,.07);
  --shadow-lg:0 2px 4px rgba(20,48,95,.04),0 24px 56px rgba(20,48,95,.12);
  --grad-brand:linear-gradient(120deg,#1F4796 0%,#5B43A8 55%,#C45A9E 100%);
}
:root[data-theme="light"]{--bg:#FBFAFD;--surface-2:#F4F2FA;--line:#E6E3F0}
body{font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.12}
::selection{background:#E4DAF8;color:var(--navy-2)}

/* header */
.site-header{background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);box-shadow:none}
.site-header .wrap{min-height:72px}
.brand{font-size:1.2rem}
.brand svg{filter:drop-shadow(0 2px 4px rgba(242,183,43,.35))}
.nav a.link{font-size:.9rem;font-weight:600;color:#38426A;padding:8px 11px;transition:background .15s,color .15s}
.nav a.link:hover{background:#EFEBFA;color:var(--navy-2)}
.nav .btn.primary{margin-left:8px;padding:10px 20px;font-size:.9rem}
.rainbow{height:3px;background:var(--grad-brand);opacity:.85}

/* buttons */
.btn{letter-spacing:.005em;transition:background .18s,transform .18s,box-shadow .18s,border-color .18s}
.btn.primary{background:linear-gradient(180deg,#2A56AC,#1F4796);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 20px rgba(31,71,150,.25)}
.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#244E9F,#14356E);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 12px 26px rgba(31,71,150,.32)}
.btn.ghost{background:#fff;border:1.5px solid #D6D2E6;color:var(--navy)}
.btn.ghost:hover:not(:disabled){background:#F6F3FD;border-color:#BDB4DB}

/* hero */
.hero{background:
  radial-gradient(ellipse 50% 70% at 100% 0,#E3F2FF 0,transparent 70%),
  radial-gradient(ellipse 45% 70% at 0 100%,#FFF0D9 0,transparent 72%),
  linear-gradient(180deg,#FFFDFA,#FAF8FF)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(180deg,transparent,rgba(251,250,253,.9));pointer-events:none}
.hero .wrap{padding-block:88px 128px;gap:64px}
.hero-copy{gap:22px}
.hero-copy .eyebrow{background:#fff;border:1px solid #E5DDF5;color:#5C3E9B;box-shadow:var(--shadow-sm);padding:7px 16px 7px 14px}
.hero-copy .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:9px;box-shadow:0 0 0 3px rgba(242,183,43,.25)}
.hero-copy h1{font-size:clamp(2.8rem,5.2vw,4.6rem);line-height:1.04;letter-spacing:-.04em;max-width:12.5ch}
.hero-copy h1 em{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.hero-copy .lead{font-size:1.16rem;line-height:1.7;color:#4E5879}
.hero-promise{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;color:#5C3E9B;font-size:1.02rem}
.hero-promise::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--gold)}
.hero-actions .btn{padding:14px 28px;font-size:1rem}
.hero-badges .badge{background:rgba(255,255,255,.85);border:1px solid #E7E2F2;box-shadow:var(--shadow-sm);font-weight:700;color:#38426A}
.hero-badges .badge i{background:#34B27B;box-shadow:0 0 0 3px rgba(52,178,123,.2)}
.hero-art{padding:30px 22px 44px}
.orbit-one{background:linear-gradient(135deg,#E6E0FA,#DCEBFC)}
.orbit-two{background:linear-gradient(135deg,#FFE7F0,#FFF1D6)}
.hero-art .logo-card{border:0;padding:12px;border-radius:32px;box-shadow:var(--shadow-lg);transform:rotate(-1.5deg);background:#fff}
.hero-art .logo-card img{border-radius:22px}
.hero-sparkle{width:58px!important;height:58px!important;box-shadow:var(--shadow-md);border:3px solid #fff}
.hero-sparkle svg{width:28px;height:28px}
.sparkle-one{background:#FFF0B3!important;color:#C98400!important;top:-24px;right:-18px}
.sparkle-two{background:#E9DFFB!important;color:#6A47AE!important;bottom:-20px;left:-22px;width:50px!important;height:50px!important}
.hero-mini-card{border:1px solid #EBE6F4;border-radius:16px;box-shadow:var(--shadow-lg);backdrop-filter:blur(6px)}
.hero-mini-card>span{background:linear-gradient(135deg,#E3EEFF,#EFE6FF);color:var(--navy)}
.hero-mini-card>span svg{width:22px;height:22px}

/* trust band: floats over hero edge */
.trust-band{position:relative;z-index:5;margin-top:-62px;padding-bottom:6px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);padding:8px;gap:0}
.trust-item{display:flex;align-items:center;gap:14px;padding:18px 18px;border-radius:16px;min-width:0}
.trust-item+.trust-item{position:relative}
.trust-item+.trust-item::before{content:"";position:absolute;left:-1px;top:22%;bottom:22%;width:1px;background:var(--line)}
.trust-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;flex:none;color:var(--navy);background:linear-gradient(135deg,#E8F0FF,#F0E9FF)}
.trust-item:nth-child(2) .trust-ico{background:linear-gradient(135deg,#FFF1CC,#FFE8D6);color:#9A5B00}
.trust-item:nth-child(3) .trust-ico{background:linear-gradient(135deg,#DDF5EC,#E6F6FF);color:#17715A}
.trust-item:nth-child(4) .trust-ico{background:linear-gradient(135deg,#FFE4EF,#F5E6FF);color:#B3306F}
.trust-ico svg{width:23px;height:23px}
.trust-item b{display:block;font-family:var(--font-display);font-weight:600;color:var(--head);font-size:.98rem;line-height:1.25}
.trust-item small{display:block;color:var(--muted);font-size:.82rem;line-height:1.35;margin-top:2px}
@media(max-width:980px){.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item+.trust-item::before{display:none}}
@media(max-width:560px){.trust-band{margin-top:-40px}.trust-grid{grid-template-columns:1fr;padding:6px}.trust-item{padding:13px 14px}}

/* sections */
.band{padding-block:96px}
.band.alt{background:linear-gradient(180deg,#F6F4FC,#F3F1FA)}
.section-head{margin-bottom:44px}
.section-head .eyebrow,.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#5C3E9B;font-size:.78rem;letter-spacing:.12em}
.section-head .eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.section-head.centered .eyebrow::after{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.lead{color:#58627F}
@media(max-width:640px){.band{padding-block:64px}}

/* services */
.svc{border-radius:var(--r-md);border:1px solid var(--line);padding:26px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.svc:not(.feature):hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#D8D2EC}
.svc-ico{border-radius:15px;box-shadow:0 6px 14px rgba(20,48,95,.14)}
.svc.feature{position:relative;overflow:hidden;background:linear-gradient(120deg,#14356E 0%,#2B3F95 55%,#5B43A8 100%);border:0;padding:38px 40px;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.svc.feature::before{content:"";position:absolute;right:-60px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}
.svc.feature h3{color:#fff;font-size:1.9rem}
.svc.feature p{color:#DCE3FA!important;font-size:1.02rem!important}
.svc.feature .svc-ico{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.25);box-shadow:none}
.svc.feature .pill.live{background:#DDF8E8;color:#12693A}
.svc.feature .btn.primary{background:#fff;color:var(--navy);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.svc.feature .btn.primary:hover{background:#FFF3CC;transform:translateY(-1px)}
.pill{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;padding:4px 11px}
.svc:not(.feature) .pill{background:#F1EEF9;color:#6A6F8E}

/* speech help */
.help-list{gap:14px}
.help-list li{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s;align-items:flex-start}
.help-list li:hover{border-color:#D2CAEB;box-shadow:var(--shadow-md)}
.help-list .dot{width:12px;height:12px;margin-top:6px;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 0,transparent)}
.help-list b{font-size:1.02rem}
.help-list span.d{font-size:.9rem;margin-top:2px}
.signs{background:linear-gradient(180deg,#fff,#F8F7FF);border:1px solid #DCD7F0;border-radius:var(--r-lg);box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.signs::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-brand)}
.signs li::before{background-color:#FFE9A8}
.src{font-size:.8rem;border-top:1px solid var(--line);padding-top:14px}

/* approach journey */
.approach-band{background:linear-gradient(180deg,#fff,#FAF8FF)}
.journey-grid{gap:24px;counter-reset:j}
.journey-card,.journey-card:nth-child(2),.journey-card:nth-child(3){background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:34px 30px;overflow:hidden}
.journey-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#6AB9E9,#A88CE1)}
.journey-card:nth-child(2)::after{background:linear-gradient(90deg,#A88CE1,#F2A6C7)}
.journey-card:nth-child(3)::after{background:linear-gradient(90deg,#F2A6C7,#F6C762)}
.journey-icon{width:64px;height:64px;border-radius:18px;margin-bottom:22px;background:linear-gradient(135deg,#E8F0FF,#EFE8FF);color:var(--navy)}
.journey-card:nth-child(2) .journey-icon{background:linear-gradient(135deg,#F0E8FF,#FFE6F1);color:#6A47AE}
.journey-card:nth-child(3) .journey-icon{background:linear-gradient(135deg,#FFE9F1,#FFF1D3);color:#B0580E}
.journey-icon svg{width:30px;height:30px}
.journey-number{font-size:2.4rem;line-height:1;color:#E3DDF2;top:22px;right:26px;font-weight:700}
.journey-card p{color:var(--muted)}
.approach-cta{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 24px;box-shadow:var(--shadow-sm);max-width:fit-content;margin-inline:auto}

/* funding */
.fund{gap:56px}
.tiles{gap:14px}
.tile{border-radius:var(--r-md);padding:26px 14px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.tile::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#6AB9E9,#A88CE1)}
.tile:nth-child(2)::before{background:linear-gradient(90deg,#A88CE1,#F2A6C7)}
.tile:nth-child(3)::before{background:linear-gradient(90deg,#F2A6C7,#F6C762)}
.tile b{font-size:2.6rem;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.tile span{font-weight:600}

/* booking */
#book-section{background:linear-gradient(180deg,#F7F5FD,#FFFFFF 70%)}
.card{border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-md)}
.book-main{padding:34px;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.booking-card-icon{background:linear-gradient(135deg,#FFF1C4,#FFE2B8);color:#B26B00;border-radius:15px}
.booking-card-icon svg{width:24px;height:24px}
.status-line{background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:999px;box-shadow:var(--shadow-sm);color:#38426A}
.steps{gap:0;counter-reset:s}
.steps li{position:relative;min-width:0}
.steps li+li::before{content:"";position:absolute;left:-8px;top:50%;width:16px;height:2px;background:var(--line)}
.steps{gap:16px}
.steps button{border:1.5px solid var(--line);background:#FAF9FD;padding:10px 14px;font-size:.88rem;color:#7A809D}
.steps li.done button{background:#fff;color:var(--fg);border-color:#CFEBDD}
.steps li.done button .n{background:#34B27B;color:#fff}
.steps li.current button{background:#fff;border-color:var(--btn-bg);color:var(--navy);box-shadow:0 0 0 4px rgba(31,71,150,.1)}
.steps li.current button .n{background:var(--btn-bg);color:#fff}
.fs legend{font-size:1.12rem}
.opt .body{border:1.5px solid var(--line);border-radius:var(--r-md);padding:18px 20px;transition:border-color .15s,box-shadow .15s,background .15s}
.opt:hover .body{border-color:#B9C6EC;box-shadow:var(--shadow-sm)}
.opt input:checked+.body{border-color:var(--btn-bg);background:linear-gradient(180deg,#F3F7FF,#EAF0FF);box-shadow:0 0 0 3px rgba(31,71,150,.12)}
.opt .body .meta{color:#5C3E9B}
.day{border:1.5px solid var(--line);border-radius:var(--r-md);transition:border-color .15s,transform .15s,box-shadow .15s}
.day:hover:not(:disabled){border-color:#B9C6EC;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.day[aria-pressed="true"]{background:var(--btn-bg);border-color:var(--btn-bg);box-shadow:0 8px 18px rgba(31,71,150,.28)}
.day[aria-pressed="true"] span,.day[aria-pressed="true"] b,.day[aria-pressed="true"] small{color:#fff}
.time{border:1.5px solid var(--line);border-radius:var(--r-sm);transition:all .15s}

.time[aria-pressed="true"]{box-shadow:0 8px 18px rgba(31,71,150,.28)}
.field label{color:#2F3858;font-size:.9rem}
.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=date],.field select,.field textarea{background:#FCFBFE;border:1.5px solid #DAD6E8;border-radius:var(--r-sm);transition:border-color .15s,box-shadow .15s,background .15s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#BEB7DA}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;background:#fff;border-color:var(--btn-bg);box-shadow:0 0 0 4px rgba(31,71,150,.14)}
#panel-3 h3{font-size:1.1rem;padding-top:8px;border-top:1px solid var(--line);margin-top:6px!important}
.summary{border:1px solid #DCD7F0;border-radius:var(--r-lg);box-shadow:var(--shadow-md);background:linear-gradient(180deg,#fff,#FAF9FF);overflow:hidden;position:sticky}
.summary::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-brand)}
.summary-title span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#EEF2FF;color:var(--navy)}
.summary-title span svg{width:20px;height:20px}
.nav-row{border-top:1px solid var(--line)}
.notice{border-radius:var(--r-sm)}
.ref{background:linear-gradient(135deg,#FFF4CE,#FFE9B8);color:#6B4A00;border:1px dashed #E8C56A}
.done-star{filter:drop-shadow(0 8px 14px rgba(242,183,43,.4))}

/* prepare */
.prepare-band{background:linear-gradient(180deg,#FAF8FF,#F3F6FF)}
.prep-card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:30px}
.prep-icon{width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,#EFE8FF,#E3EEFF);color:#5C3E9B}
.prep-card:nth-child(2) .prep-icon{background:linear-gradient(135deg,#FFF1CF,#FFE5D1);color:#A25F00}
.prep-card:nth-child(3) .prep-icon{background:linear-gradient(135deg,#DFF5EC,#E3F2FF);color:#16705A}
.prep-icon svg{width:27px;height:27px}
.prep-footer{border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--shadow-sm)}

/* FAQ */
.faq-list details{border:1px solid var(--line);border-radius:var(--r-md);padding:0 24px;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}
.faq-list details[open]{border-color:#CFC6EC;box-shadow:var(--shadow-md);background:linear-gradient(180deg,#fff,#FCFBFF)}
.faq-list summary{padding:20px 40px 20px 0;font-size:1.02rem}
.faq-list summary::after{content:"";top:50%;right:2px;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:#F0ECFA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M8 13h10M13 8v10' stroke='%235C3E9B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat;transition:transform .2s,background-color .2s}
.faq-list details[open] summary::after{content:"";transform:rotate(45deg);background-color:#E6DFF8}

/* end CTA */
.end-cta{position:relative;overflow:hidden;background:linear-gradient(115deg,#0E2755 0%,#2B3F95 52%,#6B4DA8 100%);padding-block:76px}
.end-cta::before,.end-cta::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.end-cta::before{width:380px;height:380px;right:-80px;top:-160px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 68%)}
.end-cta::after{width:300px;height:300px;left:-90px;bottom:-170px;background:radial-gradient(circle,rgba(242,183,43,.22),transparent 68%)}
.end-cta .wrap{position:relative;z-index:1}
.end-cta .btn.primary{box-shadow:0 14px 30px rgba(0,0,0,.25);padding:15px 30px}

/* contact */
.contact .card{padding:30px}
.contact dl>div{padding:14px 0;border-bottom:1px solid var(--line)}.contact dl>div:last-child{border-bottom:0}

/* footer */
footer,.site-footer{background:linear-gradient(180deg,#0E2755,#0A1D42);color:#D3DAF5;padding-block:56px 28px;position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-brand)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-brand .tag{font-size:1.3rem;margin-bottom:10px;color:var(--gold)}
.foot-brand p{color:#B4BEE6;max-width:42ch}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col h4{margin:0 0 4px;font-family:var(--font-display);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:600}
.foot-col a,.foot-base a{color:#C9D2F4;text-decoration:none;font-size:.95rem}
.foot-col a:hover,.foot-base a:hover{color:#fff;text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px}
.foot-base p{font-size:.82rem;color:#98A4D4;max-width:none}
.site-footer .wrap{display:block}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}.foot-brand{grid-column:1/-1}}

/* mobile */
.mobile-book-cta{background:linear-gradient(120deg,#1F4796,#5B43A8);border-radius:999px;box-shadow:0 14px 30px rgba(20,35,90,.38);font-family:var(--font-display);font-weight:600;letter-spacing:.01em}
@media(max-width:820px){.nav{border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.hero .wrap{padding-block:44px 84px}.band{padding-block:68px}}
@media(max-width:640px){.svc.feature{padding:28px 24px}.book-main{padding:22px 16px}.steps{gap:8px}.steps li+li::before{display:none}.hero-art{padding:18px 8px 30px}}

/* scroll reveal (progressive; content visible without JS) */
@media (prefers-reduced-motion:no-preference){
  .reveal-on .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  .reveal-on .rv.in{opacity:1;transform:none}
}

/* dark mode adjustments for V9 */
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C1131;--head:#fff;--fg:#EDEFFF;--muted:#AAB1DC;--line:#2C3578;--surface:#141A47;--surface-2:#1B2258}
  :root:not([data-theme="light"]) .site-header{background:rgba(12,17,49,.88)}
  :root:not([data-theme="light"]) .nav a.link{color:#DDE2FF}
  :root:not([data-theme="light"]) .nav a.link:hover{background:#1B2258;color:#fff}
  :root:not([data-theme="light"]) .hero,:root:not([data-theme="light"]) #book-section,:root:not([data-theme="light"]) .band.alt,:root:not([data-theme="light"]) .prepare-band,:root:not([data-theme="light"]) .approach-band{background:var(--bg)}
  :root:not([data-theme="light"]) .hero::after{display:none}
  :root:not([data-theme="light"]) .trust-grid,:root:not([data-theme="light"]) .help-list li,:root:not([data-theme="light"]) .approach-cta,:root:not([data-theme="light"]) .status-line,:root:not([data-theme="light"]) .signs,:root:not([data-theme="light"]) .summary,:root:not([data-theme="light"]) .hero-mini-card{background:var(--surface)}
  :root:not([data-theme="light"]) .field input,:root:not([data-theme="light"]) .field select,:root:not([data-theme="light"]) .field textarea{background:var(--bg)!important}
  :root:not([data-theme="light"]) .btn.ghost{background:transparent;color:#fff;border-color:var(--line)}
  :root:not([data-theme="light"]) .journey-card,:root:not([data-theme="light"]) .prep-card,:root:not([data-theme="light"]) .prep-footer,:root:not([data-theme="light"]) .svc:not(.feature),:root:not([data-theme="light"]) .faq-list details{background:var(--surface)}
  :root:not([data-theme="light"]) .lead,:root:not([data-theme="light"]) .hero-copy .lead{color:var(--muted)}
  :root:not([data-theme="light"]) .opt .body,:root:not([data-theme="light"]) .day,:root:not([data-theme="light"]) .time{background:var(--surface)}
  :root:not([data-theme="light"]) .opt input:checked+.body{background:#1F2A70}
  :root:not([data-theme="light"]) .hero-copy .eyebrow{background:var(--surface);color:#E0A8FF;border-color:var(--line)}
}

/* secondary pages */
.intake-main{max-width:820px;margin:0 auto;padding:44px 22px 80px}
.intake-main h1{font-size:clamp(1.9rem,4vw,2.5rem);margin:14px 0 10px}
.intake-main>a{font-weight:700;text-decoration:none;color:var(--navy)}
.intake-main>p{color:var(--muted)}
.intake-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:28px;margin:20px 0}
.intake-card h2{font-size:1.3rem;margin-bottom:6px}
.intake-card label{display:block;margin:16px 0;font-weight:700;font-size:.93rem;color:#2F3858}
.intake-card textarea,.intake-card input:not([type=checkbox]):not([type=radio]),.intake-card select{display:block;width:100%;padding:11px 14px;border:1.5px solid #DAD6E8;border-radius:var(--r-sm);margin-top:6px;font:inherit;background:#FCFBFE;color:var(--fg)}
.intake-card textarea:focus,.intake-card input:focus,.intake-card select:focus{outline:0;border-color:var(--btn-bg);box-shadow:0 0 0 4px rgba(31,71,150,.14)}
.intake-card input[type=checkbox],.intake-card input[type=radio]{display:inline;width:auto;margin-right:8px;accent-color:var(--navy)}
.intake-card button{margin:8px 8px 8px 0}
.hint{color:var(--muted)}.error{color:var(--bad);font-weight:600}
progress{width:100%;height:10px;border-radius:999px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#ECE8F6;border:0}
progress::-webkit-progress-bar{background:#ECE8F6}progress::-webkit-progress-value{background:var(--grad-brand);border-radius:999px}progress::-moz-progress-bar{background:var(--grad-brand)}
.login{border-radius:var(--r-lg);box-shadow:var(--shadow-lg)!important;position:relative;overflow:hidden}
.login::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-brand)}
.stat{border-radius:var(--r-md);box-shadow:var(--shadow-sm);min-width:130px;padding:16px 22px;border-top:3px solid #A88CE1}
.stat b{font-size:2rem}
.chip{border:1.5px solid var(--line)!important;background:#fff!important;color:var(--fg)!important;transition:all .15s}
.chip[aria-pressed="true"]{background:var(--btn-bg)!important;border-color:var(--btn-bg)!important;color:#fff!important}
.tbl-wrap{border-radius:var(--r-md);box-shadow:var(--shadow-md)}
th{background:#F6F4FC}
tbody tr:hover td{background:#FBFAFF}
.prose{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:40px;max-width:78ch!important}
@media(max-width:640px){.prose{padding:24px 20px}.intake-card{padding:20px 16px}}
/* V9 tweak: rounded display face reads better with looser tracking */
h1,h2,h3{letter-spacing:-.005em}
.hero-copy h1{letter-spacing:-.015em;line-height:1.08}
.tile b{letter-spacing:0}
.foot-base a{font-size:inherit}
.time:hover:not(:disabled):not([aria-pressed="true"]){background:#F3F7FF}
.time[aria-pressed="true"]:hover{background:var(--btn-bg);color:var(--btn-fg)}
.hero-copy .eyebrow{border-radius:18px}

/* How speech pathologists help */
.help-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.help-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.help-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#D2CAEB}
.help-card h3{font-size:1.1rem;margin:16px 0 8px}
.help-card p{color:var(--muted);font-size:.95rem;line-height:1.6}
.help-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:var(--navy);background:linear-gradient(135deg,#E8F0FF,#EFE8FF)}
.help-ico svg{width:26px;height:26px}
.help-card:nth-child(4n+2) .help-ico{background:linear-gradient(135deg,#F0E8FF,#FFE6F1);color:#6A47AE}
.help-card:nth-child(4n+3) .help-ico{background:linear-gradient(135deg,#DFF5EC,#E3F2FF);color:#16705A}
.help-card:nth-child(4n+4) .help-ico{background:linear-gradient(135deg,#FFF1CF,#FFE5D1);color:#A25F00}
.help-closing{margin:40px auto 0;max-width:46ch;text-align:center;font-family:var(--font-display);font-weight:600;font-size:1.3rem;line-height:1.4;color:var(--head)}
.help-closing::before{content:"";display:block;width:44px;height:3px;border-radius:3px;margin:0 auto 16px;background:var(--gold)}
@media(max-width:1000px){.help-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.help-cards{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .help-card{background:var(--surface)}}
.help-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.help-card{flex:0 1 calc((100% - 60px)/4)}
@media(max-width:1000px){.help-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:560px){.help-card{flex-basis:100%}}

/* Speech section now holds only the "Signs" card */
.speech-signs .signs{max-width:780px;margin-inline:auto;padding:36px 40px}
.speech-signs .signs h3{font-size:1.5rem;margin-bottom:18px}
.speech-signs .signs li{font-size:1.02rem}
.speech-signs .src{max-width:780px;margin:22px auto 0;text-align:center}
@media(max-width:640px){.speech-signs .signs{padding:26px 20px}}

/* telehealth eligibility tag inside the option pill */
.mode-tag{display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;background:#FFF1CC;color:#7A4B00;font-size:.74rem;font-weight:700;letter-spacing:.02em}
.opt input:checked+.body .mode-tag{background:#fff}
@media(max-width:480px){.pills .opt .body{flex-wrap:wrap;row-gap:4px}.mode-tag{margin-left:0}}

/* Signs section: split layout with icon tiles */
.speech-signs{background:linear-gradient(180deg,#FBFAFD,#F6F4FC)}
.signs-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:56px;align-items:center}
.signs-intro h2{margin:10px 0 16px}
.signs-intro .lead{margin-bottom:26px;max-width:46ch}
.signs-intro .src{margin:28px 0 0;padding:16px 0 0;border-top:1px solid var(--line);text-align:left;max-width:46ch}
.signs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.signs-grid li{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:20px;box-shadow:var(--shadow-sm);line-height:1.5;color:var(--fg);font-size:1rem;transition:transform .2s,box-shadow .2s,border-color .2s}
.signs-grid li:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#D2CAEB}
.signs-grid li:last-child{grid-column:1/-1}
.sign-ico{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;color:var(--navy);background:linear-gradient(135deg,#E8F0FF,#EFE8FF)}
.sign-ico svg{width:23px;height:23px}
.signs-grid li:nth-child(4n+2) .sign-ico{background:linear-gradient(135deg,#F0E8FF,#FFE6F1);color:#6A47AE}
.signs-grid li:nth-child(4n+3) .sign-ico{background:linear-gradient(135deg,#DFF5EC,#E3F2FF);color:#16705A}
.signs-grid li:nth-child(4n+4) .sign-ico{background:linear-gradient(135deg,#FFF1CF,#FFE5D1);color:#A25F00}
@media(max-width:980px){.signs-layout{grid-template-columns:1fr;gap:32px}.signs-intro .lead,.signs-intro .src{max-width:none}}
@media(max-width:600px){.signs-grid{grid-template-columns:1fr}.signs-grid li{padding:16px}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .signs-grid li{background:var(--surface)}:root:not([data-theme="light"]) .speech-signs{background:var(--bg)}}

/* Hero: info chip sits below the logo instead of covering its tagline */
.hero-art{padding:30px 22px 88px}
.hero-mini-card{left:auto;right:7%;bottom:8px;transform:none;gap:14px;padding:12px 22px 12px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 14px 34px rgba(30,45,110,.16);border:1px solid #E6E0F3;background:rgba(255,255,255,.96)}
.hero-mini-card>span{width:44px;height:44px;border-radius:50%}
.hero-mini-card strong{font-size:.98rem;white-space:nowrap}
.hero-mini-card small{font-size:.82rem}
.sparkle-two{bottom:60px}
@media(max-width:640px){.hero-art{padding:18px 8px 76px}.hero-mini-card{right:50%;transform:translateX(50%);bottom:6px;padding:9px 16px 9px 10px}.hero-mini-card strong{font-size:.86rem}.hero-mini-card>span{width:38px;height:38px}.sparkle-two{bottom:44px}}

/* Hero chip: centred under the logo, inside the logo card's edges */
.hero-art{padding:30px 22px 84px}
.hero-mini-card{left:50%;right:auto;bottom:14px;transform:translateX(-50%);padding:10px 20px 10px 12px;gap:12px}
.hero-mini-card>span{width:40px;height:40px}
.hero-mini-card strong{font-size:.92rem}
.hero-mini-card small{font-size:.78rem}
@media(max-width:640px){.hero-art{padding:18px 8px 72px}.hero-mini-card{left:50%;right:auto;transform:translateX(-50%);bottom:10px}}

/* ===== V9.10: mobile polish ===== */
/* signs: source line sits under the tiles on all sizes */
.signs-layout{grid-template-areas:"intro tiles" "src tiles";grid-template-rows:auto 1fr;row-gap:0}
.signs-intro{grid-area:intro}.signs-grid{grid-area:tiles}
.speech-signs .src{grid-area:src;align-self:end;margin:28px 0 0;padding-top:16px;border-top:1px solid var(--line);max-width:46ch;text-align:left}
@media(max-width:980px){.signs-layout{grid-template-areas:"intro" "tiles" "src";grid-template-rows:auto;row-gap:28px}.speech-signs .src{max-width:none;margin:0}}

@media(max-width:640px){
  .wrap{padding-left:20px;padding-right:20px}
  /* consistent left alignment for every section heading */
  .section-head,.section-head.centered{text-align:left;margin-bottom:28px}
  .section-head.centered .eyebrow::after{display:none}
  .section-head.centered .lead,.section-head .lead{margin-left:0;margin-right:0;text-align:left}
  .approach-cta{text-align:left;max-width:none;margin-inline:0;flex-direction:column;align-items:flex-start;gap:14px}
  .prep-footer{text-align:left}
  .help-closing{text-align:left;margin:28px 0 0;font-size:1.12rem}
  .help-closing::before{margin:0 0 14px}
  h2{font-size:1.75rem}
  .band{padding-block:56px}

  /* hero */
  .hero .wrap{padding-block:32px 72px;gap:28px}
  .hero-copy{gap:18px}
  .hero-copy .eyebrow{font-size:.7rem;letter-spacing:.08em;padding:7px 14px;border-radius:999px}
  .hero-copy h1{font-size:clamp(2.4rem,11vw,3.1rem);max-width:none}
  .hero-copy .lead{font-size:1rem;line-height:1.65}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-badges{gap:8px}
  .hero-art{padding:16px 10px 70px}
  .hero-art .logo-card{transform:none}
  .orbit-one,.orbit-two{inset:6% 0 10% 0}
  .hero-sparkle{width:46px!important;height:46px!important}
  .hero-sparkle svg{width:22px;height:22px}
  .sparkle-one{top:-10px;right:-4px}.sparkle-two{left:-4px;bottom:50px}

  /* trust band + services */
  .trust-item small{font-size:.8rem}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .svc.feature{grid-column:1/-1;padding:26px 22px}
  .svc.feature h3{font-size:1.5rem}
  .svc:not(.feature){padding:18px 16px}
  .svc:not(.feature) h3{font-size:1rem}
  .svc:not(.feature) p{font-size:.86rem;line-height:1.5}
  .svc-ico{width:44px;height:44px}

  /* signs + help cards */
  .signs-grid li{align-items:center}
  .help-cards{display:grid;grid-template-columns:1fr;gap:12px}
  .help-card{display:grid;grid-template-columns:48px 1fr;column-gap:16px;row-gap:2px;align-items:start;padding:18px 16px;flex:none}
  .help-card .help-ico{grid-row:1/3;width:48px;height:48px;border-radius:14px}
  .help-card h3{margin:2px 0 0;font-size:1rem}
  .help-card p{font-size:.9rem;line-height:1.5}

  /* approach + prepare cards */
  .journey-card,.journey-card:nth-child(2),.journey-card:nth-child(3){padding:26px 22px}
  .journey-icon{width:54px;height:54px;margin-bottom:16px}
  .prep-card{padding:22px 20px}
  .tiles{gap:10px}.tile{padding:20px 8px}.tile b{font-size:2rem}.tile span{font-size:.85rem}

  /* booking: compact step tabs, wrapping options */
  .book-main{padding:22px 16px}
  .steps{display:flex;gap:6px;flex-wrap:nowrap}
  .steps li{flex:0 0 auto;min-width:0}
  .steps li.current{flex:1 1 auto}
  .steps button{width:100%;padding:8px 10px;gap:6px;justify-content:center}
  .steps li:not(.current) .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .steps li:not(.current) button{width:44px;padding:8px 0}
  .pills{flex-direction:column;align-items:stretch}
  .pills .opt .body{flex-wrap:wrap;row-gap:6px;border-radius:16px;padding:12px 16px}
  .mode-tag{margin-left:0;white-space:normal}
  .days{gap:8px}
  .summary{position:static}
  .nav-row{flex-wrap:wrap}
  .nav-row .btn{flex:1 1 auto;justify-content:center}

  /* faq + contact + cta */
  .faq-list details{padding:0 18px}
  .faq-list summary{padding:16px 36px 16px 0;font-size:.98rem}
  .end-cta{padding-block:56px}
  .contact .card{padding:22px 20px}
  .mobile-book-cta{left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom))}
}
@media(max-width:380px){.trust-item{padding:12px}.svc-grid{grid-template-columns:1fr}.hero-copy h1{font-size:2.3rem}}
@media(max-width:640px){.section-head.centered,.section-head.centered .eyebrow{justify-content:flex-start;align-items:flex-start;text-align:left}.section-head.centered h2{margin-left:0}}
@media(max-width:640px){.days{scroll-snap-type:x proximity;scroll-padding-left:2px;margin-right:-16px;padding-right:16px;-webkit-overflow-scrolling:touch}.day{scroll-snap-align:start;flex:0 0 76px}}

/* "Book" links land directly on the booking form (not the section heading above it) */
#book{scroll-margin-top:0}
#book-section{padding-bottom:72px}
.mobile-book-cta{transition:opacity .2s,transform .2s}
.mobile-book-cta.is-hidden{opacity:0;transform:translateY(16px);pointer-events:none}

/* ===== New logo ===== */
.brand img{display:block;height:46px;width:auto}
.site-header .wrap{min-height:76px}
@media(max-width:640px){.brand img{height:38px}.site-header .wrap{min-height:66px}}
.foot-logo{display:block;width:min(300px,80%);height:auto;margin:0 0 18px}
.hero-art .logo-card{display:flex;align-items:center;padding:clamp(14px,3vw,26px)}
.hero-art .logo-card img{border-radius:14px}
.brand img{height:56px}
.site-header .wrap{min-height:84px}
.sparkle-two{display:none!important}
@media(max-width:1050px){.brand img{height:50px}}
@media(max-width:640px){.brand img{height:42px}.site-header .wrap{min-height:68px}}
html{scroll-padding-top:100px}
#book,#faq,#prepare,#contact{scroll-margin-top:100px}
#book{scroll-margin-top:0}

/* V9.13 original children/star logo: taller header mark */
.brand img{height:76px}
.site-header .wrap{min-height:96px}
@media(max-width:1050px){.brand img{height:66px}}
@media(max-width:640px){.brand img{height:54px}.site-header .wrap{min-height:76px}}
.foot-logo{width:min(260px,70%)}

/* V9.14 anchor landing: one offset only (header height), so sections start right under the header */
html{scroll-padding-top:96px}
section,#book,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:0}
@media(max-width:1050px){html{scroll-padding-top:84px}}
@media(max-width:640px){html{scroll-padding-top:76px}}
/* land with the section heading ~40px under the header (trims the section's top padding) */
html{scroll-padding-top:100px}
section,#book,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:-80px}
@media(max-width:1050px){html{scroll-padding-top:84px}section,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:-70px}}
@media(max-width:640px){html{scroll-padding-top:80px}section,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:-60px}}
#book{scroll-margin-top:0}
section,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:-68px}
@media(max-width:1050px){section,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:-56px}}
@media(max-width:640px){section,#faq,#prepare,#contact,#speech,#services,#approach,#how-we-help,#funding{scroll-margin-top:-44px}}
#book{scroll-margin-top:0}

/* Booking step 1: keep next action next to appointment mode choices */
.mode-next-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.mode-next-row .pills{flex:1 1 auto}
.mode-next-row #next-inline{flex:0 0 auto;white-space:nowrap}
#next-inline[hidden],#next[hidden]{display:none!important}
@media(max-width:700px){.mode-next-row{align-items:stretch}.mode-next-row #next-inline{width:100%}}

/* Mobile experience polish (2026-11-10): concise intro and no duplicate visible CTAs */
.hero-lead-mobile{display:none}
@media(max-width:760px){
  .hero-lead-desktop{display:none}
  .hero-lead-mobile{display:block}
  .mobile-book-cta{max-width:520px;margin-inline:auto}
}
@media(max-width:640px){
  .hero-copy .eyebrow{max-width:100%;line-height:1.45;white-space:normal}
  .hero-copy h1{overflow-wrap:normal}
  .hero-actions .btn{min-height:52px}
  .hero-badges .badge{max-width:100%;white-space:normal}
}
