/* assets/css/animations.css */
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes pulse-whatsapp {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.45); }
  70% { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@keyframes marquee {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}
@keyframes gentleLift {
  from { transform: translateY(0); }
  to { transform: translateY(-4px); }
}
@keyframes gradientFlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
@keyframes glowPulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.7; }
}
.fade-in-up { animation: fadeInUp 0.8s ease both; }
.marquee-text { display: inline-block; white-space: nowrap; animation: marquee 16s linear infinite; }
.card-hover-lift:hover { animation: gentleLift 0.3s ease forwards; }
.counter-animate { will-change: contents; }
.gallery-item img,
.course-card,
.testimonial-card,
.whatsapp-fab { will-change: transform; }

.reveal-item {
  opacity: 0;
  transform: translateY(18px) scale(0.98);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal-item.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .fade-in-up,
  .marquee-text,
  .card-hover-lift:hover {
    animation: none !important;
  }
  .result-poster-card::after,
  .result-poster-card:hover::before {
    animation: none !important;
  }
  .result-poster-card:hover {
    transform: none;
  }
  .reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
