 .sa-section{ background: var(--navy); color: var(--paper); }
 
  .sa-eyebrow{
    font-family:'JetBrains Mono', monospace;
    letter-spacing: 0.18em; font-size: 0.78rem;
    color: var(--hub-gold); text-transform: uppercase;
  }
  .sa-headline{
    font-family:'Oswald', sans-serif; font-weight: 700;
    text-transform: uppercase; line-height: 1.03;
    font-size: clamp(2.1rem, 4.4vw, 3.6rem);
    margin: 0.5rem 0 0.9rem;
  }
  .sa-rule{ width: 64px; height: 3px; background: var(--flag-red); margin-bottom: 1.4rem; }
  .sa-sub{ color: var(--steel); font-size: 1.05rem; max-width: 46ch; margin-bottom: 1.6rem; }
 
  .sa-chip-grid{
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 0.55rem; margin-bottom: 1.7rem; max-width: 560px;
  }
  .sa-chip{
    display:flex; align-items:center; gap:0.5rem;
    font-family:'JetBrains Mono', monospace; font-size: 0.74rem;
    letter-spacing: 0.03em; text-transform: uppercase;
    color: var(--paper); text-decoration: none;
    border: 1px solid rgba(243,245,247,0.22);
    padding: 0.55rem 0.7rem;
    transition: border-color .18s ease, background-color .18s ease;
  }
  .sa-chip:hover{ border-color: var(--flag-red); background: rgba(200,32,46,0.12); color: var(--paper); }
  .sa-chip.is-hub{ border-color: var(--hub-gold); color: var(--hub-gold); grid-column: span 3; justify-content: center; font-weight: 500; }
  .sa-chip-dot{ width:6px; height:6px; border-radius:50%; background: var(--flag-red); flex-shrink:0; }
  .sa-chip.is-hub .sa-chip-dot{ background: var(--hub-gold); }
 
  .sa-body-copy{
    color: var(--steel); max-width: 50ch; font-size: 0.96rem; line-height: 1.6;
    border-top: 1px solid rgba(243,245,247,0.12); padding-top: 1.2rem;
  }
  .sa-body-copy strong{ color: var(--paper); }
 
  /* Map panel — real map image + SVG overlay */
  .sa-map-wrap{ position: relative; width:100%; }
  .sa-map-img{ display:block; width:100%; height:auto; }
  .sa-map-overlay{
    position:absolute; inset:0; width:100%; height:100%;
  }
 
  .sa-ring{ fill:none; stroke: var(--ring-line); stroke-width:2; stroke-dasharray: 6 8; }
 
  .sa-sweep{ transform-origin: 691px 486px; animation: sa-sweep-rotate 8s linear infinite; }
  @media (prefers-reduced-motion: reduce){ .sa-sweep{ animation: none; opacity: 0.2; } }
  @keyframes sa-sweep-rotate{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }
 
  .sa-hub-pulse{ animation: sa-pulse 2.4s ease-out infinite; transform-origin: 691px 486px; }
  @media (prefers-reduced-motion: reduce){ .sa-hub-pulse{ animation:none; } }
  @keyframes sa-pulse{ 0%{ r:8; opacity:0.9; } 70%{ r:34; opacity:0; } 100%{ r:34; opacity:0; } }
 
  .sa-flag{ fill: var(--flag-red); }
  .sa-flag-pole{ stroke: var(--flag-red); stroke-width:2.5; }
  .sa-marker-label{
    font-family:'JetBrains Mono', monospace; font-size: 18px; font-weight:500;
    fill: #fff; paint-order: stroke; stroke: rgba(250, 250, 251, 0.85); stroke-width: 3px;
  }
  .sa-hub-label{
    font-family:'Oswald', sans-serif; font-size: 20px; font-weight:700;
    fill: var(--hub-gold); letter-spacing: 0.04em;
    paint-order: stroke; stroke: rgba(11,28,46,0.85); stroke-width: 14px;
  }
 
  @media (max-width: 991.98px){
    .sa-chip-grid{ grid-template-columns: repeat(2, 1fr); max-width:100%; }
    .sa-chip.is-hub{ grid-column: span 2; }
  }