.hero-copy > * { animation: rise-in .8s both; }
.hero-copy .eyebrow { animation-delay: .08s; }
.hero-copy h1 { animation-delay: .16s; }
.hero-copy .lead { animation-delay: .24s; }
.hero-copy .btn-row { animation-delay: .32s; }
.hero-stat { animation: rise-in .7s .45s both; }
@keyframes rise-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes pulse-line { 0%,100% { opacity: .4; transform: scaleY(.75); } 50% { opacity: 1; transform: scaleY(1); } }
.scroll-cue::after { animation: pulse-line 1.6s ease-in-out infinite; transform-origin: top; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}