.reveal { opacity: 0; transform: translateY(34px); }
.reveal.is-visible { opacity: 1; transform: none; transition: opacity .85s var(--ease), transform .85s var(--ease); }
.reveal-delay-1.is-visible { transition-delay: .1s; }
.reveal-delay-2.is-visible { transition-delay: .2s; }
.hero .line { overflow: hidden; }
.hero .line > span { display: block; transform: translateY(115%); animation: line-in 1s var(--ease) forwards; }
.hero .line:nth-child(2) > span { animation-delay: .14s; }
.hero .line:nth-child(3) > span { animation-delay: .28s; }
.hero .eyebrow, .hero .hero-sub, .hero .button-row { opacity: 0; animation: fade-up .8s var(--ease) .5s forwards; }
.hero .hero-sub { animation-delay: .62s; }
.hero .button-row { animation-delay: .74s; }
@keyframes line-in { to { transform: none; } }
@keyframes fade-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .hero .line > span, .hero .eyebrow, .hero .hero-sub, .hero .button-row { opacity: 1; transform: none; }
  .marquee-track { animation: none; }
}
