@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-14px);
  }
}

@keyframes pulseGlow {
  0%,
  100% {
    opacity: 0.28;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes typingCaret {
  0%,
  50% {
    border-color: var(--primary);
  }
  51%,
  100% {
    border-color: transparent;
  }
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.visible {
  opacity: 1;
  transform: none;
}
