/* Lightweight visual motion layer: transform and opacity only. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1)}
.site-header{transition:padding .3s var(--motion-ease),background .3s var(--motion-ease),box-shadow .3s var(--motion-ease)}
.site-header.is-scrolled{padding:7px 0;background:#fffffff0;box-shadow:0 6px 24px #56203614}.brand img{transition:transform .25s var(--motion-ease)}.brand:hover img{transform:rotate(-2deg) scale(1.035)}
.nav-links>a:not(.button):after{transition:width .25s var(--motion-ease),left .25s var(--motion-ease)}.nav-links>a:not(.button):not(.active):after{content:"";position:absolute;bottom:-9px;left:50%;width:0;height:2px;border-radius:9px;background:var(--pink)}.nav-links>a:not(.button):not(.active):hover:after{width:100%;left:0}
.button,.text-link,.line-link{transition:transform .23s var(--motion-ease),box-shadow .23s var(--motion-ease),background .23s ease,color .23s ease}.button:active{transform:scale(.98)}.button span,.text-link b,.line-link{transition:transform .22s var(--motion-ease)}.button:hover span,.text-link:hover b{transform:translateX(4px)}.button:hover{box-shadow:0 10px 20px #3c1a291f}.button.yellow:hover{background:#ffd651}
.motion-ready .hero-copy,.motion-ready .hero-art{opacity:0}.motion-ready .hero-copy.hero-in,.motion-ready .hero-art.hero-in{opacity:1}.motion-ready .hero-copy.hero-in .eyebrow{animation:heroUp .62s var(--motion-ease) both}.motion-ready .hero-copy.hero-in h1{animation:heroUp .72s .09s var(--motion-ease) both}.motion-ready .hero-copy.hero-in .lead{animation:heroUp .62s .2s var(--motion-ease) both}.motion-ready .hero-copy.hero-in .actions a{animation:heroUp .55s var(--motion-ease) both}.motion-ready .hero-copy.hero-in .actions a:nth-child(1){animation-delay:.31s}.motion-ready .hero-copy.hero-in .actions a:nth-child(2){animation-delay:.41s}.motion-ready .hero-copy.hero-in .hero-chips{animation:heroUp .55s .49s var(--motion-ease) both}.motion-ready .hero-art.hero-in{animation:heroArt .85s .22s var(--motion-ease) both}.hero-art.hero-in .hero-main{animation:floatImage 6s 1.15s ease-in-out infinite}.hero-art.hero-in .play-badge{animation:softBob 5.2s 1s ease-in-out infinite}.hero-art.hero-in .branch-badge{animation:badgeIn .55s .78s var(--motion-ease) both}.hero-art.hero-in .dots{animation:dotDrift 7s 1s ease-in-out infinite}.hero-art.hero-in .hero-small{animation:smallIn .6s .61s var(--motion-ease) both}
@keyframes heroUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes heroArt{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes floatImage{50%{transform:translateY(-7px)}}@keyframes softBob{50%{transform:rotate(-9deg) translateY(-5px)}}@keyframes dotDrift{50%{transform:translate(5px,4px);opacity:.6}}@keyframes badgeIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes smallIn{from{opacity:0;transform:translate(-16px,14px) scale(.94)}to{opacity:1;transform:none}}
.motion-ready .motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease)}.motion-ready .motion-reveal.revealed{opacity:1;transform:none}.motion-ready .reveal-left{transform:translateX(-26px)}.motion-ready .reveal-right{transform:translateX(26px)}.motion-ready .reveal-scale{transform:scale(.96)}.motion-ready .stagger-child{transition-delay:calc(var(--stagger,0) * 80ms)}
.trust article{transition:transform .3s var(--motion-ease)}.trust article:hover{transform:translateY(-3px)}.trust-icon{transition:transform .38s var(--motion-ease),box-shadow .38s ease}.revealed .trust-icon{animation:iconPop .45s var(--motion-ease) both}.trust article:nth-child(2) .trust-icon{animation-delay:.08s}.trust article:nth-child(3) .trust-icon{animation-delay:.16s}.trust article:nth-child(4) .trust-icon{animation-delay:.24s}@keyframes iconPop{0%{transform:scale(.75)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.program-card,.branch-grid article,.why-cards article{transition:transform .3s var(--motion-ease),box-shadow .3s var(--motion-ease),outline-color .3s ease;outline:1px solid transparent}.program-image{overflow:hidden}.program-image img,.branch-grid img,.gallery-item img{transition:transform .55s var(--motion-ease),filter .4s ease}.program-card:hover{transform:translateY(-7px);box-shadow:0 18px 30px #5420331e;outline-color:#f4aac8}.program-card:hover .program-image img{transform:scale(1.035)}.program-card:hover .program-image span{transform:translateY(-3px)}.program-image span{transition:transform .3s var(--motion-ease)}.program-card a b{display:inline-block;transition:transform .22s var(--motion-ease)}.program-card:hover a b{transform:translateX(4px)}
.care-image.revealed .sun{animation:softBob 5.7s ease-in-out infinite}.care-image.revealed .flower{animation:floatFlower 6.3s .6s ease-in-out infinite}@keyframes floatFlower{50%{transform:translateY(-6px) rotate(5deg)}}.accordion-symbol{transition:transform .25s var(--motion-ease)}.accordion-trigger[aria-expanded="true"] .accordion-symbol{transform:rotate(180deg)}
.branch-grid article{position:relative}.branch-grid article:before{content:"";position:absolute;inset:0 0 auto;height:190px;background:linear-gradient(180deg,#ec176a00 45%,#ec176a28);z-index:1;pointer-events:none;transition:opacity .3s;opacity:.25}.branch-grid article:hover{transform:translateY(-6px);box-shadow:0 19px 34px #5420331e}.branch-grid article:hover:before{opacity:.8}.branch-grid article:hover img{transform:scale(1.04)}.branch-grid h3,.branch-grid .line-link{transition:transform .25s var(--motion-ease)}.branch-grid article:hover h3{transform:translateY(-3px)}.branch-grid article:hover .line-link{transform:translateX(4px)}
.gallery-item:hover img{transform:scale(1.055)}.lightbox{opacity:0;transition:opacity .25s ease}.lightbox.open{opacity:1}.lightbox img{transform:scale(.96);transition:transform .3s var(--motion-ease)}.lightbox.open img{transform:scale(1)}.lightbox .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--pink);font-size:1.6rem;cursor:pointer;transition:transform .2s var(--motion-ease),background .2s ease}.lightbox .lightbox-nav:hover{background:var(--yellow);transform:translateY(-50%) scale(1.08)}.lightbox .prev{left:24px}.lightbox .next{right:24px}
.routine ol{position:relative}.routine ol:before{content:"";position:absolute;left:-2px;top:0;width:2px;height:100%;background:var(--pink);transform:scaleY(0);transform-origin:top;transition:transform 1s var(--motion-ease)}.routine.timeline-live ol:before{transform:scaleY(1)}.routine li{transition:opacity .5s var(--motion-ease),transform .5s var(--motion-ease)}.motion-ready .routine:not(.timeline-live) li{opacity:0;transform:translateX(18px)}.routine.timeline-live li{opacity:1;transform:none}.routine.timeline-live li:nth-child(1){transition-delay:.04s}.routine.timeline-live li:nth-child(2){transition-delay:.1s}.routine.timeline-live li:nth-child(3){transition-delay:.16s}.routine.timeline-live li:nth-child(4){transition-delay:.22s}.routine.timeline-live li:nth-child(5){transition-delay:.28s}.routine.timeline-live li:nth-child(6){transition-delay:.34s}.routine.timeline-live li:nth-child(7){transition-delay:.4s}.routine.timeline-live li:nth-child(8){transition-delay:.46s}.routine.timeline-live li:nth-child(9){transition-delay:.52s}
.enroll-box:after{animation:enrollGlow 8s ease-in-out infinite}.enroll-form.revealed label{animation:fieldIn .5s var(--motion-ease) both}.enroll-form.revealed label:nth-child(1){animation-delay:.05s}.enroll-form.revealed label:nth-child(2){animation-delay:.1s}.enroll-form.revealed label:nth-child(3){animation-delay:.15s}.enroll-form.revealed label:nth-child(4){animation-delay:.2s}.enroll-form.revealed label:nth-child(5){animation-delay:.25s}@keyframes enrollGlow{50%{transform:translate(20px,-13px) scale(1.08)}}@keyframes fieldIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.form-message:not(:empty){animation:messageIn .45s var(--motion-ease) both}@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.back-top{transform:translateY(10px) scale(.82);transition:opacity .25s ease,transform .25s var(--motion-ease),background .2s ease}.back-top.show{transform:none}.back-top:hover{background:var(--darkpink);transform:translateY(-3px)}
@media(max-width:850px){.nav-links.open{animation:menuIn .28s var(--motion-ease) both}@keyframes menuIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.motion-ready .motion-reveal{transform:translateY(20px)}.motion-ready .reveal-left,.motion-ready .reveal-right{transform:translateY(20px)}.hero-art.hero-in .hero-main{animation:none}.hero-art.hero-in .play-badge{animation:none}}
@media(hover:none){.program-card:hover,.branch-grid article:hover{transform:none;box-shadow:inherit}.program-card:hover .program-image img,.branch-grid article:hover img,.gallery-item:hover img{transform:none}.gallery-item:after{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-ready .hero-copy,.motion-ready .hero-art,.motion-ready .motion-reveal,.motion-ready .routine:not(.timeline-live) li{opacity:1!important;transform:none!important}.routine ol:before{transform:scaleY(1)!important}}
