/* transitions.dev-inspired motion tokens: a consistent spring-like ease, distance and duration scale. */
:root{--t-distance:28px;--t-duration:650ms;--t-ease:cubic-bezier(.16,1,.3,1)}
.inview{opacity:0;transform:translateY(var(--t-distance));transition:opacity var(--t-duration) var(--t-ease),transform var(--t-duration) var(--t-ease)}
.inview.visible{opacity:1;transform:translateY(0)}
.hero-art{opacity:0;transform:scale(1.08);transition:opacity 1250ms var(--t-ease),transform 1250ms var(--t-ease)}
body.ready .hero-art{opacity:1;transform:scale(1)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 780ms var(--t-ease),transform 780ms var(--t-ease)}
body.ready .reveal{opacity:1;transform:translateY(0)}
body.ready .delay-1{transition-delay:300ms}body.ready .delay-2{transition-delay:400ms}body.ready .delay-3{transition-delay:500ms}body.ready .delay-4{transition-delay:600ms}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
