.reveal {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 700ms ease, transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
}

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

.hero-title.reveal {
  opacity: 1;
  transform: none;
}

.hero-title.reveal span {
  opacity: 0;
  clip-path: inset(100% 0 0);
  transform: translateY(45%);
  transition: opacity 700ms ease, clip-path 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-title.reveal .title-offset {
  transition-delay: 130ms;
}

.hero-title.reveal.is-visible span {
  opacity: 1;
  clip-path: inset(0);
  transform: translateY(0);
}

.hero .reveal:nth-of-type(2) {
  transition-delay: 120ms;
}

.hero .reveal:nth-of-type(3) {
  transition-delay: 240ms;
}

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

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