@keyframes logo-orbit-spin {
                from { transform: translate(-50%, -50%) rotate(-12deg); }
                to   { transform: translate(-50%, -50%) rotate(348deg); }
              }
@keyframes logo-spark {
                0%   { opacity: 0; transform: translate(0, 0)             scale(0.4); }
                15%  { opacity: 1; }
                100% { opacity: 0; transform: translate(var(--tx), var(--ty)) scale(1.2); }
              }
@keyframes hero-comet-shoot {
          0%   { transform: translate(0, 0)         rotate(22deg); opacity: 0; }
          5%   { opacity: 1; }
          55%  { opacity: 1; }
          100% { transform: translate(130vw, 50vh)  rotate(22deg); opacity: 0; }
        }
@keyframes npGlow { 0%,100% { opacity: 0.4; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } }
@keyframes npSlideIn { from { opacity:0; transform: translateY(32px); } to { opacity:1; transform: translateY(0); } }
@keyframes npPulse { 0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,0)} 50%{box-shadow:0 0 0 6px rgba(52,211,153,0.12)} }
@keyframes footer-comet-shoot {
          0%   { transform: translate(0, 0)         rotate(22deg); opacity: 0; }
          5%   { opacity: 1; }
          55%  { opacity: 1; }
          100% { transform: translate(130vw, 50vh)  rotate(22deg); opacity: 0; }
        }