/* Markets revision: typography shared with the service blocks and the approved light map. */
html body main section#global-map[id][data-map-review]{position:relative;overflow:hidden;scroll-margin-top:0!important;height:auto!important;min-height:0!important;padding:0!important;background:radial-gradient(ellipse at 72% 48%,#efe3fc80,transparent 58%),#f8f7fb!important}
html body main section#global-map[id][data-map-review]::before,html body main section#global-map[id][data-map-review]::after{display:none!important}
html body main section#global-map[id][data-map-review] .global-map-canvas{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);justify-items:center;align-items:center;gap:12px;width:100%!important;max-width:none!important;min-height:0!important;height:min(100svh,calc(55vw + 136px))!important;box-sizing:border-box;aspect-ratio:auto!important;margin:0 auto!important;padding:24px 16px 20px!important;background:none!important;overflow:visible!important;transform:none!important}
html body main section#global-map[id][data-map-review] .global-map-canvas > .global-map-heading[class]{position:relative!important;inset:auto!important;transform:none!important;display:flex;flex-direction:column;gap:12px;width:100%;max-width:1100px;margin:0!important;padding:0 20px!important;text-align:center}
html body main section#global-map[id][data-map-review] .global-map-heading[class] h2.global-map-kicker{font-size:28px!important;line-height:38px!important;font-weight:600!important;letter-spacing:normal!important;white-space:normal!important;text-wrap:balance!important;text-transform:none!important;color:#22192d!important;background:none!important;-webkit-text-fill-color:#22192d!important}
html body main section#global-map[id][data-map-review] .global-map-heading[class] h2.global-map-kicker > :is(.markets-one-group,.markets-divider){color:#22192d!important;background:none!important;-webkit-text-fill-color:#22192d!important}
html body main section#global-map[id][data-map-review] .global-map-heading[class] h2.global-map-kicker > .markets-multiple{background:linear-gradient(100deg,#a45af9,#5400b4)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}
html body main section#global-map[id][data-map-review] .global-map-heading[class] p.global-map-lead{font-size:18px!important;line-height:30px!important;font-weight:300!important;color:#000!important;-webkit-text-fill-color:#000!important;background:none!important;background-image:none!important;letter-spacing:normal!important;text-transform:none!important;min-height:0!important;max-width:850px!important;margin:0 auto!important;text-wrap:balance}
html body main section#global-map[id][data-map-review] .global-map-lead > span{display:inline!important;width:auto!important;font:inherit!important;color:inherit!important;-webkit-text-fill-color:inherit!important;background:none!important;margin:0!important;padding:0!important;transform:none!important;white-space:nowrap}
.v5-map-visual{container-type:size;position:relative;display:block;width:100%;height:100%;min-height:0;max-width:1800px;margin:0;padding:0;filter:drop-shadow(0 16px 20px #4a1b7720)}
.v5-map-visual img{display:block!important;position:static!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto;object-fit:fill!important;transform:none!important;opacity:1!important;filter:none!important}
.v5-map-options{display:flex;justify-content:center;gap:8px;padding:6px;max-width:100%;border:1px solid #dacde6;border-radius:12px;background:#ffffffbc;box-shadow:0 8px 22px -18px #3c0c76;font-family:Alexandria,Arial,sans-serif}
.v5-map-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:106px;padding:7px 10px;border:1px solid transparent;background:transparent;color:#6c577d;cursor:pointer;box-shadow:none;transform:none;font:400 11px/1.4 Alexandria,Arial,sans-serif}
.v5-map-options button img{display:block;width:78px;height:40px;object-fit:contain;filter:none}
.v5-map-options button[aria-pressed="true"]{background:#ede2f8;border-color:#aa85c8;color:#502b73}
.v5-map-options button:hover{background:#f3eafb;border-color:#bea3d5}
.v5-map-options button:focus-visible{outline:3px solid #9762c6;outline-offset:3px}
@media(max-width:767px){
 html body main section#global-map[id][data-map-review] .global-map-canvas{padding:24px 6px 20px!important}
 html body main section#global-map[id][data-map-review] .global-map-heading[class] h2.global-map-kicker{font-size:22px!important;line-height:30px!important}
 html body main section#global-map[id][data-map-review] .global-map-heading[class] p.global-map-lead{font-size:14px!important;line-height:21px!important;max-width:330px!important}
 .v5-map-visual{width:100%;margin:0}
 .v5-map-options{gap:4px;padding:5px}
 .v5-map-options button{min-width:0;width:90px;padding:6px 4px;font-size:10px}
 .v5-map-options button img{width:68px;height:36px}
}
@media(max-width:359px){.v5-map-options button{width:78px}.v5-map-options button img{width:62px;height:32px}}
html body main section#global-map[id][data-map-review] .global-map-kicker > span{display:inline!important;width:auto!important;font:inherit!important;white-space:nowrap!important}

/* The network uses the same geographic coordinates and viewBox as the land artwork. */
html body main section#global-map[id][data-map-review] .v5-map-network{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;pointer-events:none;transform:none!important;opacity:1!important;z-index:1}
#global-map[data-map-review]{--network-line:#fff;--network-opacity:.35;--signal-color:#fff;--node-stroke:#d7c0ec}
#global-map[data-map-style="routes"]{--network-line:#8950bf;--network-opacity:.38;--signal-color:#7523bd;--node-stroke:#975ec0}
.v5-map-links path{fill:none;stroke:var(--network-line);stroke-opacity:var(--network-opacity);stroke-width:.8;vector-effect:non-scaling-stroke}
.v5-map-halo{fill:url(#v5-map-halo);animation:v5-map-glow var(--node-duration) ease-in-out var(--node-delay) infinite}
.v5-map-pearl{fill:url(#v5-map-pearl);stroke:var(--node-stroke);stroke-width:.8;animation:v5-map-float var(--node-duration) ease-in-out var(--node-delay) infinite}
.v5-map-spark{fill:#fff;opacity:.95;animation:v5-map-float var(--node-duration) ease-in-out var(--node-delay) infinite}
.v5-map-signal{fill:none;stroke:var(--signal-color);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.45 99.55;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #e9d4ff);animation:v5-map-travel var(--signal-duration) linear var(--signal-delay) infinite}
#global-map :is(.v5-map-halo,.v5-map-pearl,.v5-map-spark,.v5-map-signal){animation-play-state:paused}
#global-map.is-network-active :is(.v5-map-halo,.v5-map-pearl,.v5-map-spark,.v5-map-signal){animation-play-state:running}
@keyframes v5-map-glow{0%,100%{opacity:.28}50%{opacity:.95}}
@keyframes v5-map-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@keyframes v5-map-travel{0%{stroke-dashoffset:100;opacity:0}12%,86%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@media(max-width:767px){.v5-map-pearl{r:6.5px}.v5-map-pearl--hub{r:9px}.v5-map-halo{r:22px}.v5-map-signal{stroke-width:1.8}.v5-map-links path{stroke-width:.55}}
@media(prefers-reduced-motion:reduce){#global-map :is(.v5-map-halo,.v5-map-pearl,.v5-map-spark,.v5-map-signal){animation:none!important}.v5-map-signal{display:none}.v5-map-halo{opacity:.45}}

/* On short screens, use compact controls so the entire composition stays in one view. */
@media(max-height:600px){
 html body main section#global-map[id][data-map-review] .global-map-canvas{padding-top:12px!important;padding-bottom:12px!important;gap:8px}
 html body main section#global-map[id][data-map-review] .global-map-canvas > .global-map-heading[class]{gap:6px}
 .v5-map-options button{flex-direction:row;gap:6px;padding:4px 7px;min-width:0;width:auto}
 .v5-map-options button img{width:42px;height:26px}
}

@media(max-width:600px) and (max-height:600px){.v5-map-options button{flex-direction:column;width:78px;padding:4px}}

/* Shared frame keeps coastlines and animated nodes aligned as the map widens. */
.v5-map-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,calc(100cqh * 1.82));aspect-ratio:1.82}
@media(max-width:767px){
 html body main section#global-map[id][data-map-review] .global-map-canvas{height:min(100svh,calc(64.52vw + 176px))!important}
 .v5-map-frame{width:min(100cqw,calc(100cqh * 1.55));aspect-ratio:1.55}
}

/* Mobile map: keep the full artwork while bounding animated SVG work. */
@media (pointer:coarse), (max-width:900px) {
 .v5-map-visual { filter:none; }
 .v5-map-visual img { filter:drop-shadow(0 16px 20px #4a1b7720)!important; }
 #global-map :is(.v5-map-halo,.v5-map-pearl,.v5-map-spark) { animation:none; transform:none; }
 #global-map .v5-map-halo { opacity:.45; }
 #global-map .v5-map-signal { filter:none; }
 #global-map .v5-map-signal:nth-child(n+9) { display:none; animation:none; }
}
