/* ══════════════════════════════════════
   ANIMATIONS — scroll reveal, fadeUp, shared keyframes
══════════════════════════════════════ */

/* scroll reveal */
.sr { opacity:0; transform:translateY(22px); transition:opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out); }
.sr.in { opacity:1; transform:translateY(0); }
.sr-d1 { transition-delay:0.12s; }
.sr-d2 { transition-delay:0.24s; }
.sr-d3 { transition-delay:0.36s; }

/* stagger variant (about page) */
.sr-stagger > * {
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}
.sr-stagger.in > * { opacity: 1; transform: translateY(0); }
.sr-stagger > *:nth-child(1) { transition-delay: 0.04s; }
.sr-stagger > *:nth-child(2) { transition-delay: 0.08s; }
.sr-stagger > *:nth-child(3) { transition-delay: 0.12s; }
.sr-stagger > *:nth-child(4) { transition-delay: 0.16s; }
.sr-stagger > *:nth-child(5) { transition-delay: 0.20s; }
.sr-stagger > *:nth-child(6) { transition-delay: 0.24s; }
.sr-stagger > *:nth-child(7) { transition-delay: 0.28s; }
.sr-stagger > *:nth-child(8) { transition-delay: 0.32s; }
.sr-stagger > *:nth-child(9) { transition-delay: 0.36s; }

/* hero enter (about page) */
.hero-enter { opacity: 0; transform: translateY(30px); animation: heroIn 0.9s var(--ease-out) forwards; }
.hero-enter-d1 { animation-delay: 0.15s; }
@keyframes heroIn { to { opacity: 1; transform: translateY(0); } }

/* shared keyframes */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }
@keyframes fadeIn { from{opacity:0;} to{opacity:1;} }
