/* ==========================================================================
   animations.css — scroll-reveal, marquee scroll, reduced-motion handling
   ========================================================================== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.stagger .reveal:nth-child(1){transition-delay:.05s;}
.stagger .reveal:nth-child(2){transition-delay:.18s;}
.stagger .reveal:nth-child(3){transition-delay:.31s;}

.marquee-track{display:flex;width:max-content;animation:scroll-left 26s linear infinite;}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .marquee-track{animation:none;}
  *{scroll-behavior:auto !important;}
}
