.reveal {
  opacity: 0;
  translate: 0 40px;
  transition: var(--transition-base), opacity 0.8s ease, translate 0.8s ease;
}

.reveal.is-visible {
  opacity: 1;
  translate: 0 0;
}

@keyframes gradient-move {
  from {
    background-position: 0%;
  }

  to {
    background-position: 250%;
  }
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-26px) rotate(8deg);
  }
}

@keyframes pulse-orbit {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }

  50% {
    transform: scale(1.25);
    opacity: 0.3;
  }
}

@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(8px);
  }
}
