.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.hero-fade {
  opacity: 0;
  transform: translateY(20px);
  animation: heroFade 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.hero-fade.delay-2 {
  animation-delay: 0.15s;
}

.hero-fade.delay-3 {
  animation-delay: 0.25s;
}

@keyframes heroFade {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
