@keyframes ticker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes pulseGlow {
  0%,
  100% {
    box-shadow: 0 0 8px rgba(255, 92, 0, 0.25);
  }
  50% {
    box-shadow: 0 0 26px rgba(255, 92, 0, 0.5);
  }
}

@keyframes typingDot {
  0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.45;
  }
  40% {
    transform: translateY(-4px);
    opacity: 1;
  }
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--transition), transform var(--transition);
}

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