/* Theme-only animations the compiled Tailwind build doesn't include
   (the React app used Framer Motion for these). */

/* Hero headline: words rise in on load */
.hero-line { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .hero-word { transform: translateY(110%); opacity: 0; animation: howWordUp 0.85s cubic-bezier(0.22, 1, 0.36, 1) both; }
  .hero-word.w1 { animation-delay: 0.45s; }
  .hero-word.w2 { animation-delay: 0.57s; }
  .hero-word.w3 { animation-delay: 0.69s; }
}
@keyframes howWordUp { to { transform: translateY(0); opacity: 1; } }

/* Reveal-on-scroll (progressive enhancement: only hides once JS marks the page) */
@media (prefers-reduced-motion: no-preference) {
  html.reveal-ready .reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
  html.reveal-ready .reveal.in { opacity: 1; transform: none; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(2) { transition-delay: 0.08s; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(3) { transition-delay: 0.16s; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(4) { transition-delay: 0.24s; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(5) { transition-delay: 0.32s; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(6) { transition-delay: 0.40s; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(7) { transition-delay: 0.48s; }
  html.reveal-ready .reveal-stagger .reveal:nth-child(8) { transition-delay: 0.56s; }
}
