/* Hero stat cards — staggered entrance + counter glow */

.hero-stats .stat-card {
  opacity: 1;
  transform: translateY(18px) scale(0.94);
  animation: stat-card-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.hero-stats.visible .stat-card,
.hero-stats .stat-card.stat-card--shown {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.hero-stats .stat-card:nth-child(1) { animation-delay: 0.5s; }
.hero-stats .stat-card:nth-child(2) { animation-delay: 0.65s; }
.hero-stats .stat-card:nth-child(3) { animation-delay: 0.8s; }
.hero-stats .stat-card:nth-child(4) { animation-delay: 0.95s; }

@keyframes stat-card-in {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.stat-value {
  min-height: 1.85rem;
}

.stat-value[data-count] {
  display: block;
  color: var(--amber);
  opacity: 1;
  visibility: visible;
}

.stat-value[data-count].is-counting {
  animation: stat-number-pulse 0.35s ease infinite;
}

.stat-value[data-count].is-done {
  animation: stat-number-glow 0.8s ease;
}

@keyframes stat-number-pulse {
  50% { transform: scale(1.06); }
}

@keyframes stat-number-glow {
  0% { text-shadow: 0 0 0 rgba(240, 194, 25, 0); }
  40% { text-shadow: 0 0 18px rgba(240, 194, 25, 0.65); }
  100% { text-shadow: 0 0 0 rgba(240, 194, 25, 0); }
}

.stat-card--hours .stat-value {
  opacity: 1;
  animation: stat-hours-in 0.6s ease 1.1s both;
}

@keyframes stat-hours-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-stats .stat-card {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .stat-value[data-count].is-counting,
  .stat-value[data-count].is-done,
  .stat-card--hours .stat-value {
    animation: none;
  }
}
