
#c4c-global-map{--c4c-accent:#d4f34a;--c4c-motion:4s;background:#0b0d09;color:#f2f1e8;font-family:Arial,Helvetica,sans-serif;padding:34px 30px 24px;box-sizing:border-box;overflow:hidden}
#c4c-global-map *{box-sizing:border-box}
#c4c-global-map .eyebrow{font-size:11px;letter-spacing:.13em;color:var(--c4c-accent);margin:0 0 23px;display:flex;align-items:center;gap:9px}
#c4c-global-map .eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c4c-accent)}
#c4c-global-map .heading{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:end}
#c4c-global-map h1{font-size:clamp(34px,5.7vw,56px);line-height:1;letter-spacing:-.06em;font-weight:600;margin:0}
#c4c-global-map h1 em{font-style:normal;color:var(--c4c-accent)}
#c4c-global-map p{font-size:14px;line-height:1.65;color:#b6bdae;margin:0}
#c4c-global-map .map-stage{position:relative;margin:26px -12px 4px;background:radial-gradient(ellipse at 50% 40%,#d4f34a08,transparent 65%)}
#c4c-global-map .world-map{display:block;width:100%;height:auto;overflow:visible}
#c4c-global-map .land{fill:#242b1c;stroke:#526040;stroke-width:.65;stroke-linejoin:round}
#c4c-global-map .land.featured{fill:#344126;stroke:#677d43}
#c4c-global-map .route-base{fill:none;stroke:#9ab34655;stroke-width:1.4}
#c4c-global-map .route{fill:none;stroke:var(--c4c-accent);stroke-width:1.7;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;filter:drop-shadow(0 0 5px #d4f34a55)}
#c4c-global-map.motion .route{animation:c4c-route-trace var(--c4c-motion) ease-in-out both;animation-delay:var(--delay)}
#c4c-global-map .pin-halo{fill:#d4f34a19;stroke:#d4f34a50;stroke-width:1}
#c4c-global-map .pin-dot{fill:var(--c4c-accent);stroke:#0b0d09;stroke-width:2}
#c4c-global-map .city-pin.active .pin-halo{fill:#d4f34a33;stroke:var(--c4c-accent)}
#c4c-global-map .city-pin.active .pin-dot{fill:#f2f1e8}
#c4c-global-map .leader{fill:none;stroke:#a4b291;stroke-width:1}
#c4c-global-map .map-label{fill:#e9eddf;font-family:Arial,Helvetica,sans-serif;font-size:19px;paint-order:stroke;stroke:#0b0d09;stroke-width:4px;stroke-linejoin:round}
#c4c-global-map .map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px}
#c4c-global-map .location-status{font-size:12px;color:#c1cab6;display:flex;gap:8px;align-items:center}
#c4c-global-map .location-status:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c4c-accent);flex-shrink:0}
#c4c-global-map button{font-family:inherit;cursor:inherit}
#c4c-global-map .replay{background:transparent;color:#d9e2c9;border:1px solid #465137;padding:9px 12px;font-size:11px;flex-shrink:0;cursor:pointer}
#c4c-global-map .city-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #39422e;border-bottom:1px solid #39422e;gap:12px;padding:16px 0}
#c4c-global-map .city-choice{background:transparent;border:0;border-left:2px solid transparent;text-align:left;padding:5px 8px;color:#f2f1e8;cursor:pointer;min-height:52px}
#c4c-global-map .city-choice[aria-pressed=true]{border-left-color:var(--c4c-accent);background:#d4f34a0a}
#c4c-global-map .city-choice strong{display:block;font-size:14px;font-weight:500;line-height:1.3;letter-spacing:-.02em}
#c4c-global-map .city-choice span{display:block;font-size:11px;color:#a8b19c;margin-top:6px}
#c4c-global-map .attribution{margin-top:16px;font-size:11px;color:#859078;display:flex;gap:6px 12px;justify-content:space-between;flex-wrap:wrap}
#c4c-global-map .attribution a{color:#a5af97;text-decoration:none}
#c4c-global-map .attribution a:hover{text-decoration:underline}
@keyframes c4c-route-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:560px){#c4c-global-map{padding:26px 20px 20px}#c4c-global-map .heading{grid-template-columns:1fr;gap:20px}#c4c-global-map h1{font-size:40px}#c4c-global-map .city-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#c4c-global-map .map-label,#c4c-global-map .leader{display:none}#c4c-global-map .pin-dot{r:6}#c4c-global-map .city-pin.active .pin-halo{r:15}#c4c-global-map .map-toolbar{align-items:flex-start}#c4c-global-map .location-status{line-height:1.5;max-width:185px}#c4c-global-map .replay{max-width:90px;line-height:1.4}}
@media(prefers-reduced-motion:reduce){#c4c-global-map.motion .route{animation:none!important}}
/* A continuous flow, with quiet city pulses and no restart control. */
#c4c-global-map .network-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #39422e;padding-bottom:24px;margin-bottom:38px}
#c4c-global-map .network-nav img{width:174px;height:auto;display:block;filter:invert(1)}
#c4c-global-map .network-nav a{color:#c7cfbc;font-size:12px;text-decoration:none}
#c4c-global-map .network-nav a:hover{color:var(--c4c-accent)}
#c4c-global-map .route{stroke-dasharray:none;opacity:.24;filter:none;animation:none!important}
#c4c-global-map .route-flow,#c4c-global-map .route-core{fill:none;stroke:var(--c4c-accent);stroke-linecap:round;stroke-width:3;stroke-dasharray:.1 1.1;stroke-dashoffset:.12;filter:drop-shadow(0 0 4px var(--c4c-accent));opacity:0;animation:c4c-network-flow var(--c4c-motion) linear infinite;animation-delay:var(--delay);animation-play-state:paused;pointer-events:none}
#c4c-global-map .route-core{stroke:#f5ffd4;stroke-width:1.8;stroke-dasharray:.018 1.182;filter:none}
#c4c-global-map .pin-ripple{fill:none;stroke:var(--c4c-accent);stroke-width:1;opacity:0;animation:c4c-city-ripple 4.5s ease-out infinite;animation-delay:var(--pulse-delay);animation-play-state:paused;pointer-events:none}
#c4c-global-map.motion .route-flow,#c4c-global-map.motion .route-core,#c4c-global-map.motion .pin-ripple{animation-play-state:running}
#c4c-global-map .map-toolbar{justify-content:flex-start;margin-top:6px}
#c4c-global-map .network-closing{padding:28px 0 4px;color:#b5bfa7;font-size:12px;display:flex;justify-content:space-between;gap:22px;line-height:1.6}
#c4c-global-map .network-closing strong{font-weight:500;color:var(--c4c-accent)}
@keyframes c4c-network-flow{0%{stroke-dashoffset:.12;opacity:0}8%{opacity:.95}88%{opacity:.95}100%{stroke-dashoffset:-1.08;opacity:0}}
@keyframes c4c-city-ripple{0%{r:6;opacity:0}10%{opacity:.5}85%,100%{r:22;opacity:0}}
@media(max-width:560px){#c4c-global-map .network-nav{margin-bottom:28px}#c4c-global-map .network-nav img{width:145px}#c4c-global-map .network-closing{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){#c4c-global-map .route-flow,#c4c-global-map .route-core,#c4c-global-map .pin-ripple{animation:none!important;opacity:0}#c4c-global-map .route{opacity:.65}}

/* Short connections glow as a whole, rather than shrinking the moving trace. */
#c4c-global-map .route-flow.short-route,#c4c-global-map .route-core.short-route{display:none}
#c4c-global-map .cluster-link-light{fill:none;stroke:var(--c4c-accent);stroke-width:2.5;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px var(--c4c-accent));opacity:0;pointer-events:none}
#c4c-global-map .travelling-light{opacity:0;pointer-events:none}
#c4c-global-map .travelling-halo{fill:var(--c4c-accent);opacity:.22}
#c4c-global-map .travelling-dot{fill:#fbffe8;filter:drop-shadow(0 0 2px var(--c4c-accent))}
#c4c-global-map .city-pin.arrival .pin-dot{fill:#fbffe8;stroke:var(--c4c-accent);stroke-width:2}
#c4c-global-map .city-pin.arrival .pin-halo{fill:#d4f34a55;stroke:var(--c4c-accent);stroke-width:1.5}
@media(prefers-reduced-motion:reduce){#c4c-global-map .travelling-light,#c4c-global-map .cluster-link-light{display:none}}

/* One city takes the spotlight at a time. No route or travelling-light graphics. */
#c4c-global-map .city-spot-ring{fill:none;stroke:var(--c4c-accent);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none}
#c4c-global-map .city-pin .pin-dot{fill:#91a36a;stroke:#0b0d09;stroke-width:2;transition:fill .5s}
#c4c-global-map .city-pin .pin-halo{fill:transparent;stroke:#8a9f5844;transition:fill .5s,stroke .5s}
#c4c-global-map .city-pin.spotlight .pin-dot{fill:#f8ffe3;stroke:var(--c4c-accent);filter:drop-shadow(0 0 5px var(--c4c-accent))}
#c4c-global-map .city-pin.spotlight .pin-halo{fill:#d4f34a24;stroke:var(--c4c-accent)}
#c4c-global-map .city-pin.spotlight .city-spot-ring{animation:c4c-city-spotlight var(--spot-duration,3.6s) ease-out both}
#c4c-global-map .map-label{fill:#a7b09c;transition:fill .45s}
#c4c-global-map .map-label.spotlight-label{fill:var(--c4c-accent)}
#c4c-global-map .city-choice{transition:background .4s,border-color .4s}
@keyframes c4c-city-spotlight{0%{r:var(--spot-start,6px);opacity:0}12%{opacity:.8}82%,100%{r:var(--spot-end,25px);opacity:0}}
@media(prefers-reduced-motion:reduce){#c4c-global-map .city-pin.spotlight .city-spot-ring{animation:none;opacity:.45;r:var(--spot-end,25px)}#c4c-global-map .map-label,#c4c-global-map .city-choice{transition:none}}


#c4c-global-map{max-width:1280px;margin:0 auto;padding:56px 4.5% 40px}#c4c-global-map .city-choice{color:#f2f1e8}#c4c-global-map .city-choice:focus-visible{outline:2px solid var(--c4c-accent);outline-offset:3px}@media(max-width:560px){#c4c-global-map{padding:35px 5% 30px}}
