/**
 * Homepage section scroll snap.
 * Source of truth — copied to public/styles/home-scroll-snap.css by optimize-static-images.mjs.
 * scroll-padding-top offsets snapport for sticky header (CSS only, no scroll-margin).
 * JS easing snap only — native proximity disabled (harsh near threshold).
 */

@media (prefers-reduced-motion: reduce) {
  html.home-scroll-snap {
    scroll-snap-type: none !important;
  }
}

html.home-scroll-snap {
  scroll-behavior: auto;
}

html.home-scroll-snap [data-home-section] {
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}

/*
 * All viewports: JS-only easing snap.
 * Native proximity fights custom easing and feels harsh near the snap threshold.
 */
html.home-scroll-snap:not(.home-scroll-snap--paused):not(.is-snapping) {
  scroll-snap-type: none;
  scroll-padding-top: var(--header-height);
}

html.home-scroll-snap.is-snapping {
  scroll-snap-type: none;
}
