/* V-tek — scroll reveal & micro-motion */

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 620ms cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

[data-reveal="left"] {
  transform: translateX(-22px);
}

[data-reveal="right"] {
  transform: translateX(22px);
}

[data-reveal="scale"] {
  transform: scale(0.97);
}

/* Na úzkém displeji jen svislý posun — boční by přetekl mimo obrazovku */
@media (max-width: 62rem) {
  [data-reveal="left"],
  [data-reveal="right"] {
    transform: translateY(18px);
  }
}

[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* Bez JS (main.js přidává třídu .js) musí být všechno vidět */
html:not(.js) [data-reveal] {
  opacity: 1;
  transform: none;
}

/* Hero entrance — plays immediately on load */

.hero__mark,
.hero__eyebrow,
.hero__title,
.hero__subtitle,
.hero__actions,
.hero__proof {
  animation: hero-in 780ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.hero__mark {
  animation-delay: 60ms;
}
.hero__eyebrow {
  animation-delay: 160ms;
}
.hero__title {
  animation-delay: 240ms;
}
.hero__subtitle {
  animation-delay: 340ms;
}
.hero__actions {
  animation-delay: 430ms;
}
.hero__proof {
  animation-delay: 520ms;
}

@keyframes hero-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* Slow ken-burns drift on the hero photo layer */

.hero__photo {
  animation: hero-drift 32s ease-in-out infinite alternate;
}

@keyframes hero-drift {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.08);
  }
}

/* Counting stat emphasis */

.stats__item {
  transition: background var(--transition);
}

.stats__item:hover {
  background: var(--color-bg-alt);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
  }

  .hero__photo,
  .hero__mark,
  .hero__eyebrow,
  .hero__title,
  .hero__subtitle,
  .hero__actions,
  .hero__proof {
    animation: none;
  }
}
