@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:.9;transform:scale(1.1)}}@keyframes marq{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes fall{0%{transform:translateY(-10vh)}to{transform:translateY(110vh)}}@keyframes drift{0%{transform:translateX(-12px)}to{transform:translateX(12px)}}@keyframes eq{0%,to{height:30%}50%{height:100%}}@keyframes popin{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes glowpulse{0%,to{box-shadow:0 8px 22px -8px rgba(0,0,0,.45)}50%{box-shadow:0 8px 30px -4px var(--accent,#ff7ec0)}}@keyframes textglow{0%,to{text-shadow:0 0 7px var(--accent)}50%{text-shadow:0 0 15px var(--accent),0 0 26px var(--accent)}}@keyframes cardfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes cardpulse{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}@keyframes statusblink{0%,to{opacity:1}50%{opacity:.45}}*{box-sizing:border-box}@media (max-width:820px){.hero-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important}}