.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: 120ms;
}

.reveal-delay-2 {
  transition-delay: 240ms;
}

.hero-copy,
.hero-visual,
.page-hero .reveal {
  animation: fadeUp 900ms ease both;
}

.hero-visual {
  animation-delay: 160ms;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sheen {
  0% {
    transform: translateX(-110%);
  }

  50%,
  100% {
    transform: translateX(120%);
  }
}

@keyframes pulseGlow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(200, 169, 106, 0.14);
  }

  50% {
    box-shadow: 0 0 0 16px rgba(200, 169, 106, 0);
  }
}

.button-primary {
  animation: pulseGlow 4s ease infinite;
}
