/* Shared motion refinements, with native scrolling and static fallbacks. */
.hero-photo{translate:0 var(--hero-travel,0px)}
.scene{background-position:center var(--scene-position,40%)}
.space-picture img{transition:scale 1.1s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){
.space-picture:hover img{scale:1.035}
.text-link span,.button span{display:inline-block;transition:translate .35s ease}
.text-link:hover span,.button:hover span{translate:4px 0}
.contact-links a{transition:padding-left .35s ease,background .35s ease}
.contact-links a:hover{padding-left:12px;background:#bc974f0c}
}
.motion-ready .hero .inner{animation:none}
.motion-ready .hero .inner>*{animation:welcome-reveal 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--welcome-delay,0ms)}
@keyframes welcome-reveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.motion-ready.motion-waiting .hero .inner>*{animation-play-state:paused}
.motion-updated .cinema-image{transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}
.motion-updated .motion-toggle{min-height:44px}
.motion-updated .photo-card img{transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .6s}
.motion-updated .reveal{transition-timing-function:cubic-bezier(.16,1,.3,1)}
body.motion-paused .hero-photo{translate:0 0}
body.motion-paused .scene{background-position:center 40%}
body.motion-paused .hero .inner>*{animation:none!important}
body.motion-paused .space-picture img{transition:none;scale:1}
@media(prefers-reduced-motion:reduce){
.hero-photo{translate:0 0!important}.scene{background-position:center 40%!important}
.motion-ready .hero .inner>*{animation:none!important}
.space-picture img{transition:none;scale:1}
}
