/* ─── Universal scroll-reveal ──────────────────────────────────────────────
   .sr            — hidden until viewport entry
   .sr-visible    — added by JS; triggers the animation
   data-sr-delay  — stagger step (1–6, ~80 ms apart)
   ─────────────────────────────────────────────────────────────────────── */
.sr {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity  .65s cubic-bezier(.22,.61,.36,1),
    transform .65s cubic-bezier(.22,.61,.36,1);
}

.sr.sr-visible {
  opacity: 1;
  transform: none;
}

.sr[data-sr-delay="1"] { transition-delay: .08s; }
.sr[data-sr-delay="2"] { transition-delay: .16s; }
.sr[data-sr-delay="3"] { transition-delay: .24s; }
.sr[data-sr-delay="4"] { transition-delay: .32s; }
.sr[data-sr-delay="5"] { transition-delay: .40s; }
.sr[data-sr-delay="6"] { transition-delay: .48s; }

@media (prefers-reduced-motion: reduce) {
  .sr {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
