/* ==========================================================================
   ENHANCED MICRO-ANIMATIONS & TRANSITIONS
   ========================================================================== */

/* Slide Up Fade In */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(35px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Floating Particle */
@keyframes floatAnim {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(1deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

.animate-float {
  animation: floatAnim 4.5s ease-in-out infinite;
}

/* Glow Ring Pulse */
@keyframes yellowPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.5);
  }
  70% {
    box-shadow: 0 0 0 20px rgba(255, 193, 7, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
  }
}

.pulse-btn {
  animation: yellowPulse 2.2s infinite;
}

/* Scroll Reveal Triggers */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}
