@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-extrabold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:'GTA Russian';src:url('assets/gta-russian.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#faf9f5;--ink:#25232b;--muted:#6b6873;--purple:#50267c;--green:#c3dda3;--line:#deddd6;--gutter:64px;--max:1312px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%;display:block}::selection{background:var(--green);color:var(--ink)}:focus-visible{outline:3px solid #769f48;outline-offset:6px}section[id]{scroll-margin-top:100px}.symbols{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.purple{color:var(--purple)}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:800;margin:0 0 26px;display:flex;align-items:center;gap:10px}.live-dot{width:7px;height:7px;border-radius:50%;background:#81a45f;box-shadow:0 0 0 5px #81a45f12}.button{min-height:54px;padding:17px 23px;display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--purple);color:white;font-weight:700;font-size:12px;border:1px solid transparent;border-radius:7px;transition:background .2s,transform .2s;line-height:1.45}.button svg{width:19px;height:19px}.button:hover{background:#3f307f;transform:translateY(-2px)}.button-small{min-height:44px;padding:12px 19px;gap:11px}.button-outline{border-color:var(--purple);background:transparent;color:var(--purple)}.button-outline:hover{background:#ece8f5}.button-green{background:var(--green);color:#252e1f}.button-green:hover{background:#d4eab9}.button-light-outline{background:transparent;border-color:#a398c9}.button-light-outline:hover{background:#ffffff12}.text-link{display:inline-flex;align-items:center;gap:19px;font-size:12px;font-weight:700;padding-block:9px}.text-link:hover{color:var(--purple)}.text-link span{font-size:20px}.skip{position:fixed;left:20px;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:30;background:#faf9f5f5;border-bottom:1px solid #e9e7e0;transition:box-shadow .2s}.header.compact{box-shadow:0 3px 20px #25232b08}.header-inner{height:97px;display:flex;align-items:center;justify-content:space-between;gap:28px;transition:height .2s}.compact .header-inner{height:77px}.brand{display:grid;line-height:1;flex-shrink:0}.wordmark{font-family:'GTA Russian',Impact,sans-serif;font-weight:400}.brand .wordmark{font-size:43px;color:var(--purple)}.brand-caption{font-size:8px;letter-spacing:2px;text-align:center;margin-top:8px}.header nav{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:38px}.header nav a{font-size:12px;font-weight:700;position:relative}.header nav a:hover,.header nav a.active{color:var(--purple)}.header nav a.active:after{content:'';position:absolute;bottom:-9px;left:0;right:0;height:2px;background:var(--purple)}.nav-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#89af65;vertical-align:top;margin-left:3px}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;min-height:670px;position:relative;gap:15px}.hero-copy{padding-top:73px;padding-bottom:44px;z-index:2}.hero h1{font-size:clamp(42px,4.25vw,65px);font-weight:800;line-height:1.09;letter-spacing:-2.8px;margin:0 0 25px}.underline{position:relative;display:inline-block}.underline:after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:8px;border-top:3px solid #a4c781;border-radius:50%;transform:rotate(-3deg)}.hero-description{font-size:14px;color:var(--muted);line-height:1.85;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:25px}.hero-location{display:inline-flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-top:32px}.hero-location svg{width:16px;height:16px;color:var(--purple)}.hero-location>span:last-child{margin-left:15px}.hero-art{position:relative;min-width:0;align-self:stretch}.art-disc{position:absolute;width:95%;aspect-ratio:1;top:104px;left:3%;background:#ded9ee;border-radius:50%;transform:rotate(-7deg)}.disc-text{position:absolute;top:32px;left:17%;font-size:9px;letter-spacing:3px;color:var(--purple);transform:rotate(-9deg)}.disc-orbit{position:absolute;inset:-4%;width:108%;height:108%;stroke:#a99cc7;stroke-width:.6}.mascot-enter{position:absolute;width:91%;bottom:37px;left:8%;z-index:2}.mascot-enter img{height:auto;width:100%;transform-origin:50% 92%;will-change:transform;filter:drop-shadow(0 10px 9px #4631600a)}.mascot-shadow{position:absolute;bottom:39px;left:20%;width:70%;height:25px;background:#473e6830;filter:blur(10px);border-radius:50%;z-index:1}.hello-note{position:absolute;right:-5px;top:150px;background:var(--green);color:#3c502b;font-size:17px;line-height:1.35;letter-spacing:-.5px;padding:18px 23px;transform:rotate(9deg);border-radius:48% 47% 46% 7%;z-index:3}.hello-note span{display:block;text-align:right;font-size:24px;line-height:1}.love-sticker{position:absolute;left:-17px;bottom:101px;z-index:3;display:flex;gap:14px;align-items:center;padding:16px 20px;background:#fffdf7;box-shadow:0 8px 30px #4236570d;border:1px solid #eeeae2;transform:rotate(-7deg);border-radius:8px;font-size:11px;line-height:1.65}.love-sticker>span{font-size:36px;font-family:Arial;color:var(--purple);line-height:1}.hero-spark{position:absolute;color:var(--purple);z-index:3;stroke-width:1}.spark-one{width:46px;height:46px;top:72px;left:14%;transform:rotate(12deg)}.spark-two{width:28px;height:28px;right:3%;bottom:115px;color:#89a86a;transform:rotate(15deg)}.art-caption{position:absolute;bottom:9px;right:15%;font-size:8px;letter-spacing:2px;color:#797281}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);height:67px;font-size:10px;color:var(--muted)}.hero-bottom>a{display:flex;align-items:center;gap:18px}.hero-bottom>a>span{font-size:20px;color:var(--purple)}.care-strip{background:var(--purple);color:#f4f1fa;display:flex;align-items:center;justify-content:space-around;gap:43px;overflow:hidden;white-space:nowrap;height:66px;font-size:11px;letter-spacing:2px;font-weight:700}.care-strip span:nth-child(even){font-size:25px;color:var(--green)}
.section{padding-block:105px}h2{font-size:clamp(32px,3.35vw,48px);font-weight:800;letter-spacing:-1.8px;line-height:1.2;margin:0}h3{line-height:1.3;font-weight:800;letter-spacing:-.6px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:45px}.section-intro{font-size:13px;color:var(--muted);margin:0 0 5px;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:31px 30px 24px;border-radius:12px;position:relative;overflow:hidden;transition:transform .2s}.service-card:before{position:absolute;content:'';left:0;top:0;width:0;height:4px;background:var(--purple);transition:width .25s}.service-card:hover{transform:translateY(-5px)}.service-card:hover:before{width:100%}.lavender{background:#eee9f5}.green{background:#e9efdf}.peach{background:#f3eade}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.card-top>span{font-size:10px;color:#77707c}.service-icon{width:45px;height:45px;color:var(--purple);stroke-width:1.4}.service-card h3{font-size:23px;margin:0 0 13px}.service-card p{font-size:12px;color:#67616c;max-width:300px;margin:0 0 30px}.service-card>a{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;padding-top:18px;border-top:1px solid #28232e20}.service-card>a>span{font-size:22px}.visit{background:#f0f0e9}.visit h2{text-align:center}.visit .eyebrow{justify-content:center}.steps-wrap{position:relative;margin-top:50px}.journey{position:absolute;top:0;left:0;width:100%;height:90px;stroke-width:2}.journey-base{stroke:#c9d1bc}.journey #journey-progress{stroke:#89a768}.steps{list-style:none;padding:20px 0 0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}.step-number{display:flex;align-items:center;justify-content:center;background:#f0f0e9;border:1px solid #c0c5b5;color:var(--purple);border-radius:50%;width:52px;height:52px;font-size:12px;font-weight:700;transition:background .25s}.steps li.active .step-number{background:var(--green);border-color:var(--green)}.steps h3{font-size:17px;margin:27px 0 10px}.steps p{font-size:12px;color:var(--muted);margin:0}.guest-story{display:grid;grid-template-columns:.8fr 1.2fr;background:#eeeae1;border-radius:15px;overflow:hidden;max-width:1100px;margin:auto}.guest-photo{margin:0;position:relative;overflow:hidden;min-height:380px;background:#dbd5c9}.guest-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.guest-photo:hover img{transform:scale(1.025)}.guest-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 20px;background:linear-gradient(transparent,#241d24b3);color:white;font-size:10px}.guest-text{padding:45px 55px;position:relative}.guest-text .eyebrow{font-size:8px;margin-top:10px}.guest-text h3{font-size:31px;letter-spacing:-1px;margin:0 0 25px}.guest-text>p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);max-width:410px}.guest-text .button{margin-top:15px}.little-star{position:absolute;right:30px;top:15px;color:var(--purple);font-size:46px}
.school-transition{height:720px;position:relative;background:#dce6cd}.transition-scene{position:sticky;top:77px;min-height:520px;padding:90px max(var(--gutter),calc((100% - var(--max))/2));overflow:hidden;transform:scale(var(--scene-scale,1));transform-origin:center;opacity:var(--scene-opacity,1)}.transition-scene h2{font-size:clamp(40px,5.7vw,80px);max-width:900px;position:relative;z-index:1}.transition-scene h2 em{font-style:normal;color:var(--purple);display:inline-block;border-bottom:3px solid var(--purple)}.transition-scene>a{display:inline-flex;font-size:30px;width:55px;height:55px;align-items:center;justify-content:center;border:1px solid #879575;border-radius:50%;margin-top:30px}.transition-flower{position:absolute;right:10%;top:65px;font-size:360px;line-height:1;color:#bdceaa;transform:rotate(15deg)}.school{background:var(--purple);color:white;position:relative;z-index:2}.school-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.school .eyebrow{color:#d2cbe9}.school h2{line-height:1.35}.school h2>span{color:var(--green)}.school h2 .wordmark{font-size:1.3em}.school-copy{padding-top:12px}.school-label{display:block;color:var(--green);font-size:9px;letter-spacing:1.4px;border-bottom:1px solid #ffffff30;padding-bottom:24px;margin-bottom:24px}.school-copy p{font-size:13px;color:#e2ddee;line-height:1.9;max-width:410px}.school-copy .button{margin-top:19px}.school-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b4aad1;margin-top:65px;padding-top:35px;gap:60px}.school-stats>div{display:flex;align-items:center;gap:30px}.school-stats>div+div{border-left:1px solid #ffffff30;padding-left:60px}.school-stats strong{font-size:94px;line-height:1.1;letter-spacing:-5px;color:var(--green)}.school-stats strong span{font-size:60px}.school-stats>div>span{font-size:14px;line-height:1.9}.school-stats small{font-size:10px;color:#d2cbe9}.school-stats>div:hover small{color:white}.price{display:grid;grid-template-columns:1fr 1fr;gap:90px}.price>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:355px;margin:25px 0}.price-album{display:block;margin-top:15px;font-size:10px}.faq{padding-top:38px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:700;padding:26px 0}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:23px;font-weight:400;line-height:1;transition:transform .2s;color:var(--purple)}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:13px;color:var(--muted);margin:0 0 25px}.faq details a{text-decoration:underline;text-underline-offset:3px;color:var(--purple)}.contacts{background:#f0efe9}.branches{display:grid;grid-template-columns:1fr 1fr;gap:25px}.branches article{background:var(--paper);border-radius:10px;padding:32px}.branch-top{display:flex;justify-content:space-between;align-items:center;color:var(--purple)}.branch-top>span{font-size:9px;letter-spacing:1px;font-weight:700}.branches h3{font-size:27px;margin:20px 0 15px}.branches p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:25px}.branches article>a{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:15px;font-size:12px;font-weight:700}.branches article>a>span{font-size:20px}.common-contact{display:flex;justify-content:space-between;margin-top:27px;font-size:12px;color:var(--muted)}.common-contact span a{font-weight:700;color:var(--ink);margin-left:10px}.final-call{padding:90px 0;background:var(--purple);color:white;overflow:hidden}.final-call .container{position:relative}.final-call .eyebrow{color:#d2cbe9}.final-call h2{font-size:clamp(40px,5vw,70px);line-height:1.15;position:relative;z-index:1}.final-call h2>span{color:var(--green)}.final-actions{display:flex;gap:16px;margin-top:38px;position:relative;z-index:1}.final-spark{position:absolute;width:200px;height:200px;right:90px;top:20px;color:#a393d0;stroke-width:.8;transform:rotate(15deg)}footer{background:#faf9f5}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:42px}.footer-main>p{font-size:11px;color:var(--muted);margin-right:auto}.footer-main>a:not(.brand){font-size:12px;font-weight:700}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding-block:21px;color:var(--muted);font-size:9px}
/* Only elements observed successfully receive an initial animation state. */
.motion-on .mascot-enter{animation:sit-down 1s cubic-bezier(.2,.7,.3,1) both}.motion-on .hero h1{animation:headline-in .7s ease both}.motion-on .hero-description{animation:headline-in .8s .1s ease both}.reveal-pending[data-reveal=card]{opacity:0;transform:translateY(22px)}[data-reveal=card]{transition:opacity .6s,transform .6s;transition-delay:var(--delay,0ms)}.reveal-pending[data-reveal=image]{clip-path:inset(0 100% 0 0)}[data-reveal=image]{transition:clip-path .9s cubic-bezier(.2,.6,.3,1)}.reveal-pending[data-reveal=stat]{opacity:0;transform:translateX(-15px)}[data-reveal=stat]{transition:opacity .7s var(--delay,0ms),transform .7s var(--delay,0ms)}.reveal-pending[data-reveal=words],.reveal-pending[data-reveal=lines]{clip-path:inset(0 0 100% 0)}[data-reveal=words],[data-reveal=lines]{transition:clip-path .8s cubic-bezier(.2,.6,.3,1)}@keyframes sit-down{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}@keyframes headline-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-grid{min-height:745px}.hero-copy{padding-top:90px}.mascot-enter{max-width:550px;left:7%}.art-disc{max-width:610px}.hero h1{font-size:67px}}
@media(max-width:1150px){:root{--gutter:40px}.header nav{gap:23px;margin-right:10px}.hero-grid{min-height:600px}.hero-copy{padding-top:55px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-actions{align-items:flex-start;flex-direction:column;gap:9px}.hero-location{margin-top:20px}.mascot-enter{bottom:70px;width:100%;left:0}.art-disc{top:125px}.hello-note{font-size:14px;padding:14px 18px;right:-5px;top:138px}.love-sticker{left:-15px;bottom:110px;padding:12px 15px;font-size:9px}.art-caption{bottom:42px;right:10%}.hero-bottom{height:60px}.service-card{padding:25px 23px}.service-card h3{font-size:21px}.school-grid{gap:40px}.school-stats{gap:30px}.school-stats>div+div{padding-left:30px}.school-stats strong{font-size:80px}.price{gap:50px}.guest-text{padding:35px}.transition-flower{right:3%}.final-spark{right:30px}}
@media(max-width:850px){:root{--gutter:28px}.header-inner{height:83px;gap:20px}.header nav{gap:16px;margin-right:0}.header nav a{font-size:10px}.header-call{font-size:10px;padding:10px 13px}.brand .wordmark{font-size:36px}.brand-caption{font-size:7px;letter-spacing:1px}.hero-grid{min-height:570px;grid-template-columns:1.07fr 1fr}.hero h1{font-size:39px;letter-spacing:-1.8px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-description{font-size:12px}.hero-copy{padding-top:50px}.hero-art .mascot-enter{width:115%;left:-5%;bottom:87px}.hero-art .art-disc{top:155px;width:110%;left:-3%}.hello-note{top:152px;font-size:12px;right:-10px}.love-sticker{bottom:108px;left:0;font-size:8px;gap:8px}.love-sticker>span{font-size:27px}.hero-spark.spark-one{top:96px;left:30%}.art-caption{bottom:62px;font-size:6px}.hero-location{font-size:9px;gap:5px}.hero-location>span:last-child{margin-left:3px}.hero-actions .button{font-size:11px;padding:16px 18px;gap:12px}.hero-actions .text-link{font-size:11px}.section{padding-block:75px}.service-grid{gap:12px}.service-card{padding:24px 18px}.service-card h3{font-size:18px}.service-card p{font-size:11px}.service-card>a{font-size:9px}.section-intro{font-size:11px}.section-heading{gap:25px}.steps{gap:15px}.steps h3{font-size:14px}.steps p{font-size:11px}.guest-text{padding:30px}.guest-text h3{font-size:25px}.guest-photo{min-height:350px}.guest-text .eyebrow{max-width:180px}.school-grid{grid-template-columns:1fr;gap:35px}.school-copy{max-width:550px}.school-copy p{max-width:none}.school-stats>div{gap:20px}.school-stats>div>span{font-size:11px}.school-stats small{font-size:8px}.school-stats strong{font-size:73px}.price{grid-template-columns:1fr;gap:15px}.price>div>p:not(.eyebrow){max-width:470px}.branches h3{font-size:23px}.branches article{padding:25px}.branch-top>span{font-size:8px;letter-spacing:.5px}.common-contact{font-size:10px}.final-actions{gap:12px}.final-actions .button{font-size:10px;padding:17px}.final-spark{width:160px;height:160px;right:0}.footer-main{gap:25px}.footer-main>p{margin-right:0}.footer-main>a:not(.brand){font-size:10px}}
@media(max-width:650px){:root{--gutter:22px}html{scroll-padding-top:80px}.header-inner,.compact .header-inner{height:75px;gap:14px}.header-call{margin-left:auto;min-height:39px;font-size:10px;padding:10px 12px;gap:8px}.header-call svg{width:14px;height:14px}.header nav{display:flex;flex-wrap:wrap;position:absolute;top:75px;left:0;right:0;margin:0;padding:16px 22px;background:var(--paper);border-bottom:1px solid var(--line);justify-content:center}.header nav a{font-size:11px}.js-menu .header nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px 22px 25px;box-shadow:0 15px 20px #25232b0d}.js-menu .header nav.open{display:flex}.js-menu .header nav a{padding:14px 10px;font-size:15px}.header nav a.active:after{display:none}.menu-toggle{background:transparent;border:0;width:28px;height:40px;padding:8px 0;align-items:center;justify-content:center;flex-direction:column;gap:6px}.js-menu .menu-toggle{display:flex}.menu-toggle span{height:1.5px;width:23px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.brand .wordmark{font-size:34px}.brand-caption{font-size:6px}.hero-grid{display:flex;flex-direction:column;min-height:0;gap:0}.hero-copy{padding-top:74px;padding-bottom:0}.js-menu .hero-copy{padding-top:30px}.hero .eyebrow{font-size:8px;margin-bottom:20px;letter-spacing:1.15px}.hero h1{font-size:clamp(37px,8vw,50px);letter-spacing:-1.7px;line-height:1.09;margin-bottom:19px}.hero-description{font-size:12px;line-height:1.75;margin-bottom:20px}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:9px 18px}.hero-actions .button{font-size:10px;min-height:48px;padding:14px 15px;gap:15px}.hero-actions .text-link{font-size:10px;gap:8px}.hero-location{margin-top:18px;font-size:9px}.hero-art{height:345px;align-self:stretch;max-width:400px;width:100%;margin:0 auto}.hero-art .mascot-enter{width:77%;max-width:300px;left:14%;bottom:21px}.hero-art .art-disc{width:81%;max-width:320px;left:9%;top:40px}.disc-text{font-size:7px;letter-spacing:1.7px;top:21px;left:15%}.hello-note{top:60px;right:-3px;padding:12px 17px;font-size:12px}.hero-spark.spark-one{top:19px;left:13%;width:29px;height:29px}.hero-spark.spark-two{bottom:66px;right:5%;width:23px;height:23px}.love-sticker{left:0;bottom:59px;font-size:8px;padding:11px 13px}.mascot-shadow{bottom:20px;left:22%;height:14px;width:62%;filter:blur(7px)}.art-caption{bottom:2px;right:17%;font-size:6px;letter-spacing:1.4px}.hero-bottom{margin-top:15px;height:54px;font-size:8px}.hero-bottom>a{gap:8px}.care-strip{height:53px;gap:25px;justify-content:flex-start;padding-left:22px;font-size:9px;letter-spacing:1.5px}.care-strip span:nth-child(even){font-size:19px}.section{padding-block:60px}.eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}h2{font-size:32px;letter-spacing:-1.1px;line-height:1.22}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.section-intro{font-size:12px}.section-intro br{display:none}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:25px}.card-top{margin-bottom:20px}.service-card h3{font-size:23px}.service-card p{font-size:12px;max-width:none;margin-bottom:22px}.service-card>a{font-size:11px}.service-icon{height:40px;width:40px}.visit h2{text-align:left}.visit .eyebrow{justify-content:flex-start}.steps-wrap{margin-top:32px}.journey{display:none}.steps{display:flex;flex-direction:column;padding:0;gap:26px}.steps:before{content:'';position:absolute;left:22px;top:20px;bottom:35px;width:1px;background:#b6c6a6}.steps li{position:relative;padding-left:70px;min-height:70px}.step-number{position:absolute;left:0;top:0;width:45px;height:45px;font-size:11px}.steps h3{margin:0 0 7px;font-size:17px}.steps p{font-size:12px}.steps p br{display:none}.guest-story{grid-template-columns:1fr}.guest-photo{min-height:0;max-height:390px}.guest-photo img{height:auto;max-height:390px;object-fit:contain;background:#e3dfd6}.guest-text{padding:28px}.guest-text h3{font-size:25px}.guest-text>p:not(.eyebrow){font-size:12px}.guest-text .eyebrow{max-width:210px}.little-star{font-size:35px;right:21px}.school-transition{height:auto}.transition-scene{position:relative;top:auto;min-height:390px;padding:55px 22px;transform:none;opacity:1}.transition-scene .eyebrow{font-size:7px;letter-spacing:1px;max-width:250px}.transition-scene h2{font-size:38px}.transition-flower{font-size:220px;top:130px;right:-40px;opacity:.65}.transition-scene>a{position:relative;z-index:1;width:45px;height:45px;font-size:24px;margin-top:23px}.school-grid{gap:25px}.school h2{font-size:30px;line-height:1.4}.school-label{font-size:8px;padding-bottom:18px;margin-bottom:20px}.school-copy p{font-size:12px}.school-copy .button{font-size:10px;gap:15px}.school-stats{margin-top:40px;padding-top:25px;gap:22px;grid-template-columns:1fr}.school-stats>div+div{border-left:0;padding-left:0;border-top:1px solid #ffffff30;padding-top:20px}.school-stats strong{font-size:70px;min-width:115px;letter-spacing:-3px}.school-stats strong span{font-size:45px}.school-stats>div>span{font-size:12px}.school-stats small{font-size:9px}.price{gap:5px}.price>div>p:not(.eyebrow){font-size:12px}.faq summary{font-size:12px;padding:22px 0}.faq details p{font-size:12px}.branches{grid-template-columns:1fr;gap:16px}.branches h3{font-size:24px}.branch-top>span{font-size:8px}.branches p{font-size:12px}.common-contact{flex-direction:column;gap:18px;font-size:11px}.common-contact span a{display:block;margin:8px 0 0;font-size:20px}.final-call{padding:60px 0}.final-call h2{font-size:38px;letter-spacing:-1.5px}.final-call .eyebrow{font-size:7px;letter-spacing:1.1px}.final-spark{width:90px;height:90px;right:-15px;top:48px;opacity:.4}.final-actions{flex-direction:column;align-items:stretch;gap:13px;margin-top:30px}.final-actions .button{font-size:11px;justify-content:space-between;padding:17px 19px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:28px 15px;padding-block:34px}.footer-main .brand{justify-self:start}.footer-main>p{font-size:10px}.footer-main>a:not(.brand){font-size:11px}.footer-bottom{flex-wrap:wrap;gap:12px;font-size:8px;padding-block:20px}.footer-bottom span:nth-child(2){order:3;width:100%}.footer-bottom>a{margin-left:auto}section[id]{scroll-margin-top:85px}}
.brand{display:flex;align-items:center;gap:11px}.brand-icon{width:38px;height:48px;object-fit:contain;mix-blend-mode:multiply}.brand-type{display:grid}.brand-type .brand-caption{display:block}.reveal-word{display:inline-block;transition:transform .55s,opacity .55s;transition-delay:var(--word-delay,0ms)}.reveal-pending .reveal-word{opacity:0;transform:translateY(12px)}
/* Keep observed boxes unclipped: only their visual children are masked. */
.reveal-pending[data-reveal=words],.reveal-pending[data-reveal=lines],.reveal-pending[data-reveal=image]{clip-path:none}
.reveal-lines{display:block;transition:clip-path .8s cubic-bezier(.2,.6,.3,1)}
.school h2>.reveal-lines{color:inherit}.school h2>.reveal-lines>span{color:var(--green)}
.mascot-canvas{position:absolute;pointer-events:none;display:none}
.mascot-rig-active #mascot{opacity:0;filter:none;will-change:auto}
.mascot-rig-active .mascot-canvas{display:block}
.team-story{grid-template-columns:.9fr 1.1fr;align-items:center;background:#eee9f3}
.team-photo{margin:0;overflow:hidden}.team-photo a{display:block}.team-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.team-story .guest-text h3{font-size:40px}.team-story .guest-text{padding:45px}
.portfolio-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:65px 0 28px}
.portfolio-heading h3{font-size:29px;margin:0}.portfolio-heading>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.work-card{margin:0}.work-card:nth-child(2){margin-top:35px}.work-card>a{display:block;border-radius:12px;overflow:hidden;position:relative;background:#eee9f3}
.work-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}.work-card a:hover img{transform:scale(1.025)}
.photo-expand{position:absolute;top:14px;right:14px;border-radius:50%;background:#faf9f5ed;color:var(--purple);width:34px;height:34px;display:grid;place-items:center;font-size:21px}
.work-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 2px}.work-card figcaption strong{font-size:19px}.work-card figcaption>span{font-size:11px;color:var(--muted)}
.photo-viewer{padding:24px 65px;border:0;border-radius:14px;background:#21182e;color:white;max-width:min(95vw,1200px);max-height:95dvh;overflow:auto}.photo-viewer::backdrop{background:#15101dee;backdrop-filter:blur(5px)}
.photo-viewer figure{margin:0}.viewer-image{width:auto;height:auto;max-height:80dvh;max-width:100%;margin:auto;object-fit:contain}.viewer-caption{text-align:center;padding:12px 0 0;font-size:12px}
.photo-viewer button{position:absolute;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff50;border-radius:50%;background:#21182ed9;color:white;cursor:pointer;font-size:23px}.photo-viewer button:hover{background:var(--purple)}
.viewer-close{right:12px;top:12px;z-index:1}.viewer-prev{left:12px;top:48%}.viewer-next{right:12px;top:48%}body.viewer-open{overflow:hidden}
@media(max-width:850px){.team-story .guest-text{padding:27px}.team-story .guest-text h3{font-size:30px}.portfolio-grid{gap:15px}.work-card figcaption{align-items:flex-start;flex-direction:column;gap:3px}.portfolio-heading h3{font-size:24px}.portfolio-heading>span{max-width:150px}}
@media(max-width:650px){.team-story{grid-template-columns:1fr}.team-photo img{max-height:none}.team-story .guest-text{padding:30px}.team-story .guest-text h3{font-size:31px}.portfolio-heading{margin-top:40px;align-items:flex-start;flex-direction:column;gap:15px}.portfolio-heading>span{max-width:none;font-size:8px}.portfolio-grid{grid-template-columns:1fr;gap:25px}.work-card:nth-child(2){margin-top:0}.work-card figcaption{flex-direction:row;align-items:center}.photo-viewer{padding:55px 12px 18px;width:95vw;max-width:95vw}.viewer-image{max-height:72dvh}.viewer-prev,.viewer-next{top:auto;bottom:10px}.viewer-caption{padding:20px 40px 0;font-size:10px;min-height:50px}}
.reveal-pending .reveal-lines{clip-path:inset(0 0 100% 0)}
[data-reveal=image] img{transition:clip-path .9s cubic-bezier(.2,.6,.3,1),transform .6s}
.reveal-pending[data-reveal=image] img{clip-path:inset(0 100% 0 0)}
@media(min-width:1151px){.hero-art .mascot-enter{width:80%;left:12%}.hero-art .art-disc{width:86%;left:7%;top:112px}}
@media(max-width:850px){.brand{gap:7px}.brand-icon{width:29px;height:37px}.header nav{gap:13px}}
@media(max-width:650px){.brand-icon{width:26px;height:33px}.brand .wordmark{font-size:31px}.brand-caption{font-size:5px}.hero-art{margin-top:-4px}}
@media(max-width:380px){.hero-art{height:310px}.hero-art .mascot-enter{width:85%;left:8%}}
/* Pet illustrations replace every decorative star, including small screens. */
.pet-doodle{stroke-width:1.65}.little-star.pet-doodle{width:48px;height:48px}
.transition-flower.pet-doodle{width:310px;height:310px;stroke-width:1.1;top:100px}
.final-spark.pet-doodle{stroke-width:1.2}.strip-pet{width:28px;height:28px;color:var(--green);stroke-width:1.8}
/* A single anchor offset: align content, not the section's large outer padding. */
html{scroll-padding-top:93px}.section{--section-space:105px}section[id]{scroll-margin-top:calc(-1 * var(--section-space,0px))}
.steps-wrap{--step-gap:30px}
.journey{left:calc((100% - 3 * var(--step-gap)) / 8);width:calc(75% + 3 * var(--step-gap) / 4);height:70px;top:11px;overflow:visible}
@media(min-width:651px){.steps{text-align:center;gap:var(--step-gap)}.step-number{margin-inline:auto}}
@media(min-width:651px) and (max-width:850px){.steps-wrap{--step-gap:15px}}
.school-stats strong .count-value{font-size:inherit;font-variant-numeric:tabular-nums}
.school-stats strong[data-count]{min-width:2.4ch}
.journey-base{stroke:#b4c69f}.journey path{vector-effect:non-scaling-stroke}
.carousel-controls{display:none}
.privacy-page{max-width:780px;padding-block:55px 90px}.privacy-page h1{font-size:clamp(32px,5vw,48px);line-height:1.2;letter-spacing:-1.5px}.privacy-page h2{font-size:24px;margin-top:35px;letter-spacing:-.6px}.privacy-page p{color:var(--muted)}.privacy-page a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.section{--section-space:75px}}
@media(max-width:650px){
  html{scroll-padding-top:91px}.section{--section-space:60px}
  .little-star.pet-doodle{width:35px;height:35px}.transition-flower.pet-doodle{width:210px;height:210px;top:150px;right:-20px}
  .hero-spark.spark-one{width:34px;height:34px}.hero-spark.spark-two{width:29px;height:29px}.strip-pet{width:24px;height:24px}
  .portfolio-grid{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding:0;padding:5px 2px 8px;scrollbar-width:thin;scrollbar-color:var(--purple) #e5dfed}
  .portfolio-grid .work-card{flex:0 0 90%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
  .portfolio-grid:after{content:'';flex:0 0 calc(10% - 16px)}
  .portfolio-grid .work-card img{clip-path:none!important}
  .work-card figcaption{gap:8px}.work-card figcaption>span{font-size:10px}
  .js-carousel .carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}
  .carousel-controls button{border:1px solid #d6cce3;background:transparent;color:var(--purple);cursor:pointer;min-width:44px;min-height:44px;border-radius:50%;font-size:21px}
  .carousel-controls button:disabled{opacity:.3;cursor:default}
  .carousel-dots{display:flex;align-items:center;margin-left:auto}
  .carousel-controls .carousel-dot{position:relative;min-width:32px;min-height:44px;border:0;border-radius:0}
  .carousel-dot:before{content:'';display:block;width:7px;height:7px;border-radius:50%;margin:auto;background:#c9c0d6}
  .carousel-dot[aria-current=true]:before{background:var(--purple);width:18px;border-radius:5px}
  .carousel-status{font-size:11px;color:var(--muted);margin-right:auto;font-variant-numeric:tabular-nums}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.school-transition{height:auto}.transition-scene{position:relative;top:auto;transform:none;opacity:1}.reveal-pending,.reveal-pending .reveal-word{opacity:1!important;transform:none!important;clip-path:none!important}#mascot{transform:none!important}}
