/* Site-homepage scan/radar — CSS-only port of ScanField (origin pulse + expanding waves + detecting dots). */
.site-radar { pointer-events: none; }
.site-radar svg { width: 100%; height: 100%; display: block; overflow: visible; }

.site-radar .sr-halo { fill: var(--amber); transform-origin: 200px 200px; }
.site-radar .sr-halo--outer { opacity: 0.08; }
.site-radar .sr-halo--inner { opacity: 0.22; }

.site-radar .sr-dot-origin {
  fill: var(--amber);
  transform-origin: 200px 200px;
  animation: sr-origin 1.6s ease-in-out infinite;
}

.site-radar .sr-waves circle {
  fill: none;
  stroke: var(--amber);
  stroke-width: 1.2;
  opacity: 0;
  transform-origin: 200px 200px;
  animation: sr-wave 5.4s linear infinite;
}
.site-radar .sr-waves circle:nth-child(2) { animation-delay: 1.15s; }
.site-radar .sr-waves circle:nth-child(3) { animation-delay: 2.3s; }

.site-radar .sr-dots { color: rgba(245, 242, 237, 0.55); }
.site-radar .sr-dots circle {
  fill: currentColor;
  opacity: 0.12;
  animation: sr-dot 4.8s ease-in-out infinite;
}
.site-radar .sr-dots circle:nth-child(2n) { animation-delay: 1.2s; }
.site-radar .sr-dots circle:nth-child(3n) { animation-delay: 2.1s; }

@keyframes sr-wave {
  0% { opacity: 0.32; transform: scale(0.55); }
  70% { opacity: 0.09; }
  100% { opacity: 0; transform: scale(2.45); }
}
@keyframes sr-dot {
  0%, 100% { opacity: 0.05; fill: currentColor; }
  45% { opacity: 0.18; fill: currentColor; }
  52% { opacity: 0.8; fill: var(--amber); }
  64% { opacity: 0.16; fill: currentColor; }
}
@keyframes sr-origin {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.35); }
}

@media (prefers-reduced-motion: reduce) {
  .site-radar .sr-waves circle,
  .site-radar .sr-dots circle,
  .site-radar .sr-dot-origin { animation: none; }
  .site-radar .sr-waves circle { opacity: 0.08; }
}
