/* ==========================================================================
   ANIMATIONS & MOTION GRAPHICS
   ========================================================================== */

/* Scroll Reveal Base Classes */
.reveal-up, .reveal-fade, .reveal-left, .reveal-right {
  opacity: 0;
  will-change: transform, opacity;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-up {
  transform: translateY(40px);
}

.reveal-fade {
  transform: scale(0.96);
}

.reveal-left {
  transform: translateX(40px);
}

.reveal-right {
  transform: translateX(-40px);
}

/* Revealed Active State */
.reveal-active {
  opacity: 1 !important;
  transform: translate(0) scale(1) !important;
}

/* Pulse animation for CTA highlights */
@keyframes subtlePulse {
  0% { box-shadow: 0 0 0 0 rgba(197, 160, 89, 0.4); }
  70% { box-shadow: 0 0 0 15px rgba(197, 160, 89, 0); }
  100% { box-shadow: 0 0 0 0 rgba(197, 160, 89, 0); }
}

.btn-primary-gold {
  animation: subtlePulse 4s infinite;
}