/* Homepage only. Native snap provides gentle section settling on touch and
 * remains usable if the desktop wheel enhancement is unavailable. */
html.section-pages{scroll-padding-top:var(--header);scroll-snap-type:y proximity}
.section-pages #main>section,.section-pages .site-footer{scroll-snap-align:start;scroll-snap-stop:always}
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
  /* The wheel controller owns desktop stops. CSS snapping here could pull a
   * short overflow section back up and hide its last lines behind the header. */
  html.section-pages{scroll-snap-type:none}
  .section-pages #main>section{min-height:calc(100svh - var(--header))}
  .section-pages #main>section:not(.home-hero):not(.home-capabilities){display:flex;flex-direction:column;justify-content:center}
}
@media(prefers-reduced-motion:reduce){html.section-pages{scroll-behavior:auto}}
@media print{
  html.section-pages{scroll-snap-type:none;scroll-padding-top:0}
  .section-pages #main>section{min-height:0;scroll-snap-align:none;display:block}
}
