/* Glitch Effect for Title */
header h1 {
  position: relative;
  animation: glitch-skew 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}
header h1::before,
header h1::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
header h1::before {
  left: 2px;
  text-shadow: -2px 0 #ff00c1;
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim 5s infinite linear alternate-reverse;
}
header h1::after {
  left: -2px;
  text-shadow: -2px 0 #00fff9;
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim2 5s infinite linear alternate-reverse;
}
@keyframes glitch-anim {
  0% { clip: rect(30px, 9999px, 10px, 0); }
  20% { clip: rect(85px, 9999px, 90px, 0); }
  40% { clip: rect(10px, 9999px, 50px, 0); }
  60% { clip: rect(55px, 9999px, 20px, 0); }
  80% { clip: rect(30px, 9999px, 70px, 0); }
  100% { clip: rect(60px, 9999px, 30px, 0); }
}
@keyframes glitch-anim2 {
  0% { clip: rect(10px, 9999px, 60px, 0); }
  20% { clip: rect(70px, 9999px, 20px, 0); }
  40% { clip: rect(30px, 9999px, 10px, 0); }
  60% { clip: rect(80px, 9999px, 40px, 0); }
  80% { clip: rect(40px, 9999px, 90px, 0); }
  100% { clip: rect(20px, 9999px, 60px, 0); }
}
@keyframes glitch-skew {
  0% { transform: skew(0deg); }
  10% { transform: skew(-1deg); }
  20% { transform: skew(1deg); }
  30% { transform: skew(0deg); }
  100% { transform: skew(0deg); }
}

