/* smooth-scroll.css: goes with smooth-scroll.js. */

/* Lenis */
html.lenis, html.lenis body { height: auto; }
html.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }

/* Reveal: hidden only once the script has run (motion-ready), so the page reads fine without it. */
.motion-ready .reveal { opacity: 0; transform: translateY(45px); transition: opacity .9s, transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.motion-ready .reveal.in-view { opacity: 1; transform: none; }

/* Touch keeps native momentum; a soft snap stands in for the wheel magnet. */
@media (pointer: coarse) {
  html:has([data-snap]) { scroll-snap-type: y proximity; }
  [data-snap] { scroll-snap-align: start; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .reveal { opacity: 1; transform: none; transition: none; }
}
