/* ============================================================
   HOME · HERO + GLOBAL HOME PAGE STYLES
   ============================================================ */
  /* Round-3: unused hero proof-strip / intent styles removed (gradient text + dividers; not referenced by home.html) */

  /* ═══════════════════════════════════════════════════
     HERO VIDEO MODAL
     ═══════════════════════════════════════════════════ */
  .hero-video-modal {
    position: fixed; inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 3vw, 2rem);
  }
  .hero-video-modal.is-open { display: flex; }
  .hero-video-modal__backdrop {
    position: absolute; inset: 0;
    background: rgba(13, 27, 62, 0.86); /* Round-3: flat navy scrim, no gradient */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
    animation: heroVidFade .25s ease-out;
  }
  .hero-video-modal__panel {
    position: relative;
    width: 100%;
    max-width: 920px;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,0.4);
    animation: heroVidPop .35s cubic-bezier(.18,.89,.32,1.28);
  }
  .hero-video-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.4rem 0.85rem;
    border-bottom: 1px solid #DCE6F2;
  }
  .hero-video-modal__eyebrow {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #3B86BC;
    text-transform: uppercase;
    margin-bottom: 4px;
  }
  .hero-video-modal__title {
    font-size: clamp(1rem, 0.9rem + 0.4vw, 1.25rem);
    font-weight: 700;
    color: #0A1530;
    margin: 0;
    letter-spacing: -0.01em;
  }
  .hero-video-modal__close {
    background: #F4F8FD;
    border: none;
    width: 36px; height: 36px;
    border-radius: 50%;
    color: #55556A;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
    flex-shrink: 0;
  }
  .hero-video-modal__close:hover { background: #E8593A; color: #fff; }
  .hero-video-modal__frame {
    position: relative;
    aspect-ratio: 16/9;
    background: #0D1B3E;
  }
  .hero-video-modal__placeholder {
    position: absolute; inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    color: rgba(255,255,255,0.65);
    font-size: 0.9rem;
  }
  .hero-video-modal__placeholder svg { color: rgba(255,255,255,0.85); }
  .hero-video-modal__frame iframe {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    border: 0;
    display: none;
  }
  .hero-video-modal.is-open .hero-video-modal__frame iframe { display: block; }
  .hero-video-modal.is-open .hero-video-modal__placeholder { display: none; }
  .hero-video-modal__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.4rem;
    background: #FFFFFF;
    border-top: 1px solid #EDF2F8;
    flex-wrap: wrap;
  }
  .hero-video-modal__foot-text {
    font-size: 0.88rem;
    color: #55556A;
    font-weight: 500;
  }
  @keyframes heroVidFade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes heroVidPop {
    from { opacity: 0; transform: translateY(20px) scale(.96); }
    to   { opacity: 1; transform: translateY(0)    scale(1); }
  }
  body.hero-video-locked { overflow: hidden; }

  /* ═══════════════════════════════════════════════════
     HERO SVG SLIDER — Soft crossfade slideshow
     ═══════════════════════════════════════════════════ */
  .hero-slider {
    position: relative;
    width: 100%;
    max-width: 560px;
  }
  .hero-slider__slide {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: auto;
    border-radius: 20px;
    filter: drop-shadow(0 20px 48px rgba(59, 134, 188,0.12));
    object-fit: cover;
    opacity: 0;
    transform: translateX(60px) scale(0.97);
    transition: opacity 1s cubic-bezier(0.4,0,0.2,1), transform 1s cubic-bezier(0.4,0,0.2,1);
    pointer-events: none;
  }
  picture.hero-slider__slide > img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: inherit;
    object-fit: cover;
  }
  .hero-slider__slide--active {
    position: relative;
    opacity: 1;
    transform: translateX(0) scale(1);
    pointer-events: auto;
  }

  /* Round-3: unused "HERO 2026" layered-background styles removed (gradient glows, beams, motes, shimmer text; not referenced by home.html) */

/* ============================================================
   HOME · SUPPLIERS VISUAL
   ============================================================ */
      .suppliers-visual:hover .suppliers-visual__card {
        transform: perspective(1000px) rotateY(0deg) translateY(-6px);
        box-shadow: 0 30px 70px rgba(0, 0, 0, 0.18);
      }
      @keyframes supplierSpin {
        from { transform: rotate(0deg); }
        to   { transform: rotate(360deg); }
      }
      @media (max-width: 768px) {
        .suppliers-visual { margin: var(--space-6) var(--space-3) 0; }
      }

/* ============================================================
   HOME · CAROUSELS, MODULES, COVERAGE MAP
   ============================================================ */
/* ══════ CAROUSEL ══════ */
.carousel-track {
  display: flex;
  gap: clamp(1rem, 2vw, 1.5rem);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--space-2);
  margin: 0 calc(-1 * var(--space-2));
  padding-left: var(--space-2);
  padding-right: var(--space-2);
}
.carousel-track::-webkit-scrollbar { height: 6px; }
.carousel-track::-webkit-scrollbar-track { background: transparent; }
.carousel-track::-webkit-scrollbar-thumb { background: var(--color-border, #E3EAF2); border-radius: 3px; }

.carousel-card {
  flex: 0 0 calc(33.333% - 1rem);
  scroll-snap-align: start;
  min-width: 280px;
}
@media (max-width: 1024px) {
  .carousel-card { flex: 0 0 calc(50% - .75rem); }
}
@media (max-width: 640px) {
  .carousel-card { flex: 0 0 calc(100% - 1rem); min-width: 260px; }
}

/* Round-3: unused .carousel-card__thumb gradient tiles removed (not referenced by home.html) */

.carousel-btn {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1.5px solid var(--color-border, #E3EAF2);
  background: var(--color-bg-white, #fff);
  color: var(--color-text, #0D1B3E);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .15s;
}
.carousel-btn:hover {
  background: var(--color-primary, #3B86BC);
  border-color: var(--color-primary, #3B86BC);
  color: #fff;
  box-shadow: 0 4px 12px rgba(59, 134, 188,.25);
}

/* ════════════════════════════════════════════════════════════
   COVERAGE MAP — 2027 EDITORIAL / FLOATING HUD
   ════════════════════════════════════════════════════════════ */
.cov-map-section {
  position: relative;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(4rem, 7vw, 6rem);
  overflow: hidden;
  background: #F8F6F1;
  isolation: isolate;
}

/* ── Ambient layer — Round-4: dot-grid gradient texture removed, flat section (client) ── */
.cov-map-ambient { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.cov-map-ambient__grid {
  position: absolute; inset: 0;
  background: none;
}
/* ── Editorial header (left-anchored, asymmetric) ─── */
.cov-map-header {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.cov-map-header__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .45rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(13, 27, 62,.08);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: #3C3C50;
  text-transform: uppercase;
  margin-bottom: 1.1rem;
  box-shadow: 0 2px 6px -2px rgba(13, 27, 62,.05);
}
.cov-map-ping {
  position: relative;
  display: inline-block;
  width: 8px; height: 8px;
}
.cov-map-ping span {
  position: absolute; inset: 0;
  border-radius: 50%;
  background: #7A9E8E;
  box-shadow: 0 0 0 2px rgba(122, 158, 142,.2);
}
.cov-map-ping::before {
  content: "";
  position: absolute; inset: 0;
  border-radius: 50%;
  background: #7A9E8E;
  opacity: .6;
  animation: cov-ping 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes cov-ping {
  0%   { transform: scale(1);   opacity: .6; }
  80%, 100% { transform: scale(3); opacity: 0; }
}
.cov-map-header__title {
  font-family: var(--font-display, 'DM Serif Display'), serif;
  font-size: clamp(1.6rem, 2.9vw, 2.45rem);
  line-height: 1.12;
  letter-spacing: -.03em;
  font-weight: 400;
  color: #0D1B3E;
  margin: 0 0 .85rem;
}
.cov-map-header__lead {
  font-size: clamp(1rem, 1.1vw, 1.08rem);
  line-height: 1.65;
  color: #55556A;
  max-width: 620px;
  margin: 0;
}

/* ── The canvas — full-bleed card with floating HUD ── */
.cov-map-canvas {
  position: relative;
  z-index: 1;
  border-radius: clamp(20px, 2vw, 28px);
  background: rgba(255, 255, 255, .68); /* Round-3: flat glass fill, no gradient */
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  border: 1px solid rgba(255,255,255,.85);
  padding: clamp(14px, 1.5vw, 22px);
  box-shadow:
    0 1px 1px rgba(13, 27, 62,.04),
    0 30px 60px -24px rgba(59, 134, 188,.25),
    0 10px 30px -12px rgba(13, 27, 62,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
}

/* Corner tick marks — geographic instrumentation feel */
.cov-map-corner {
  position: absolute;
  width: 22px; height: 22px;
  z-index: 3;
  pointer-events: none;
}
.cov-map-corner::before,
.cov-map-corner::after {
  content: "";
  position: absolute;
  background: #0D1B3E; /* Round-3: flat navy tick marks */
  border-radius: 2px;
}
.cov-map-corner::before { width: 22px; height: 2px; }
.cov-map-corner::after  { width: 2px;  height: 22px; }
.cov-map-corner--tl { top: -1px;    left: -1px;   }
.cov-map-corner--tl::before { top: 0;    left: 0; }
.cov-map-corner--tl::after  { top: 0;    left: 0; }
.cov-map-corner--tr { top: -1px;    right: -1px;  }
.cov-map-corner--tr::before { top: 0;    right: 0; }
.cov-map-corner--tr::after  { top: 0;    right: 0; }
.cov-map-corner--bl { bottom: -1px; left: -1px;   }
.cov-map-corner--bl::before { bottom: 0; left: 0; }
.cov-map-corner--bl::after  { bottom: 0; left: 0; }
.cov-map-corner--br { bottom: -1px; right: -1px;  }
.cov-map-corner--br::before { bottom: 0; right: 0; }
.cov-map-corner--br::after  { bottom: 0; right: 0; }

/* ── Map frame & the map itself ─────────────────────── */
.cov-map-frame {
  position: relative;
  border-radius: clamp(14px, 1.5vw, 20px);
  overflow: hidden;
  background: #DCF0FA;
  isolation: isolate;
}
#client-coverage-map {
  width: 100%;
  height: clamp(460px, 62vh, 640px);
  background: #DCF0FA; /* Round-3: flat sky tint */
}

/* Round-3: vignette, radar-sweep and scanline gradient overlays removed */

/* ── Floating HUD panels ────────────────────────────── */
.cov-map-hud {
  position: absolute;
  z-index: 500;
  pointer-events: auto;
}
.cov-map-hud--tl { top: 18px;    left: 18px;   }
.cov-map-hud--tr { top: 18px;    right: 18px;  }
.cov-map-hud--bl { bottom: 18px; left: 18px;   max-width: calc(100% - 36px); }
.cov-map-hud--br { bottom: 18px; right: 18px;  }

/* Live pill (top-right) */
.cov-hud-live {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  border: 1px solid rgba(13, 27, 62,.08);
  box-shadow: 0 8px 24px -10px rgba(13, 27, 62,.25);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: #0D1B3E;
  text-transform: uppercase;
}
.cov-hud-live__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #E8593A;
  box-shadow: 0 0 0 3px rgba(232,89,58,.25);
  animation: cov-live-pulse 1.6s ease-in-out infinite;
}
@keyframes cov-live-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(232,89,58,.25); }
  50%      { box-shadow: 0 0 0 6px rgba(232,89,58,.0); }
}

/* Hero metric panel (top-left) — editorial card */
.cov-hud-hero {
  position: relative;
  padding: 1rem 1.15rem 1.05rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, .9); /* Round-3: flat glass fill, no gradient */
  backdrop-filter: blur(18px) saturate(1.25);
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
  border: 1px solid rgba(59, 134, 188, .25); /* Round-3: flat border replaces gradient ring */
  box-shadow:
    0 20px 45px -20px rgba(59, 134, 188,.4),
    0 4px 12px rgba(13, 27, 62,.08),
    inset 0 1px 0 rgba(255,255,255,1);
  min-width: 220px;
}
.cov-hud-hero__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6B6B80;
}
.cov-hud-hero__row {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  margin-top: .35rem;
}
.cov-hud-hero__number {
  font-family: var(--font-display, 'DM Serif Display'), serif;
  font-size: clamp(2.2rem, 3.4vw, 2.9rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.035em;
  color: #0D1B3E; /* Round-3: flat navy big number, no gradient text */
  font-variant-numeric: tabular-nums;
}
.cov-hud-hero__trend {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: rgba(122, 158, 142,.12);
  border: 1px solid rgba(122, 158, 142,.28);
  color: #5E8271;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.cov-hud-hero__sub {
  display: block;
  margin-top: .35rem;
  font-size: .78rem;
  color: #6B6B80;
  font-weight: 500;
}

/* Mini chips row (bottom-left) */
.cov-hud-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.cov-hud-chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .85rem .55rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(13, 27, 62,.06);
  box-shadow: 0 6px 18px -10px rgba(13, 27, 62,.2);
  transition: transform .2s ease, box-shadow .2s ease;
}
.cov-hud-chip:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -10px rgba(59, 134, 188,.35);
}
.cov-hud-chip__icon {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: #DCF0FA; /* Round-3: flat sky tint */
  color: #3B86BC;
}
.cov-hud-chip__value {
  font-size: .95rem;
  font-weight: 800;
  color: #0D1B3E;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cov-hud-chip__label {
  font-size: .72rem;
  font-weight: 600;
  color: #6B6B80;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Legend (bottom-right) */
.cov-hud-legend {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(13, 27, 62,.06);
  box-shadow: 0 6px 18px -10px rgba(13, 27, 62,.25);
  font-size: .72rem;
  font-weight: 600;
  color: #0D1B3E;
}
.cov-hud-legend__dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: #3B86BC;
  box-shadow: 0 0 0 3px rgba(59, 134, 188,.22);
}
.cov-hud-legend__divider {
  width: 1px; height: 14px; background: rgba(13, 27, 62,.12);
  margin: 0 .15rem;
}
.cov-hud-legend__cluster {
  display: inline-flex;
  align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 6px;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 800;
  color: #fff;
  background: #3B86BC; /* Round-3: flat sky, no gradient sphere */
  box-shadow: 0 0 0 3px rgba(59, 134, 188,.2);
}

/* Loading state */
.cov-map-loading {
  position: absolute;
  inset: 0;
  z-index: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: rgba(250, 248, 244, .94); /* Round-3: flat stone-white fill */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: opacity .5s ease;
}
.cov-map-loading.is-hidden { opacity: 0; pointer-events: none; }
.cov-map-loading__core {
  position: relative;
  width: 56px; height: 56px;
}
.cov-map-loading__ring {
  position: absolute; inset: 0;
  border: 2px solid rgba(59, 134, 188,.3);
  border-radius: 50%;
  animation: cov-load-ring 1.8s ease-out infinite;
}
.cov-map-loading__ring--2 { animation-delay: .6s; }
.cov-map-loading__dot {
  position: absolute;
  top: 50%; left: 50%;
  width: 10px; height: 10px;
  background: #3B86BC;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 5px rgba(59, 134, 188,.18);
}
@keyframes cov-load-ring {
  0%   { transform: scale(.4); opacity: 1; }
  100% { transform: scale(1.6); opacity: 0; }
}
.cov-map-loading__label {
  font-size: .85rem;
  font-weight: 600;
  color: #55556A;
  letter-spacing: .02em;
}

/* ── Foot: privacy + CTA ────────────────────────────── */
.cov-map-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem .35rem 0;
  flex-wrap: wrap;
}
.cov-map-foot__note {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .78rem;
  color: #6B6B80;
  font-weight: 500;
}
.cov-map-foot__cta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .6rem 1.1rem;
  border-radius: 999px;
  background: #E8593A; /* Round-3: flat persimmon */
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .01em;
  box-shadow: 0 10px 25px -10px rgba(232, 89, 58,.6);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.cov-map-foot__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -10px rgba(232, 89, 58,.75);
  filter: brightness(1.05);
  color: #fff;
  text-decoration: none;
}
.cov-map-foot__cta svg { transition: transform .22s ease; }
.cov-map-foot__cta:hover svg { transform: translateX(3px); }

/* ── Custom Leaflet marker (preserved classnames below) ── */
.client-pulse-marker {
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #3B86BC;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(13, 27, 62,.35);
  position: relative;
}
.client-pulse-marker::after {
  content: "";
  position: absolute; inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(59, 134, 188,.55);
  animation: client-pulse 2s ease-out infinite;
}
@keyframes client-pulse {
  0%   { transform: scale(.6); opacity: .9; }
  100% { transform: scale(2.4); opacity: 0; }
}

/* Cluster markers — flat palette discs (Round-3: gradient spheres flattened) */
.client-map-cluster {
  display: flex;
  align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
  background: #3B86BC;
  box-shadow:
    0 8px 22px -6px rgba(59, 134, 188,.6),
    0 0 0 5px rgba(59, 134, 188,.15),
    inset 0 1px 0 rgba(255,255,255,.4);
  border: 2px solid rgba(255,255,255,.95);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.client-map-cluster--lg {
  width: 54px; height: 54px;
  font-size: .95rem;
  background: #0D1B3E;
  box-shadow:
    0 10px 26px -6px rgba(59, 134, 188,.6),
    0 0 0 6px rgba(59, 134, 188,.15),
    inset 0 1px 0 rgba(255,255,255,.4);
}

/* Leaflet polish */
.leaflet-container a.leaflet-popup-close-button { color: #6B6B80; }
.leaflet-control-attribution {
  font-size: 10px;
  background: rgba(255,255,255,.9) !important;
  border-radius: 8px 0 0 0;
  padding: 2px 6px !important;
}
.leaflet-control-zoom a {
  border-radius: 10px !important;
  border: 1px solid rgba(13, 27, 62,.08) !important;
  color: #0D1B3E !important;
  background: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px -4px rgba(13, 27, 62,.2) !important;
}
.leaflet-control-zoom a:hover { background: #fff !important; }

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 900px) {
  .cov-map-hud--tl { top: 14px; left: 14px; right: 14px; }
  .cov-hud-hero { min-width: 0; }
  .cov-map-hud--bl { left: 14px; right: 14px; bottom: 14px; }
  .cov-map-hud--br { display: none; }  /* legend hidden on mobile, already in chips */
  .cov-hud-chips { justify-content: flex-start; }
  #client-coverage-map { height: 480px; }
}
@media (max-width: 600px) {
  .cov-map-hud--tr { top: 12px; right: 12px; }
  .cov-hud-live { padding: .4rem .65rem; font-size: .65rem; }
  .cov-hud-hero { padding: .8rem .9rem; }
  .cov-hud-hero__number { font-size: 2.1rem; }
  .cov-hud-chip { padding: .45rem .7rem; }
  .cov-hud-chip__label { display: none; }  /* on very small screens, value-only chips */
  #client-coverage-map { height: 420px; }
  .cov-map-foot { gap: .6rem; }
  .cov-map-foot__note { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cov-map-ping::before,
  .cov-hud-live__dot,
  .cov-map-loading__ring { animation: none !important; }
}



/* ── Migration journey timeline ──────────────────────────────
   Round-5 (7) journey-line pattern ported from why_platinum:
   five steps as step dots on a track, not cards (client). */
.pv6 .mig-tl {margin-top:34px}
.pv6 .mig-tl .tlrow {position:relative}
.pv6 .mig-tl .track {position:absolute;top:24px;left:10%;right:10%;height:3px;background:var(--light);border-radius:3px}
.pv6 .mig-tl .nodes {position:relative;display:grid;grid-template-columns:repeat(5,1fr)}
.pv6 .mig-tl .node {text-align:center;padding:0 8px}
.pv6 .mig-tl .node .dot {width:52px;height:52px;border-radius:50%;background:#fff;border:2.5px solid var(--light);display:flex;align-items:center;justify-content:center;margin:0 auto 13px}
.pv6 .mig-tl .node .dot .ico {width:23px;height:23px}
/* Journey circle colours (position-based) — navy, sky, persimmon repeating (Round-4 standard) */
.pv6 .mig-tl .nodes .node:nth-child(3n+1) .dot{border-color:var(--navy);color:var(--navy)}
.pv6 .mig-tl .nodes .node:nth-child(3n+2) .dot{border-color:var(--sky);color:var(--sky)}
.pv6 .mig-tl .nodes .node:nth-child(3n) .dot{border-color:var(--persimmon);color:var(--persimmon)}
.pv6 .mig-tl .node .ns {font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--clay);margin-bottom:4px}
.pv6 .mig-tl .node .nl {font-size:14px;font-weight:700;color:var(--navy);margin-bottom:3px}
.pv6 .mig-tl .node .nd {font-size:12px;color:var(--gray);line-height:1.45;max-width:190px;margin:0 auto}
/* 2026 polish: soft elevation on dots + gentle lift on hover */
.pv6 .mig-tl .node .dot {box-shadow:0 2px 10px rgba(13,27,62,.08);transition:transform .25s ease,box-shadow .25s ease}
.pv6 .mig-tl .node:hover .dot {transform:translateY(-3px) scale(1.05);box-shadow:0 6px 18px rgba(13,27,62,.14)}
@media(max-width:900px) {
  .pv6 .mig-tl .track {display:none}
  .pv6 .mig-tl .nodes {grid-template-columns:1fr 1fr;gap:22px}
}
@media(max-width:560px) {
  .pv6 .mig-tl .nodes {grid-template-columns:1fr}
}
