
:root{
  --cream:#FBF8F0; --sand:#F3EDDC; --linen:#FFFDF8;
  --gold:#F2BD1E; --gold-soft:#FFEEBC; --gold-deep:#8A6D12;
  --ink:#2F2F30; --ink-soft:#5F5E61; --line:#E4DCC6;
  --teal:#3B675E; --teal-dark:#1E342F; --teal-soft:#D0E1DD;
  --olive:#7D792F; --olive-soft:#E8E6C4;
  --radius:18px; --shadow:0 1px 2px rgba(47,47,48,.05),0 8px 28px rgba(47,47,48,.07);
  --serif:Arial,Helvetica,sans-serif; --sans:Arial,Helvetica,sans-serif;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
a:hover{color:var(--teal-dark)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.4rem,5.2vw,4.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
h3{font-size:1.45rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{font:700 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin-bottom:1rem;display:inline-flex;gap:.6em;align-items:center}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold);border-radius:2px}
.lead{font-size:1.18rem;color:var(--ink-soft);max-width:38em}
.muted{color:var(--ink-soft)}
.small{font-size:.9rem}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

.draftbar{background:var(--teal-dark);color:#fff;font-size:.82rem;text-align:center;padding:7px 16px}
.draftbar strong{color:var(--gold)}
.announce{background:var(--gold-soft);font-size:.92rem;text-align:center;padding:9px 16px}
.announce a{font-weight:700;color:var(--ink)}

.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,240,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:24px;height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{width:44px;height:44px;object-fit:contain}
.brand span{display:flex;flex-direction:column;line-height:1.05}
.brand b{font:500 1.28rem var(--serif)}
.brand i{font:700 .66rem var(--sans);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--olive);margin-top:4px}
.nav{display:flex;gap:4px;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-size:.95rem;padding:8px 12px;border-radius:999px}
.nav a:hover,.nav a[aria-current=page]{background:var(--sand)}
.nav a.btn-primary{color:#fff}
.nav a.btn-primary:hover{background:var(--teal-dark)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink)}

.btn{display:inline-flex;text-align:center;align-items:center;justify-content:center;gap:.5em;font:700 .98rem var(--sans);text-decoration:none;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s;min-height:48px}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-dark);color:#fff}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}

section{padding:88px 0}
.band-sand{background:var(--sand)}
.band-dark{background:var(--teal-dark);color:#F4F1E6}
.band-dark h2,.band-dark h3{color:#fff}
.band-dark .lead{color:#D9E4E0}
.band-dark .eyebrow{color:var(--gold)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.grid-2>*,.grid-3>*,.grid-4>*,.founder>*,.program>*,.cta>*{min-width:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.hero{padding:64px 0 88px;position:relative;overflow:hidden}
.hero .grid-2{grid-template-columns:1.05fr 1fr}
.hero h1 em{font-style:italic;color:var(--teal)}
.hero-img{position:relative}
.hero-img img{border-radius:220px 220px var(--radius) var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow)}
.hero-img .enso{position:absolute;width:150px;left:-48px;bottom:-34px;opacity:.95;border-radius:0;box-shadow:none;aspect-ratio:1}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:1.4rem;font-size:.92rem;color:var(--ink-soft)}
.trust span::before{content:"●";color:var(--gold);margin-right:8px;font-size:.7em;vertical-align:2px}

.heritage{padding:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--linen)}
.heritage .wrap{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px;align-items:center}
.heritage p{margin:0}
.heritage .fact b{display:block;font:500 1.15rem var(--serif);margin-bottom:2px}
.heritage .fact{font-size:.92rem;color:var(--ink-soft)}

.card{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.card .body p{color:var(--ink-soft)}
.card .more{margin-top:auto;font-weight:700;text-decoration:none}
.tag{display:inline-block;font:700 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:12px;align-self:flex-start}
.t-infant{background:var(--teal-soft);color:var(--teal-dark)}
.t-toddler{background:var(--gold-soft);color:#5A4708}
.t-pre{background:var(--olive-soft);color:#4B4819}

.pillar{padding:28px;border-radius:var(--radius);background:var(--linen);border:1px solid var(--line)}
.pillar .num{font:500 2rem var(--serif);color:var(--gold-deep);display:block;margin-bottom:6px}
.pillar h3{font-size:1.2rem}
.pillar p{color:var(--ink-soft);margin:0;font-size:.98rem}
.note{margin-top:32px;padding:18px 22px;border-left:3px solid var(--gold);background:var(--linen);border-radius:0 12px 12px 0;font-size:.95rem;color:var(--ink-soft)}

.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.founder img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover}
.founder blockquote{margin:0;font:400 1.32rem/1.55 var(--serif);color:var(--ink)}
.founder cite{display:block;margin-top:1.2rem;font:700 .9rem var(--sans);font-style:normal;color:var(--olive)}

.day{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:40px;border-top:2px solid var(--gold)}
.day div{padding:20px 18px 0 0;position:relative}
.day div::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--cream);border:2px solid var(--gold)}
.day b{display:block;font:500 1.1rem var(--serif);margin-top:6px}
.day time{font-size:.85rem;font-weight:700;color:var(--olive)}
.day p{font-size:.92rem;color:var(--ink-soft);margin:4px 0 0}

.gallery{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}
.gallery figure{margin:0;position:relative}
.gallery img{border-radius:var(--radius);width:100%;height:100%;object-fit:cover;min-height:280px}
.gallery figcaption{position:absolute;left:16px;bottom:16px;background:rgba(251,248,240,.92);padding:6px 14px;border-radius:999px;font-size:.85rem}

.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{font:500 1.2rem var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);color:var(--teal);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--ink-soft)}

.page-head{padding:72px 0 56px;background:var(--sand);border-bottom:1px solid var(--line)}
.prose{max-width:760px}
.prose h2{margin-top:1.6em;font-size:1.9rem}
.prose h3{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
.prose blockquote{margin:1.5em 0;padding:4px 0 4px 22px;border-left:3px solid var(--gold);font:italic 1.2rem var(--serif)}
.prose blockquote p{margin:0}
.table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.97rem}
.table th,.table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olive)}

.program{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:72px 0;border-bottom:1px solid var(--line)}
.program:nth-child(even) .pimg{order:2}
.program img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover}
.checks{list-style:none;padding:0;margin:1.2em 0}
.checks li{padding-left:30px;position:relative;margin-bottom:.55em}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;border:2px solid var(--gold)}

.panel{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}
.field{margin-bottom:18px}
.field>label,.field legend{display:block;font-weight:700;font-size:.95rem;margin-bottom:6px}
.field .req{color:#9B3D23;margin-left:2px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field input[type=number],.field input[type=url],.field textarea,.field select{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border:1.5px solid #D6CCB2;border-radius:12px;background:#fff;color:var(--ink)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:3px solid var(--teal-soft);border-color:var(--teal)}
.field fieldset{border:0;padding:0;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #D6CCB2;border-radius:999px;padding:9px 16px;background:#fff;cursor:pointer;font-size:.95rem}
.chips input{accent-color:var(--teal)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem}
.check input{margin-top:5px;width:18px;height:18px;accent-color:var(--teal);flex:none}
.help{font-size:.85rem;color:var(--ink-soft);margin-top:4px}
.err{color:#9B3D23;font-size:.88rem;margin-top:6px}
.field.invalid input,.field.invalid textarea{border-color:#9B3D23}
.alert{padding:16px 18px;border-radius:12px;margin:12px 0;font-size:.97rem}
.alert-ok{background:var(--teal-soft);color:var(--teal-dark)}
.alert-bad{background:#F6DDD3;color:#6E2A16}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}
.form-grid .full{grid-column:1/-1}

.svc-pick{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:36px}
.svc{text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--linen);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;padding:0;display:grid;grid-template-columns:140px 1fr}
.svc img{width:140px;height:100%;object-fit:cover}
.svc div{padding:20px 22px}
.svc h3{font-size:1.2rem;margin-bottom:.3em}
.svc p{font-size:.92rem;color:var(--ink-soft);margin:0}
.svc[aria-pressed=true]{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.weeknav{display:flex;justify-content:space-between;align-items:center;margin:8px 0 18px;gap:12px}
.weeknav button{background:none;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font:inherit;font-size:.92rem;cursor:pointer}
.weeknav button:disabled{opacity:.4;cursor:not-allowed}
.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.daycol h4{font:700 .85rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--olive);margin-bottom:8px}
.slot{display:block;width:100%;margin-bottom:8px;padding:11px 10px;border:1.5px solid #D6CCB2;background:#fff;border-radius:12px;font:inherit;font-size:.95rem;cursor:pointer;text-align:center;color:var(--ink)}
.slot small{display:block;font-size:.76rem;color:var(--ink-soft)}
.slot:hover{border-color:var(--teal)}
.slot[aria-pressed=true]{background:var(--teal);color:#fff;border-color:var(--teal)}
.slot[aria-pressed=true] small{color:#D9E4E0}
.slot:disabled{opacity:.5;cursor:not-allowed}
.summary{background:var(--gold-soft);border-radius:12px;padding:14px 18px;margin-bottom:20px;font-size:.97rem}
.loading{color:var(--ink-soft);padding:20px 0}

.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{text-decoration:none;color:inherit}
.post-card img{aspect-ratio:4/3}
.post-card h3{font-size:1.3rem}
.meta{font-size:.85rem;color:var(--ink-soft);margin-bottom:8px}
.post-hero{border-radius:var(--radius);aspect-ratio:16/8;object-fit:cover;width:100%;margin:28px 0 40px}

.cta{background:var(--teal-dark);color:#fff;border-radius:28px;padding:64px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.cta h2{color:#fff}
.cta p{color:#D9E4E0}
.cta .enso{position:absolute;right:-60px;top:-60px;width:260px;opacity:.18}

.site-footer{background:#262626;color:#CFCBBE;padding:64px 0 28px;font-size:.93rem}
.site-footer a{color:#F4F1E6;text-decoration:none}
.site-footer a:hover{color:var(--gold)}
.site-footer a.btn-gold{color:var(--ink)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.site-footer h4{font:700 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:8px}
.foot-legal{border-top:1px solid #3B3B3B;margin-top:44px;padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:.84rem;color:#A7A396}
.ack{max-width:640px}

@media (max-width:960px){
  .grid-2,.hero .grid-2,.founder,.program,.cta{grid-template-columns:minmax(0,1fr);gap:36px}
  .program:nth-child(even) .pimg{order:0}
  .grid-3,.posts{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .heritage .wrap{grid-template-columns:1fr 1fr}
  .day{grid-template-columns:1fr 1fr;border-top:0}
  .day div{border-top:2px solid var(--gold);margin-top:20px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;padding:12px 16px 20px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a.btn-primary{margin:8px 0 0!important}
  .menu-btn{display:inline-block}
  .hero-img .enso{left:-20px;width:110px}
}
@media (max-width:640px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  section{padding:64px 0}
  .grid-3,.grid-4,.posts,.svc-pick,.form-grid,.gallery,.heritage .wrap,.foot-grid{grid-template-columns:minmax(0,1fr)}
  .svc{grid-template-columns:100px 1fr}
  .svc img{width:100px}
  .panel{padding:24px 18px}
  .cta{padding:40px 24px}
  .day{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* justified text */
main p,main li,main blockquote,.site-footer p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.btn-row,.help,.err,.meta,.trust,.svc p,.summary,.alert p,figcaption{text-align:left}
.slot{text-align:center}
.center p{text-align:center}

/* slow photo motion */
.kb{overflow:hidden;border-radius:var(--radius);aspect-ratio:4/5;box-shadow:var(--shadow)}
.kb img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform-origin:50% 35%;animation:kb 22s ease-in-out infinite alternate;will-change:transform}
@keyframes kb{0%{transform:scale(1.02) translate(0,0)}100%{transform:scale(1.14) translate(-2%,-2.5%)}}
@media (prefers-reduced-motion:reduce){.kb img{animation:none}}

/* uniform photo tone */
main img:not(.enso){filter:saturate(.9) sepia(.07) contrast(.98)}

/* visit page header */
.visit-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:center}
.visit-head .lead{max-width:none}
.visit-head img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
@media (max-width:640px){.visit-head{grid-template-columns:minmax(0,1fr)}}

/* ---- Wonderful Mind additions ---- */
.skip{position:absolute;left:-999px;top:0;background:var(--teal);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:12px}
.nav .drop{position:relative}
.nav .drop summary{list-style:none;cursor:pointer;font-size:.95rem;padding:8px 12px;border-radius:999px}
.nav .drop summary::-webkit-details-marker{display:none}
.nav .drop summary::after{content:" \25BE";font-size:.75em}
.nav .drop summary:hover,.nav .drop[open] summary{background:var(--sand)}
.drop-menu{position:absolute;top:44px;left:0;background:var(--linen);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px;width:520px;z-index:60}
.drop-menu a{border-radius:10px!important}
.nav-cta{margin-left:8px;padding:10px 20px!important;min-height:0!important}
.crumbs{padding-top:18px;font-size:.85rem}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--ink-soft)}
.crumbs a{color:var(--ink-soft)}
.hero-plain{padding:48px 0 56px}
.hero-plain h1{max-width:18em}
.hero-img img{border-radius:var(--radius) 220px var(--radius) var(--radius)}
.answer{background:var(--linen);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;padding:22px 26px;margin:0 0 8px;max-width:820px}
.answer p{margin:0;font-size:1.08rem}
.steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:28px}
.person{display:flex;gap:16px;align-items:flex-start;background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.person img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;filter:none!important}
.person h3{font-size:1.15rem;margin:0 0 2px}
.person h3 a{color:var(--ink);text-decoration:none}
.person h3 a:hover{color:var(--teal)}
.person .role{margin:0 0 4px;font-size:.95rem;text-align:left!important}
.person p{text-align:left!important}
.badge{display:inline-block;font:700 .74rem var(--sans);color:var(--teal-dark);background:var(--teal-soft);padding:5px 10px;border-radius:999px;margin-top:4px}
.chips-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chips-filter button{font:inherit;font-size:.92rem;font-weight:700;padding:9px 16px;min-height:44px;border-radius:999px;border:2px solid #CFC5AC;background:#fff;color:var(--ink);cursor:pointer}
.chips-filter button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.disc-group{padding-top:36px}
.disc-group[hidden]{display:none}
.profile{display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start}
.profile-side{position:sticky;top:100px;background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.profile-side img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;margin-bottom:16px;filter:none!important}
.profile-side dl{margin:0;font-size:.93rem}
.profile-side dt{font-weight:700;margin-top:10px}
.profile-side dd{margin:2px 0 0;color:var(--ink-soft)}
.reviewed{font-size:.85rem;color:var(--ink-soft);margin-top:28px;text-align:left!important}
.fee-table td:last-child,.fee-table th:last-child{text-align:right;white-space:nowrap}
.cards .card h3 a{color:var(--ink);text-decoration:none}
.cards .card h3 a:hover{color:var(--teal)}
.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
.aside-box{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.aside-box h3{font-size:1.2rem}
.aside-box ul{padding-left:1.1em;margin:0}
.post-body{max-width:760px}
.post-body img{border-radius:12px;margin:1.2em 0}
.post-body h2{font-size:1.7rem;margin-top:1.5em}
.post-body h3{font-size:1.3rem;margin-top:1.3em}
.post-body figure{margin:1.4em 0}
.post-body figcaption{font-size:.85rem;color:var(--ink-soft)}
.notice{background:var(--gold-soft);border-radius:12px;padding:14px 18px;font-size:.95rem}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.suburbs{columns:3;padding-left:1.1em}
@media (max-width:960px){
  .drop-menu{position:static;width:auto;grid-template-columns:1fr;box-shadow:none;border:0;padding:0 0 0 12px;background:transparent}
  .nav .drop summary{display:block}
  .profile,.split,.loc-grid{grid-template-columns:minmax(0,1fr)}
  .profile-side{position:static}
  .suburbs{columns:2}
}
@media (max-width:640px){.suburbs{columns:1}.person{flex-direction:column}}

/* nav-nowrap */
.nav a,.nav .drop summary{white-space:nowrap}
@media (max-width:1180px) and (min-width:961px){.nav a,.nav .drop summary{padding:8px 9px;font-size:.9rem}.brand i{display:none}}
.split .prose{max-width:none}

/* ---- Wonderful Mind brand palette (closer to wonderfulmind.com.au, distinct from Early Learning) ---- */
:root{
  --cream:#FAFBF6; --sand:#E6F0D5; --linen:#FFFFFF; --mist:#E9EDEF;
  --gold:#F2BD1E; --gold-soft:#FCEFC4; --gold-deep:#7A5F0C;
  --ink:#2F2F30; --ink-soft:#56565A; --line:#D9E2CB;
  --teal:#56662B; --teal-dark:#3E3C17; --teal-soft:#E6F0D5;
  --olive:#5E6D2C; --olive-soft:#EEF4E2;
  --brand-ink:#3B2A20;
  --serif:'Montserrat',Arial,Helvetica,sans-serif;
}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.site-header{background:rgba(255,255,255,.96)}
.brand b{font:700 1.32rem/1 var(--serif);color:var(--brand-ink);letter-spacing:-.01em;text-transform:none}
.brand i{font:500 .7rem/1.2 var(--serif);letter-spacing:.01em;text-transform:none;color:var(--ink-soft);margin-top:5px}
.site-footer .brand b{color:#fff}
.btn-primary,.nav a.btn-primary{background:var(--gold);color:var(--ink)}
.btn-primary:hover,.nav a.btn-primary:hover{background:#E2AB0B;color:var(--ink)}
.btn-gold:hover{background:#E2AB0B;color:var(--ink)}
.hero h1 em{color:var(--olive)}
.eyebrow{color:var(--olive)}
.band-mist{background:var(--mist)}
.badge{color:var(--teal-dark);background:var(--sand)}
.chips-filter button[aria-pressed=true]{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}
.answer{border-left-color:var(--gold)}
/* registrations strip */
.reg-strip{padding:34px 0;background:var(--linen);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reg-strip .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.reg{display:flex;gap:18px;align-items:center}
.reg-logo{flex:none;width:150px;height:84px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.reg-logo img{max-width:100%;max-height:100%;object-fit:contain}
.reg-logo.placeholder{font:700 .78rem/1.3 var(--sans);color:var(--ink-soft);text-align:center;border-style:dashed}
.reg h2{font-size:1.15rem;margin:0 0 4px}
.reg p{margin:0;font-size:.95rem;color:var(--ink-soft)}
/* partner logos */
.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-top:28px;list-style:none;padding:0}
.logo-grid li{background:#fff;border:1px solid var(--line);border-radius:14px;height:104px;display:flex;align-items:center;justify-content:center;padding:14px 18px}
.logo-grid img{max-width:100%;max-height:72px;object-fit:contain}
.logo-grid.small li{height:88px}
.logo-grid.small img{max-height:56px}
.person img{background:var(--sand)}
@media (max-width:760px){.reg-strip .wrap{grid-template-columns:minmax(0,1fr)}.reg-logo{width:120px;height:72px}}

/* ---- logo banner ---- */
.logo-band{padding:28px 0 30px;background:var(--linen);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.logo-band-title{text-align:center;font-size:.92rem;color:var(--ink-soft);margin:0 0 16px}
.logo-band-title b{color:var(--ink);font-weight:700}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.marquee-track{display:flex;width:max-content;list-style:none;margin:0;padding:0;animation:wm-marquee 42s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee li{flex:none;width:calc((min(100vw,1160px) - 48px)/6);height:100px;padding:0 8px}
.marquee li span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.marquee img{max-width:100%;max-height:64px;object-fit:contain}
@keyframes wm-marquee{to{transform:translateX(-50%)}}
@media (max-width:760px){.marquee li{width:calc((100vw - 32px)/3);height:84px}.marquee img{max-height:50px}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}


/* ---- brand lockup: subtitle same size as name ---- */
.brand span{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand b{font:700 1.5rem/1 var(--serif);letter-spacing:-.01em;text-transform:none;white-space:nowrap}
.brand i{font:400 .717rem/1.1 Arial,Helvetica,sans-serif;font-style:normal;letter-spacing:0;text-transform:none;white-space:nowrap;margin-top:4px;color:var(--brand-ink)}
.site-header .brand i{color:var(--brand-ink)}
@media (max-width:1180px){.brand b{font-size:1.32rem}.brand i{font-size:.63rem}}
@media (max-width:640px){.brand b{font-size:1.16rem}.brand i{font-size:.555rem}}

/* ---- session photos ---- */
.wm-photo{filter:saturate(.9) sepia(.06) contrast(.98)}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.photo-strip{padding:40px 0 8px}
.photo-strip .photo-grid{margin-top:0}
.photo{margin:0}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);background:var(--sand)}
.photo figcaption{font-size:.88rem;color:var(--ink-soft);margin-top:8px}
@media (max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-grid.three .photo:nth-child(3){display:none}}

.photo-grid.one{grid-template-columns:minmax(0,760px)}
.photo-grid.one .photo img{aspect-ratio:3/2}
@media (max-width:760px){.photo-grid.one{grid-template-columns:minmax(0,1fr)}}

/* ---- enso ---- */
.enso{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
.enso-mark img{width:100%;max-width:260px;height:auto;filter:none}
.enso-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;margin:28px 0 0}
.enso-list div{padding-top:16px;border-top:1px solid var(--line)}
.enso-list dt{font:600 1.12rem/1.3 var(--serif);color:var(--ink);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.enso-list dt .badge{margin-top:0;font-weight:700}
.enso-list dd{margin:8px 0 0;color:var(--ink-soft)}
.enso-home{padding:56px 0}
.enso-home .enso{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:40px;max-width:900px}
.enso-home h2{font-size:clamp(1.5rem,2.6vw,2rem)}
@media (max-width:760px){.enso,.enso-home .enso{grid-template-columns:minmax(0,1fr);gap:20px}.enso-mark img{max-width:140px}.enso-list{grid-template-columns:minmax(0,1fr)}}

/* ---- menu sub + subtitle ---- */
.drop-menu a.sub{padding-left:26px!important;font-size:.9rem;color:var(--ink-soft)}
.drop-menu a.sub::before{content:"↳ ";color:var(--gold-deep)}
.brand i{display:block!important}
