.reference-map-viewport{overflow:auto;scrollbar-color:#b69ad5 #f2edfa}.reference-map-viewport.is-zoomed{max-height:88vh}.reference-map-viewport .reference-world{width:100%;min-width:100%;transform-origin:top left}.reference-map-detail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.reference-project{z-index:3}.reference-country-overlay{z-index:1}.map-portfolio-title{font:600 42px 'DM Sans',sans-serif;letter-spacing:-1.2px;fill:#6336ba}.map-portfolio-data{font:500 22px 'DM Sans',sans-serif;fill:#6336ba}.map-portfolio-countries{font:500 17px 'DM Sans',sans-serif;fill:#6336ba}.map-country-name{font:700 20px 'DM Sans',sans-serif;fill:#5526ac;paint-order:stroke;stroke:#f8f5ff;stroke-width:5px;stroke-linejoin:round}.map-country-name.is-selected{fill:#5b820e}.map-illustration-note{font:400 14px 'DM Sans',sans-serif;fill:#6336ba}.map-energy-line{fill:none;stroke:#a7d72b;stroke-width:4;stroke-dasharray:9 24;stroke-linecap:round;filter:drop-shadow(0 0 2px #9ac729aa);animation:map-energy-flow 2.4s linear infinite}.map-energy-line.is-selected{stroke:#b8ee32;stroke-width:6;animation-duration:1.5s}.reference-world.flow-paused .map-energy-line{animation-play-state:paused}.reference-map-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0 16px;color:#6336ba}.reference-map-controls button,.reference-map-controls a{font:500 13px 'DM Sans',sans-serif;color:#6336ba;background:#f4edf9;border:1px solid #c5a8e3;border-radius:24px;padding:10px 14px;cursor:pointer}.reference-map-controls a{margin-left:auto}.reference-map-controls button:hover{background:#e8d9f7}.reference-map-controls button:focus-visible,.reference-map-controls a:focus-visible{outline:3px solid #6336ba;outline-offset:3px}@keyframes map-energy-flow{to{stroke-dashoffset:-66}}@media(prefers-reduced-motion:reduce){.map-energy-line{animation:none}}@media(max-width:600px){.reference-map-controls{gap:6px}.reference-map-controls button,.reference-map-controls a{font-size:12px;padding:9px 11px}.reference-map-controls a{margin-left:0}.reference-map-viewport.is-zoomed{max-height:70vh}}

/* Crisp project types and capacities beside each country model. */
.map-project-label rect{fill:#f8f5ff;fill-opacity:.88;stroke:#b99bdc;stroke-opacity:.45;stroke-width:1}
.map-project-type{font:500 15px 'DM Sans',sans-serif;fill:#6336ba}
.map-project-data{font:600 15px 'DM Sans',sans-serif;fill:#4e248d}
.map-project-label.is-selected rect{fill:#f4f8e9;stroke:#96be37;stroke-opacity:1;stroke-width:2}
.map-project-label.is-selected .map-country-name{fill:#5b820e}

/* Moving green light bands follow local building and equipment routes. */
.map-building-energy .map-building-flow{stroke:#b8ed3e;stroke-width:5;stroke-dasharray:26 90;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #94e43b) drop-shadow(0 0 6px #a8ed3b88);animation-name:map-building-current;animation-duration:3.2s;animation-timing-function:linear;animation-iteration-count:infinite}
.map-building-energy .map-building-flow.is-selected{stroke:#d0ff63;stroke-width:6;animation-duration:2.8s}
@keyframes map-building-current{to{stroke-dashoffset:-232}}
@media(prefers-reduced-motion:reduce){.map-building-energy .map-building-flow{animation:none}}
