/* Infinite Grid Background
   Animated SVG grid with cursor-tracked spotlight.
   Monochromatic, adapted from Framer Infinite Grids for light background.
   Two layers: base (always visible, subtle) + spotlight (revealed near cursor). */

.infinite-grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  color: #000;
  --mouse-x: 50%;
  --mouse-y: 50%;
  --spotlight-radius: 300px;
}

.infinite-grid__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.infinite-grid__svg--base {
  opacity: 0.05;
}

.infinite-grid__svg--spotlight {
  opacity: 0.18;
  -webkit-mask-image: radial-gradient(
    var(--spotlight-radius) circle at var(--mouse-x) var(--mouse-y),
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0)
  );
  mask-image: radial-gradient(
    var(--spotlight-radius) circle at var(--mouse-x) var(--mouse-y),
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0)
  );
}

/* Reduced motion: keep grid visible but static, hide spotlight (avoid implying interaction) */
@media (prefers-reduced-motion: reduce) {
  .infinite-grid__svg--spotlight {
    display: none;
  }
}

/* Mobile: no cursor, so spotlight has no source of motion. Hide it. */
@media (hover: none), (max-width: 768px) {
  .infinite-grid__svg--spotlight {
    display: none;
  }
}
