/* Touch scrolling stays native; anchors leave room for the visible header. */
html { scroll-behavior:smooth; scroll-snap-type:none; scroll-padding-top:var(--site-header-height,0px); }
[data-chapter] { scroll-snap-align:start; scroll-margin-top:0; }
.services main [data-chapter],.contact main [data-chapter] { scroll-snap-align:none; }
@media(min-width:1001px) and (min-height:700px) and (pointer:fine) {
  html { scroll-snap-type:y proximity; }
  body:not(.services):not(.contact) main>[data-chapter] { min-height:100svh; align-content:center; }
  body:not(.services):not(.contact) main>[data-chapter]:first-child { min-height:calc(100svh - 105px); scroll-margin-top:105px; }
  .home .intro,.home .capabilities,.finapp .finapp-hero,.finapp .product-tour,.finapp .product-split,.finapp .product-install,body:not(.services):not(.contact) .page-hero[data-chapter] { display:grid; }
  .finapp .product-tour,.finapp .product-split { padding-block:32px; }
  .finapp-hero-copy { margin-top:clamp(30px,6svh,75px); }
  .product-rhythm { margin-top:clamp(40px,8svh,90px); }
}
/* Exactly one scroll owner during enhanced desktop gestures and anchor travel. */
html.chapter-wheel-ready,html.anchor-travelling { scroll-behavior:auto; scroll-snap-type:none; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; scroll-snap-type:none; }
}
