:root{--ink:#24324a;--purple:#7157c9;--purple2:#9b7de3;--teal:#42b9ad;--yellow:#f7c85a;--cream:#fffaf0;--paper:#fff;--muted:#687386;--line:#e9e5f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:#2e2750;color:#fff;font-size:13px}.topbar .wrap{height:38px;display:flex;align-items:center;justify-content:space-between}.topbar a{color:#fff;text-decoration:none}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(36,50,74,.07)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font:900 24px Nunito;text-decoration:none;color:var(--ink)}.brand>span:last-child>span{color:var(--purple)}.logo{width:43px;height:43px;border-radius:14px 14px 18px 12px;background:var(--purple);display:grid;place-items:center;color:#fff;transform:rotate(-4deg);box-shadow:0 6px 18px #7157c938}.brand .logo{font-size:25px}.nav nav{display:flex;align-items:center;gap:30px}.nav nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}.nav nav a:hover{color:var(--purple)}.navcta{padding:12px 18px;border-radius:99px;background:var(--purple);color:#fff!important}.menu{display:none;border:0;background:none;font-size:26px}.hero{overflow:hidden;position:relative;background:linear-gradient(135deg,#fffaf0,#f8f5ff);padding:72px 0 92px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:68px}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;color:var(--teal);font-size:12px;font-weight:800;margin-bottom:16px}.hero h1,.copy h2,.section-head h2,.why h2,.contact h2{font:900 clamp(42px,5.4vw,70px)/1.03 Nunito;margin:0 0 22px;letter-spacing:-2px}.hero h1 em,.copy h2 span,.section-head h2 span,.why h2 span{font-style:normal;color:var(--purple)}.hero-copy>p{font-size:18px;line-height:1.75;color:var(--muted);max-width:600px}.actions{display:flex;gap:12px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;padding:15px 22px;border-radius:99px;font-weight:800;font-family:inherit;cursor:pointer}.primary{background:var(--purple);color:#fff;box-shadow:0 12px 26px #7157c92d}.ghost{border:1px solid #dcd5eb;color:var(--ink);background:#fff}.trust{display:flex;gap:18px;flex-wrap:wrap;color:#596479;font-size:13px}.hero-media{position:relative}.photo-frame{border-radius:48% 52% 46% 54%/40% 42% 58% 60%;overflow:hidden;border:10px solid #fff;box-shadow:0 30px 70px #4d3e7130;aspect-ratio:1/1}.photo-frame img{width:100%;height:100%;object-fit:cover}.float-card{position:absolute;bottom:5%;left:-7%;background:#fff;border-radius:20px;padding:16px 20px;display:flex;align-items:center;gap:10px;box-shadow:0 15px 40px #34304425}.float-card strong{font:900 30px Nunito;color:var(--purple)}.float-card span{font-size:12px;line-height:1.25}.sun{position:absolute;right:-4%;top:3%;font-size:42px;transform:rotate(15deg)}.blob{position:absolute;border-radius:50%;filter:blur(1px)}.b1{width:180px;height:180px;background:#f7c85a38;left:-80px;top:40px}.b2{width:120px;height:120px;background:#42b9ad24;right:2%;bottom:-45px}.intro,.programs,.gallery,.reviews{padding:100px 0}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}.collage{position:relative;padding:0 30px 35px 0}.mainpic{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:34px}.mini{position:absolute;right:-15px;bottom:0;background:var(--yellow);padding:20px 24px;border-radius:20px;font-size:15px;transform:rotate(3deg);box-shadow:0 15px 30px #8b72302b}.copy h2,.section-head h2,.why h2,.contact h2{font-size:46px}.copy>p,.section-head>p,.why p{line-height:1.75;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.feature-grid div{display:grid;grid-template-columns:42px 1fr;column-gap:8px}.feature-grid b{grid-row:1/3;font-size:26px}.feature-grid strong{font:800 16px Nunito}.feature-grid small{color:var(--muted);line-height:1.4}.programs{background:#f7f5fb}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-head h2{margin:0}.section-head>p{max-width:440px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards article{background:#fff;padding:28px;border-radius:24px;border:1px solid var(--line);transition:.25s}.cards article:hover{transform:translateY(-6px);box-shadow:0 18px 45px #4a41641a}.icon{font-size:34px;margin-bottom:25px}.age{font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--teal)}.cards h3{font:800 22px/1.2 Nunito;margin:9px 0 12px}.cards p{font-size:14px;line-height:1.65;color:var(--muted);min-height:115px}.cards a{color:var(--purple);font-weight:800;text-decoration:none;font-size:13px}.why{padding:90px 0;background:#302653;color:#fff}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.why h2 span{color:#f7c85a}.why p{color:#d9d3e7}.why img{width:100%;height:510px;object-fit:cover;border-radius:34px;transform:rotate(2deg)}.light{color:#70d5ca}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.ticks span{font-size:14px}.white{background:#fff;color:#302653}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:230px 230px;gap:14px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:22px}.gallery-grid img:first-child{grid-row:1/3}.gallery-grid img:nth-child(4){grid-column:2}.gallery-grid img:nth-child(5){grid-column:3}.reviews{background:var(--cream)}.rating{text-align:right}.rating strong{display:block;color:#f1a91b;letter-spacing:2px}.rating span{font-size:12px;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-grid blockquote{margin:0;background:#fff;padding:28px;border-radius:24px;box-shadow:0 8px 30px #57472e0d}.review-grid blockquote>div{color:#f1a91b;letter-spacing:2px}.review-grid p{line-height:1.7;color:#596479}.review-grid footer{font-weight:800;font-size:13px}.contact{padding:80px 0 100px}.contact-card{background:var(--teal);border-radius:38px;padding:58px;display:grid;grid-template-columns:1fr .85fr;gap:70px;color:#fff}.contact h2{font-size:46px}.contact-card>div>p{color:#e7fffc;line-height:1.7}.contact-links{display:grid;gap:16px;margin-top:30px}.contact-links a{color:#fff;text-decoration:none;display:flex;gap:13px;align-items:center}.contact-links a>span{display:grid;font-weight:700}.contact-links small{font-weight:500;opacity:.75}.contact form{background:#fff;color:var(--ink);padding:28px;border-radius:25px;display:grid;gap:14px}.contact label{font-size:12px;font-weight:800}.contact input,.contact select,.contact textarea{width:100%;margin-top:6px;border:1px solid #dfe5e5;border-radius:11px;padding:12px;font:14px inherit;outline:none}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--purple)}.thanks{font-size:12px;color:var(--teal);margin:0}.footer{background:#211c3a;color:#d8d2e7;padding:34px 0}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.inverse{color:#fff}.inverse>span:last-child>span{color:#a98de9}@media(max-width:900px){.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:25px 20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.menu{display:block}.hero-grid,.split,.why-grid,.contact-card{grid-template-columns:1fr}.hero{padding-top:50px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.actions,.trust{justify-content:center}.hero-media{max-width:600px;margin:auto}.split{gap:45px}.collage{max-width:600px;margin:auto}.cards{grid-template-columns:1fr 1fr}.cards p{min-height:0}.why img{height:420px}.contact-card{gap:35px}.section-head{align-items:start}.footer .wrap{flex-direction:column;text-align:center}}@media(max-width:600px){.wrap{width:min(100% - 28px,1160px)}.topbar .wrap{height:auto;padding:9px 0;display:grid;gap:3px;text-align:center;justify-content:center}.nav{height:68px}.hero{padding:42px 0 70px}.hero h1{font-size:44px}.hero-grid{gap:42px}.float-card{left:0}.intro,.programs,.gallery,.reviews{padding:70px 0}.copy h2,.section-head h2,.why h2,.contact h2{font-size:38px}.feature-grid,.cards,.review-grid,.ticks{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:15px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:210px 170px 170px}.gallery-grid img:first-child{grid-column:1/3;grid-row:auto}.gallery-grid img:nth-child(4),.gallery-grid img:nth-child(5){grid-column:auto}.why-grid{gap:40px}.why img{height:330px}.contact-card{padding:30px 20px;border-radius:28px}.footer .brand{font-size:20px}}

/* Professional motion & interaction layer */
html{scroll-behavior:smooth;scroll-padding-top:92px}
header{transition:box-shadow .3s ease,background .3s ease,transform .3s ease}
header.scrolled{box-shadow:0 10px 35px rgba(27,37,59,.10);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
nav a{position:relative}
nav a:not(.navcta)::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
nav a:not(.navcta):hover::after{transform:scaleX(1);transform-origin:left}
.btn,.navcta{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.btn:hover,.navcta:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(47,52,99,.18);filter:saturate(1.05)}
.hero-copy>*{opacity:0;animation:heroIn .7s cubic-bezier(.2,.7,.2,1) forwards}
.hero-copy>*:nth-child(1){animation-delay:.08s}.hero-copy>*:nth-child(2){animation-delay:.16s}.hero-copy>*:nth-child(3){animation-delay:.24s}.hero-copy>*:nth-child(4){animation-delay:.32s}.hero-copy>*:nth-child(5){animation-delay:.4s}
.hero-media{opacity:0;animation:mediaIn .9s .18s cubic-bezier(.2,.7,.2,1) forwards}
.photo-frame{overflow:hidden}.photo-frame img{transition:transform 7s ease}.photo-frame:hover img{transform:scale(1.045)}
.float-card{animation:floaty 4s ease-in-out infinite}.sun{animation:spinSlow 14s linear infinite}
.cards article,.feature-grid>div,blockquote{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.cards article:hover,.feature-grid>div:hover,blockquote:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(30,41,59,.10)}
.cards article .icon{transition:transform .3s ease}.cards article:hover .icon{transform:rotate(-6deg) scale(1.1)}
.gallery-grid img{cursor:zoom-in;transition:transform .35s ease,filter .35s ease,box-shadow .35s ease}
.gallery-grid img:hover{transform:translateY(-5px) scale(1.015);filter:saturate(1.08);box-shadow:0 18px 45px rgba(30,41,59,.16)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--delay,0ms)}
.reveal.visible{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(14,18,30,.88);display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;transition:.25s ease;backdrop-filter:blur(10px)}
.lightbox.show{opacity:1;visibility:visible}.lightbox img{max-width:min(1100px,92vw);max-height:86vh;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.4);transform:scale(.96);transition:.25s ease}.lightbox.show img{transform:scale(1)}
.lightbox button{position:absolute;right:28px;top:20px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;font-size:30px;line-height:1;cursor:pointer}.no-scroll{overflow:hidden}
form input,form select,form textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}form input:focus,form select:focus,form textarea:focus{outline:none;box-shadow:0 0 0 4px rgba(117,98,214,.12)}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes mediaIn{from{opacity:0;transform:translateX(28px) scale(.98)}to{opacity:1;transform:none}}@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes spinSlow{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy>*,.hero-media,.float-card,.sun{animation:none!important;opacity:1}.reveal{opacity:1;transform:none;transition:none}.btn,.gallery-grid img,.cards article{transition:none}}
