:root {
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-ready .hero-eyebrow,
.motion-ready .hero h1,
.motion-ready .hero p,
.motion-ready .hero-signup,
.motion-ready .hero-actions {
  animation: seed-hero-rise 720ms var(--motion-ease) both;
}

.motion-ready .hero h1 {
  animation-delay: 90ms;
}

.motion-ready .hero p {
  animation-delay: 170ms;
}

.motion-ready .hero-signup {
  animation-delay: 250ms;
}

.motion-ready .hero-actions {
  animation-delay: 330ms;
}

.motion-ready .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 620ms var(--motion-ease),
    transform 620ms var(--motion-ease),
    border-color 200ms ease,
    color 200ms ease,
    background 200ms ease,
    box-shadow 200ms ease;
}

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

.motion-ready .feature-card.reveal,
.motion-ready .roadmap-item.reveal {
  transition-delay: var(--reveal-delay, 0ms);
}

.btn-primary,
.btn-secondary,
.btn-white,
.waitlist-btn,
.nav-language {
  transition:
    transform 160ms var(--motion-ease),
    border-color 200ms ease,
    background 200ms ease,
    color 200ms ease,
    filter 200ms ease,
    box-shadow 200ms ease;
}

.btn-primary:active,
.btn-secondary:active,
.btn-white:active,
.waitlist-btn:active,
.nav-language:active {
  transform: translateY(1px) scale(0.98);
}

.waitlist-input,
.waitlist-select {
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease,
    background-color 200ms ease;
}

.waitlist-input:focus,
.waitlist-select:focus {
  box-shadow: 0 0 0 3px rgba(214, 156, 77, 0.14);
}

@keyframes seed-hero-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .hero-eyebrow,
  .motion-ready .hero h1,
  .motion-ready .hero p,
  .motion-ready .hero-signup,
  .motion-ready .hero-actions,
  .motion-ready .reveal {
    animation: none;
    opacity: 1;
    transform: none;
    transition-duration: 0.01ms;
  }

  .btn-primary,
  .btn-secondary,
  .btn-white,
  .waitlist-btn,
  .nav-language,
  .waitlist-input,
  .waitlist-select {
    transition-duration: 0.01ms;
  }
}
