.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity 700ms var(--ease), transform 700ms var(--ease); }
.reveal[data-reveal-delay="1"] { transition-delay: 120ms; }
.reveal.is-visible { opacity: 1; transform: none; }
.feature-visual figure, .analysis-screen { animation: screen-in 420ms var(--ease) both; }
@keyframes screen-in { from { opacity: 0; transform: translateY(.7rem) scale(.99); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
  .story { min-height: 100vh; }
  .story-sticky { position: relative; }
  .story-canvas { display: none; }
  .story-screen { opacity: .72; transform: translate(-50%, -45%); clip-path: none; }
  .story-steps li { display: none; }
  .story-steps li:last-child { display: grid; opacity: 1; transform: none; }
}
