/* Scroll-reveal baseline.
   The hidden state is gated behind `.sr-active`, which a tiny <head> failsafe
   adds early (before first paint, so there is no flash) and removes again if
   the reveal script never runs — guaranteeing content is never permanently
   hidden when JavaScript fails or is disabled. */
.sr-active .wow{
  opacity:0;
  will-change:opacity, transform;
}

/* Respect users who prefer reduced motion: never hide, never animate. */
@media (prefers-reduced-motion: reduce){
  .sr-active .wow{ opacity:1 !important; }
}
