/* Floating Elements */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}

.float-anim {
  animation: float 6s ease-in-out infinite;
}

/* Subtle Wave Motion */
@keyframes wave {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Glow Pulse */
@keyframes pulseGlow {
  0% { box-shadow: 0 0 20px rgba(250, 204, 21, 0.1); }
  50% { box-shadow: 0 0 40px rgba(250, 204, 21, 0.3); }
  100% { box-shadow: 0 0 20px rgba(250, 204, 21, 0.1); }
}

.pulse-glow {
  animation: pulseGlow 4s infinite alternate;
}

/* Fade In Classes (Triggered by JS) */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
  will-change: opacity, transform;
}

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

/* Staggered Delays */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }