.campaign-mode .lab-hero {
  padding-block: clamp(12px, 2.4vw, 25px);
}
.campaign-mode .lab-hero h1 {
  font-size: clamp(35px, 5vw, 65px);
}
.campaign-mode .lab-hero .calendar {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.campaign-atlas {
  --atlas-connected: #345b48;
  --atlas-construction: #794820;
  --atlas-offer: #50614c;
  --atlas-traffic: #f3ffd0;
  margin-top: 13px;
}
.campaign-atlas .map-head {
  background: linear-gradient(90deg, #fffaf0, #f1ead5);
}
.campaign-atlas .map-route-label {
  max-width: 100%;
}
.campaign-region {
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(220px, 1fr);
}
.campaign-region .map {
  aspect-ratio: 2.3;
  min-height: 320px;
  border-bottom: 0;
}
.campaign-region .fiber[data-status='offer'] {
  stroke: var(--atlas-offer);
  stroke-dasharray: 1 6;
  opacity: 0.78;
}
.campaign-region .fiber[data-status='planned'],
.campaign-region .fiber[data-status='queued'] {
  stroke: var(--atlas-construction);
  stroke-width: 2.5;
  stroke-dasharray: 7 5;
}
.campaign-region .fiber[data-status='online'] {
  stroke: var(--atlas-connected);
}
.campaign-region .fiber[data-flow='true'] {
  stroke: var(--atlas-traffic);
  stroke-width: 3.5;
  stroke-dasharray: 10 6;
  filter: drop-shadow(0 1px 1px #244432);
}
.campaign-region .pin {
  border-color: #647653;
}
.campaign-region .pin small {
  font-weight: 600;
}
.campaign-region .pin[data-status='offer'] .pin-mark {
  background: transparent;
}
.campaign-region .pin[data-status='offer']:is([aria-pressed='true'], :hover) .pin-mark {
  border-color: #c1d2a5;
}
.campaign-region .pin[data-status='planned'] .pin-mark,
.campaign-region .pin[data-status='building'] .pin-mark {
  background: var(--gold);
  border-color: var(--atlas-construction);
}
.campaign-region .pin[data-status='online'] .pin-mark {
  background: #a4c08b;
}
.campaign-region .pin[data-retrofit='queued'] .pin-mark {
  border: 2px dashed var(--atlas-construction);
}
.campaign-region .pin[data-retrofit='cutover'] .pin-mark {
  background: #e9b26c;
  border-color: var(--atlas-construction);
}
.campaign-region .pin:focus-visible {
  z-index: 3;
  outline: 3px solid #854a16;
  outline-offset: 2px;
  box-shadow:
    0 0 0 2px #fff8e2,
    0 2px 5px #23392d32;
}
.campaign-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 16px;
  padding: 7px 13px;
  list-style: none;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}
.campaign-legend li {
  display: flex;
  align-items: center;
  gap: 6px;
}
.campaign-legend li::before {
  content: '';
  width: 18px;
  border-top: 2px solid var(--atlas-connected);
  flex: none;
}
.campaign-legend [data-key='active']::before {
  border-top: 3px solid var(--atlas-traffic);
  box-shadow: 0 0 0 1px var(--atlas-connected);
}
.campaign-legend [data-key='queued']::before {
  border-top: 2px dashed var(--atlas-construction);
}
.campaign-legend [data-key='offer']::before {
  border-top: 2px dotted var(--atlas-offer);
}
.campaign-situation {
  min-width: 0;
  padding: clamp(12px, 1.5vw, 19px);
  background: linear-gradient(130deg, #faf4e3, #f1ebd4);
  border: solid var(--line);
  border-width: 1px 0 0 1px;
}
.campaign-situation > .eyebrow {
  color: var(--atlas-connected);
}
.campaign-situation h3 {
  font: 700 clamp(22px, 2.4vw, 32px)/1.05 var(--serif);
  margin: 4px 0 7px;
}
.campaign-situation .button {
  margin-top: 8px;
}
.campaign-wire {
  margin-top: 13px;
  padding: 8px 9px 9px;
  border: 1px solid #d7c7a0;
  border-left: 3px solid var(--atlas-construction);
  background: #fffaec;
}
.campaign-wire .eyebrow {
  color: var(--atlas-construction);
}
.campaign-wire strong {
  display: block;
  margin-block: 5px 2px;
}
.campaign-wire p {
  font-size: 13px;
}
.campaign-wire .lab-sources {
  margin-top: 5px;
}
.campaign-mode .lab-stations {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.campaign-mode .lab-stations button:nth-child(2) {
  border-left: 1px solid var(--line);
}
.campaign-site-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 8px;
  align-items: center;
  margin-bottom: 7px;
}
.campaign-site-detail h3,
.campaign-site-detail p,
.campaign-site-detail dl {
  width: 100%;
}
.campaign-site-detail .lab-numbers {
  grid-template-columns: repeat(auto-fit, minmax(min(128px, 100%), 1fr));
  gap: 1px;
  border: 1px solid #bac6a3;
  background: #bac6a3;
}
.campaign-site-detail .lab-numbers > div {
  min-width: 0;
  padding: 6px 8px;
  background: #faf7e8;
}
.campaign-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-block: 7px;
}
.campaign-routing summary {
  font-size: 13px;
}
.campaign-tender-note .button {
  margin-top: 6px;
}
.campaign-annex-summary {
  margin-top: 8px;
}
.campaign-annex-summary strong {
  display: inline;
}
.campaign-retired-fleet {
  margin-block: 8px 14px;
}
.campaign-retired-fleet h5 {
  margin: 3px 0 5px;
  font-size: 16px;
}
@media (prefers-reduced-motion: reduce) {
  .campaign-region .fiber[data-flow='true'] {
    animation: none;
    stroke-dasharray: none;
  }
}
@media (max-width: 900px) {
  .campaign-atlas {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .campaign-region {
    display: contents;
  }
  .campaign-region .map {
    min-height: 300px;
  }
  .campaign-legend {
    grid-row: 3;
  }
  .campaign-situation {
    grid-row: 4;
    border-left: 0;
  }
  .campaign-mode .lab-stations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 525px) {
  .campaign-mode .lab-hero .calendar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .campaign-mode .lab-stations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .campaign-mode .lab-stations button:last-child {
    grid-column: 1 / -1;
  }
  .campaign-region .pin {
    max-width: calc(50% - 14px);
    padding: 5px 6px;
    white-space: normal;
  }
  .campaign-region .pin > span:last-child {
    min-width: 0;
  }
  .campaign-region .pin small {
    text-wrap: balance;
  }
  .campaign-region .pin[data-campaign-site='lab'] {
    left: 8px;
    top: 65%;
    transform: translateY(-50%);
  }
  .campaign-region .pin[data-campaign-site='cloud'] {
    left: 16%;
    top: 41%;
    transform: translateY(-50%);
  }
  .campaign-region .pin[data-campaign-site='ridge'] {
    left: auto;
    right: 9%;
    top: 22%;
    transform: translateY(-50%);
  }
  .campaign-region .pin[data-campaign-site='buyer'] {
    left: auto;
    right: 8px;
    top: 58%;
    transform: translateY(-50%);
  }
  .campaign-region .pin[data-campaign-site='riverbend'] {
    top: 84%;
  }
  .campaign-site-detail .lab-numbers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .campaign-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
