@keyframes glitch {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(-2px, -2px);
  }
  60% {
    transform: translate(2px, 2px);
  }
  80% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}

@keyframes neonPulse {
  0% {
    text-shadow: 0 0 10px var(--primary-blue);
  }
  50% {
    text-shadow: 0 0 20px var(--primary-blue), 0 0 30px var(--primary-blue);
  }
  100% {
    text-shadow: 0 0 10px var(--primary-blue);
  }
}

.glitch-effect {
  animation: glitch 1s infinite;
}

.neon-pulse {
  animation: neonPulse 2s infinite;
}

.fade-up {
  opacity: 75;
  transform: translateY(20px);
  transition: opacity 0.6s, transform 0.6s;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}
