/* Motion — subtle, purposeful */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 700ms ease, transform 700ms ease;
}

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

.reveal-delay-1 { transition-delay: 80ms; }
.reveal-delay-2 { transition-delay: 160ms; }
.reveal-delay-3 { transition-delay: 240ms; }
.reveal-delay-4 { transition-delay: 320ms; }

.hero__content > * {
  animation: fadeUp 900ms ease both;
}

.hero__content .hero__eyebrow { animation-delay: 80ms; }
.hero__content h1 { animation-delay: 160ms; }
.hero__content .hero__text { animation-delay: 260ms; }
.hero__content .btn-group { animation-delay: 360ms; }

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes softPulse {
  0%, 100% { box-shadow: 0 8px 20px rgba(197, 93, 43, 0.28); }
  50% { box-shadow: 0 10px 28px rgba(247, 148, 30, 0.4); }
}

.btn--primary {
  animation: softPulse 3.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .hero__content > *,
  .btn--primary {
    animation: none !important;
  }
}
