@keyframes hero-bg-pan {
  0% {
    transform: scale(1.02) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.06) translate3d(-1%, -1%, 0);
  }
}

@keyframes fade-up {
  0% {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes stat-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(111, 175, 106, 0.35);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(111, 175, 106, 0);
  }
}

.hero__bg {
  animation: hero-bg-pan 28s ease-in-out infinite alternate;
}

.hero__fade-item {
  animation: fade-up 0.7s ease-out both;
}

.hero__fade-item:nth-child(1) {
  animation-delay: 0.05s;
}

.hero__fade-item:nth-child(2) {
  animation-delay: 0.12s;
}

.hero__fade-item:nth-child(3) {
  animation-delay: 0.19s;
}

.stat-card--pulse {
  animation: stat-pulse 3.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg,
  .hero__fade-item,
  .stat-card--pulse {
    animation: none !important;
  }
}
