/* ===================================
   ANIMATIONS
   =================================== */

/* Fade In Up */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Delays */
.delay-100 { transition-delay: 100ms; }
.delay-150 { transition-delay: 150ms; }
.delay-200 { transition-delay: 200ms; }
.delay-250 { transition-delay: 250ms; }
.delay-300 { transition-delay: 300ms; }
.delay-350 { transition-delay: 350ms; }
.delay-400 { transition-delay: 400ms; }

/* Pulse Glow */
@keyframes pulseGlow {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

/* Float Diamond */
@keyframes floatDiamond {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  33% {
    transform: translateY(-8px) rotate(1deg);
  }
  66% {
    transform: translateY(4px) rotate(-1deg);
  }
}

/* Sparkle */
@keyframes sparkle {
  0%, 100% {
    opacity: 0;
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Float Particle */
@keyframes floatParticle {
  0%, 100% {
    transform: translateY(0) translateX(0) rotate(0deg);
  }
  25% {
    transform: translateY(-20px) translateX(10px) rotate(5deg);
  }
  50% {
    transform: translateY(-10px) translateX(-5px) rotate(-3deg);
  }
  75% {
    transform: translateY(-25px) translateX(15px) rotate(2deg);
  }
}

/* Ambient Game Glow */
@keyframes ambientGlow {
  0%, 100% {
    box-shadow: 0 0 40px rgba(96, 165, 250, 0.1), 0 0 80px rgba(96, 165, 250, 0.05);
  }
  50% {
    box-shadow: 0 0 60px rgba(96, 165, 250, 0.15), 0 0 100px rgba(96, 165, 250, 0.08);
  }
}

.game-glow {
  animation: ambientGlow 4s ease-in-out infinite;
}

/* Smooth hover lift for cards */
.glass-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
              box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
              border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              background 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-card:hover,
.step-card:hover,
.testimonial-card:hover,
.achievement-card:hover,
.tier-card:hover {
  transform: translateY(-4px);
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html {
    scroll-behavior: auto;
  }

  .fade-in-up {
    opacity: 1;
    transform: none;
  }

  .floating-diamond,
  .diamond-sparkle,
  .diamond-hero-svg,
  .diamond-hero-glow {
    animation: none;
  }
}