/* Keyframes */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(212,160,23,0.3); }
  50%       { box-shadow: 0 0 50px rgba(212,160,23,0.6); }
}

@keyframes logo-float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-16px); }
}

@keyframes logo-rock {
  0%, 100% { transform: rotateZ(0deg); }
  25%       { transform: rotateZ(2deg); }
  75%       { transform: rotateZ(-2deg); }
}

@keyframes swirl-spin {
  from { transform: translate(-50%, -50%) rotateX(72deg) rotateZ(0deg); }
  to   { transform: translate(-50%, -50%) rotateX(72deg) rotateZ(360deg); }
}

@keyframes glow-pulse {
  0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) translateZ(-50px) scale(1); }
  50%       { opacity: 1; transform: translate(-50%, -50%) translateZ(-50px) scale(1.1); }
}

@keyframes scroll-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.4; }
  50%       { transform: translateX(-50%) translateY(8px); opacity: 0.9; }
}

@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Scroll reveal classes */
.text-reveal, .image-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}

.text-reveal.in-view, .image-reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Specific reveal delays */
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* Stat counter — counts up when .counting class added */
.stat-number { transition: all 0.5s ease; }

/* Scroll indicator */
.scroll-indicator span { animation: scroll-bounce 2s ease-in-out infinite; }

/* Navbar scrolled state */
.navbar.scrolled {
  background: rgba(10,7,5,0.95);
  box-shadow: 0 4px 30px rgba(0,0,0,0.6);
}
