@keyframes flicker{0%,18%,22%,25%,53%,57%,100%{opacity:1;} 20%,24%,55%{opacity:0.7;} } @keyframes fadeInUp{from{opacity:0;transform:translateY(30px);} to{opacity:1;transform:translateY(0);} } @keyframes glowPulse{0%{box-shadow:0 0 5px var(--primary-glow);} 50%{box-shadow:0 0 20px var(--primary-glow);} 100%{box-shadow:0 0 5px var(--primary-glow);} } @keyframes float{0%{transform:translateY(0px);} 50%{transform:translateY(-10px);} 100%{transform:translateY(0px);} } @keyframes scanline{0%{bottom:100%;} 100%{bottom:0%;} } .reveal{opacity:0;transform:translateY(30px);transition:all 0.8s ease-out;} .reveal.active{opacity:1;transform:translateY(0);} .float-anim{animation:float 3s ease-in-out infinite;} .flicker-anim{animation:flicker 4s infinite alternate;} @keyframes slowZoom{0%{transform:scale(1);} 50%{transform:scale(1.05);} 100%{transform:scale(1);} } .bg-animate{animation:slowZoom 30s ease-in-out infinite;}