/* ============================================================
   MOTION — scroll reveals, and the opt-out for everything
   Loaded last so the reduced-motion block wins.
   ============================================================ */
.rv{opacity:0;transform:translateY(26px);transition:opacity .95s var(--ease),transform .95s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}
.rv.d2{transition-delay:.16s}
.rv.d3{transition-delay:.24s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv,.fade-up,.hero-logo-wrap,h1 .l i{opacity:1!important;transform:none!important;transition:none!important}
  .hero-logo-wrap,.hero-logo-wrap::before,.hero-logo-wrap::after{animation:none!important}
  h1 .hl::after{transform:scaleX(1)!important}
  .swash path{stroke-dashoffset:0!important;transition:none}
  .faq-item .plus::before,.faq-item .plus::after{transition:none}
}
