/* Progressive enhancement: every section stays readable if scripts are unavailable. */
@media (prefers-reduced-motion:no-preference){
  html:has(body.page-motion){scroll-behavior:smooth}
  html:has(body.legal-page.page-motion){scroll-padding-top:90px}
  .page-motion .page-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
  .page-motion .page-reveal.is-visible,.page-motion .page-reveal:focus-within{opacity:1;transform:none}
  .page-motion :is(.how-button,.how-nav-cta,.legal-nav-cta){transition:transform .25s ease,box-shadow .25s ease}
  .page-motion :is(.how-button,.how-nav-cta,.legal-nav-cta):active{transform:scale(.98)}
  .how-metric-speed.is-counting>strong{animation:metric-charge 1.5s cubic-bezier(.22,1,.36,1) both}
  @keyframes metric-charge{from{opacity:.45;transform:translate3d(0,6px,0) scale(.97)}to{opacity:1;transform:none}}
  @media (hover:hover){
    .page-motion :is(.how-button,.how-nav-cta,.legal-nav-cta):hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(17,24,39,.14)}
  }
}
.legal-page .legal-section{scroll-margin-top:90px}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  .page-motion .page-reveal{transform:translate3d(0,18px,0);transition-duration:.65s;transition-delay:0ms}
  .page-motion .page-reveal.is-visible,.page-motion .page-reveal:focus-within{transform:none}
}
@media print{
  .page-motion .page-reveal{opacity:1!important;transform:none!important;transition:none!important}
}
