/* ============================================================
   ANIMATIONS — Ale & Octane Charleston
   NOTE: reveal classes do NOT set opacity:0 here.
   GSAP uses gsap.from() which temporarily hides elements during
   animation. If GSAP fails to load, content remains visible.
   ============================================================ */

.hero-title-line1, .hero-title-line2 {
  display: block;
  overflow: hidden;
}

/* ── Stat counter pulse ── */
@keyframes statPulse {
  0%, 100% { text-shadow: 0 0 0px transparent; }
  50%       { text-shadow: 0 0 20px var(--color-glow); }
}
.stat-number.counting {
  animation: statPulse 1.6s ease-in-out;
}

/* ── Hero glow pulse ── */
@keyframes glowPulse {
  0%, 100% { opacity: 0.12; }
  50%       { opacity: 0.22; }
}
.hero-bolt { animation: glowPulse 4s ease-in-out infinite; }
.hero-lightning { animation: glowPulse 4s ease-in-out infinite; }

/* ── Scroll indicator ── */
.scroll-indicator {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  opacity: 0.5;
}
.scroll-indicator span {
  font-family: var(--font-secondary);
  font-size: 0.6rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}
.scroll-line {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--color-accent-primary), transparent);
  animation: scrollDrop 2s ease-in-out infinite;
}
@keyframes scrollDrop {
  0%   { transform: scaleY(0); transform-origin: top; opacity: 1; }
  50%  { transform: scaleY(1); transform-origin: top; opacity: 1; }
  51%  { transform: scaleY(1); transform-origin: bottom; opacity: 1; }
  100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}
@media (max-width: 768px) {
  .scroll-indicator { display: none; }
}

/* ── Transition stagger helpers ── */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
