/* =====================================================
   SEEK — ANIMATIONS (animations.css)
   All @keyframes and GSAP-related CSS.
===================================================== */
@keyframes noiseAnim {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(-4%, -7%); }
  40%  { transform: translate(-14%, 4%); }
  60%  { transform: translate(6%, -9%); }
  80%  { transform: translate(-2%, 6%); }
  100% { transform: translate(-10%, 3%); }
}
@keyframes bpulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.8); opacity: .4; }
}
@keyframes sparklePop {
  0%   { transform: translate(0, 0) scale(1); opacity: 1; }
  100% { transform: translate(var(--tx), var(--ty)) scale(0); opacity: 0; }
}
@keyframes float1 {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%       { transform: translateY(-14px) rotate(-1deg); }
}
@keyframes float2 {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%       { transform: translateY(-11px) rotate(1deg); }
}
@keyframes tickerMove { to { transform: translateX(-50%); } }
@keyframes cardFloat {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(-10px); }
}
@keyframes orbPulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(203,154,45,.4), 0 0 0 0 rgba(203,154,45,.3); }
  50%       { box-shadow: 0 4px 20px rgba(203,154,45,.4), 0 0 0 14px rgba(203,154,45,0); }
}
@keyframes kFwd { to { transform: translateX(-50%); } }
@keyframes kRev { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes ripping { from { transform: scale(0); opacity: .55; } to { transform: scale(1); opacity: 0; } }
