/* Site-wide subtle dot grid */
body.has-dot-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(circle, #d1d5db 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.44;
}

/* Dots visible through customer marquee */
body.has-dot-bg .customers-section {
  background: transparent;
}

body.has-dot-bg .marquee-wrapper::before {
  background: linear-gradient(to right, rgba(255, 255, 255, 0.45) 0%, transparent 88%);
}

body.has-dot-bg .marquee-wrapper::after {
  background: linear-gradient(to left, rgba(255, 255, 255, 0.45) 0%, transparent 88%);
}
