/* Homepage SVG only: geometry, page layout and controls are unchanged. */
body.home .om-v2p-home-hero .om-map-network-ready .om-v2p-map__network path {
  animation: none;
  stroke: #A90D27;
  stroke-opacity: .22;
  stroke-width: 1;
  stroke-dasharray: none;
}
body.home .om-v2p-home-hero .om-map-network-ready .om-v2p-map__activity {
  display: none;
}
body.home .om-v2p-home-hero .om-map-network-ready .om-v2p-map__activity-group,
body.home .om-v2p-home-hero .om-map-network-ready .om-v2p-map__shield-marker .halo {
  animation: none;
}
body.home .om-v2p-home-hero .om-map-network-ready .om-v2p-map__shield-marker .halo {
  fill: #C8102E;
  fill-opacity: .12;
  stroke: #A90D27;
  stroke-opacity: .22;
}
body.home .om-v2p-home-hero .om-map-signals { pointer-events: none; }
body.home .om-v2p-home-hero .om-map-signal {
  fill: none;
  stroke: #C8102E;
  stroke-linecap: round;
  stroke-dasharray: 9 120;
  animation: om-home-signal-flight var(--om-signal-duration) linear var(--om-signal-delay) infinite;
}
body.home .om-v2p-home-hero .om-map-signal--trail { stroke-width: 4; stroke-opacity: .18; }
body.home .om-v2p-home-hero .om-map-signal--core { stroke-width: 1.7; stroke-opacity: 1; }
body.home .om-v2p-home-hero .om-map-arrival {
  fill: #C8102E;
  fill-opacity: .09;
  stroke: #C8102E;
  stroke-width: 2;
  stroke-opacity: .5;
  animation: om-home-signal-arrival var(--om-signal-duration) ease-in-out var(--om-signal-delay) infinite;
}
@keyframes om-home-signal-flight {
  0% { stroke-dashoffset: var(--om-signal-from); opacity: 0; }
  5%, 80% { opacity: 1; }
  90% { stroke-dashoffset: var(--om-signal-to); opacity: 0; }
  100% { stroke-dashoffset: var(--om-signal-to); opacity: 0; }
}
@keyframes om-home-signal-arrival {
  0%, 76%, 100% { opacity: 0; }
  88% { opacity: .7; }
}
body.home .om-v2p-home-hero .om-map-network-paused .om-map-signal,
body.home .om-v2p-home-hero .om-map-network-paused .om-map-arrival {
  animation-play-state: paused;
}
body.home .om-v2p-home-hero .om-map-network-reduced .om-map-signals { display: none; }
@media (prefers-reduced-motion: reduce) {
  body.home .om-v2p-home-hero .om-map-signals { display: none; }
  body.home .om-v2p-home-hero .om-map-signal,
  body.home .om-v2p-home-hero .om-map-arrival { animation: none; }
}

/* Added signals are round points, never new persistent strokes or long tails. */
/* Static relief beneath the unchanged top-plane geometry; no camera tilt. */
body.home .om-v2p-home-hero .om-local-volumetric .om-v2p-map__regions{filter:none}
body.home .om-v2p-home-hero .om-local-volumetric .om-v2p-map__region{stroke:#c9c2c4;stroke-width:.65}
body.home .om-v2p-home-hero .om-local-volumetric .om-v2p-map-paper-start{stop-color:#ffffff}
body.home .om-v2p-home-hero .om-local-volumetric .om-v2p-map-paper-mid{stop-color:#fcfbfa}
body.home .om-v2p-home-hero .om-local-volumetric .om-v2p-map-paper-low{stop-color:#f5f2f1}
body.home .om-v2p-home-hero .om-local-volumetric .om-v2p-map-paper-end{stop-color:#e8e3e3}
body.home .om-v2p-home-hero .om-map-small-dot {
 fill:none;stroke:#C8102E;stroke-width:2.7;stroke-linecap:round;
 stroke-dasharray:.001 120;stroke-opacity:1;
 animation:var(--om-dot-animation,om-small-dot-travel) var(--om-dot-duration) linear var(--om-dot-delay) infinite;
}
@keyframes om-small-dot-travel {
 0% {stroke-dashoffset:var(--om-dot-start);opacity:0}
 5%,94% {opacity:1}
 100% {stroke-dashoffset:var(--om-dot-end);opacity:0}
}
body.home .om-v2p-home-hero .om-map-feeder-dot{stroke-width:2.4}
body.home .om-v2p-home-hero .om-map-peer-dot{stroke-width:2.2}
body.home .om-v2p-home-hero .om-map-micro-dot{stroke-width:1.65}
body.home .om-v2p-home-hero .om-map-micro-hubs{pointer-events:none}
body.home .om-v2p-home-hero .om-map-micro-hub__halo{fill:#fff9fa;fill-opacity:.92;stroke:#C8102E;stroke-width:.55;stroke-opacity:.3}
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs .om-map-micro-hub__halo{animation:om-micro-hub-glow var(--om-hub-period) ease-in-out var(--om-hub-phase) infinite}
@keyframes om-micro-hub-glow{0%,100%{stroke-opacity:.15}42%{stroke-opacity:.7}70%{stroke-opacity:.25}}
body.home .om-v2p-home-hero .om-map-mini-hubs{pointer-events:none}
body.home .om-v2p-home-hero .om-map-mini-hub__halo{fill:#fff9fa;fill-opacity:.96;stroke:#C8102E;stroke-opacity:.4;stroke-width:.75}
body.home .om-v2p-home-hero .om-map-network-paused .om-map-small-dot {animation-play-state:paused}
body.home .om-v2p-home-hero .om-map-network-reduced .om-map-small-links {display:none}
@media(prefers-reduced-motion:reduce){body.home .om-v2p-home-hero .om-map-small-links{display:none}}
/* Unsynchronised, slow glow only. Emblems never blink off or change size. */
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs .om-v2p-map__shield-marker .halo{transform-box:fill-box;transform-origin:center;animation:om-major-hub-glow var(--om-hub-period) ease-in-out var(--om-hub-phase) infinite}
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs .om-map-mini-hub__halo{animation:om-mini-hub-glow var(--om-hub-period) ease-in-out var(--om-hub-phase) infinite}
/* Scarlet-to-warm-white light on nine major hubs only; the emblem stays red. */
@keyframes om-major-hub-glow{
 0%,100%{fill:#C8102E;stroke:#A90D27;fill-opacity:.12;stroke-opacity:.32;stroke-width:1.4;transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,49,74,0))}
 22%{fill:#FFF2EE;stroke:#FFFAF7;fill-opacity:.86;stroke-opacity:1;stroke-width:2.5;transform:scale(1.12);filter:drop-shadow(0 0 2px rgba(255,49,74,.95))}
 36%{fill:#FF6370;stroke:#FFD8D2;fill-opacity:.58;stroke-opacity:.95;stroke-width:2.1;transform:scale(1.08);filter:drop-shadow(0 0 1.5px rgba(255,49,74,.65))}
 66%{fill:#E82842;stroke:#F63750;fill-opacity:.18;stroke-opacity:.50;stroke-width:1.5;transform:scale(1.01);filter:drop-shadow(0 0 .5px rgba(255,49,74,.15))}
}
@keyframes om-mini-hub-glow{0%,100%{stroke-opacity:.18;stroke-width:.65}42%{stroke-opacity:.85;stroke-width:1.15}70%{stroke-opacity:.32;stroke-width:.75}}
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs.om-map-network-paused .om-v2p-map__shield-marker .halo,
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs.om-map-network-paused .om-map-micro-hub__halo,
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs.om-map-network-paused .om-map-mini-hub__halo{animation-play-state:paused}
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs.om-map-network-reduced .om-v2p-map__shield-marker .halo,
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs.om-map-network-reduced .om-map-micro-hub__halo,
body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs.om-map-network-reduced .om-map-mini-hub__halo{animation:none}
@media(prefers-reduced-motion:reduce){
 body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs .om-v2p-map__shield-marker .halo,
 body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs .om-map-micro-hub__halo,
 body.home .om-v2p-home-hero .om-map-network-ready.om-map-async-hubs .om-map-mini-hub__halo{animation:none}
}
