/* Motion, loaded last. Only transform / opacity / colour / shadow animate.
 * The first screen never animates in (LCP); the number field drifts but the hero text is static. */

/* scroll reveal: transform only, so content is never hidden (screenshots, no-JS, old browsers) */
@supports (animation-timeline: view()) {
  .reveal { animation: rise linear both; animation-timeline: view(); animation-range: entry 0% cover 22%; }
  @keyframes rise { from { transform: translateY(16px); } to { transform: none; } }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { transform: none; }
}
