:root{--navy:#242858;--ink:#30224d;--pink:#fc6681;--orange:#ff934c;--yellow:#fedb50;--blue:#55bddd;--mint:#70d2ad;--cream:#fffaf0;--white:#fff;--shadow:0 18px 50px rgba(36,40,88,.14);--scroll:0px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:17px/1.65 Nunito,sans-serif;overflow-x:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Baloo 2",sans-serif;line-height:1.05}h2{font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.04em;margin-bottom:22px}h3{font-size:1.65rem}a{color:inherit}.skip{position:fixed;z-index:999;left:20px;top:-60px;background:#fff;padding:12px 18px;border-radius:0 0 12px 12px}.skip:focus{top:0}.topbar{height:48px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:flex-end;gap:35px;color:#fff;background:var(--navy);font-size:14px}.topbar p{margin:0 auto 0 300px}.top-actions,.socials{display:flex;align-items:center}.socials{gap:8px}.socials a{width:29px;height:29px;border:1px solid #ffffff75;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-weight:800;font-size:12px;transition:.25s}.socials a:hover{transform:translateY(-3px) rotate(-6deg);background:#fff;color:var(--navy)}.register-mini{height:48px;background:linear-gradient(135deg,var(--pink),var(--orange));display:flex;align-items:center;gap:16px;padding:0 25px;text-decoration:none;font-weight:800}.register-mini span{font-size:22px;transition:.25s}.register-mini:hover span{transform:translateX(5px)}.site-header{height:102px;padding:0 5vw 0 310px;display:flex;align-items:center;justify-content:flex-end;background:#fff;position:relative;z-index:40;box-shadow:0 6px 25px #25285814}.logo{position:absolute;left:4vw;top:-42px;width:250px;z-index:2;filter:drop-shadow(0 8px 12px #26285822);transition:.25s}.logo:hover{transform:rotate(-2deg) scale(1.025)}.logo img{display:block;width:100%}.main-nav{display:flex;gap:clamp(18px,2.5vw,42px);align-items:center}.main-nav a{text-decoration:none;font-weight:800;font-size:15px;position:relative}.main-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:4px;border-radius:4px;background:var(--pink);transition:.25s}.main-nav a:hover:after{left:0;right:0}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:flex;align-items:center;padding:80px max(25px,8vw) 120px;isolation:isolate;background:linear-gradient(#aee8fa 0 57%,#83d275 57% 100%);overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-1;background:url(../images/original-playground.jpg) center/cover no-repeat;transform:translateY(calc(var(--scroll) * .25)) scale(1.05);filter:saturate(1.12)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 38%,rgba(255,255,255,.05) 69%)}.sky-layer{position:absolute;inset:0;z-index:-1;pointer-events:none}.sun{position:absolute;right:10%;top:10%;font-size:90px;filter:drop-shadow(0 10px 20px #ffbd1b44);animation:spin 22s linear infinite}.cloud{position:absolute;width:150px;height:45px;background:#ffffffb8;border-radius:50px;filter:blur(.2px);animation:cloud 14s ease-in-out infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.cloud:before{width:65px;height:65px;left:25px;bottom:0}.cloud:after{width:80px;height:80px;right:22px;bottom:0}.c1{top:18%;left:45%}.c2{top:32%;left:78%;transform:scale(.7);animation-delay:-7s}.hero-copy{max-width:660px;position:relative;z-index:2}.eyebrow,.kicker{display:inline-block;font-size:14px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--pink);margin-bottom:15px}.hero h1{font-size:clamp(3.6rem,7vw,7rem);letter-spacing:-.055em;margin:0 0 24px;color:var(--navy)}.hero h1 span{color:var(--pink);position:relative}.hero h1 span:after{content:"";position:absolute;left:2%;right:0;bottom:0;height:8px;background:var(--yellow);border-radius:50%;transform:rotate(-1deg);z-index:-1}.hero-copy>p{max-width:580px;font-size:19px;font-weight:700}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{appearance:none;border:0;text-decoration:none;border-radius:18px;padding:16px 24px;font:800 15px Nunito;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s}.primary{background:linear-gradient(135deg,var(--pink),var(--orange));color:#fff;box-shadow:0 10px 25px #fc66814a}.primary:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 16px 30px #fc668164}.play{background:#fff;color:var(--navy);box-shadow:var(--shadow)}.play:hover{transform:translateY(-4px)}.grass{position:absolute;bottom:-26px;left:-2%;right:-2%;height:80px;background:var(--cream);clip-path:polygon(0 60%,4% 40%,8% 66%,12% 35%,16% 62%,20% 42%,25% 65%,30% 32%,35% 64%,40% 38%,45% 68%,50% 32%,55% 62%,60% 38%,66% 66%,71% 35%,77% 62%,82% 38%,88% 66%,94% 38%,100% 58%,100% 100%,0 100%)}.float-sticker{position:absolute;z-index:3;font-size:45px;animation:bob 4s ease-in-out infinite;filter:drop-shadow(0 8px 6px #24285820)}.flower{right:12%;bottom:22%}.bee{right:39%;top:25%;font-size:32px;animation-delay:-1.5s}.star{right:5%;top:43%;color:var(--yellow);animation-delay:-2.5s}.scroll-cue{position:absolute;bottom:42px;left:50%;translate:-50% 0;color:var(--navy);font-size:13px;font-weight:900;text-decoration:none;letter-spacing:.08em;text-transform:uppercase}.scroll-cue span{display:inline-block;margin-left:7px;animation:bounce 1.5s infinite}.section-pad{padding:110px max(25px,7vw)}.section-title{text-align:center;max-width:800px;margin:0 auto 55px}.section-title>p{font-weight:900;color:var(--pink);text-transform:uppercase;letter-spacing:.16em;font-size:13px;margin-bottom:7px}.section-title>span{color:#6e6482}.quick-links{background:var(--cream)}.quick-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quick-card{min-height:315px;padding:35px 28px;border-radius:35px;text-decoration:none;box-shadow:var(--shadow);transition:.35s;position:relative;overflow:hidden}.quick-card:after{content:"";position:absolute;width:90px;height:90px;border:18px solid #ffffff55;border-radius:50%;right:-35px;top:-30px}.quick-card>span{font-size:50px;display:inline-block;transition:.35s}.quick-card h3{margin:18px 0 10px}.quick-card p{font-size:15px}.quick-card b{font-size:14px}.quick-card:hover{transform:translateY(-14px) rotate(1deg)}.quick-card:hover>span{transform:scale(1.2) rotate(-10deg)}.coral{background:#ffd3c9}.blue{background:#c8eff8}.yellow{background:#ffed9b}.mint{background:#c8f0df}.nursery-switch{background:#fff}.switcher{width:360px;margin:0 auto 55px;background:#edeefa;border-radius:999px;padding:7px;display:flex;position:relative}.switcher button{width:50%;height:50px;border:0;background:none;z-index:2;font:800 16px Nunito;color:var(--navy);cursor:pointer}.switcher i{position:absolute;top:7px;left:7px;width:calc(50% - 7px);height:50px;background:var(--yellow);border-radius:999px;box-shadow:0 7px 15px #2428581a;transition:.35s}.switcher button:nth-child(2).active~i{left:50%;background:#f8a7b7}.place{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;animation:pop .45s both}.place[hidden]{display:none}.photo-placeholder{min-height:260px;border:3px dashed #ffffffcc;border-radius:28px;background:linear-gradient(135deg,#7ed0e8,#4ca7c7);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;box-shadow:inset 0 0 0 8px #ffffff22,0 20px 40px #24285818;overflow:hidden;position:relative}.photo-placeholder:before,.photo-placeholder:after{content:"";position:absolute;border-radius:50%;background:#ffffff1e}.photo-placeholder:before{width:180px;height:180px;left:-70px;bottom:-90px}.photo-placeholder:after{width:110px;height:110px;right:-35px;top:-35px}.photo-placeholder span{font-size:12px;font-weight:900;letter-spacing:.16em;background:#fff;color:var(--navy);border-radius:999px;padding:6px 12px;margin-bottom:12px}.photo-placeholder b{font-family:"Baloo 2";font-size:24px;line-height:1.1;max-width:430px}.photo-placeholder small{max-width:460px;margin-top:12px;opacity:.9}.photo-placeholder.pink,.pink.photo-placeholder{background:linear-gradient(135deg,#fc94a7,#eb647d)}.photo-placeholder.yellow{background:linear-gradient(135deg,#ffd659,#f6ad3b)}.photo-placeholder.mint{background:linear-gradient(135deg,#83dfbb,#48b990)}.photo-placeholder.blue{background:linear-gradient(135deg,#7bcce5,#477ebf)}.landscape{min-height:430px}.portrait{min-height:540px}.square{aspect-ratio:1;min-height:0}.small{min-height:160px;border-radius:16px}.small b{font-size:19px}.place-copy h3{font-size:3.6rem;margin:5px 0 15px}.scribble{font-family:"Baloo 2";color:var(--pink);font-weight:800}.mini-links{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.mini-links a{background:#f3f1f8;border-radius:999px;padding:8px 14px;text-decoration:none;font-size:13px;font-weight:800}.mini-links a:hover{background:var(--yellow)}.text-link{font-weight:900;color:var(--pink);text-decoration-thickness:2px;text-underline-offset:5px}.promise-band{background:var(--yellow);overflow:hidden;transform:rotate(-1.5deg) scale(1.03);position:relative;z-index:2}.promise-track{display:flex;gap:35px;align-items:center;width:max-content;padding:24px 0;animation:marquee 22s linear infinite;font:800 clamp(1.7rem,3vw,3rem)/1 "Baloo 2"}.promise-track i{font-style:normal;color:var(--pink)}.aim{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center;background:#fffaf0}.aim-copy{max-width:690px}.aim-copy>p:not(.kicker){font-size:18px}.tick-list{list-style:none;padding:0;margin:25px 0 35px}.tick-list li{padding:10px 0 10px 38px;position:relative;font-weight:700}.tick-list li:before{content:"✓";position:absolute;left:0;top:8px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:#fff}.aim-visual{position:relative}.aim-visual .portrait{transform:rotate(2deg)}.note{position:absolute;left:-70px;bottom:35px;width:300px;background:var(--yellow);padding:23px 28px;border-radius:8px;box-shadow:var(--shadow);font:800 18px "Baloo 2";transform:rotate(-4deg)}.rooms{background:var(--navy);color:#fff}.light>p{color:var(--yellow)}.light>span{color:#c9cbe7}.doors{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;align-items:start}.door{background:#fff;color:var(--ink);border-radius:150px 150px 25px 25px;padding:15px;transition:.3s}.door:nth-child(2){margin-top:50px}.door button{width:100%;min-height:390px;border:0;border-radius:140px 140px 16px 16px;padding:40px 20px 25px;background:#cbeefa;color:var(--ink);font-family:Nunito;cursor:pointer;display:flex;flex-direction:column;align-items:center;position:relative}.door:nth-child(2) button{background:#ffd0d8}.door:nth-child(3) button{background:#ffeb99}.door-art{font-size:60px}.door small{margin-top:15px;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.door h3{font-size:2.2rem;margin:10px 0}.door button i{display:block;width:12px;height:12px;background:var(--pink);border-radius:50%;position:absolute;right:30px;top:52%}.door button b{margin-top:auto}.door:hover{transform:translateY(-8px) rotate(-1deg)}.door-info{display:grid;grid-template-rows:0fr;overflow:hidden;transition:.45s;padding:0 15px}.door-info>*{min-height:0}.door.open .door-info{grid-template-rows:1fr;padding:22px 15px 12px}.door.open{border-radius:150px 150px 25px 25px}.stats{background:var(--yellow);display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:center}.stats-intro h2{font-size:clamp(2.8rem,4.8vw,5rem)}.stats-intro p{font-weight:900;color:#a24d58}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{text-align:center;background:#fff;min-height:230px;border-radius:50% 45% 48% 42%;display:flex;flex-direction:column;justify-content:center;padding:20px;box-shadow:0 15px 0 #f1b83d;transition:.3s}.stat:nth-child(even){transform:translateY(35px)}.stat span{font:800 clamp(3rem,5vw,5rem)/1 "Baloo 2";color:var(--pink)}.stat b{font-size:14px}.stat.landed{animation:land .5s}.fact-check{grid-column:1/-1;text-align:right;margin:30px 0 0;font-size:12px;opacity:.65}.gallery{background:#fffaf0}.polaroids{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}.polaroid{background:#fff;padding:12px 12px 25px;box-shadow:var(--shadow);transition:.35s}.polaroid:hover{transform:rotate(0) translateY(-10px)!important;z-index:2}.polaroid .photo-placeholder{min-height:230px;border-radius:2px}.polaroid p{font:800 20px "Baloo 2";text-align:center;margin:18px 0 0}.p1{grid-column:1/5;transform:rotate(-4deg)}.p2{grid-column:5/9;transform:rotate(3deg);margin-top:50px}.p3{grid-column:9/13;transform:rotate(-2deg)}.p4{grid-column:3/7;transform:rotate(2deg)}.p5{grid-column:7/11;transform:rotate(-3deg);margin-top:25px}.food{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;background:#eaf8f2}.food-card{background:#fff;border-radius:40px;padding:60px;box-shadow:var(--shadow);position:relative}.food-card .plate{position:absolute;right:35px;top:-45px;font-size:75px;animation:bob 4s infinite}.team{background:#fff}.team-grid{max-width:950px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px}.team-card{text-align:center}.team-card .square{border-radius:50%}.team-card h3{margin:24px 0 4px}.training{background:linear-gradient(145deg,#fc6781,#f28c4d);color:#fff;display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:center}.training-shape{max-width:700px}.training-shape .kicker{color:var(--yellow)}.light-button{background:#fff;color:var(--pink)}.parent-info{background:#f4f1fb}.info-grid{max-width:950px;margin:auto;display:grid;gap:12px}.info-grid details{background:#fff;border-radius:20px;padding:0 25px;box-shadow:0 8px 25px #2428580b}.info-grid summary{list-style:none;padding:22px 0;font:800 20px "Baloo 2";display:flex;justify-content:space-between;cursor:pointer}.info-grid summary::-webkit-details-marker{display:none}.info-grid summary span{color:var(--pink)}.register{background:#c6edf8;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start;position:relative}.register:before{content:"✦";position:absolute;font-size:120px;color:#ffffff60;left:3%;bottom:2%;animation:spin 20s linear infinite}.register-copy{position:sticky;top:50px}.register-copy>p{font-weight:900;color:var(--pink);text-transform:uppercase;letter-spacing:.15em}.enquiry{background:#fff;padding:45px;border-radius:35px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry label{font-size:14px;font-weight:900}.enquiry input,.enquiry select,.enquiry textarea{display:block;width:100%;border:2px solid #ebe8f2;border-radius:13px;padding:13px;margin-top:6px;font:inherit;color:var(--ink);background:#fff}.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{outline:3px solid #fedb5077;border-color:var(--yellow)}.wide{grid-column:1/-1}.form-note{margin:0;color:#298367;font-weight:800}.enquiry.sent{animation:land .5s}.contact{background:var(--navy);color:#fff}.contact>div:first-child{max-width:800px}.contact .kicker{color:var(--yellow)}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.contact article{background:#fff;color:var(--ink);border-radius:25px;padding:30px}.contact article>span{font-size:35px}footer{padding:65px 7vw;text-align:center;background:#fffaf0}footer img{width:190px}footer nav{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin:20px}footer nav a{font-weight:800}footer small{opacity:.7}.chat-bubble{position:fixed;right:25px;bottom:25px;z-index:80;border:0;border-radius:999px;background:var(--pink);color:#fff;box-shadow:0 12px 35px #24285855;padding:12px 18px 12px 12px;display:flex;align-items:center;gap:9px;font:800 14px Nunito;cursor:pointer}.chat-bubble span{width:36px;height:36px;display:grid;place-items:center;background:#fff;border-radius:50%}.chat-bubble:hover{animation:wiggle .5s}.chat{position:fixed;right:25px;bottom:92px;width:min(340px,calc(100vw - 40px));z-index:79;background:#fff;border-radius:30px;padding:30px;text-align:center;box-shadow:0 25px 70px #24285848;animation:pop .35s}.chat-face{font-size:60px}.chat h2{font-size:2rem;margin:4px}.chat a{display:block;background:var(--yellow);border-radius:14px;padding:12px;font-weight:900;text-decoration:none}.chat-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer}.video-modal{border:0;border-radius:35px;padding:0;width:min(720px,90vw);box-shadow:0 30px 100px #0007}.video-modal::backdrop{background:#242858bb}.video-modal>button{position:absolute;right:15px;top:10px;z-index:2;border:0;background:#fff;width:38px;height:38px;border-radius:50%;font-size:25px;cursor:pointer}.video-placeholder{min-height:420px;background:linear-gradient(145deg,var(--blue),var(--navy));color:#fff;display:grid;place-content:center;text-align:center;padding:40px}.video-placeholder>span{font-size:70px}.reveal{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .65s,transform .65s}.reveal.seen{opacity:1;transform:none}.quick-card:nth-child(2),.stat:nth-child(2),.polaroid:nth-child(2){transition-delay:.08s}.quick-card:nth-child(3),.stat:nth-child(3),.polaroid:nth-child(3){transition-delay:.16s}.quick-card:nth-child(4),.stat:nth-child(4),.polaroid:nth-child(4){transition-delay:.24s}@keyframes bob{50%{transform:translateY(-15px) rotate(5deg)}}@keyframes bounce{50%{transform:translateY(7px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cloud{50%{translate:25px 6px}}@keyframes pop{0%{opacity:0;transform:scale(.9) translateY(20px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes land{50%{transform:scale(1.12)}}@keyframes wiggle{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}
@media(max-width:1050px){.topbar p{margin-left:240px}.site-header{padding-left:270px}.logo{width:220px}.quick-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.stat-grid{max-width:850px}.aim{gap:45px}.main-nav{gap:18px}.main-nav a{font-size:14px}}
@media(max-width:780px){.topbar{height:42px;padding:0 14px}.topbar p{display:none}.register-mini{height:42px;padding:0 15px}.site-header{height:85px;padding:0 20px}.logo{left:15px;top:-25px;width:160px}.menu-toggle{display:flex;margin-left:auto;width:58px;height:58px;border:0;border-radius:18px;background:var(--yellow);flex-direction:column;justify-content:center;align-items:center;gap:4px}.menu-toggle span{width:23px;height:2px;background:var(--navy)}.menu-toggle b{font-size:9px;margin-top:2px}.main-nav{position:absolute;top:85px;left:15px;right:15px;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:20px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:8px}.hero{min-height:680px;padding:90px 25px 125px;align-items:flex-end}.hero:after{background:linear-gradient(0deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.05) 90%)}.hero h1{font-size:3.6rem}.sun{right:5%;top:5%;font-size:65px}.flower{right:8%;bottom:52%}.bee{right:68%;top:25%}.quick-grid,.place,.aim,.food,.training,.register{grid-template-columns:1fr}.section-pad{padding:80px 22px}.place{gap:35px}.place-copy h3{font-size:2.8rem}.aim-visual{margin-top:20px}.note{left:10px;bottom:20px;width:80%}.doors{grid-template-columns:1fr;max-width:400px}.door:nth-child(2){margin-top:0}.stat-grid{grid-template-columns:1fr 1fr}.stat:nth-child(even){transform:none}.polaroids{display:grid;grid-template-columns:1fr 1fr}.p1,.p2,.p3,.p4,.p5{grid-column:auto;margin-top:0}.team-grid{gap:20px}.register-copy{position:static}.contact-cards{grid-template-columns:1fr}.fact-check{text-align:left}.landscape{min-height:300px}}
@media(max-width:520px){body{font-size:16px}.socials a{width:26px;height:26px}.register-mini{font-size:12px}.top-actions{width:100%;justify-content:space-between}.logo{width:145px;top:-20px}.site-header{height:78px}.main-nav{top:78px}.hero{min-height:710px}.hero-copy>p{font-size:16px}.hero-buttons{display:grid}.button{width:100%}.quick-grid,.team-grid,.polaroids{grid-template-columns:1fr}.quick-card{min-height:260px}.switcher{width:100%}.promise-track{padding:18px 0}.aim .portrait{min-height:430px}.doors{max-width:340px}.stat{min-height:170px}.stat-grid{gap:10px}.stat b{font-size:12px}.food-card{padding:40px 28px}.food-card .plate{font-size:55px}.training .portrait{min-height:420px}.enquiry{grid-template-columns:1fr;padding:28px 20px}.enquiry label,.wide{grid-column:1}.contact article{padding:24px}.chat-bubble b{display:none}.chat-bubble{padding:10px}.chat-bubble span{width:42px;height:42px}.p1,.p2,.p3,.p4,.p5{transform:rotate(-1deg)}h2{font-size:2.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Final layout and performance polish */
.logo:before{content:"";position:absolute;left:26%;right:26%;top:50%;bottom:2%;background:#fff;border-radius:3px;z-index:0}
.logo img{position:relative;z-index:1}
.inner-page .section-title h2{display:block}
.inner-page .section-title>span{display:block;clear:both;max-width:760px;margin:18px auto 0;line-height:1.45}
.door>.door-info{justify-content:space-evenly;gap:12px;padding:44px 30px 28px!important}
.door-info h3{font-size:clamp(2rem,3vw,2.65rem)}
.door-info p{font-size:18px;max-width:430px}
.detail-section,.parent-info,.food,.gallery{content-visibility:auto;contain-intrinsic-size:700px}

/* Refined hero and room reveal */
.hero-art{filter:saturate(1.4) contrast(1.06)}
.hero:after{background:linear-gradient(90deg,rgba(255,255,255,.80) 0%,rgba(255,255,255,.52) 36%,rgba(255,255,255,0) 65%)}
.hero h1{font-size:clamp(3.4rem,6.2vw,6.2rem)}
.button.second{background:linear-gradient(135deg,#55bddd,#3e85bd)}
.door-info{display:none;padding:0 15px;overflow:hidden}
.door.open .door-info{display:block;padding:22px 15px 12px;animation:pop .35s both}
.back-to-top{position:fixed;left:24px;bottom:24px;z-index:70;width:54px;height:54px;border:0;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:24px;box-shadow:var(--shadow);cursor:pointer;transition:.25s}
.back-to-top:hover{transform:translateY(-5px) rotate(8deg)}

/* Inner pages */
.inner-page .site-header{position:relative}.inner-hero{min-height:620px;padding:95px max(25px,7vw);display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;background:#fffaf0;overflow:hidden;position:relative}.inner-hero:before{content:"";position:absolute;width:380px;height:380px;border-radius:48% 52% 44% 56%;background:#fedb5035;left:-170px;top:-180px;animation:spin 35s linear infinite}.inner-hero>div{position:relative}.inner-hero h1{font-size:clamp(3.5rem,6vw,6.5rem);letter-spacing:-.055em;margin-bottom:24px}.inner-hero h1 span{color:var(--pink)}.inner-hero>div:first-child>p:not(.eyebrow){font-size:19px;max-width:620px}.inner-hero.bonnyrigg{background:#fff3f5}.inner-hero.about-hero{background:#fff9df}.inner-hero.training-hero{background:#eaf7fb}.inner-hero.contact-hero{background:#eaf8f2}.page-jump{position:sticky;top:0;z-index:35;padding:14px 20px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;background:#fff;box-shadow:0 8px 25px #24285815}.page-jump a{padding:8px 16px;border-radius:999px;background:#f3f1f8;text-decoration:none;font-size:14px;font-weight:900}.page-jump a:hover{background:var(--yellow)}.detail-section{background:#fff}.detail-section.tint{background:#fffaf0}.room-detail-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}.room-detail-grid.three{grid-template-columns:repeat(3,1fr)}.room-detail-grid article{padding:35px;border-radius:30px;background:#f3f1f8;box-shadow:0 12px 30px #2428580e}.room-detail-grid article:nth-child(2){background:#fff0f3}.room-detail-grid article:nth-child(3){background:#fff9df}.room-detail-grid article:nth-child(4){background:#eaf8f2}.room-detail-grid article>h3{margin-bottom:0}.room-detail-grid article>b{display:block;color:var(--pink);margin-bottom:18px}.room-detail-grid .photo-placeholder{min-height:230px;margin-top:24px}.team-wide{max-width:1000px;min-height:420px;margin:0 auto 35px}.centre-copy{max-width:860px;margin:25px auto;text-align:center}.fee-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:25px}.fee-grid article{background:#fff;border:3px solid #f0edf6;border-radius:28px;padding:30px;box-shadow:var(--shadow)}.fee-grid h3{text-align:center}.fee-grid p{display:grid;grid-template-columns:1fr auto auto;gap:18px;border-top:1px solid #ebe8f2;padding-top:14px;align-items:center}.fee-grid strong{font-size:20px;color:var(--pink)}.photo-brief-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.split-copy{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr .8fr;gap:65px;align-items:center}.curriculum{background:var(--navy);color:#fff}.value-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.value-grid article{padding:30px 25px;background:#fff;color:var(--ink);border-radius:28px}.value-grid article>span{font-size:40px}.price-note{display:grid;gap:3px;background:var(--yellow);padding:25px;border-radius:25px;margin-top:28px}.price-note strong{font:800 3rem/1 "Baloo 2"}.price-note span{font-size:13px}.after-school{background:var(--navy);color:#fff}.activity-grid{max-width:1100px;margin:0 auto 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.activity-grid article{background:#fff;color:var(--ink);padding:30px;text-align:center;border-radius:28px}.activity-grid span{font-size:48px}.light-copy{color:#fff}.inner-page footer{display:grid;justify-items:center;gap:9px}.inner-page footer small{display:block}
@media(max-width:900px){.inner-hero,.split-copy{grid-template-columns:1fr}.inner-hero{padding-top:80px}.room-detail-grid.three{grid-template-columns:1fr 1fr}.value-grid,.activity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.inner-hero{padding:70px 22px}.inner-hero h1{font-size:3.5rem}.room-detail-grid,.room-detail-grid.three,.fee-grid,.photo-brief-grid,.value-grid,.activity-grid{grid-template-columns:1fr}.page-jump{position:relative}.fee-grid p{grid-template-columns:1fr auto;gap:5px 12px}.fee-grid p span{grid-row:2}.team-wide{min-height:300px}.back-to-top{left:16px;bottom:16px}}

/* Playful compact header */
.topbar{height:36px;padding-right:max(18px,4vw)}
.topbar p{margin-left:245px;font-size:13px}
.register-mini{height:36px;padding:0 21px}
.socials a{width:25px;height:25px}
.site-header{height:74px;padding-left:255px}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:22px;background:#fff;clip-path:polygon(0 0,100% 0,100% 20%,95% 70%,90% 28%,84% 76%,78% 33%,72% 82%,66% 35%,60% 74%,54% 28%,48% 78%,42% 33%,36% 72%,30% 28%,24% 80%,18% 31%,12% 72%,6% 25%,0 65%);z-index:-1}
.logo{width:215px;top:-27px;left:4.5vw;background:#fff;padding:4px 10px 8px;border-radius:0 0 22px 22px;filter:drop-shadow(0 10px 12px rgba(36,40,88,.16))}
.logo img{filter:contrast(1.07) saturate(1.05)}
.main-nav a{font-size:14px}

/* Hero sticker, signs and cloud */
.hero{padding-top:75px}
.hero .eyebrow{background:#fff6c9;color:#e64e70;padding:10px 18px 9px;border-radius:8px;box-shadow:5px 6px 0 #fedb50;transform:rotate(-1.5deg);letter-spacing:.13em;position:relative}
.hero .eyebrow:after{content:"☀";position:absolute;right:-24px;top:-22px;font-size:30px;color:#ffb52e;animation:bob 3.8s ease-in-out infinite}
.hero-buttons{align-items:center;gap:20px}
.nursery-sign{border-radius:8px 8px 15px 15px;position:relative;border:4px solid #fff6;text-shadow:0 1px 0 #0001}
.nursery-sign:before,.nursery-sign:after{content:"";position:absolute;top:-24px;width:3px;height:24px;background:#77543d}
.nursery-sign:before{left:22%}.nursery-sign:after{right:22%}
.sign-left{transform:rotate(-2deg)}.sign-right{transform:rotate(2deg)}
.nursery-sign:hover{transform:translateY(-6px) rotate(0)}
.video-cloud{border-radius:50% 45% 52% 44%;padding:22px 29px;position:relative;animation:cloud-button 5s ease-in-out infinite}
.video-cloud:before,.video-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%;z-index:-1}
.video-cloud:before{width:44px;height:44px;left:17%;top:-14px}.video-cloud:after{width:58px;height:58px;right:14%;top:-22px}
.video-cloud span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--yellow);margin-right:9px;animation:pulse-play 2.2s ease-in-out infinite}

/* Living statistics */
.stat{animation:egg-float 6s ease-in-out infinite}
.stat:nth-child(2){animation-delay:-1.5s}.stat:nth-child(3){animation-delay:-3s}.stat:nth-child(4){animation-delay:-4.5s}
.stat:hover{box-shadow:0 20px 0 #f1b83d;filter:saturate(1.1)}
.stat:hover span{color:var(--blue)}

/* Clearly recognisable classroom doors */
.doors{align-items:end}
.door{border-radius:160px 160px 10px 10px;padding:16px 16px 20px;box-shadow:inset 0 -8px 0 #d9d8e5,0 20px 0 #171b46}
.door button{min-height:470px;border-radius:145px 145px 4px 4px;border:3px solid #ffffff88;box-shadow:inset -10px 0 0 rgba(36,40,88,.08),inset 0 -12px 0 rgba(36,40,88,.08)}
.door-window{width:88px;height:88px;display:grid;place-items:center;border:8px solid #fff;border-radius:50%;background:#ffffff80;font-size:44px;box-shadow:inset 0 4px 12px #24285818}
.door h3{font-size:3.2rem;line-height:.72;margin:22px 0}
.door h3 em{font-style:normal;font-size:.68em}
.door-knob{width:24px!important;height:24px!important;right:25px!important;top:57%!important;border:5px solid #fff8;background:#fc6681!important;box-shadow:0 4px 8px #24285833;animation:knob-turn 4.5s ease-in-out infinite}
.door-glow{position:absolute;left:10%;right:10%;bottom:0;height:6px;background:#fff7a8;box-shadow:0 0 22px 8px #fff7a888;border-radius:50%;animation:glow 2.8s ease-in-out infinite}
.door button>b{background:#fff;padding:8px 16px;border-radius:999px;box-shadow:0 5px 10px #24285815}
.door.open .door-knob{transform:rotate(40deg)}

/* Shorter homepage close */
.section-action{text-align:center;margin-top:50px}
.more-links{background:var(--navy);color:#fff}
.more-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.more-grid a{color:var(--ink);background:#fff;padding:32px;border-radius:28px;text-decoration:none;transition:.3s}
.more-grid a:nth-child(2){background:#fff0f3}.more-grid a:nth-child(3){background:#fff9df}
.more-grid a>span{font-size:45px}.more-grid a:hover{transform:translateY(-9px) rotate(1deg)}
.home-cta{display:flex;align-items:center;justify-content:center;gap:55px;background:#c7eef8;position:relative;overflow:hidden}
.home-cta h2{margin:0;max-width:700px}.home-cta p{margin:0;color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.cta-sun{font-size:90px;animation:bob 4s ease-in-out infinite}

@keyframes cloud-button{50%{transform:translateY(-6px)}}
@keyframes pulse-play{50%{transform:scale(1.12)}}
@keyframes egg-float{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -9px;rotate:1deg}}
@keyframes knob-turn{0%,82%,100%{rotate:0deg}88%{rotate:22deg}94%{rotate:-5deg}}
@keyframes glow{50%{opacity:.45;transform:scaleX(.85)}}
@media(max-width:1050px){.topbar p{margin-left:220px}.site-header{padding-left:230px}.logo{width:195px}.home-cta{gap:25px}}
@media(max-width:780px){.topbar{height:36px}.register-mini{height:36px}.site-header{height:68px}.site-header:after{bottom:-13px}.logo{width:150px;top:-24px}.main-nav{top:68px}.hero-buttons{align-items:stretch}.nursery-sign,.sign-left,.sign-right{transform:none}.more-grid{grid-template-columns:1fr}.home-cta{flex-direction:column;text-align:center;gap:20px}.cta-sun{font-size:65px}.door button{min-height:420px}}
@media(max-width:520px){.site-header{height:64px}.main-nav{top:64px}.hero .eyebrow{font-size:11px}.video-cloud{border-radius:30px}.video-cloud:before,.video-cloud:after{display:none}.home-cta h2{font-size:2.5rem}}

/* Final integrated header */
.topbar{position:absolute;z-index:55;right:4vw;top:0;height:86px;padding:0;background:transparent;color:var(--navy);pointer-events:none}
.topbar>p{display:none}
.top-actions{gap:14px;pointer-events:auto}
.socials a{width:31px;height:31px;border:2px solid #24285855;color:var(--navy);background:#fff}
.register-mini{height:44px;border-radius:14px;padding:0 21px;color:#fff;box-shadow:0 8px 20px #fc668135}
.site-header{height:86px;padding:0 430px 0 235px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 8px 25px #24285812}
.site-header:after{bottom:-12px;height:16px;clip-path:ellipse(58% 70% at 50% 0%)}
.logo{width:185px;top:1px;left:4vw;padding:0;background:transparent;border-radius:0;filter:drop-shadow(0 8px 9px rgba(36,40,88,.15));transform:translateY(0)}
.logo img{height:118px;width:auto;max-width:100%;object-fit:contain;object-position:top center}
.logo:hover{transform:translateY(1px) rotate(-1deg) scale(1.015)}
.main-nav{margin-right:auto;gap:clamp(16px,1.8vw,31px)}

/* Calm, deliberate hero composition */
.hero{min-height:720px;padding-top:85px}
.hero-copy{max-width:790px}
.hero h1{font-size:clamp(3.8rem,6.6vw,6.7rem);line-height:.86;margin-bottom:18px}
.hero h1 b{display:inline-block;white-space:nowrap;font:inherit;color:var(--navy)}
.hero h1 span{display:inline-block;color:var(--pink)}
.hero-promise{display:inline-block!important;background:#fff9da;border-left:7px solid var(--yellow);padding:8px 16px;margin:2px 0 16px!important;font:800 17px "Baloo 2";transform:rotate(-1deg);box-shadow:4px 5px 0 #ffffff70}
.hero-buttons{gap:18px;margin-top:16px}
.choose-button{border-radius:18px;padding:17px 25px}
.choose-button span{font-size:20px;margin-left:12px;animation:bounce 1.7s ease-in-out infinite}
.video-cloud{margin-left:10px}
.sun-character{position:absolute;right:9%;top:10%;width:100px;height:100px;border-radius:50%;background:#ffd849;border:7px solid #ffbd32;box-shadow:0 0 0 15px #ffd84922,0 12px 20px #876c1b22;animation:sun-float 6s ease-in-out infinite}
.sun-character:before{content:"";position:absolute;inset:-27px;background:repeating-conic-gradient(from 4deg,#ffca35 0 7deg,transparent 7deg 22.5deg);z-index:-1;border-radius:50%}
.sun-character .eye{position:absolute;top:33px;width:10px;height:14px;border-radius:50%;background:var(--navy)}
.sun-character .eye.left{left:27px}.sun-character .eye.right{right:27px}
.sun-character .smile{position:absolute;width:35px;height:18px;left:50%;top:49px;translate:-50% 0;border-bottom:5px solid #d96b54;border-radius:0 0 50% 50%}
.sun-character:hover .eye{height:4px;top:39px}

/* One clear room instruction */
.peek-sticker{display:inline-block!important;background:var(--yellow);color:var(--navy)!important;padding:11px 24px;border-radius:8px;box-shadow:6px 7px 0 #fc6681;transform:rotate(-2deg);font:800 18px "Baloo 2";animation:sticker-rock 5s ease-in-out infinite}
.gallery-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

@keyframes sun-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@keyframes sticker-rock{0%,85%,100%{transform:rotate(-2deg)}90%{transform:rotate(1deg) scale(1.03)}95%{transform:rotate(-3deg)}}
@media(max-width:1180px){.site-header{padding-right:385px;padding-left:205px}.logo{width:165px}.main-nav{gap:14px}.main-nav a{font-size:13px}.topbar{right:2vw}.register-mini{padding:0 15px}}
@media(max-width:900px){.topbar{right:92px;height:68px}.topbar .socials{display:none}.register-mini{height:40px}.site-header{height:68px;padding:0 20px}.site-header:after{bottom:-10px}.logo{width:145px;top:0}.logo img{height:100px}.menu-toggle{display:flex;margin-left:auto}.main-nav{top:68px;margin:0}.hero{padding-top:110px}.sun-character{width:76px;height:76px;right:6%;top:8%}.sun-character .eye{top:24px}.sun-character .eye.left{left:19px}.sun-character .eye.right{right:19px}.sun-character .smile{top:39px}}
@media(max-width:620px){.topbar{right:78px}.register-mini{font-size:11px;padding:0 10px}.hero h1{font-size:3.55rem;line-height:.9}.hero h1 b{white-space:normal}.hero-promise{font-size:15px}.sun-character{display:none}.gallery-actions{display:grid}.gallery-actions .button{width:100%}}

/* Living illustrated hero scene */
.hero-copy{z-index:8}
.hero-promise{margin:0 0 24px!important;background:transparent;border:0;padding:3px 6px 9px;box-shadow:none;transform:rotate(-1deg);font-size:18px;position:relative}
.hero-promise:before{content:"";position:absolute;left:0;bottom:2px;width:0;height:7px;background:var(--yellow);border-radius:50%;z-index:-1;animation:draw-line 1.1s .45s ease-out forwards}
.hero-promise:after{content:"✦";position:absolute;right:-22px;top:-9px;color:var(--orange);font-size:22px;animation:twinkle 2.8s ease-in-out infinite}
.hero-buttons{position:absolute;left:calc(100% + 70px);top:58%;margin:0;width:360px;z-index:12}
.video-cloud{width:100%;min-height:76px;justify-content:center;font-size:17px;box-shadow:0 15px 30px #24285822}
.video-cloud:hover{animation:none;transform:translateY(-8px) scale(1.025)}
.sky-layer{z-index:2;overflow:hidden}
.cloud{opacity:.66;filter:none}.c1{top:13%;left:-12%;animation:cloud-cross-one 38s linear infinite}.c2{top:29%;left:-18%;transform:scale(.62);animation:cloud-cross-two 51s 9s linear infinite}.c3{top:8%;left:-20%;transform:scale(.42);animation:cloud-cross-three 44s 22s linear infinite}
.sun-character{right:10%;top:13%;width:108px;height:108px;background:#ffd94f;border-color:#f8bb36;z-index:4}
.sun-character .cheek{position:absolute;top:54px;width:13px;height:7px;border-radius:50%;background:#f39075;opacity:.72}.sun-character .cheek.one{left:18px}.sun-character .cheek.two{right:18px}
.living-scene{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.leaf-cluster{position:absolute;width:145px;height:90px;transform-origin:50% 100%;animation:leaves-sway 5.5s ease-in-out infinite}
.leaf-cluster i{position:absolute;width:55px;height:32px;background:#a5a85e;border-radius:70% 15% 70% 20%;transform:rotate(-20deg)}
.leaf-cluster i:nth-child(2){left:42px;top:7px;transform:rotate(18deg);background:#b6b669}.leaf-cluster i:nth-child(3){left:82px;top:28px;transform:rotate(-8deg);background:#929950}.leaf-cluster i:nth-child(4){left:30px;top:44px;transform:rotate(34deg);background:#aeb064}.leaf-cluster i:nth-child(5){left:74px;top:55px;transform:rotate(-35deg);background:#c1bc70}
.leaves-one{left:7%;top:9%}.leaves-two{left:42%;top:35%;transform:scale(.65);animation-delay:-2.6s}
.falling-leaf{position:absolute;width:16px;height:10px;background:#b0ad61;border-radius:90% 10% 90% 10%;opacity:0}.leaf-a{left:22%;top:19%;animation:leaf-fall 12s 3s ease-in infinite}.leaf-b{left:48%;top:34%;animation:leaf-fall-two 15s 9s ease-in infinite}
.swing{position:absolute;width:72px;height:180px;transform-origin:50% 0;animation:swing-gentle 3.8s ease-in-out infinite}
.swing .rope{position:absolute;top:0;width:3px;height:155px;background:#52abc3;border-radius:2px}.swing .r1{left:13px}.swing .r2{right:13px}.swing b{position:absolute;bottom:13px;left:5px;width:62px;height:12px;border-radius:3px 3px 7px 7px;background:#e88662;box-shadow:0 5px 0 #c66c51}
.swing-one{left:21.2%;top:47%;animation-delay:-1s}.swing-two{left:34.2%;top:51%;transform:scale(.8);animation-delay:-2.7s}
.nursery-door{position:absolute;left:39.1%;top:48%;width:50px;height:118px;perspective:220px;filter:drop-shadow(0 0 12px #ffe772aa)}
.nursery-door:before{content:"";position:absolute;inset:-5px;background:#fff08a;opacity:0;border-radius:4px;animation:door-glow 13s 3.5s ease-in-out infinite}
.nursery-door i{position:absolute;inset:0;background:linear-gradient(90deg,#5dc9ce,#8de3dc);border:4px solid #ebc17e;transform-origin:left center;animation:door-open 13s 3.5s ease-in-out infinite}
.nursery-door i:after{content:"";position:absolute;right:5px;top:54%;width:5px;height:5px;border-radius:50%;background:#fc6681}
.butterfly{position:absolute;left:-90px;top:27%;width:48px;height:auto;overflow:visible;animation:butterfly-path 19s 7s linear infinite;opacity:0}.butterfly .wing{fill:#fc6681;transform-origin:40px 29px;animation:wing-flap .22s ease-in-out infinite alternate}.butterfly .w2,.butterfly .w4{fill:#ffca3f}.butterfly .w3{fill:#5fc7da}.butterfly ellipse{fill:#30224d}.butterfly .antenna{stroke:#30224d;stroke-width:2;fill:none;stroke-linecap:round}
@keyframes draw-line{to{width:100%}}
@keyframes twinkle{50%{transform:rotate(25deg) scale(1.25);opacity:.55}}
@keyframes cloud-cross-one{from{translate:-5vw 0}to{translate:125vw 6px}}
@keyframes cloud-cross-two{from{translate:-10vw 0}to{translate:140vw -4px}}
@keyframes cloud-cross-three{from{translate:-5vw 0}to{translate:145vw 3px}}
@keyframes leaves-sway{0%,100%{rotate:-1.5deg}50%{rotate:2.5deg;translate:2px 0}}
@keyframes leaf-fall{0%,72%{opacity:0;transform:translate(0,0) rotate(0)}75%{opacity:.8}100%{opacity:0;transform:translate(130px,320px) rotate(420deg)}}
@keyframes leaf-fall-two{0%,76%{opacity:0;transform:translate(0,0) rotate(0)}79%{opacity:.7}100%{opacity:0;transform:translate(-80px,280px) rotate(-360deg)}}
@keyframes swing-gentle{0%,100%{rotate:-2.5deg}50%{rotate:2.5deg}}
@keyframes door-open{0%,76%,100%{transform:rotateY(0)}81%,91%{transform:rotateY(-48deg)}}
@keyframes door-glow{0%,75%,100%{opacity:0;transform:scale(1)}82%,91%{opacity:.85;transform:scale(1.15)}}
@keyframes butterfly-path{0%,4%{opacity:0;transform:translate(-5vw,90px) rotate(-8deg)}7%{opacity:1}28%{transform:translate(34vw,-35px) rotate(7deg)}52%{transform:translate(67vw,45px) rotate(-5deg)}78%{opacity:1;transform:translate(101vw,-15px) rotate(8deg)}82%,100%{opacity:0;transform:translate(118vw,35px)}}
@keyframes wing-flap{from{transform:scaleX(.35)}to{transform:scaleX(1)}}
@media(max-width:1200px){.hero-buttons{left:calc(100% + 15px);width:325px}.swing-one{left:19%;}.swing-two{left:35%}.nursery-door{left:40%}}
@media(max-width:900px){.hero-buttons{position:static;width:min(380px,100%);margin-top:18px}.video-cloud{margin-left:0}.living-scene .swing,.nursery-door{display:none}.leaves-one{left:3%}.leaves-two{left:68%;top:25%}}
@media(max-width:620px){.hero-promise{font-size:14px}.hero-promise:after{right:-12px}.video-cloud{border-radius:50% 45% 52% 44%}.butterfly{width:38px}.cloud{opacity:.5}.living-scene .leaf-cluster{opacity:.55}}

/* Precisely aligned, right-composed hero */
.hero{justify-content:flex-end;padding-right:max(45px,7vw)}
.hero:after{background:linear-gradient(90deg,rgba(255,255,255,0) 24%,rgba(255,255,255,.08) 42%,rgba(255,255,255,.62) 72%,rgba(255,255,255,.86) 100%)}
.hero-copy{width:49%;max-width:850px;margin-left:auto;text-align:left}
.hero h1{font-size:clamp(3.6rem,4.9vw,5.7rem);line-height:.9;letter-spacing:-.05em}
.hero h1 b{white-space:nowrap}
.hero h1 span:after{display:none!important}
.hero-promise{display:flex!important;align-items:center;gap:12px;margin:0 0 22px!important;padding:0!important;transform:none;font:800 17px "Baloo 2"}
.hero-promise:before{content:"";position:static;width:34px!important;height:5px;background:var(--yellow);border-radius:99px;animation:none}
.hero-promise:after{display:none}
.hero-buttons{position:static;width:390px;max-width:100%;margin:27px 0 0}
.video-cloud{margin:0;min-height:82px}
.aligned-playground{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:translateY(calc(var(--scroll) * .25)) scale(1.05);transform-origin:center;z-index:4}
.svg-swing{transform-box:fill-box;transform-origin:50% 0;animation:svg-swing 4.2s ease-in-out infinite}
.svg-swing line{stroke:#48a9c0;stroke-width:4;stroke-linecap:round}.svg-swing rect{fill:#d97857;stroke:#bd6046;stroke-width:4}
.swing-right{animation-delay:-2.1s}
.living-scene>.swing,.nursery-door{display:none!important}
.sun-character{right:4.8%;top:8.5%;width:92px;height:92px;border:0;background:#ffd445;box-shadow:none;z-index:4}
.sun-character:before{inset:-30px;background:#f7bc2f;clip-path:polygon(50% 0,56% 17%,66% 5%,68% 22%,82% 11%,80% 29%,96% 24%,87% 39%,100% 48%,82% 52%,97% 63%,79% 65%,87% 82%,70% 77%,68% 97%,57% 81%,49% 100%,44% 81%,30% 95%,31% 76%,12% 85%,21% 67%,2% 64%,18% 52%,0 44%,19% 39%,5% 25%,24% 27%,17% 9%,34% 21%,39% 2);border-radius:0}
.sun-character .eye{top:29px;width:8px;height:11px;background:#27233f}.sun-character .eye.left{left:26px}.sun-character .eye.right{right:26px}
.sun-character .smile{top:43px;width:29px;height:16px;border-bottom:4px solid #27233f}
.sun-character .cheek{display:none}
@keyframes svg-swing{0%,100%{transform:rotate(-2.2deg)}50%{transform:rotate(2.2deg)}}
@media(max-width:1100px){.hero-copy{width:52%}.hero h1{font-size:clamp(3.3rem,5.2vw,4.7rem)}.sun-character{right:3%;top:7%}}
@media(max-width:900px){.hero{justify-content:flex-end;padding-right:25px}.hero:after{background:linear-gradient(0deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.68) 58%,rgba(255,255,255,.02) 88%)}.hero-copy{width:100%;max-width:680px;margin:0;text-align:left}.hero h1 b{white-space:normal}.aligned-playground{display:none}.hero-buttons{width:360px}.sun-character{display:none}}

/* Softer, unmistakable cloud video control */
.video-cloud{isolation:isolate;border-radius:999px;background:#fff;overflow:visible;box-shadow:0 16px 28px #2428581f;padding:18px 35px}
.video-cloud:before{display:block!important;content:"";position:absolute;z-index:-1;width:72px;height:72px;left:45px;top:-31px;border-radius:50%;background:#fff;box-shadow:74px 7px 0 13px #fff,160px 15px 0 1px #fff,228px 9px 0 8px #fff}
.video-cloud:after{display:block!important;content:"";position:absolute;z-index:-2;left:24px;right:24px;bottom:-13px;height:38px;border-radius:50%;background:#fff}

/* Playful detail-page layer */
.inner-page{background:#fffaf0}
.inner-hero{border-bottom:14px solid transparent;clip-path:polygon(0 0,100% 0,100% 96%,96% 99%,91% 96%,86% 100%,80% 96%,74% 99%,68% 96%,62% 100%,56% 96%,50% 99%,44% 96%,38% 100%,32% 96%,26% 99%,20% 96%,14% 100%,8% 96%,3% 99%,0 96%)}
.inner-hero:after{content:"";position:absolute;width:105px;height:105px;right:3%;bottom:8%;border:18px dotted #ffffff80;border-radius:50%;animation:spin 30s linear infinite}
.inner-hero>div:first-child:after{content:"✦  ✦  ✦";display:block;margin-top:28px;color:var(--yellow);letter-spacing:13px;font-size:22px;animation:twinkle 3.5s ease-in-out infinite}
.inner-hero .photo-placeholder{transform:rotate(1.5deg);transition:transform .3s,box-shadow .3s}
.inner-hero .photo-placeholder:hover{transform:rotate(0) translateY(-8px);box-shadow:0 28px 55px #24285825}
.page-jump{border-bottom:4px solid var(--yellow)}
.page-jump a{position:relative;transition:.25s}.page-jump a:nth-child(even){transform:rotate(1deg)}.page-jump a:nth-child(odd){transform:rotate(-1deg)}
.page-jump a:hover{transform:translateY(-4px) rotate(0);box-shadow:0 7px 0 #fc668144}
.room-detail-grid article{position:relative;transition:transform .3s,box-shadow .3s;overflow:hidden}
.room-detail-grid article:before{content:"";position:absolute;width:70px;height:70px;border:12px solid #ffffff70;border-radius:50%;right:-25px;top:-25px}
.room-detail-grid article:hover{transform:translateY(-9px) rotate(.5deg);box-shadow:0 22px 40px #2428581b}
.room-detail-grid article>h3:after{content:"";display:block;width:45px;height:5px;background:var(--yellow);border-radius:9px;margin-top:10px}
.food-card{transform:rotate(-1deg);transition:.3s}.food-card:hover{transform:rotate(0) translateY(-6px)}
.value-grid article,.activity-grid article,.contact-cards article{transition:transform .3s,box-shadow .3s}
.value-grid article:nth-child(even),.activity-grid article:nth-child(even){transform:translateY(16px)}
.value-grid article:hover,.activity-grid article:hover,.contact-cards article:hover{transform:translateY(-9px) rotate(1deg);box-shadow:0 18px 35px #10143b45}
.fee-grid article:first-child{transform:rotate(-1deg)}.fee-grid article:last-child{transform:rotate(1deg)}
.fee-grid article:hover{transform:translateY(-7px) rotate(0)}
.nursery-gallery{position:relative;overflow:hidden}
.nursery-gallery:before{content:"";position:absolute;left:-50px;top:90px;width:150px;height:150px;border-radius:48% 52% 45% 55%;background:#fedb504d;animation:spin 32s linear infinite}
.photo-brief-grid.six{grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.photo-brief-grid.six>div{min-height:290px;border:12px solid #fff;box-shadow:var(--shadow);transition:transform .35s}
.photo-brief-grid.six>div:nth-child(1),.photo-brief-grid.six>div:nth-child(5){transform:rotate(-2deg)}
.photo-brief-grid.six>div:nth-child(2),.photo-brief-grid.six>div:nth-child(6){transform:rotate(2deg)}
.photo-brief-grid.six>div:nth-child(3){transform:rotate(-1deg)}.photo-brief-grid.six>div:nth-child(4){transform:rotate(1deg)}
.photo-brief-grid.six>div:hover{transform:translateY(-11px) rotate(0);z-index:2}
.inner-page .photo-placeholder{transform:perspective(800px) rotateX(var(--my,0deg)) rotateY(var(--mx,0deg));transition:transform .18s ease-out}
.training-hero .photo-placeholder:after{content:"✎";font-size:60px;display:grid;place-items:center}
.about-hero .photo-placeholder:after{content:"★";font-size:45px;display:grid;place-items:center}
.contact-hero .photo-placeholder:after{content:"♥";font-size:45px;display:grid;place-items:center}
@media(max-width:900px){.photo-brief-grid.six{grid-template-columns:1fr 1fr}.video-cloud:before{box-shadow:70px 7px 0 10px #fff,140px 12px 0 #fff,205px 8px 0 5px #fff}.inner-page .photo-placeholder{transform:none}}
@media(max-width:620px){.photo-brief-grid.six{grid-template-columns:1fr}.value-grid article:nth-child(even),.activity-grid article:nth-child(even){transform:none}.inner-hero{clip-path:none;border-bottom:8px solid var(--yellow)}.video-cloud:before,.video-cloud:after{display:block!important}}

/* Final playful polish: clean hero, lively inner pages */
.hero .sun,.hero .sun-character,.hero .aligned-playground,.hero .swing,.hero .nursery-door{display:none!important}
.video-cloud{border-radius:48% 52% 46% 54% / 58% 52% 48% 42%;animation:cloud-float 4.8s ease-in-out infinite}
.video-cloud:hover{animation:cloud-pop .45s ease both}
.inner-page .section-title>p,.inner-page .kicker{position:relative;padding:9px 17px;background:var(--yellow);color:var(--navy);border-radius:8px;transform:rotate(-1.5deg);box-shadow:4px 5px 0 #fc6681;letter-spacing:.11em}
.inner-page .section-title>p:after,.inner-page .kicker:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;right:8px;top:7px;background:#fff9}
.inner-page .section-title h2{position:relative;display:inline-block}
.inner-page .section-title h2:after{content:"";display:block;width:42%;height:7px;margin:9px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--yellow),var(--blue));animation:colour-stretch 4s ease-in-out infinite}
.inner-page .detail-section,.inner-page .food,.inner-page .parent-info,.inner-page .gallery,.inner-page .contact,.inner-page .register,.inner-page .after-school{position:relative;overflow:hidden}
.inner-page .detail-section:after,.inner-page .parent-info:after{content:"✦";position:absolute;right:3vw;top:45px;color:#fc668133;font-size:70px;animation:twinkle 3s ease-in-out infinite;pointer-events:none}
.inner-page .room-detail-grid article:nth-child(odd){animation:card-breathe 7s ease-in-out infinite}
.inner-page .room-detail-grid article:nth-child(even){animation:card-breathe 7s ease-in-out -3.5s infinite}
.inner-page .info-grid summary span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);transition:.3s}
.inner-page .info-grid details[open] summary span{transform:rotate(45deg);background:var(--pink);color:#fff}
.inner-page .contact-cards article>span,.inner-page .activity-grid article>span{display:inline-block;animation:icon-bob 3.5s ease-in-out infinite}
.inner-page .contact-cards article:nth-child(2)>span,.inner-page .activity-grid article:nth-child(2)>span{animation-delay:-1.2s}
.inner-page .contact-cards article:nth-child(3)>span,.inner-page .activity-grid article:nth-child(3)>span{animation-delay:-2.4s}
.inner-page .photo-brief-grid.six>div span{animation:label-wiggle 5s ease-in-out infinite}
@keyframes cloud-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes cloud-pop{50%{transform:translateY(-7px) scale(1.04)}}
@keyframes colour-stretch{0%,100%{width:34%}50%{width:58%}}
@keyframes card-breathe{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes icon-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes label-wiggle{0%,88%,100%{transform:rotate(0)}92%{transform:rotate(-3deg)}96%{transform:rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.video-cloud,.inner-page .room-detail-grid article,.inner-page .contact-cards article>span,.inner-page .activity-grid article>span,.inner-page .photo-brief-grid.six>div span{animation:none!important}}

/* v13: reliable room doors and real policy destinations */
.doors{align-items:stretch}
.door,.door:nth-child(2){height:590px;margin-top:0;padding:14px;position:relative;perspective:1500px;overflow:hidden;border-radius:150px 150px 28px 28px;background:#fff;box-shadow:0 18px 0 #171b49}
.door:hover{transform:translateY(-7px)}
.door .door-face,.door .door-info{position:absolute;inset:14px;width:auto;height:auto;min-height:0;border-radius:138px 138px 18px 18px;backface-visibility:hidden;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.72,.2,1);overflow:hidden}
.door .door-face{z-index:2;padding:45px 24px 28px;transform-origin:left center;transform:rotateY(0)}
.door.open .door-face{transform:rotateY(-105deg)}
.door .door-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:55px 32px 30px;background:#fff9e5;text-align:center;transform:none;opacity:0;transition:opacity .2s .18s}
.door:nth-child(2) .door-info{background:#fff0f3}.door:nth-child(3) .door-info{background:#fff8d7}
.door.open .door-info{opacity:1;padding:55px 32px 30px}
.door-info h3{margin:0;font-size:2rem}.door-info p{margin:0;line-height:1.5}.door-info ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;margin:3px 0 8px;padding:0}.door-info li{padding:7px 11px;border-radius:999px;background:#fff;font-size:13px;font-weight:800}.door-back-icon{font-size:48px}.door .door-close{position:static;width:auto;min-height:0;border-radius:999px;padding:11px 20px;margin-top:auto;background:var(--navy)!important;color:#fff;font-weight:900;box-shadow:0 8px 18px #24285826}
.door.open .door-close{display:inline-flex}
@media(max-width:900px){.door,.door:nth-child(2){height:530px}.door .door-face,.door .door-info{inset:12px}.door.open .door-info{padding:45px 24px 25px}}

.policy-link-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.policy-link-grid>a{position:relative;min-height:270px;padding:32px;border-radius:28px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:.3s;overflow:hidden}.policy-link-grid>a:nth-child(2){background:#fff3c8}.policy-link-grid>a:nth-child(3){background:#e2f5fb}.policy-link-grid>a:hover{transform:translateY(-9px) rotate(.6deg)}.policy-link-grid span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--pink);color:#fff;font-weight:900}.policy-link-grid h3{margin:24px 0 9px}.policy-link-grid b{color:#e94e70}.policy-all{text-align:center;margin:36px 0 0}
.policy-hero{position:relative;min-height:440px;background:var(--navy);color:#fff;overflow:hidden}.policy-hero h1{font:800 clamp(3.5rem,7vw,7rem)/.9 "Baloo 2";letter-spacing:-.045em;margin:0 0 24px}.policy-hero h1 span{color:var(--yellow)}.policy-hero>p:not(.eyebrow){max-width:720px;font-size:19px}.policy-doodles i{position:absolute;font-style:normal;font-size:70px;color:var(--yellow);animation:twinkle 3s ease-in-out infinite}.policy-doodles i:nth-child(1){right:25%;top:18%}.policy-doodles i:nth-child(2){right:12%;bottom:18%;color:var(--pink);animation-delay:-1s}.policy-doodles i:nth-child(3){right:38%;bottom:10%;color:var(--blue);animation-delay:-2s}.policy-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:9px;flex-wrap:wrap;padding:14px;background:#fff;box-shadow:0 8px 25px #24285816}.policy-nav a{padding:9px 15px;border-radius:999px;background:#f1f1fa;text-decoration:none;font-weight:800}.policy-nav a:hover{background:var(--yellow)}
.policy-list{max-width:1200px;margin:auto}.policy-list details{scroll-margin-top:95px;margin:0 0 18px;border:3px solid #ebeaf4;border-radius:28px;background:#fff;box-shadow:0 10px 30px #2428580d;overflow:hidden}.policy-list summary{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:27px 30px;cursor:pointer;list-style:none}.policy-list summary::-webkit-details-marker{display:none}.policy-list summary>span{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:var(--yellow);font-weight:900}.policy-list summary small{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--pink)}.policy-list summary h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:3px 0 0;letter-spacing:-.02em}.policy-list summary>b{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--navy);color:#fff;font-size:28px;transition:.3s}.policy-list details[open] summary>b{transform:rotate(45deg);background:var(--pink)}.policy-body{padding:0 115px 30px;font-size:18px}.policy-body a{font-weight:900;color:#e94e70}.policy-help{background:var(--yellow)}.policy-help>div{max-width:1100px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}.policy-help>div>span{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:#fff;font:800 56px "Baloo 2";animation:card-breathe 3s infinite}.policy-help h2{font-size:3rem;margin:0}.policy-help p{margin-bottom:4px}
@media(max-width:800px){.policy-link-grid{grid-template-columns:1fr}.policy-doodles{display:none}.policy-nav{position:static}.policy-list summary{grid-template-columns:auto 1fr;padding:22px 18px}.policy-list summary>b{grid-column:2;grid-row:2;width:36px;height:36px}.policy-body{padding:0 24px 26px}.policy-help>div{grid-template-columns:1fr;text-align:center}.policy-help>div>span{margin:auto}}

/* v15: genuine nursery galleries, clear social locations and tap-to-close doors */
.socials a{position:relative}.socials a i{font-style:normal}.socials a b{position:absolute;right:-4px;bottom:-5px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font:900 9px Nunito;border:2px solid var(--navy)}
.door-info{cursor:pointer}.door-info:after{content:"Tap the open door to close";display:block;margin-top:12px;color:#6e6482;font-size:13px;font-weight:900}.door .door-close{display:none!important}
.staff-placeholder{border:3px dashed #bbb8d0!important;background:linear-gradient(135deg,#fff,#f5f4fa)!important}.staff-placeholder h3{color:#7c7490}.staff-placeholder:after{content:"ADD DETAILS";display:inline-block;margin-top:12px;padding:5px 10px;border-radius:999px;background:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.12em}
.gallery-photo{position:relative;min-height:290px;margin:0;border:12px solid #fff;border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:transform .35s}.gallery-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-photo figcaption{position:absolute;left:16px;right:16px;bottom:14px;padding:9px 13px;border-radius:999px;background:#fff;color:var(--navy);font:800 14px "Baloo 2";text-align:center;box-shadow:0 7px 18px #24285835}.gallery-photo:hover{transform:translateY(-11px) rotate(0)!important}.gallery-photo:hover img{transform:scale(1.055)}.photo-brief-grid.six>.gallery-photo:nth-child(1),.photo-brief-grid.six>.gallery-photo:nth-child(5){transform:rotate(-2deg)}.photo-brief-grid.six>.gallery-photo:nth-child(2),.photo-brief-grid.six>.gallery-photo:nth-child(6){transform:rotate(2deg)}

/* Animated storybook details */
.butterfly-one{top:21%;width:46px;animation:butterfly-path 16s .6s linear infinite}
.butterfly-two{top:40%;width:35px;animation:butterfly-path-high 20s 4.2s linear infinite}
.butterfly-three{top:13%;width:28px;animation:butterfly-path-low 23s 8.3s linear infinite}
.butterfly-two .w1,.butterfly-two .w3{fill:#8b72df}.butterfly-two .w2,.butterfly-two .w4{fill:#65d5b2}
.butterfly-three .w1,.butterfly-three .w3{fill:#ff914d}.butterfly-three .w2,.butterfly-three .w4{fill:#ffe071}
.cloud{will-change:transform}.c1{animation-duration:32s}.c2{animation-duration:43s;animation-delay:4s}.c3{animation-duration:38s;animation-delay:12s}
.leaf-cluster{animation-duration:4.6s}.leaves-two{animation-delay:-2.3s}
.hero-buttons{transform:translateY(17px)}
.hero-copy.seen .hero-promise{animation:headline-arrive .65s .05s both}
.hero-copy.seen h1 b{display:inline-block;animation:headline-arrive .72s .18s both}
.hero-copy.seen h1 span:first-of-type{display:inline-block;animation:happy-pop .78s .42s both}
.hero-copy.seen h1 span:last-of-type{display:inline-block;animation:happy-pop .78s .64s both}
.hero-copy.seen .video-cloud{animation:cloud-arrive .75s .86s both,cloud-float 4.8s 1.7s ease-in-out infinite}
.section-title{position:relative}
.section-title:before{content:"✦  ·  ✦";position:absolute;left:-35px;top:-30px;color:var(--yellow);font:800 25px/1 "Baloo 2";letter-spacing:8px;animation:star-drift 4.5s ease-in-out infinite;pointer-events:none}
.quick-card:before,.more-grid>a:before,.room-detail-grid article:after,.contact-cards article:after{content:"✦";position:absolute;left:20px;bottom:14px;color:#fff8;font-size:25px;animation:twinkle 3s ease-in-out infinite;pointer-events:none}
.quick-card:nth-child(2):before,.more-grid>a:nth-child(2):before{animation-delay:-1s}.quick-card:nth-child(3):before,.more-grid>a:nth-child(3):before{animation-delay:-2s}
.room-detail-grid article,.contact-cards article,.more-grid>a{position:relative;overflow:hidden}
@keyframes headline-arrive{from{opacity:0;transform:translateY(22px) rotate(-1deg)}to{opacity:1;transform:none}}
@keyframes happy-pop{0%{opacity:0;transform:translateY(28px) scale(.92)}70%{transform:translateY(-4px) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes cloud-arrive{from{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:none}}
@keyframes star-drift{0%,100%{transform:translate(0,0) rotate(-5deg);opacity:.55}50%{transform:translate(9px,-7px) rotate(5deg);opacity:1}}
@keyframes butterfly-path-high{0%,3%{opacity:0;transform:translate(-8vw,20px) rotate(-6deg)}6%{opacity:1}32%{transform:translate(38vw,-55px) rotate(8deg)}58%{transform:translate(73vw,20px) rotate(-5deg)}82%{opacity:1;transform:translate(106vw,-45px) rotate(7deg)}86%,100%{opacity:0;transform:translate(120vw,10px)}}
@keyframes butterfly-path-low{0%,3%{opacity:0;transform:translate(-10vw,110px) rotate(7deg)}6%{opacity:1}30%{transform:translate(31vw,40px) rotate(-6deg)}60%{transform:translate(70vw,105px) rotate(6deg)}83%{opacity:1;transform:translate(106vw,25px) rotate(-7deg)}87%,100%{opacity:0;transform:translate(120vw,80px)}}
@media(max-width:900px){.hero-buttons{transform:translateY(10px)}.section-title:before{left:5px;top:-34px}.butterfly-three{display:none}}
@media(prefers-reduced-motion:reduce){.butterfly,.cloud,.leaf-cluster,.hero-copy.seen .hero-promise,.hero-copy.seen h1 b,.hero-copy.seen h1 span,.hero-copy.seen .video-cloud,.section-title:before{animation:none!important;opacity:1!important;transform:none!important}}
.real-photo{margin:0;position:relative;overflow:hidden;border:12px solid #fff;border-radius:34px;box-shadow:var(--shadow);transform:rotate(1.2deg);background:#fff}
.real-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.real-photo figcaption{position:absolute;left:20px;bottom:18px;background:#fff;color:var(--navy);padding:9px 15px;border-radius:999px;font:800 14px "Baloo 2";box-shadow:0 8px 20px #24285833}
.real-photo:hover img{transform:scale(1.045)}
.inner-hero .real-photo{height:430px;min-height:0;align-self:center}.inner-hero .real-photo img{position:absolute;inset:0;height:100%}
@media(max-width:900px){.real-photo{transform:none}.inner-hero .real-photo{height:330px}}

/* Final hero treatments: the promise is the cloud; the video is a clear button. */
.hero-promise.promise-cloud{isolation:isolate;display:inline-flex!important;width:max-content;max-width:100%;align-items:center;justify-content:center;margin:0 0 24px!important;padding:13px 28px!important;background:#fff!important;border:0!important;border-radius:999px!important;box-shadow:0 13px 28px #2428581f!important;transform:translateY(0) rotate(-1deg)!important;font:800 18px "Baloo 2"!important;color:var(--navy);position:relative}
.hero-promise.promise-cloud:before{content:""!important;position:absolute!important;z-index:-1!important;width:48px!important;height:48px!important;left:27px!important;top:-19px!important;border-radius:50%!important;background:#fff!important;box-shadow:52px 3px 0 7px #fff,112px 8px 0 2px #fff!important;animation:none!important}
.hero-promise.promise-cloud:after{content:"✦"!important;display:block!important;position:absolute!important;right:11px!important;top:-11px!important;color:var(--yellow)!important;font-size:19px!important;animation:twinkle 2.8s ease-in-out infinite!important}
.video-button{position:relative;min-height:66px;padding:16px 29px;border-radius:20px;background:linear-gradient(135deg,var(--pink),var(--orange));color:#fff;box-shadow:0 12px 0 #d94f68,0 22px 32px #24285825;font-size:17px;overflow:hidden;animation:video-breathe 4.2s ease-in-out infinite}
.video-button:after{content:"";position:absolute;inset:4px;border:2px solid #ffffff55;border-radius:15px;pointer-events:none}
.video-button span{display:grid;place-items:center;width:38px;height:38px;margin-right:11px;border-radius:50%;background:var(--yellow);color:var(--navy);box-shadow:0 5px 0 #e1aa29;animation:pulse-play 2.2s ease-in-out infinite}
.video-button:hover{animation:none;transform:translateY(-5px) rotate(-1deg);box-shadow:0 15px 0 #d94f68,0 28px 40px #2428582d}
.hero-copy.seen .video-button{animation:headline-arrive .75s .86s both,video-breathe 4.2s 1.7s ease-in-out infinite}
.butterfly-four{top:33%;width:32px;animation:butterfly-path-high 18s 2.1s linear infinite}.butterfly-four .w1,.butterfly-four .w3{fill:#f66e94}.butterfly-four .w2,.butterfly-four .w4{fill:#60c9e1}
@keyframes video-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.5deg)}}

/* Open the homepage room fronts like hinged doors on larger screens. */
@media(min-width:901px){
  .doors{perspective:1500px}
  .door{position:relative;min-height:620px;perspective:1200px;overflow:hidden}
  .door button{position:relative;z-index:3;transform-origin:left center;transition:transform .85s cubic-bezier(.2,.75,.25,1),filter .5s;backface-visibility:hidden}
  .door-info{position:absolute;z-index:1;inset:18px;display:flex;flex-direction:column;justify-content:center;grid-template-rows:none;padding:45px 26px 26px!important;border-radius:140px 140px 8px 8px;background:linear-gradient(160deg,#fff,#fff8d9);opacity:0;overflow:auto;transition:opacity .35s .2s}
  .door.open button{transform:rotateY(-82deg);filter:drop-shadow(18px 5px 16px #171b4655)}
  .door.open .door-info{opacity:1}
  .door.open:hover{transform:none}
}

/* Keep the statistics alive after their slower count-up. */
.stats{position:relative;overflow:hidden}.stats:after{content:"✦  ✦  ·  ✦";position:absolute;right:4%;top:9%;color:#fff8;font:800 28px "Baloo 2";letter-spacing:15px;animation:star-drift 5s ease-in-out infinite;pointer-events:none}
.stat.landed span{animation:number-settle .8s ease both}.stat.landed{animation:egg-float 6s ease-in-out infinite}
@keyframes number-settle{0%{transform:scale(.82)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(max-width:620px){.hero-promise.promise-cloud{font-size:14px!important;padding:11px 17px!important}.hero-promise.promise-cloud:before{display:none!important}.video-button{width:100%;font-size:15px}}
@media(prefers-reduced-motion:reduce){.video-button,.hero-copy.seen .video-button,.butterfly-four,.stat.landed,.stat.landed span{animation:none!important}.door button{transition:none!important}}

/* Door alignment and an accessible close control behind every hinged front. */
.doors{align-items:stretch}.door,.door:nth-child(2){margin-top:0}.door{height:100%}
.door-close{appearance:none;border:0;border-radius:999px!important;min-height:0!important;width:auto!important;margin:18px auto 0!important;padding:10px 18px!important;background:var(--pink)!important;color:#fff!important;font:800 14px Nunito!important;box-shadow:0 7px 16px #24285825!important;cursor:pointer;position:relative!important;z-index:5!important}
.door-close:hover{transform:translateY(-2px)}
@media(min-width:901px){.door{min-height:620px}.door-info{gap:13px}.door-info .photo-placeholder{min-height:175px}.door.open .door-face{pointer-events:none}}
@media(max-width:900px){.door{height:auto}.door-info .door-close{display:block}.door.open .door-info{padding-bottom:18px}}

/* A stronger rock while counting, followed by a quieter staggered breath. */
.stat{animation:none}.stat.counting{animation:egg-count-rock .72s ease-in-out infinite}.stat.landed{animation:egg-breathe 7s ease-in-out infinite}
.stat:nth-child(2).landed{animation-delay:-1.6s}.stat:nth-child(3).landed{animation-delay:-3.2s}.stat:nth-child(4).landed{animation-delay:-4.8s}
.stat-grid{position:relative}.stat-grid:after{content:"✦";position:absolute;left:2%;top:13%;z-index:4;color:#fff;font-size:26px;filter:drop-shadow(0 3px 0 #f1b83d);opacity:0;animation:sparkle-travel 8s 2s ease-in-out infinite;pointer-events:none}
@keyframes egg-count-rock{0%,100%{transform:translateY(0) rotate(-1.4deg)}50%{transform:translateY(-6px) rotate(1.4deg)}}
@keyframes egg-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.012)}}
@keyframes sparkle-travel{0%,10%,100%{opacity:0;transform:translate(0,25px) rotate(0) scale(.7)}16%{opacity:1}42%{opacity:.9;transform:translate(32vw,-34px) rotate(100deg) scale(1)}68%{opacity:1;transform:translate(58vw,48px) rotate(210deg) scale(.82)}86%{opacity:0;transform:translate(78vw,-16px) rotate(320deg) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.stat.counting,.stat.landed,.stat-grid:after{animation:none!important}}

/* Compact flip doors: no empty cabinet below and no disappearing close control. */
.doors{align-items:stretch}
.door,.door:nth-child(2){position:relative;height:590px;min-height:590px;margin-top:0;padding:0;background:transparent;box-shadow:none;border-radius:150px 150px 24px 24px;perspective:1300px;overflow:visible}
.door:hover{transform:none}
.door>.door-face,.door>.door-info{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:150px 150px 24px 24px;backface-visibility:hidden;transition:transform .72s cubic-bezier(.2,.75,.25,1),box-shadow .4s;box-shadow:0 18px 0 #171b46,0 28px 50px #10143355}
.door>.door-face{z-index:2;padding:42px 24px 28px;border:15px solid #fff;transform:rotateY(0)}
.door>.door-info{z-index:1;display:flex;flex-direction:column;justify-content:center;gap:17px;padding:48px 30px 28px!important;background:linear-gradient(155deg,#fff,#fff8d9);color:var(--ink);opacity:1;overflow:hidden;transform:rotateY(180deg)}
.door.open>.door-face{transform:rotateY(-180deg);pointer-events:none;filter:none}
.door.open>.door-info{transform:rotateY(0)}
.door-info p{font-size:16px;line-height:1.5;margin:0}.door-info .photo-placeholder{min-height:190px}.door-info .door-close{margin:2px auto 0!important;font-size:15px!important;padding:11px 22px!important}
@media(max-width:900px){.door,.door:nth-child(2){height:540px;min-height:540px}.door>.door-face,.door>.door-info{position:absolute;inset:0}.door>.door-info{padding:38px 24px 22px!important}}
@media(max-width:620px){.door,.door:nth-child(2){height:510px;min-height:510px}.door>.door-face{min-height:0}.door-info .photo-placeholder{min-height:155px}}

/* Staff directories replace fragile group photographs. */
.staff-list{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.staff-list article{position:relative;padding:30px;border-radius:28px;background:#fff;box-shadow:var(--shadow);overflow:hidden;transition:transform .3s,box-shadow .3s}
.staff-list article:nth-child(3n+2){background:#fff2f5}.staff-list article:nth-child(3n){background:#fff9d9}
.staff-list article:after{content:"✦";position:absolute;right:18px;top:14px;color:var(--yellow);font-size:25px}
.staff-list article:hover{transform:translateY(-7px) rotate(.5deg);box-shadow:0 24px 42px #2428581c}
.staff-list article>span{display:inline-block;padding:5px 10px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.staff-list h3{margin:15px 0 8px;font-size:2rem}.staff-list p{margin:0;font-size:15px;line-height:1.55}
.key-person-note{max-width:900px;margin:45px auto 0;padding:28px 34px;display:flex;align-items:center;gap:22px;background:var(--yellow);border-radius:24px;box-shadow:8px 9px 0 var(--pink);transform:rotate(-.6deg)}
.key-person-note>span{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--pink);font-size:28px}.key-person-note h3,.key-person-note p{margin:0}.key-person-note h3{margin-bottom:5px}
@media(max-width:900px){.staff-list{grid-template-columns:1fr 1fr}}

/* Final header: transparent logo with a deliberate overhang and protected navigation space. */
.site-header{height:88px;padding:0 420px 0 clamp(285px,18vw,330px)}
.site-header .logo{left:max(28px,4vw);top:-16px;width:235px;height:132px;padding:0;background:transparent;filter:drop-shadow(0 10px 10px #24285820);overflow:visible;isolation:isolate}
.site-header .logo:before{content:"";position:absolute;left:27%;right:27%;top:48%;bottom:2%;background:#fff;border-radius:4px;z-index:0}
.site-header .logo img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.site-header .logo img{position:relative;z-index:1}
.site-header .main-nav{margin-right:auto;gap:clamp(13px,1.55vw,27px)}
.site-header .main-nav a{font-size:14px}
@media(max-width:1180px) and (min-width:901px){.site-header{padding-left:235px;padding-right:350px}.site-header .logo{width:195px;top:-7px}.site-header .main-nav{gap:11px}.site-header .main-nav a{font-size:12px}}
@media(max-width:900px){.site-header{height:68px;padding:0 20px}.site-header .logo{left:14px;top:-7px;width:142px;height:88px}.site-header .logo img{width:142px}.site-header .main-nav{margin:0;gap:14px}}

/* Supplied nursery photography. */
.activity-photo{min-height:560px}.activity-photo img{position:absolute;inset:0}
.polaroid>img{display:block;width:100%;height:270px;object-fit:cover;border-radius:3px}
.gallery-photo.story-card figcaption{display:grid;gap:2px;border-radius:18px;text-align:left;padding:11px 14px;transition:transform .35s,background .35s}
.gallery-photo.story-card figcaption strong{font-size:15px}.gallery-photo.story-card figcaption span{max-height:0;opacity:0;overflow:hidden;font:700 12px/1.35 Nunito;transition:max-height .35s,opacity .35s,margin .35s}
.gallery-photo.story-card:hover figcaption,.gallery-photo.story-card:focus-within figcaption{transform:translateY(-2px);background:#fffaf0}
.gallery-photo.story-card:hover figcaption span,.gallery-photo.story-card:focus-within figcaption span{max-height:55px;opacity:1;margin-top:3px}
.food-photo{min-height:430px}.food-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.team-directory .section-title h2{display:block}.team-directory .section-title>span{display:block;clear:both;max-width:720px;margin:18px auto 0}
@media(max-width:700px){.gallery-photo.story-card figcaption span{max-height:55px;opacity:1;margin-top:3px}.activity-photo{min-height:470px}.polaroid>img{height:250px}}

/* Gentle shooting stars and a restrained desktop cursor trail. */
.star-field{position:relative;overflow:hidden}.shooting-star{position:absolute;z-index:3;left:var(--star-x);top:var(--star-y);width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px #fedb5033,0 0 14px #fedb50;opacity:0;pointer-events:none;animation:shooting-star-pass 11s var(--star-delay) ease-in-out infinite}
.shooting-star:after{content:"";position:absolute;right:4px;top:2px;width:48px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#fedb50)}
.cursor-spark{position:fixed;z-index:9999;color:var(--yellow);font:900 17px/1 "Baloo 2";pointer-events:none;translate:-50% -50%;filter:drop-shadow(0 2px 2px #24285835);animation:cursor-spark-fade .85s ease-out forwards}
@keyframes shooting-star-pass{0%,76%,100%{opacity:0;transform:translate(0,0) rotate(-25deg) scale(.6)}80%{opacity:1}91%{opacity:.85;transform:translate(105px,54px) rotate(-25deg) scale(1)}96%{opacity:0;transform:translate(145px,76px) rotate(-25deg) scale(.75)}}
@keyframes cursor-spark-fade{0%{opacity:0;transform:translate(0,0) scale(.5) rotate(0)}20%{opacity:1}100%{opacity:0;transform:translate(5px,-24px) scale(1.15) rotate(90deg)}}

/* Complete site footer. */
.site-footer,.inner-page .site-footer{position:relative;display:grid;grid-template-columns:1.35fr repeat(3,1fr);justify-items:start;gap:34px 55px;padding:64px max(26px,7vw) 28px;background:var(--navy);color:#fff;text-align:left}
.site-footer:before{content:"";position:absolute;left:0;right:0;top:-14px;height:16px;background:var(--navy);clip-path:polygon(0 100%,4% 28%,9% 78%,14% 18%,20% 75%,26% 24%,32% 82%,38% 15%,44% 72%,50% 22%,56% 79%,62% 18%,68% 74%,74% 24%,80% 82%,86% 16%,92% 75%,100% 28%,100% 100%)}
.site-footer a{color:inherit}.footer-brand img{width:220px;max-width:100%;background:#fff;border-radius:10px;padding:8px;filter:drop-shadow(0 8px 12px #0004)}.footer-brand p{max-width:260px;margin:15px 0 0;color:var(--yellow);font:800 20px "Baloo 2"}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-column h3{margin:4px 0 9px;color:var(--yellow);font-size:19px}.footer-column>a{font-size:14px;text-decoration:none}.footer-column>a:hover{text-decoration:underline;text-underline-offset:4px}.footer-social{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.footer-social a{padding:5px 9px;border:1px solid #ffffff55;border-radius:999px;font-size:11px;font-weight:800;text-decoration:none}.footer-social a:hover{background:#fff;color:var(--navy)}
.footer-bottom{grid-column:1/-1;width:100%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff2e;padding-top:20px}.site-footer small{opacity:.72;font-size:12px}.footer-bottom a{font-weight:800;text-underline-offset:3px}
@media(max-width:900px){.site-footer,.inner-page .site-footer{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}}
@media(max-width:540px){.site-footer,.inner-page .site-footer{grid-template-columns:1fr;padding-top:50px}.footer-brand,.footer-bottom{grid-column:1}.footer-brand img{width:185px}}
@media(prefers-reduced-motion:reduce){.shooting-star,.cursor-spark{display:none!important}.gallery-photo.story-card figcaption span{max-height:55px;opacity:1;margin-top:3px}}
@media(max-width:620px){.staff-list{grid-template-columns:1fr}.key-person-note{align-items:flex-start;padding:24px}.staff-list article{padding:25px}}
.chat-face{display:block;width:82px;height:82px;object-fit:contain;margin:0 auto 8px}
/* Logo, door and scroll performance correction */
.site-header .logo,.logo{width:210px;max-width:210px;top:-25px}
.site-header{padding-left:255px}
.site-header .logo:before,.logo:before{display:none}
.door,.door:nth-child(2){min-height:500px}
.door>.door-face,.door>.door-info{border-radius:125px 125px 22px 22px}
.door>.door-info{justify-content:space-evenly;gap:10px;padding:34px 28px 24px!important}
.door-info h3{font-size:clamp(1.8rem,2.8vw,2.45rem)}
.door-info p{font-size:17px;line-height:1.4}
@media(max-width:900px){.site-header{padding-left:20px}.site-header .logo,.logo{width:150px;max-width:150px;top:-18px}.door,.door:nth-child(2){min-height:500px;height:500px}}

/* Compact, centred open-door content */
.door,.door:nth-child(2){min-height:470px;height:470px}
.door>.door-info{justify-content:flex-start!important;align-items:center!important;padding:62px 34px 30px!important;gap:16px!important;text-align:center}
.door-info h3{margin:0;max-width:100%;line-height:1.02}
.door-info p{max-width:430px;margin:0!important}
.door-info ul{margin:0!important}
.door-info:after{margin-top:8px!important}
@media(max-width:900px){.door,.door:nth-child(2){min-height:500px;height:500px}.door>.door-info{padding:52px 26px 26px!important}}

/* Gilmerton room photography */
.room-photo{margin:25px 0 0;background:#fff;padding:10px 10px 15px;border-radius:22px;box-shadow:0 14px 28px #24285818;overflow:hidden}
.room-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:15px}
.room-photo figcaption{padding:12px 8px 0;font:800 14px/1.4 "Baloo 2";color:var(--navy)}
.inner-page .room-detail-grid article{animation:none!important}

/* v24: lightweight, manual nursery and room photo carousels. */
.photo-carousel{position:relative;touch-action:pan-y;contain:layout paint;user-select:none}
.photo-carousel .carousel-viewport{width:100%;height:100%;overflow:hidden;border-radius:inherit}
.photo-carousel .carousel-track{display:flex;width:100%;height:100%;transform:translate3d(0,0,0);transition:transform .42s cubic-bezier(.22,.75,.25,1);will-change:transform}
.photo-carousel img.carousel-slide{position:relative!important;inset:auto!important;display:block;flex:0 0 100%;width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:none!important;transform:none!important}
.room-photo.photo-carousel{height:255px;padding:10px;margin-top:25px}
.room-photo.photo-carousel .carousel-viewport{border-radius:15px}
.carousel-arrow{position:absolute;z-index:5;top:50%;translate:0 -50%;display:grid;place-items:center;width:43px;height:43px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 7px 20px #2428584d;font:800 32px/1 "Baloo 2";cursor:pointer;transition:transform .2s,background .2s}
.carousel-arrow:hover{background:var(--yellow);transform:scale(1.08)}
.carousel-arrow.prev{left:18px}.carousel-arrow.next{right:18px}
.carousel-dots{position:absolute;z-index:6;left:50%;bottom:17px;translate:-50% 0;display:flex;gap:7px;padding:6px 9px;border-radius:999px;background:#ffffffd9;box-shadow:0 4px 12px #2428582b}
.carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c8c5d7;cursor:pointer}.carousel-dot.is-active{background:var(--pink);transform:scale(1.28)}
.overview-carousel .carousel-dots{top:16px;bottom:auto}.overview-carousel figcaption{z-index:6}
.inner-hero .overview-carousel{height:430px;min-height:430px}

/* Inner nursery pages keep their polish without repaint-heavy continuous motion. */
.inner-page .inner-hero:before,.inner-page .inner-hero:after,.inner-page .inner-hero>div:first-child:after,.inner-page .section-title:before,.inner-page .section-title h2:after,.inner-page .detail-section:after,.inner-page .parent-info:after,.inner-page .staff-list article:after,.inner-page .room-detail-grid article:after{animation:none!important}
.inner-page .room-detail-grid article,.inner-page .staff-list article{transform:none;transition:box-shadow .22s ease}
.inner-page .room-detail-grid article:hover,.inner-page .staff-list article:hover{transform:none;box-shadow:0 17px 34px #24285814}
.inner-page .gallery-photo img{will-change:auto}

/* Open-door copy sits naturally in the centre of the reveal. */
.door>.door-info{justify-content:center!important;align-items:center!important;padding:44px 34px 38px!important;gap:18px!important}
.door-info h3{max-width:92%;font-size:clamp(2rem,3vw,2.6rem)}
.door-info p{max-width:410px;font-size:17px;line-height:1.5}
.door-info:after{margin-top:10px!important}

@media(max-width:900px){.inner-hero .overview-carousel{height:340px;min-height:340px}.room-photo.photo-carousel{height:270px}.carousel-arrow{width:40px;height:40px}.door>.door-info{padding:40px 25px 32px!important}}
@media(max-width:620px){.room-photo.photo-carousel{height:235px}.carousel-arrow.prev{left:12px}.carousel-arrow.next{right:12px}.overview-carousel figcaption{font-size:12px;max-width:65%}}

/* Final header-logo alignment: a little larger, further left and slightly higher. */
.site-header .logo,.logo{width:225px;max-width:225px;left:max(20px,3.4vw);top:-30px}
.site-header{padding-left:270px}
@media(max-width:900px){.site-header{padding-left:20px}.site-header .logo,.logo{width:155px;max-width:155px;left:10px;top:-21px}}

/* Welcome-gallery colour lift and food scrapbook */
.inner-hero.gilmerton .overview-carousel img{filter:saturate(1.08) contrast(1.035) brightness(1.025)}
.food-collage{margin:0;min-height:440px;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:14px;padding:18px;background:#fff;border-radius:38px;box-shadow:var(--shadow);position:relative;overflow:hidden;transform:rotate(1deg)}
.food-collage>img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:24px;display:block}
.food-collage>img:first-child{grid-row:1/3;object-position:center}
.food-collage>img:nth-child(2),.food-collage>img:nth-child(3),.food-collage>img:nth-child(4){object-position:center}
.food-collage>img:nth-child(4){position:absolute;width:31%;height:37%;right:21%;bottom:18px;z-index:2;transform:rotate(-4deg);border:7px solid #fff;box-shadow:0 10px 25px #24285830}
.food-tile{border-radius:24px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font:800 1.05rem "Baloo 2";padding:18px;color:var(--navy)}
.food-tile.fruit{background:#ffed9b;font-size:2.2rem}.food-tile.cook{background:#c8f0df;font-size:2.2rem}.food-tile span{font-size:1rem}
.food-collage figcaption{position:absolute;left:34px;bottom:30px;max-width:60%;background:#fff;padding:10px 16px;border-radius:999px;font:800 14px "Baloo 2";box-shadow:0 8px 20px #24285824}
@media(max-width:900px){.food-collage{min-height:390px}}
@media(max-width:620px){.food-collage{min-height:360px;gap:8px;padding:10px;border-radius:26px}.food-collage>img,.food-tile{border-radius:18px}.food-collage figcaption{left:20px;bottom:20px;max-width:78%;font-size:12px}.food-tile{padding:10px}.food-tile span{display:none}}
.about-photo,.contact-photo,.after-school-photo{margin:0;overflow:hidden}.about-photo img,.contact-photo img,.after-school-photo img{width:100%;height:100%;object-fit:cover;display:block}.about-hero .about-photo img{object-position:center 38%}.aim .about-photo img{object-position:center}.after-school-photo{border:12px solid #fff;border-radius:34px;box-shadow:var(--shadow)}.after-school-photo img{min-height:390px}.qualification-card{min-height:390px;border-radius:48% 52% 45% 55%;background:linear-gradient(145deg,#fff,#fff6cf);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:45px;transform:rotate(2deg)}.qualification-card span{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font:800 2.1rem "Baloo 2";color:var(--navy)}.qualification-card strong{font:800 2rem/1.1 "Baloo 2";margin:18px 0 8px}.qualification-card small{font-weight:800;color:#6e6482}.qualification-notes{background:#eaf8f2;border-radius:34px;padding:45px;text-align:center;box-shadow:var(--shadow)}.qualification-notes>span{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:#fff;font-size:2rem}.qualification-notes h3{margin:20px 0 10px}.training-clean:before{animation:none}.contact-photo img{object-position:center}
@media(prefers-reduced-motion:reduce){.photo-carousel .carousel-track{transition:none}}
.after-school-collage{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:14px;padding:12px;border:12px solid #fff;border-radius:34px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.after-school-collage img{width:100%;height:100%;min-height:190px;object-fit:cover;border-radius:20px;display:block}.after-school-collage img:first-child{grid-row:1/3}.detail-section .split-copy{display:block;text-align:center}
