/* smooth-scroll.css
   Required reset for Lenis momentum scrolling (see /js/smooth-scroll.js).
   Lenis stamps `lenis` + `lenis-smooth` (and `lenis-scrolling`/`lenis-stopped`)
   onto <html> only while it is active, so none of this applies during the
   scroll-canvas hero intro or for prefers-reduced-motion users (Lenis never
   starts in those cases). */

/* Let the document height follow content; Lenis drives the scroll itself. */
html.lenis,
html.lenis body {
  height: auto;
}

/* Native smooth scrolling fights Lenis's virtual scroll. styles.css sets
   `html { scroll-behavior: smooth }`; force it off whenever Lenis is smoothing. */
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

/* Opt-out hook: put data-lenis-prevent on an inner scrollable element (a modal,
   a drawer) so the wheel scrolls IT instead of the page. None today, kept for
   parity with how Lenis is wired elsewhere on the stack. */
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

/* While Lenis is hard-stopped, freeze the page. */
.lenis.lenis-stopped {
  overflow: hidden;
}

/* Iframes swallow wheel events and break the glide; ignore pointer while smoothing. */
.lenis.lenis-smooth iframe {
  pointer-events: none;
}
