/* =============================================================
   Scroll-reveal utilities (공용) — JS가 .is-in 클래스를 붙임
   ============================================================= */

.sr {
  opacity: 0;
  transition: opacity .8s cubic-bezier(.2,.8,.2,1),
              transform .8s cubic-bezier(.2,.8,.2,1);
  will-change: opacity, transform;
}
.sr.from-left   { transform: translateX(-64px); }
.sr.from-right  { transform: translateX(64px); }
.sr.from-bottom { transform: translateY(44px); }
.sr.from-pop    { transform: scale(.55); }
.sr.is-in       { opacity: 1; transform: none; }

/* stagger helpers */
.sr.dl-1 { transition-delay: .12s; }
.sr.dl-2 { transition-delay: .24s; }
.sr.dl-3 { transition-delay: .36s; }
.sr.dl-4 { transition-delay: .48s; }

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