/* Shared Signal-to-system thread for NRS public pages. */
.nrs-signal-thread {
  position: relative;
  overflow: hidden;
  padding: 82px 24px 74px;
  border-top: 1px solid rgba(194, 156, 186, 0.22);
  border-bottom: 1px solid rgba(114, 198, 178, 0.2);
  background:
    radial-gradient(circle at 18% 45%, rgba(194, 156, 186, 0.1), transparent 28%),
    linear-gradient(180deg, rgba(16, 15, 14, 0.96), rgba(17, 23, 21, 0.94));
}
.nrs-signal-thread::before {
  content: '';
  position: absolute;
  inset: 18px 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(194, 156, 186, 0.42) 0 1px, transparent 1.6px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
  opacity: 0.26;
}
.nrs-signal-thread .container {
  position: relative;
  z-index: 1;
  max-width: 1160px;
}
.nrs-signal-thread__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(340px, 1.18fr);
  gap: 44px;
  align-items: center;
}
.nrs-signal-thread__copy { max-width: 560px; }
.nrs-signal-thread__copy .eyebrow { color: #c29cba; }
.nrs-signal-thread__copy h2 {
  max-width: 15ch;
  margin-bottom: 16px;
  color: #f2ede4;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.8rem, 3.6vw, 3rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.08;
}
.nrs-signal-thread__copy p {
  max-width: 47ch;
  color: rgba(242, 237, 228, 0.72);
  font-size: 0.98rem;
}
.nrs-signal-thread__map {
  min-width: 0;
  padding: 10px 0 0;
}
.nrs-signal-thread__map svg {
  display: block;
  width: 100%;
  height: 146px;
  overflow: visible;
}
.nrs-signal-thread__map path {
  fill: none;
  stroke: rgba(194, 156, 186, 0.64);
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}
.nrs-signal-thread__map path:first-child {
  stroke: #72c6b2;
  stroke-dasharray: 3 9;
  filter: drop-shadow(0 0 6px rgba(114, 224, 211, 0.38));
  animation: nrs-signal-drift 15s linear infinite;
}
.nrs-signal-thread__map path:nth-child(2),
.nrs-signal-thread__map path:nth-child(3) { opacity: 0.7; }
.nrs-signal-thread__map circle {
  fill: #c29cba;
  stroke: #100f0e;
  stroke-width: 3;
  filter: drop-shadow(0 0 5px rgba(194, 156, 186, 0.58));
}
.nrs-signal-thread__map circle:last-child { fill: #72c6b2; }
.nrs-signal-thread__labels {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: rgba(242, 237, 228, 0.58);
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.nrs-signal-thread__labels span:last-child { color: #72c6b2; }
.nrs-signal-thread__source {
  display: inline-flex;
  margin-top: 18px;
  color: #72c6b2;
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}
.nrs-signal-thread__source:hover,
.nrs-signal-thread__source:focus-visible { color: #f2ede4; }
.nrs-signal-thread--compact { padding-top: 62px; padding-bottom: 58px; }
.nrs-signal-thread--compact .nrs-signal-thread__grid { grid-template-columns: minmax(0, 0.95fr) minmax(280px, 1.05fr); }
.nrs-signal-thread--compact .nrs-signal-thread__map svg { height: 112px; }
@keyframes nrs-signal-drift {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -190; }
}
@media (max-width: 760px) {
  .nrs-signal-thread { padding: 66px 24px 58px; }
  .nrs-signal-thread__grid,
  .nrs-signal-thread--compact .nrs-signal-thread__grid { grid-template-columns: 1fr; gap: 28px; }
  .nrs-signal-thread__map svg { height: 118px; }
}
@media (prefers-reduced-motion: reduce) {
  .nrs-signal-thread__map path:first-child { animation: none; }
}
