/* ── Scroll line pulse ── */
@keyframes line-pulse {
  0%, 100% { transform: scaleX(1); opacity: 1; }
  50%       { transform: scaleX(0.4); opacity: 0.4; }
}

/* ── Marquee ── */
@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Glow pulse (mobile section) ── */
@keyframes pulse-glow {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.04); opacity: 0.8; }
}

/* ── Reduce motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  #hero-canvas { display: none; }
  .cursor, .cursor-ring { display: none; }
  body { cursor: auto; }
}
