/* === GLOW PULSE (logo) === */
@keyframes glow-pulse {
  0%, 100% {
    filter: drop-shadow(0 0 10px rgba(192, 192, 192, 0));
  }
  50% {
    filter: drop-shadow(0 0 30px rgba(192, 192, 192, 0.4));
  }
}

/* === FADE UP (scroll reveal) === */
@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === BOUNCE (scroll indicator) === */
@keyframes bounce-subtle {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}

/* === GLITCH (signal section) === */
@keyframes glitch {
  0% {
    transform: skewX(0deg);
    opacity: 1;
  }
  20% {
    transform: skewX(-3deg);
    opacity: 0.8;
  }
  40% {
    transform: skewX(2deg);
    opacity: 0.9;
  }
  60% {
    transform: skewX(-1deg);
    opacity: 1;
  }
  80% {
    transform: skewX(1deg);
    opacity: 0.95;
  }
  100% {
    transform: skewX(0deg);
    opacity: 1;
  }
}

/* === LINE GROW === */
@keyframes line-grow {
  from {
    width: 0;
  }
  to {
    width: 60px;
  }
}

/* === REVEAL SYSTEM === */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered delays for sequential reveals */
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.25s; }
.reveal-delay-3 { transition-delay: 0.4s; }

/* === GLITCH UTILITY === */
.glitch-active {
  animation: glitch 0.2s ease;
}
