/* Shared reveal timing. Components only choose when a scene enters. */
:root {
 --reveal-ms: 2400;
 --reveal-duration: 2.4s;
 --reveal-travel-duration: 2.8s;
 --reveal-ease: cubic-bezier(.16,.5,.25,1);
 --reveal-distance: 26px;
}
.motion-ready .reveal,.scene-reveal {
 opacity:0;
 transform:translateY(var(--reveal-distance));
 transition:opacity var(--reveal-duration) var(--reveal-ease) var(--scene-delay,0s),transform var(--reveal-travel-duration) var(--reveal-ease) var(--scene-delay,0s);
}
.motion-ready .reveal.is-visible,.scene-reveal.scene-visible {opacity:1;transform:none}
.paused .reveal {opacity:1;transform:none}
@media(max-width:700px){:root{--reveal-distance:18px}}
@media(prefers-reduced-motion:reduce){
 .motion-ready .reveal,.scene-reveal{opacity:1;transform:none;transition:none}
}
