/* Motion is progressive enhancement: all content remains visible without JS. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:#8aa4b2;transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}
.header{transition:box-shadow .35s,background .35s}.header.is-scrolled{box-shadow:0 7px 25px #263f500b}
.headline-line{display:block}.hero h1 em:after{transform-origin:left}
.motion-enabled .hero h1 em:after{animation:underline-in 1s var(--motion-ease) .7s both}
.motion-enabled .hero-flower,.motion-enabled .play-flower,.motion-enabled .family-flower,.motion-enabled .contact-flower{animation:flower-sway 7s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:center}
.motion-enabled .photo-note{animation:note-float 5s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .hero-handwriting{animation:handwriting-float 6s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .hero-scroll span{animation:scroll-hint 2.5s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .small-sun{animation:sun-turn 20s linear infinite;animation-play-state:paused}
.motion-enabled .in-view .hero-flower,.motion-enabled .in-view .play-flower,.motion-enabled .in-view .family-flower,.motion-enabled .in-view .contact-flower,.motion-enabled .in-view .photo-note,.motion-enabled .in-view .hero-handwriting,.motion-enabled .in-view .hero-scroll span,.motion-enabled .in-view .small-sun{animation-play-state:running}
.hero-visual{translate:var(--photo-x,0px) var(--photo-y,0px);transition:translate .9s var(--motion-ease)}
.motion-enabled .hero-photo img{scale:1.06;translate:0 var(--parallax-y,0px)}
.motion-enabled .play-main img,.motion-enabled .about-visual>img{transition:scale 1.2s var(--motion-ease)}
.button .icon,.text-link .icon,.text-link>span{transition:translate .35s var(--motion-ease),rotate .35s var(--motion-ease)}
.button:hover .icon:last-child,.text-link:hover .icon,.text-link:hover>span{translate:4px 0}
.button:active{transform:translateY(0) scale(.975);box-shadow:none}
.service{transition:translate .4s var(--motion-ease),background .4s,box-shadow .4s}
.service-icon{transition:rotate .5s var(--motion-ease),scale .5s var(--motion-ease)}
.location-card img{transition:scale 1.1s var(--motion-ease),filter .7s}
.location-card{transition:translate .45s var(--motion-ease),box-shadow .45s}
.credentials>div{transition:padding-left .3s,color .3s}
.faq-items summary{transition:color .25s,padding-left .25s}




.motion-disabled *,.motion-disabled *:before,.motion-disabled *:after{animation:none!important;transition:none!important}
.motion-disabled .hero-visual,.motion-disabled .hero-photo img{translate:none!important}.motion-disabled .hero-photo img{scale:1}
.motion-disabled{scroll-behavior:auto}
@media(hover:hover) and (pointer:fine){.motion-enabled .service:hover{translate:0 -6px}.motion-enabled .service:hover .service-icon{rotate:-12deg;scale:1.1}.motion-enabled .family-service:hover{box-shadow:0 15px 30px #263f5010}.motion-enabled .play-main:hover img{scale:1.035}.motion-enabled .about-visual:hover>img{scale:1.015}.motion-enabled .location-card:hover{translate:0 -5px;box-shadow:0 13px 30px #263f5010}.motion-enabled .location-card:hover img{scale:1.035}.motion-enabled .credentials>div:hover{padding-left:8px}.motion-enabled summary:hover{padding-left:7px;color:var(--blue)}}
@media(max-width:600px){.motion-enabled .hero-photo img{scale:1;translate:none}.hero-visual{translate:none!important}}
@keyframes underline-in{from{scale:0 1}to{scale:1 1}}
@keyframes flower-sway{from{rotate:-9deg;translate:0 -3px}to{rotate:12deg;translate:0 5px}}
@keyframes note-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -9px;rotate:1.5deg}}
@keyframes handwriting-float{0%,100%{translate:0 0}50%{translate:3px -4px}}
@keyframes scroll-hint{0%,65%,100%{translate:0 0}35%{translate:0 7px}}
@keyframes sun-turn{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-progress{display:none}.hero-visual,.hero-photo img{translate:none!important}.hero-photo img{scale:1!important}*,*:before,*:after{animation:none!important;transition:none!important}}
