/* ═══════════════════════════════════════════════════════════
   ANIMATIONS — Keyframes, Scroll Reveal, Ticker Motion
   ═══════════════════════════════════════════════════════════ */

/* ─── Hero Word-In ─── */
@keyframes heroWordIn {
  to {
    opacity: 1;
    filter: blur(0px);
    transform: translateY(0);
  }
}

/* ─── Generic Fade Slide Up ─── */
@keyframes fadeSlideUp {
  to { opacity: 1; transform: translateY(0); }
}

/* ─── Ticker Animations ─── */
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes intTicker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes reviewTicker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ─── Scroll Reveal (Spring Physics) ─── */
.reveal {
  opacity: 0;
  transform: translateY(64px);
  will-change: transform, opacity;
}
.reveal.stagger-1 { transform: translateY(64px); }
.reveal.stagger-2 { transform: translateY(80px); }
.reveal.stagger-3 { transform: translateY(96px); }
.reveal.stagger-4 { transform: translateY(112px); }
.reveal.illustration-reveal { transform: translateY(60px); }
.reveal.visible {
  opacity: 1;
  transform: translateY(0) !important;
}
