/* ============================================================
   MEMENTO MORI MMA — MOTION SYSTEM
   Premium, deliberate, slow animations only.
   ============================================================ */

/* Stagger groups */
.stagger-group .reveal:nth-child(1) { transition-delay: 0.05s; }
.stagger-group .reveal:nth-child(2) { transition-delay: 0.15s; }
.stagger-group .reveal:nth-child(3) { transition-delay: 0.25s; }
.stagger-group .reveal:nth-child(4) { transition-delay: 0.35s; }

/* Hero text cinematic entrance */
@keyframes heroTextIn {
  from { opacity: 0; transform: translateY(30px); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}
.hero-skull         { animation: heroTextIn 1s cubic-bezier(0.16,1,0.3,1) 0.3s both; }
.hero-eyebrow       { animation: heroTextIn 1s cubic-bezier(0.16,1,0.3,1) 0.5s both; }
.hero-headline      { animation: heroTextIn 1s cubic-bezier(0.16,1,0.3,1) 0.65s both; }
.hero-sub           { animation: heroTextIn 1s cubic-bezier(0.16,1,0.3,1) 0.8s both; }
.hero-ctas          { animation: heroTextIn 1s cubic-bezier(0.16,1,0.3,1) 1.0s both; }
.hero-scroll-hint   { animation: heroTextIn 1s cubic-bezier(0.16,1,0.3,1) 1.5s both; }

/* Navbar fade in */
@keyframes navbarIn {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}
#navbar { animation: navbarIn 0.8s cubic-bezier(0.16,1,0.3,1) 0.2s both; }

/* Counter odometer */
@keyframes countPulse {
  0%   { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
.stat-num.animated { animation: countPulse 0.8s cubic-bezier(0.16,1,0.3,1) forwards; }

/* Line-draw effect for section dividers */
@keyframes drawLine {
  from { transform: scaleX(0); transform-origin: left; }
  to   { transform: scaleX(1); transform-origin: left; }
}
.section-divider.visible { animation: drawLine 0.6s cubic-bezier(0.16,1,0.3,1) 0.2s both; }

/* Hover lift on coach card */
.coach-card { transition: box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.16,1,0.3,1); }
.coach-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,0.5); }

/* Scroll Reveal Animations */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: opacity, transform;
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}
