@keyframes heroEnter { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes linePulse { 0%,100% { opacity: .35; transform: scaleX(.7); } 50% { opacity: 1; transform: scaleX(1); } }
.reveal { opacity: 0; animation: heroEnter .8s cubic-bezier(.2,.7,.2,1) forwards; }
.reveal-delay-1 { animation-delay: .12s; }
.reveal-delay-2 { animation-delay: .24s; }
.reveal-delay-3 { animation-delay: .36s; }
.scroll-hint i { transform-origin: right; animation: linePulse 2s ease-in-out infinite; }
.section-reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1); }
.section-reveal-delay-1 { transition-delay: .1s; }
.section-reveal-delay-2 { transition-delay: .2s; }
.section-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .section-reveal { opacity: 1; transform: none; }
}
