/* =========================================================
   Animations + Reveal
========================================================= */
@keyframes fadeUp     { to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn     { to { opacity: 1; } }
@keyframes fadeInScale{ from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
@keyframes scrollPulse{
  0%, 100% { opacity: 0.4; transform: scaleY(1); }
  50%      { opacity: 1; transform: scaleY(1.15); }
}
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,159,39,0.35); }
  50%      { box-shadow: 0 0 0 12px rgba(239,159,39,0); }
}

.reveal {
  opacity: 0; transform: translateY(32px);
  transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
  will-change: opacity, transform;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }

.reveal-scale { transform: translateY(0) scale(0.96); }
.reveal-scale.visible { transform: translateY(0) scale(1); }
