/* =========================================================
   ICME ACADEMY — ANIMATIONS
   ========================================================= */

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}

@keyframes scrollMove {
  0% { transform: translate(-50%, 0); opacity: 1; }
  50% { transform: translate(-50%, 10px); opacity: .5; }
  100% { transform: translate(-50%, 0); opacity: 1; }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes pulseGold {
  0% { box-shadow: 0 0 0 0 rgba(199, 165, 92, .45); }
  70% { box-shadow: 0 0 0 16px rgba(199, 165, 92, 0); }
  100% { box-shadow: 0 0 0 0 rgba(199, 165, 92, 0); }
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.scroll-down { animation: scrollMove 2s infinite; }
.float { animation: floatY 4s ease-in-out infinite; }
.pulse-badge { animation: pulseGold 2.2s infinite; }

/* Reveal-on-scroll fallback for elements without AOS */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.in-view { opacity: 1; transform: translateY(0); }

/* Partner logo marquee */
.marquee-track {
  display: flex;
  gap: 70px;
  width: max-content;
  animation: marquee 28s linear infinite;
}
.marquee-wrapper { overflow: hidden; }
.marquee-wrapper:hover .marquee-track { animation-play-state: paused; }

/* Counter pop */
.counter { transition: transform .3s var(--ease); }
