/* Content reveal: activated by js/animations.js */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 560ms var(--ease-premium),
    transform 560ms var(--ease-premium);
}

.reveal.reveal-delay-1 { transition-delay: 70ms; }
.reveal.reveal-delay-2 { transition-delay: 140ms; }
.reveal.reveal-delay-3 { transition-delay: 210ms; }

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes produceFloatA {
  0%, 100% { translate: 0 0; rotate: 5deg; }
  50% { translate: 0 -10px; rotate: 7deg; }
}

@keyframes produceFloatB {
  0%, 100% { translate: 0 0; rotate: -7deg; }
  50% { translate: 0 8px; rotate: -5deg; }
}

@keyframes badgeDrift {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -6px; }
}

.produce-piece--1 { animation: produceFloatA 8.6s ease-in-out infinite; }
.produce-piece--2 { animation: produceFloatB 9.4s ease-in-out infinite .4s; }
.produce-piece--3 { animation: produceFloatA 10.1s ease-in-out infinite .8s; }
.produce-piece--4 { animation: produceFloatB 8.9s ease-in-out infinite 1.2s; }
.hero-badge { animation: badgeDrift 7s ease-in-out infinite; }
.hero-badge--2 { animation-delay: .9s; }
.hero-badge--3 { animation-delay: 1.6s; }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0ms !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
