
/* Layout: one-page clickable site, hash-routed. Each section maps to a stock Squarespace section so it can be rebuilt 1:1.
   Single deliberate light look (a website mockup), palettes swapped via data-palette on <html>. */
:root{
  color-scheme: light;
  /* Brand constants from the logo: sky #00B6E1, deep blue #00588D, plus black + white */
  --paper:#FFFFFF; --ink:#00273A; --muted:#4A5866; --surface:#E8F7FC; --line:#D3ECF5;
  --primary:#00588D; --on-primary:#FFFFFF; --sky:#00B6E1;
  /* Palette A — Brand Blues (default): no extra colour */
  --accent:#00B6E1; --on-accent:#00273A; --accent2:#CDDF74; --lime:#CDDF74;
  --feat:#00588D; --on-feat:#FFFFFF;
  --display:"Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;
  --body:"Figtree", "Segoe UI", system-ui, sans-serif;
  --r-lg:28px; --r-md:16px; --maxw:1160px;
  --chrome-bg:#16161A; --chrome-fg:#F3F3F5; --chrome-muted:#A2A2AD;
}
:root[data-palette="b"]{ /* Lime forward */
  --accent:#CDDF74; --on-accent:#00273A; --accent2:#CDDF74; --feat:#CDDF74; --on-feat:#00273A;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;transition:background .3s,color .3s}
h1,h2,h3,h4{font-family:var(--display);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:800}
h2{font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:700}
h3{font-size:1.3rem;font-weight:700}
p{margin:0;max-width:62ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-family:var(--body);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.lede{font-size:1.18rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:.5em;font:600 1rem var(--body);padding:.85em 1.4em;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-light{background:var(--paper);color:var(--primary)}
section.band{padding-block:clamp(56px,8vw,104px)}
.stack{display:flex;flex-direction:column;gap:18px}

/* Header */
.topbar{background:var(--surface);color:var(--primary);font-size:.86rem;font-weight:600}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:space-between;padding-block:8px}
.topbar span{opacity:.92}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex-shrink:0}
.logo img{height:136px;width:auto;display:block}
nav.main{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}
nav.main a{text-decoration:none;font-weight:600;font-size:.97rem;padding:.5em .85em;border-radius:999px}
nav.main a:hover{background:var(--surface)}
nav.main a.on{background:var(--surface);color:var(--primary)}
.menu-btn{display:none;margin-left:auto;background:var(--surface);border:0;border-radius:999px;padding:.55em 1em;font:600 .95rem var(--body);color:var(--ink);cursor:pointer}
@media (max-width:980px){
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);flex-direction:column;align-items:stretch;padding:12px 16px 20px;border-bottom:1px solid var(--line);gap:2px}
  nav.main.open{display:flex}
  nav.main .btn{justify-content:center;margin-top:8px}
  .menu-btn{display:inline-block}
}

/* Hero */
.hero{padding-block:clamp(40px,7vw,88px) clamp(56px,8vw,96px);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero h1{position:relative;z-index:0}
.hero h1 .hl{color:var(--primary);position:relative;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.04em;height:.22em;background:var(--accent2);z-index:-1;border-radius:6px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;padding:.4em .85em;border-radius:999px;background:var(--surface);color:var(--ink)}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}
.hero-art{position:relative;aspect-ratio:1/1;max-width:100%;min-width:0}
.hero-art .disc{position:absolute;inset:6% 4% 4% 8%;border-radius:48% 52% 46% 54%/52% 46% 54% 48%;background:var(--sky)}
.hero-art .mascot{position:absolute;left:14%;right:10%;top:22%;width:76%;height:auto;overflow:visible}
.mascot path{fill:none;stroke:#FFFFFF;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.mascot .face{fill:#FFFFFF}
.bubble{position:absolute;font-family:var(--display);font-weight:700;padding:.55em 1em;border-radius:22px;box-shadow:0 10px 24px -12px rgba(0,0,0,.35);animation:pop .6s cubic-bezier(.3,1.6,.5,1) both;white-space:nowrap}
.bubble::after{content:"";position:absolute;bottom:-9px;width:18px;height:18px;background:inherit;transform:rotate(45deg);border-radius:3px}
.b1{top:4%;left:0;background:var(--accent);color:var(--on-accent);font-size:1.5rem;animation-delay:.15s}.b1::after{left:22px}
.b2{top:16%;right:-2%;background:var(--primary);color:var(--on-primary);font-size:1.05rem;animation-delay:.35s}.b2::after{right:26px}
.b3{bottom:20%;left:-4%;background:var(--paper);color:var(--primary);font-size:1.05rem;animation-delay:.55s}.b3::after{left:30px}
.b4{bottom:4%;right:6%;background:var(--lime);color:var(--ink);font-size:1.35rem;animation-delay:.75s}.b4::after{right:30px}
@keyframes pop{from{transform:scale(.6) translateY(10px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.bubble{animation:none}.btn{transition:none}}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero-art{max-width:440px;width:100%;margin:0 auto}}

/* Sections */
.alt{background:var(--surface)}
.dark{background:#CDEFFB;color:var(--ink)}
.dark .eyebrow{color:var(--primary)}
.dark h2{color:var(--primary)}
.dark .lede{color:var(--ink);opacity:.8}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:clamp(28px,4vw,44px)}
.head .stack{max-width:640px}
.grid{display:grid;gap:20px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g4,.g3,.g2{grid-template-columns:1fr}}
.card{background:var(--paper);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:12px;min-width:0;text-decoration:none;color:var(--ink);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.card .more{margin-top:auto;font-weight:700;color:var(--primary);font-size:.95rem}
.icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:var(--surface);color:var(--primary)}
.icon svg{width:28px;height:28px}
.card.feat{background:var(--accent);color:var(--on-accent);border-color:transparent}
.card.feat .icon{background:rgba(255,255,255,.35);color:var(--on-accent)}
.card.feat .more{color:var(--on-accent)}
.card p{color:inherit;opacity:.85;font-size:.98rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.ph{border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,var(--surface) 0 14px,var(--paper) 14px 28px);border:1px dashed var(--line);aspect-ratio:4/3;display:grid;place-items:center;color:var(--muted);font-size:.88rem;text-align:center;padding:24px;max-width:100%}
.ph.tall{aspect-ratio:4/5}

.ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;margin-top:3px;background:var(--sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}

.supports{display:flex;flex-wrap:wrap;gap:10px}
.supports span{background:var(--paper);border:1px solid var(--line);padding:.5em 1em;border-radius:999px;font-weight:600;font-size:.95rem}
.dark .supports span{background:var(--paper);border-color:transparent;color:var(--ink)}

.steps{counter-reset:s;display:grid;gap:16px}
.steps li{list-style:none;counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:800;font-size:1.5rem;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary)}
.steps ol{padding:0;margin:0}

.ages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;border-radius:var(--r-md);overflow:hidden;margin-top:8px}
.ages div{background:var(--paper);padding:16px 14px}
.ages b{color:var(--primary)}
.ages b{font-family:var(--display);font-size:1.6rem;display:block;font-variant-numeric:tabular-nums}
.ages span{font-size:.88rem;opacity:.85}
@media (max-width:620px){.ages{grid-template-columns:repeat(2,minmax(0,1fr))}}

.quote{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:500;line-height:1.3;max-width:30ch}
.cta-band{border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-band .btn-primary{background:var(--ink);color:var(--paper)}

.loc{background:var(--paper);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.loc .map{height:150px;background:
  linear-gradient(0deg,transparent 48%,var(--line) 48% 52%,transparent 52%),
  linear-gradient(90deg,transparent 30%,var(--line) 30% 33%,transparent 33%),
  linear-gradient(60deg,transparent 60%,var(--line) 60% 62%,transparent 62%),var(--surface);position:relative}
.loc .map::after{content:"";position:absolute;left:50%;top:42%;width:26px;height:26px;background:var(--accent);border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);border:4px solid var(--paper)}
.loc .body{padding:22px;display:grid;gap:6px}

.team-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.team-card .ph{aspect-ratio:1/1;border-radius:50% 50% var(--r-lg) var(--r-lg)}
.team-card small{color:var(--muted);font-weight:600}

.post{display:flex;flex-direction:column;gap:12px;min-width:0}
.post .meta{font-size:.85rem;color:var(--muted);font-weight:600}

form.contact{display:grid;gap:14px;background:var(--paper);padding:clamp(20px,4vw,36px);border-radius:var(--r-lg);border:1px solid var(--line);min-width:0}
form.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:620px){form.contact .row{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;font-weight:400;padding:.75em .9em;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);width:100%}
textarea{min-height:120px;resize:vertical}
.sent{background:var(--surface);border-radius:12px;padding:12px 16px;font-weight:600}

footer.site{background:var(--sky);color:var(--ink);padding-block:56px 120px;margin-top:0}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:820px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{font-size:1rem;margin-bottom:10px;color:var(--ink)}
footer.site a{text-decoration:none;opacity:.85;display:block;padding:3px 0}
footer.site a:hover{opacity:1;text-decoration:underline}
footer.site .logo img{height:auto;width:min(260px,100%)}
.ack{margin-top:36px;padding-top:24px;border-top:1px solid rgba(11,15,20,.2);font-size:.88rem;opacity:.85;max-width:80ch}

.crumbs{font-size:.88rem;color:var(--muted);font-weight:600}
.crumbs a{text-decoration:none;color:var(--primary)}
.page-hero{padding-block:clamp(40px,6vw,76px) clamp(36px,5vw,60px);background:var(--surface)}
.page-hero .stack{max-width:760px}

/* Build notes (mockup chrome) */
.note{display:none}
body.notes .note{display:inline-flex;position:absolute;z-index:5;top:10px;right:10px;background:var(--chrome-bg);color:var(--chrome-fg);font:600 .72rem/1.3 var(--body);padding:.45em .8em;border-radius:8px;letter-spacing:.02em;max-width:calc(100% - 20px)}
body.notes [data-sq]{position:relative;outline:2px dashed rgba(120,120,140,.55);outline-offset:-2px}

/* Palette switcher (mockup chrome) */
.switcher{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--chrome-bg);color:var(--chrome-fg);border-radius:20px;padding:10px 12px;display:flex;flex-wrap:nowrap;white-space:nowrap;width:max-content;align-items:center;gap:8px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6);font-family:var(--body);max-width:calc(100% - 24px)}
.switcher .lbl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--chrome-muted);font-weight:700;padding:0 6px}
.switcher button{display:flex;align-items:center;gap:8px;background:transparent;border:1.5px solid transparent;color:var(--chrome-fg);font:600 .88rem var(--body);padding:6px 10px;border-radius:12px;cursor:pointer}
.switcher button[aria-pressed="true"]{border-color:var(--chrome-fg);background:rgba(255,255,255,.08)}
.sw{display:flex}
.sw i{width:16px;height:16px;border-radius:50%;margin-left:-4px;border:2px solid var(--chrome-bg)}
.sw i:first-child{margin-left:0}
.switcher .sep{width:1px;align-self:stretch;background:rgba(255,255,255,.18);margin:0 4px}
@media (max-width:560px){.switcher .lbl,.switcher .sep{display:none}.switcher button span.nm{display:none}}

/* Section colour roles: each band gets its own treatment so combinations don't repeat */
.topbar{background:var(--paper);color:var(--primary);border-bottom:1px solid var(--line)}
.brand{background:var(--sky);color:var(--ink)}
.brand .eyebrow{color:var(--ink)}
.brand .card{border-color:transparent}
.brand .card:nth-child(1) .icon{background:var(--surface);color:var(--primary)}
.brand .card:nth-child(2) .icon{background:var(--primary);color:#FFFFFF}
.brand .card:nth-child(3) .icon{background:var(--accent);color:var(--on-accent)}
:root:not([data-palette]) .brand .card:nth-child(3) .icon{background:var(--ink);color:#FFFFFF}
.card.feat{background:var(--feat);color:var(--on-feat)}
.card.feat .icon{background:rgba(255,255,255,.22);color:var(--on-feat)}
.card.feat .more{color:var(--on-feat)}
.dark{background:#F0FAFE}
.dark .supports span{border:1.5px solid var(--line)}
.ages div:nth-child(1){background:#DDF4FD}
.ages div:nth-child(2){background:#A9E4F9}
.ages div:nth-child(3){background:var(--sky)}
.ages div:nth-child(3) b{color:var(--ink)}
.ages div:nth-child(4){background:var(--primary);color:#FFFFFF}
.ages div:nth-child(4) b{color:#FFFFFF}
.cta-band{background:var(--feat);color:var(--on-feat)}
.cta-band .btn-primary{background:var(--paper);color:var(--primary)}

.tb-lines{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;text-align:right;line-height:1.45}
@media (max-width:620px){.tb-lines{align-items:flex-start;text-align:left;margin-left:0}.logo img{height:96px}}
.logo img.logo-badge{border-radius:14px}
/* Header: logo left; contact strip + nav stacked on the right so both sides share the logo's height */
header.site .wrap{align-items:stretch;padding-block:16px}
.hdr-right{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.util{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 26px;font-size:.92rem;font-weight:600;color:var(--primary);padding-bottom:12px;border-bottom:1px solid var(--line)}
.util span,.nav-contact span{display:inline-flex;align-items:center;gap:8px}
.util svg,.nav-contact svg{width:17px;height:17px;flex:0 0 auto;color:var(--sky)}
.util .ndis{background:var(--surface);padding:.3em .8em;border-radius:999px}
.util .phone{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--ink)}
.util .phone svg{color:var(--primary)}
.nav-contact{display:none}
@media (max-width:980px){
  .hdr-right{flex:0 0 0;min-width:0;gap:0}
  .util{display:none}
  .menu-btn{align-self:center}
  .nav-contact{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-weight:600;color:var(--primary)}
}
@media (max-width:1100px) and (min-width:981px){.logo img{height:116px}}

/* Clinic maps: stylised Perth map (land, parks, Swan River, roads) so cards read on any background */
.loc{border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.loc .map{height:170px;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 180" preserveAspectRatio="xMidYMid slice"%3E %3Crect width="600" height="180" fill="%23E6F7FD"/%3E %3Crect x="30" y="20" width="120" height="60" rx="10" fill="%23B8E7C9"/%3E %3Crect x="440" y="110" width="130" height="55" rx="10" fill="%23B8E7C9"/%3E %3Cpath d="M-20 150 C120 110 220 175 330 140 S520 90 640 120 L640 200 L-20 200Z" fill="%237FD6F4"/%3E %3Cg stroke="%23FFFFFF" stroke-linecap="round" fill="none"%3E %3Cpath d="M0 95 H600" stroke-width="12"/%3E%3Cpath d="M200 0 V180" stroke-width="12"/%3E %3Cpath d="M380 0 L470 180" stroke-width="9"/%3E%3Cpath d="M0 40 H600" stroke-width="6"/%3E%3Cpath d="M90 0 V180" stroke-width="6"/%3E%3Cpath d="M520 0 V180" stroke-width="6"/%3E %3C/g%3E%3C/svg%3E') center/cover no-repeat}
.loc .map::after{width:34px;height:34px;background:var(--primary);border:5px solid #FFFFFF;box-shadow:0 6px 14px -4px rgba(0,40,70,.5)}
.loc .body{border-top:4px solid var(--sky)}

/* Header v2: contact row on top, menu centred in the remaining height; tagline anchors the left of the contact row */
.hdr-right{justify-content:flex-start}
.hdr-right nav.main{flex:1;align-items:center}
.util .tagline{margin-right:auto;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--primary)}
@media (max-width:1180px){.util .tagline{display:none}}

a.loc{text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
a.loc:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(0,40,70,.08),0 20px 40px -18px rgba(0,40,70,.45)}
.map-cta{position:absolute;right:12px;bottom:12px;z-index:1;background:#FFFFFF;color:var(--primary);font-weight:700;font-size:.82rem;padding:.4em .8em;border-radius:999px;box-shadow:0 4px 10px -4px rgba(0,40,70,.4)}

/* Fewer white expanses: tinted hero, tinted "who we see", pale-blue clinics zone, wave edges echoing the logo's sound waves */
section.band{padding-block:clamp(48px,6.5vw,88px)}
.hero{background:linear-gradient(180deg,#F2FBFE 0%,#E3F6FD 100%)}
.brand,footer.site,.visit:not([style]){position:relative}
.brand::before,footer.site::before,.visit:not([style])::before{content:"";position:absolute;left:0;right:0;top:-23px;height:24px;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 24" preserveAspectRatio="none"%3E%3Cpath d="M0 24V12C15 12 15 2 30 2S45 12 60 12 75 2 90 2 105 12 120 12V24Z" fill="%2300B6E1"/%3E%3C/svg%3E') repeat-x;background-size:120px 24px;pointer-events:none}
.visit{background:#CDEFFB}
.visit:not([style])::before{background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 24" preserveAspectRatio="none"%3E%3Cpath d="M0 24V12C15 12 15 2 30 2S45 12 60 12 75 2 90 2 105 12 120 12V24Z" fill="%23CDEFFB"/%3E%3C/svg%3E')}
.dark{background:#E3F6FD}
.approach{background:#FFFFFF}
.approach .ph{background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);border:0;color:var(--primary);font-weight:600}
.visit .head{margin-bottom:28px}
.hero .chip{background:#FFFFFF}

/* v15: "who we see" as a real blue band; inner pages get a sky header + tinted body with defined cards */
.dark{background:#A8E2F7}
.ages div:nth-child(1){background:#FFFFFF}
.ages div:nth-child(2){background:#DDF4FD}
.page-hero{background:var(--sky);position:relative}
.page-hero h1{color:var(--ink)}
.page-hero .lede{color:var(--ink);opacity:.82}
.page-hero .crumbs,.page-hero .crumbs a{color:var(--ink)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:-23px;height:24px;z-index:2;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 24" preserveAspectRatio="none"%3E%3Cpath d="M0 0V12C15 12 15 22 30 22S45 12 60 12 75 22 90 22 105 12 120 12V0Z" fill="%2300B6E1"/%3E%3C/svg%3E') repeat-x;background-size:120px 24px;pointer-events:none}
.page[data-page="services"] section.band:not([style]),.page[data-page="team"] section.band,.page[data-page="resources"] section.band{background:#C4EAF9;padding-top:clamp(64px,8vw,104px)}
.page[data-page="services"] .card,.page[data-page="resources"] .card,.team-card{background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="services"] .card h2,.page[data-page="resources"] .card h2{font-size:1.25rem;font-weight:700;line-height:1.2;text-wrap:wrap;overflow-wrap:anywhere;hyphens:auto}
.page[data-page="services"] .card h2::before{content:"";display:block;width:36px;height:6px;border-radius:3px;background:var(--sky);margin-bottom:14px}
.page[data-page="services"] .card.feat,.page[data-page="resources"] .card.feat{background:var(--feat);color:var(--on-feat)}
.page[data-page="services"] .card.feat h2::before{background:#FFFFFF}
.team-card{border-radius:var(--r-lg);padding:18px 18px 24px}
.team-card .ph{border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}

.page-hero .wrap.stack{max-width:var(--maxw)}
.page-hero h1{max-width:18ch}
.page[data-page="services"] section.band[style]{background:#C4EAF9}

/* Blog matches the carded inner pages */
.page[data-page="blog"] section.band{background:#C4EAF9;padding-top:clamp(64px,8vw,104px)}
.page[data-page="blog"] .post{background:#FFFFFF;border-radius:var(--r-lg);overflow:hidden;gap:10px;padding-bottom:24px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35);transition:transform .2s,box-shadow .2s}
.page[data-page="blog"] .post:hover{transform:translateY(-4px)}
.page[data-page="blog"] .post .ph{border:0;border-radius:0;aspect-ratio:16/10;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}
.page[data-page="blog"] .post > :not(.ph){padding-inline:22px}
.page[data-page="blog"] .post .meta{color:var(--primary);margin-top:6px}
.page[data-page="blog"] .post p::after{content:"Read post →";display:block;margin-top:14px;font:700 .95rem var(--body);color:var(--primary)}

/* Contact / booking form matches the carded inner pages */
.page[data-page="contact"] section.band{background:#C4EAF9;padding-top:clamp(64px,8vw,104px)}
.page[data-page="contact"] form.contact{border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="contact"] form.contact::before{content:"Book a consultation";font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--primary)}
.page[data-page="contact"] input,.page[data-page="contact"] select,.page[data-page="contact"] textarea{border:1.5px solid #9FD3EA;background:#F5FBFE}
.page[data-page="contact"] input:focus,.page[data-page="contact"] select:focus,.page[data-page="contact"] textarea:focus{outline:3px solid var(--sky);outline-offset:1px;border-color:var(--sky);background:#FFFFFF}
.page[data-page="contact"] .eyebrow{color:var(--primary)}
.contact-info{background:#FFFFFF;border-radius:var(--r-lg);padding:24px;display:grid;gap:18px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}

/* About: white intro, pale-blue "how we work" with white cards, quote in a sky panel */
.page[data-page="about"] section.band.alt{background:#C4EAF9}
.page[data-page="about"] .alt .card{border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="about"] .alt .card h3::before{content:"";display:block;width:36px;height:6px;border-radius:3px;background:var(--sky);margin-bottom:14px}
.page[data-page="about"] section.band:first-of-type + section.band .ph,.page[data-page="about"] .ph{border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}
.quote-panel{background:var(--sky);border-radius:var(--r-lg);padding:clamp(28px,5vw,56px)}
.about-quote .quote{color:var(--ink)}
.about-quote .eyebrow{color:var(--ink)}
.about-quote .supports span{background:#FFFFFF;border-color:transparent}

/* 2026-10-14 brand update: sky #00B6E1, lime #CDDF74, mid blue #00588D, navy #00273A (navy replaces black for text) */
:root:not([data-palette]) .brand .card:nth-child(3) .icon{background:var(--lime);color:var(--ink)}
.ticks li::before{background-color:var(--lime)}
.util .ndis{background:#EEF5C9;color:var(--ink)}

:root:not([data-palette]) .cta-band{background:#00273A;color:#FFFFFF}
:root:not([data-palette]) .cta-band .btn-primary{background:var(--lime);color:#00273A}

/* Horizontal lockup (logo option B) in header and footer */
.logo img.logo-h{height:78px;width:auto;border-radius:0}
header.site .wrap{align-items:center}
.hdr-right{align-self:stretch}
footer.site .logo img.logo-h-foot{width:min(300px,100%);height:auto}
@media (max-width:1100px) and (min-width:981px){.logo img.logo-h{height:60px}.util .ndis{display:none}}
@media (max-width:620px){.logo img.logo-h{height:52px}}

/* Header v3: full-width utility bar on top, then logo + nav share one centre line */
.utilbar{background:#EEF8FC;border-bottom:1px solid var(--line)}
.utilbar .util{justify-content:flex-end;padding-block:8px;border-bottom:0;font-size:.88rem;gap:6px 28px}
.utilbar .util > span:first-child{margin-right:auto}
.utilbar .util .phone{font-size:1.05rem}
header.site > .wrap{align-items:center;padding-block:14px}
.hdr-right{align-self:center;justify-content:center;gap:0}
.hdr-right nav.main{flex:0 0 auto}
.logo img.logo-h{height:64px}
@media (max-width:980px){.utilbar{display:none}}
@media (max-width:1100px) and (min-width:981px){.logo img.logo-h{height:52px}.util .ndis{display:inline-flex}}
@media (max-width:620px){.logo img.logo-h{height:48px}}

/* Header v4: big logo left; contact line sits tight above the menu on the right */
header.site > .wrap{align-items:center;padding-block:16px;gap:32px}
.logo img.logo-h{height:88px}
.hdr-right{align-self:center;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}
.hdr-right .util{justify-content:flex-end;padding:0 0 10px;border-bottom:1px solid var(--line);font-size:.88rem;gap:6px 24px;width:100%}
.hdr-right .util .phone{font-size:1.05rem}
.hdr-right nav.main{flex:0 0 auto;justify-content:flex-end}
@media (max-width:1100px) and (min-width:981px){.logo img.logo-h{height:68px}.hdr-right .util .ndis{display:none}}
@media (max-width:980px){.hdr-right .util{display:none}.logo img.logo-h{height:60px}}
@media (max-width:620px){.logo img.logo-h{height:48px}}

.hdr-right{flex:1 1 auto;min-width:0}
.hdr-right .util{flex-wrap:nowrap;white-space:nowrap}
.hdr-right nav.main{flex-wrap:nowrap;white-space:nowrap}
@media (max-width:1100px) and (min-width:981px){.logo img.logo-h{height:60px}header.site > .wrap{gap:20px}.hdr-right nav.main{gap:2px}.hdr-right nav.main a{padding-inline:.6em}}

/* Mobile: phone + clinics shown on the page under the logo bar, not in the menu */
.mob-contact{display:none}
@media (max-width:980px){
  .mob-contact{display:flex;justify-content:space-between;align-items:center;gap:6px 16px;flex-wrap:wrap;padding:9px var(--gutter,20px);background:#C4EAF9;border-top:1px solid var(--line);font-weight:600;font-size:.9rem;color:var(--primary)}
  .mob-contact a{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;white-space:nowrap}
  .mob-contact svg{width:16px;height:16px;flex:0 0 auto}
  .mob-contact .mc-phone{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink)}
  .mob-contact .mc-phone svg{color:var(--primary)}
  .mob-contact .mc-clinics svg{color:var(--primary)}
  .nav-contact span:nth-child(-n+2){display:none}
}
@media (max-width:360px){.mob-contact{justify-content:center}}
/* Home: "Four main ways we can help" hidden on phones (Clint) */
@media (max-width:620px){.home-ways{display:none}}
/* Home: the two clinic cards sit side by side on phones (less scrolling) */
@media (max-width:620px){
  .visit .grid.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .visit .loc{border-radius:20px}
  .visit .loc .map{height:104px}
  .visit .loc .map::after{width:26px;height:26px;border-width:4px;top:34%}
  .visit .loc .map-cta{right:8px;bottom:8px;font-size:.72rem;padding:.3em .6em}
  .visit .loc .body{padding:12px 14px;gap:2px}
  .visit .loc .body h3{font-size:1.05rem}
  .visit .loc .body p{font-size:.84rem;line-height:1.4}
}
/* Home approach: photo sits below the text once the section stacks (mobile only) */
@media (max-width:820px){.approach .split > .ph{order:2}.approach .split > .ph.tall{aspect-ratio:4/3}}
/* Footer on phones: Pages and Popular side by side; logo and Contact full width */
@media (max-width:520px){
  body footer.site .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  body footer.site .cols > :first-child,body footer.site .cols > :last-child{grid-column:1 / -1}
}
/* Services: two cards per row on phones */
@media (max-width:620px){
  #svcGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #svcGrid .card{padding:16px 14px;gap:8px;border-radius:20px}
  #svcGrid .card h2{font-size:1.02rem;line-height:1.2;hyphens:auto}
  #svcGrid .card h2::before{width:28px;height:5px;margin-bottom:10px}
  #svcGrid .card p{font-size:.86rem;line-height:1.45}
  #svcGrid .card .more{font-size:.85rem}
}
/* Tap-to-call: bigger touch area without changing the strip height */
@media (max-width:980px){.mob-contact .mc-phone{padding:10px 8px;margin:-10px -8px;border-radius:10px}.mob-contact .mc-phone:active{background:rgba(255,255,255,.5)}}

/* About dropdown (Our team sits under About). Squarespace: a Folder in Main Navigation */
.dd{position:relative;display:flex;align-items:center}
.dd > a{display:inline-flex;align-items:center;gap:4px}
.dd .chev{width:15px;height:15px;transition:transform .2s}
.dd-menu{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:190px;margin-top:8px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px rgba(0,39,58,.14);flex-direction:column;gap:2px}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd-menu a{display:block;border-radius:10px;padding:.6em .9em}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:flex}
.dd:hover .chev,.dd:focus-within .chev{transform:rotate(180deg)}
@media (max-width:980px){
  .dd{flex-direction:column;align-items:stretch}
  .dd .chev{display:none}
  .dd-menu{display:flex;position:static;margin:0;padding:0;border:0;box-shadow:none;background:none;min-width:0}
  .dd-menu::before{display:none}
  .dd-menu .dd-first{display:none}
  .dd-menu a{padding:.5em .85em;font-size:.92rem;color:var(--primary)}
  .dd > a{justify-content:center}
  .dd-menu a{text-align:center}
}

/* Footer: email on one line; contact column sizes to fit it */
footer.site .cols{grid-template-columns:1.3fr .8fr 1fr auto}
footer.site .foot-email{white-space:nowrap}
@media (max-width:820px){footer.site .cols{grid-template-columns:1fr auto}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
@media (max-width:380px){footer.site .foot-email{font-size:clamp(.78rem,4.1vw,1rem)}}

@media (max-width:370px){.logo img.logo-h{height:36px}}
/* Services: For schools section (sky band, white cards) */
.page[data-page="services"] section.band.schools{background:var(--sky);padding-block:clamp(64px,8vw,104px)}
.schools > .wrap.stack{gap:36px}
.schools .sch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap}
.schools .sch-head .stack{max-width:620px}
.schools .eyebrow{color:var(--ink)}
.schools .btn-primary{background:var(--ink);color:#FFFFFF}
.page[data-page="services"] .schools .card h2::before{display:none}
.sch-card{display:flex;flex-direction:column;gap:10px}
.sch-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#C4EAF9;color:var(--primary);margin-bottom:6px}
.sch-card:nth-child(2) .sch-ic{background:var(--lime);color:var(--ink)}
.sch-card:nth-child(3) .sch-ic{background:var(--primary);color:#FFFFFF}
.sch-ic svg{width:24px;height:24px}
.page[data-page="services"] .schools + section.band[style]{padding-top:clamp(56px,7vw,88px)!important}

/* Programs + Messy Play pages (Squarespace: Programs folder in Main Navigation) */
.page[data-page="programs"] section.band:not([style]),.page[data-page="messy"] .prog-facts{background:#C4EAF9;padding-block:clamp(64px,8vw,104px)}
.page[data-page="programs"] section.band[style],.page[data-page="messy"] .prog-facts + section.band[style]{background:#C4EAF9}
.prog-card{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(20px,4vw,48px);align-items:center;background:#FFFFFF;border-radius:var(--r-lg);padding:clamp(16px,2.5vw,24px);text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35);transition:transform .2s}
.prog-card:hover{transform:translateY(-4px)}
.prog-card .ph{border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}
.prog-card .stack{padding-right:clamp(0px,2vw,24px)}
.prog-tag{align-self:flex-start;background:var(--lime);color:var(--ink);font-weight:700;font-size:.85rem;padding:.35em .9em;border-radius:999px}
.prog-card .more{font-weight:700;color:var(--primary)}
@media (max-width:760px){.prog-card{grid-template-columns:1fr}}
.page[data-page="messy"] .prog-facts .card{background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="messy"] .prog-facts .eyebrow{color:var(--primary)}
.page[data-page="messy"] .ph{border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}

/* For schools: 4 cards */
.schools .sch-grid{grid-template-columns:repeat(4,1fr)}
.sch-card:nth-child(4) .sch-ic{background:var(--ink);color:#FFFFFF}
@media (max-width:1100px){.schools .sch-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.schools .sch-grid{grid-template-columns:1fr}}

/* About: How we work intro (Clint's copy) above the three cards */
.hww{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 48px;align-items:start;background:#FFFFFF;border-radius:var(--r-lg);padding:clamp(24px,4vw,44px);margin-bottom:28px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.hww .eyebrow{color:var(--primary)}
.hww-text{display:grid;gap:14px;font-size:1.06rem;line-height:1.7}
@media (max-width:820px){.hww{grid-template-columns:1fr}}

/* About order: How we work (pale blue) > What we do (white) > quote band (pale blue) so no two neighbours match */
.page[data-page="about"] section.band.about-quote{background:#C4EAF9}

/* Team: room for 10 people (5 x 2 on desktop) */
.team-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.team-grid .team-card{padding:14px 14px 20px;gap:8px}
.team-grid .team-card h3{font-size:1.05rem}
.team-grid .team-card small{font-size:.82rem}
.team-grid .team-card p{font-size:.9rem;line-height:1.5}
@media (max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (max-width:420px){.team-grid .team-card p{display:none}}

/* FAQ page (Squarespace: Accordion block) */
.page[data-page="faq"] section.band{background:#C4EAF9}
.page[data-page="faq"] section.band:not([style]){padding-top:clamp(64px,8vw,104px)}
.faq-list{display:grid;gap:12px;max-width:860px}
.faq-item{background:#FFFFFF;border-radius:18px;padding:0 24px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#C4EAF9;color:var(--primary);font-size:1.3rem;line-height:1;transition:transform .2s}
.faq-item[open] summary::after{content:"–";background:var(--sky);color:var(--ink)}
.faq-item p{padding:0 0 22px;margin:0;color:var(--ink);line-height:1.65}

/* FAQ added to menu: tighten link padding so the menu stays inside the content edge */
@media (min-width:1101px){.hdr-right nav.main{gap:2px}.hdr-right nav.main a{padding-inline:.72em}}
@media (max-width:1180px) and (min-width:981px){.logo img.logo-h{height:60px}header.site > .wrap{gap:20px}.hdr-right nav.main a{padding-inline:.6em}.hdr-right .util .ndis{display:none}}
/* Programs: School Holiday Programs + Term Run Groups (sky band, white cards) */
.page[data-page="programs"] section.band.prog-more{background:var(--sky);padding-block:clamp(64px,8vw,104px)}
.prog-more .eyebrow{color:var(--ink)}
.prog-more .card{background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.prog-more .sch-card:nth-child(1) .sch-ic{background:var(--lime);color:var(--ink)}
.prog-more .sch-card:nth-child(2) .sch-ic{background:var(--primary);color:#FFFFFF}
.prog-more .more{font-weight:700;color:var(--primary);text-decoration:none;margin-top:auto}
.prog-more .prog-tag{font-size:.8rem}
.page[data-page="programs"] .prog-more + section.band[style]{padding-top:clamp(56px,7vw,88px)!important}

/* Holiday + Term program pages reuse the Messy Play template */
.page[data-page="holiday"] .prog-facts,.page[data-page="term"] .prog-facts{background:#C4EAF9;padding-block:clamp(64px,8vw,104px)}
.page[data-page="holiday"] .prog-facts + section.band[style],.page[data-page="term"] .prog-facts + section.band[style]{background:#C4EAF9}
.page[data-page="holiday"] .prog-facts .card,.page[data-page="term"] .prog-facts .card{background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="holiday"] .prog-facts .eyebrow,.page[data-page="term"] .prog-facts .eyebrow{color:var(--primary)}
.page[data-page="holiday"] .ph,.page[data-page="term"] .ph{border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}

/* Early intervention: Clint's approach copy in a card on pale blue, then reworded CTA */
.page[data-page="early"] section.band.ei-about{background:#C4EAF9;padding-block:clamp(64px,8vw,104px) clamp(36px,4vw,48px)}
.page[data-page="early"] section.band.ei-cta{background:#C4EAF9;padding-bottom:clamp(64px,8vw,104px)}
.page[data-page="early"] .ei-about .hww{margin-bottom:0}

.mp-facts{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.mp-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mp-facts{grid-template-columns:1fr}}
/* Service pages built from the Early intervention template */
.svc-page section.band.svc-cta{background:#C4EAF9;padding-block:clamp(64px,8vw,104px)}
.svc-page .ph{border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}
.page[data-page="schools"] section.band.schools{background:var(--sky);padding-block:clamp(64px,8vw,104px)}
.page[data-page="schools"] .schools .card{background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="schools"] .schools .card h3::before{display:none}
.page[hidden]{display:none!important}

/* Blog posts (live posts carried over) + Victoria Park page */
.page[data-page="blog"] .post{text-decoration:none;color:inherit}
.page[data-page="blog"] .post h2{font-size:1.25rem;line-height:1.2}
.page[data-page="blog"] .post p::after{content:none}
.page[data-page="blog"] .post .read{padding-inline:22px;font-weight:700;color:var(--primary);font-size:.95rem;margin-top:auto}
.post-meta{font-weight:600;color:var(--ink);opacity:.82}
.page[data-page="post"] .post-band{background:#C4EAF9;padding-top:clamp(64px,8vw,104px)}
.page[data-page="post"] .post-cta{background:#C4EAF9;padding-top:0}
.post-body{background:#FFFFFF;border-radius:var(--r-lg);padding:clamp(24px,5vw,56px);max-width:820px;margin:0 auto;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35);display:flex;flex-direction:column;gap:16px;font-size:1.06rem;line-height:1.75}
.post-body p{max-width:none}
.post-body h2{font-size:clamp(1.4rem,2.6vw,1.8rem);color:var(--primary);margin-top:14px}
.post-body h3{font-size:1.15rem;margin-top:6px}
.post-body ul,.post-body ol{margin:0;padding-left:1.3em;display:grid;gap:6px}
.post-body a{color:var(--primary);font-weight:600}
.post-body blockquote{margin:0;padding:12px 20px;border-left:5px solid var(--sky);background:#EEF8FC;border-radius:0 12px 12px 0}
.post-nav{max-width:820px;margin:24px auto 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.post-nav a{background:#FFFFFF;border-radius:999px;padding:.6em 1.1em;font-weight:700;color:var(--primary);text-decoration:none;max-width:100%}
.post-nav a:empty{display:none}
.page[data-page="vicpark"] .vp-intro{background:#FFFFFF}
.page[data-page="vicpark"] .vp-help{background:#C4EAF9}
.page[data-page="vicpark"] .vp-help .card{border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35);gap:14px}
.page[data-page="vicpark"] .vp-help .card h2{font-size:1.6rem}
.page[data-page="vicpark"] .svc-cta{background:#C4EAF9;padding-top:0}
.page[data-page="jolimont"] .vp-intro{background:#FFFFFF}
.page[data-page="jolimont"] .vp-help{background:#C4EAF9}
.page[data-page="jolimont"] .vp-help .card{border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35);gap:14px}
.page[data-page="jolimont"] .vp-help .card h2{font-size:1.6rem}
.page[data-page="jolimont"] .svc-cta{background:#C4EAF9;padding-top:0}
.page[data-page="jolimont"] .vp-ph{aspect-ratio:3/2;width:100%}
.page[data-page="jolimont"] .vp-ph.wide{aspect-ratio:16/9}
.vp-link{font-weight:700;color:var(--primary);text-decoration:none}
.vp-links{display:flex;flex-wrap:wrap;gap:6px 22px}
/* Build notes: SEO settings for the page on screen */
.page[data-page="blog"] .post .post-img{display:block;width:100%;height:auto;padding:0;aspect-ratio:4/3;object-fit:cover;background:#E3F6FD}
.post-hero-img{margin:0 0 8px}
.post-hero-img img,.post-text figure img{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;border-radius:20px}
.post-text{display:flex;flex-direction:column;gap:16px}
.post-text figure{margin:8px 0}
.vp-photo{display:block;width:100%;height:auto;border-radius:var(--r-lg);object-fit:cover}
.vp-side{gap:20px}
.vp-help .vp-photo{aspect-ratio:16/9}
#seoNote{display:none}
body.notes #seoNote{display:block;position:fixed;left:14px;top:14px;z-index:60;max-width:min(420px,calc(100% - 28px));background:var(--chrome-bg);color:var(--chrome-fg);font:500 .78rem/1.45 var(--body);padding:12px 14px;border-radius:12px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6)}
#seoNote b{color:var(--chrome-muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;display:block;margin-top:6px}
#seoNote b:first-child{margin-top:0}

/* Home practice sheets */
.page[data-page="practice"] .pr-how{background:#FFFFFF}
.page[data-page="practice"] .pr-how .feat{background:var(--lime);color:var(--ink);border:0;padding:clamp(24px,4vw,40px);gap:14px}
.page[data-page="practice"] .pr-how .ticks li::before{background-color:#FFFFFF}
.page[data-page="practice"] .pr-list{background:#C4EAF9}
.page[data-page="practice"] .pr-list h2{margin-top:12px}
.page[data-page="autism"] .steps li::before{background:var(--lime);color:var(--ink)}

/* Language page (Clint's copy): two lists side by side, wide photo below, plus a "How we help" card at the bottom */
.lg-main{gap:clamp(32px,4vw,48px)}
.lg-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:820px){.lg-cols{grid-template-columns:1fr}}
.page[data-page="language"] .lg-photo{aspect-ratio:21/9}
@media (max-width:620px){.page[data-page="language"] .lg-photo{aspect-ratio:4/3}}
.lg-list{gap:14px}
.lg-list li strong{display:block;color:var(--ink)}
.lg-list li span{display:block;font-size:.95rem;line-height:1.55;opacity:.85;margin-top:2px}
.page[data-page="language"] .lg-how{background:#C4EAF9;padding-bottom:0}
.page[data-page="language"] .lg-how .lg-how-card{background:#FFFFFF;border:0;padding:clamp(24px,4vw,40px);gap:14px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="language"] .lg-how p{font-size:1.06rem;line-height:1.7}
.page[data-page="language"] .lg-how + .svc-cta{padding-top:28px}

.page[data-page="literacy"] .lg-photo{aspect-ratio:21/9}
@media (max-width:620px){.page[data-page="literacy"] .lg-photo{aspect-ratio:4/3}}

.page[data-page="aac"] .lg-photo{aspect-ratio:21/9}
@media (max-width:620px){.page[data-page="aac"] .lg-photo{aspect-ratio:4/3}}

.page[data-page="gestalt"] .lg-photo{aspect-ratio:21/9}
@media (max-width:620px){.page[data-page="gestalt"] .lg-photo{aspect-ratio:4/3}}

.page[data-page="stuttering"] .lg-photo{aspect-ratio:21/9}
@media (max-width:620px){.page[data-page="stuttering"] .lg-photo{aspect-ratio:4/3}}

.fd-note{background:#EEF5C9;color:var(--ink);border-radius:16px;padding:12px 16px;font-size:.98rem;max-width:none}

/* Schools page uses the Services page card style */
.page[data-page="schools"] section.band:not([style]){background:#C4EAF9;padding-top:clamp(64px,8vw,104px)}
.page[data-page="schools"] section.band[style]{background:#C4EAF9}
.page[data-page="schools"] .card{background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.page[data-page="schools"] .card h2{font-size:1.3rem}
.page[data-page="schools"] .card h2::before{content:"";display:block;width:36px;height:6px;border-radius:3px;background:var(--sky);margin-bottom:14px}

/* About: Our story with a simple timeline */
.page[data-page="about"] .ab-story{background:#FFFFFF}
.page[data-page="about"] .ab-story p{font-size:1.06rem;line-height:1.7}
.ab-time{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:t}
.ab-time li{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;background:#C4EAF9;border-radius:18px;padding:16px 20px}
.ab-time li:last-child{background:var(--lime)}
.ab-time b{font-family:var(--display);font-size:1.15rem;color:var(--primary)}
.ab-time li:last-child b{color:var(--ink)}
@media (max-width:520px){.ab-time li{grid-template-columns:1fr;gap:4px}}

/* Team: Read more button + one page per therapist */
.team-card .tm-more{align-self:flex-start;margin-top:auto;background:var(--lime);color:var(--ink);text-decoration:none;font-weight:700;font-size:.88rem;padding:.5em 1em;border-radius:999px}
.team-card .tm-more:hover{background:#B9CC5C}
.page[data-page="member"] .tm-band{background:#C4EAF9;padding-top:clamp(64px,8vw,104px)}
.tm-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,48px);align-items:start}
.page[data-page="member"] .tm-photo{aspect-ratio:4/5;border:0;background:repeating-linear-gradient(135deg,#CDEFFB 0 14px,#E3F6FD 14px 28px);color:var(--primary);font-weight:600}
.tm-bio{background:#FFFFFF;border:0;padding:clamp(24px,4vw,40px);gap:16px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.tm-where{background:#EEF5C9;border-left:5px solid var(--lime);border-radius:12px;padding:12px 16px;font-weight:600;color:var(--ink);margin:0}
.tm-where[hidden]{display:none}
.tm-text{display:flex;flex-direction:column;gap:14px}
.tm-bio p{font-size:1.06rem;line-height:1.7}
.tm-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.tm-nav .more{font-weight:700;color:var(--primary);text-decoration:none}
@media (max-width:820px){.tm-split{grid-template-columns:1fr}}

/* Services: "And plenty more" card listing services without their own page */
.page[data-page="services"] section.band.sv-more-band:not([style]){padding-top:0}
.sv-more{background:#FFFFFF;border:0;padding:clamp(24px,4vw,44px);gap:16px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.sv-more h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.sv-more h2::before{content:"";display:block;width:36px;height:6px;border-radius:3px;background:var(--lime);margin-bottom:14px}
.sv-more > p{max-width:70ch;font-size:1.06rem;line-height:1.7}
.sv-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;margin:6px 0}
.sv-list li{font-weight:600;color:var(--ink)}
.sv-list li::before{background-color:var(--lime)}
.sv-ask a{font-weight:700;color:var(--primary)}
@media (max-width:900px){.sv-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sv-list{grid-template-columns:1fr}}

/* Programs: Coming Soon marker on placeholder program pages */
.soon-pill{align-self:flex-start;display:inline-block;background:var(--lime);color:var(--ink);font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;padding:.45em 1em;border-radius:999px}
.soon-note{margin:0 0 8px}
/* Real photos in placeholder slots */
img.ph.photo{display:block;width:100%;height:auto;object-fit:cover;border:0 !important;background:none !important;padding:0}
/* Splose booking form embed on Contact */
.splose-card{background:#FFFFFF;border-radius:var(--r-lg);padding:24px;display:grid;gap:14px;min-width:0;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.splose-card h2{font-size:1.5rem;color:var(--primary)}
.splose-note{font-size:.88rem;color:var(--muted);background:#F5FBFE;border-radius:12px;padding:12px 14px}
@media (max-width:620px){.splose-card{padding:20px}}
/* Jolimont photos */
.page[data-page="jolimont"] .jol-photo{aspect-ratio:3/2}
.page[data-page="jolimont"] .vp-help .vp-photo{aspect-ratio:16/9}
.jol-find{background:#EEF5C9}
.jol-find-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,3vw,32px)}
.jol-find figure{background:#FFFFFF;border-radius:var(--r-lg);padding:clamp(10px,2vw,16px);box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.jol-find .vp-photo{border-radius:12px}
.jol-find figure{margin:0;display:grid;gap:10px}
.jol-find .vp-photo{aspect-ratio:4/3}
.jol-find figcaption{font-size:.95rem;color:var(--ink)}
@media (max-width:520px){.jol-find figcaption{font-size:.85rem}}

/* production additions */
.add-band{background:#C4EAF9}
.add-band+.add-band{padding-top:0}
.add-card{background:#FFFFFF;border-radius:var(--r-lg);padding:clamp(24px,4vw,44px);box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35);display:flex;flex-direction:column;gap:12px;max-width:900px}
.add-card h2{font-size:clamp(1.5rem,2.8vw,2rem)}
.add-card p{max-width:70ch}
.add-inline{margin-top:20px}
.hours-card{background:#FFFFFF;border-radius:var(--r-md);padding:18px 22px;box-shadow:0 1px 2px rgba(0,40,70,.08),0 14px 34px -18px rgba(0,40,70,.35)}
.hours-card h3{font-size:1.15rem;margin-bottom:4px}
.related{margin:0 auto 22px;max-width:var(--maxw);font-weight:600;color:var(--ink);display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.related a{background:#FFFFFF;color:var(--primary);text-decoration:none;border-radius:999px;padding:.4em .95em;font-weight:700}
.related a:hover{text-decoration:underline}
.post-help{border-top:2px solid #D3ECF5;padding-top:16px;margin-top:8px;font-weight:600}
.splose-embed{position:relative;width:100%;height:1100px;border-radius:var(--r-md);overflow:hidden;background:#FFFFFF}
.splose-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.splose-fallback{font-size:.95rem}
.post-body a{overflow-wrap:anywhere}
