/* LKC Media — Animations */

/* Scroll-triggered reveal: only hidden when JS has loaded */
body.js-ready [data-animate] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

[data-animate].animated {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Nav fade in */
.site-nav {
  opacity: 0;
  transform: translateY(-20px);
  animation: navFadeIn 0.3s ease forwards;
}

@keyframes navFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hero word reveal */
.hero h1 .word {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.hero h1 .word.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Hero subheadline and CTA fade in */
.hero-subheadline,
.hero-ctas,
.hero-label {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.hero-subheadline.revealed,
.hero-ctas.revealed,
.hero-label.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Counter animation handled in JS */

@media (prefers-reduced-motion: reduce) {
  body.js-ready [data-animate] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .site-nav {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .hero h1 .word {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .hero-subheadline,
  .hero-ctas,
  .hero-label {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
