/* ============================================================
   ANIMATIONS — Torres Auto Repair LLC
   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;
}

/* ── Scroll indicator ── */
.scroll-line {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--color-accent), 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; }

/* ── Blue glow pulse ── */
@keyframes bluePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37,99,235,0); }
  50%       { box-shadow: 0 0 20px 4px rgba(37,99,235,0.25); }
}

/* ── Fade in up ── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Hero entrance ── */
.hero-eyebrow,
.hero-title,
.hero-body,
.hero-ctas {
  animation: fadeInUp 0.8s var(--ease-out-expo) both;
}
.hero-eyebrow  { animation-delay: 0.1s; }
.hero-title    { animation-delay: 0.25s; }
.hero-body     { animation-delay: 0.4s; }
.hero-ctas     { animation-delay: 0.55s; }
