﻿/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.4);opacity:0.6;}}
@keyframes scrollBounce{0%,100%{transform:rotate(45deg) translate(0,0);}50%{transform:rotate(45deg) translate(4px,4px);}}

.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}




@keyframes meteorCrush {
  0% { transform: translateY(-150px) scale(0.5) rotate(-180deg); opacity: 0; filter: blur(10px); }
  50% { transform: translateY(20px) scale(1.2) rotate(10deg); background: #ffffff; box-shadow: 0 0 40px #ffffff; opacity: 1; filter: blur(0); }
  100% { transform: translateY(0) scale(1) rotate(0); background: var(--deep-blue); }
}
@keyframes shockwave {
  0% { transform: scale(1); opacity: 0.8; border-width: 4px; }
  100% { transform: scale(2.5); opacity: 0; border-width: 1px; }
}
@keyframes textGlitchIn {
  0% { opacity: 0; transform: skewX(-20deg) scaleY(0.2); filter: blur(5px); color: var(--neon); letter-spacing: -3px; }
  25% { opacity: 1; transform: skewX(10deg) scaleY(1.3); filter: blur(2px); color: #ffffff; letter-spacing: 2px; }
  50% { opacity: 0.5; transform: skewX(-5deg) scaleY(0.9); filter: blur(0); color: var(--neon); letter-spacing: 0; }
  75% { opacity: 1; transform: skewX(2deg) scaleY(1.05); }
  100% { opacity: 1; transform: skewX(0) scaleY(1); color: inherit; letter-spacing: 0; }
}
@keyframes slideUpFade {
  0% { opacity: 0; transform: translateY(20px); filter: grayscale(100%); }
  100% { opacity: 1; transform: translateY(0); filter: grayscale(0%); }
}

