/* Scoped global affiliation infographic; inherits the academy typography. */
.zr-global{--map-green:var(--onyx-accent,#00ff66);--map-muted:var(--onyx-muted,#a4b5aa);position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(3rem,7vw,5rem);padding-top:clamp(2rem,5vw,4rem);border-top:1px solid var(--onyx-line,#294435);color:var(--onyx-text,#eff8f2);background:transparent}
.zr-global .eyebrow{margin:0 0 1.25rem;color:var(--map-green)}
.zr-global h2{font-size:clamp(1.9rem,3.8vw,3.35rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 1.2rem;max-width:24ch}
.zr-global h2 span{color:var(--map-green)}
.zr-global .intro{color:var(--map-muted);max-width:42rem;font-size:1rem;line-height:1.7;margin:0}
.zr-global .metrics{display:flex;align-items:center;gap:clamp(1.5rem,4vw,3rem);margin-top:2rem;padding-bottom:1.6rem;border-bottom:1px solid var(--onyx-line)}
.zr-global .metric{min-width:8rem}
.zr-global .number{display:block;color:inherit;font:750 clamp(2.4rem,4vw,3.6rem)/1 Manrope,system-ui,sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.zr-global .metric:nth-child(2) .number{color:var(--map-green)}
.zr-global .label{display:block;margin-top:.65rem;font-size:.8rem;color:var(--map-muted)}
.zr-global .tagline{margin:0 0 0 auto;font-size:.94rem;line-height:1.7;color:var(--map-muted);max-width:19rem}
.zr-global .tagline strong{font-weight:600;color:var(--onyx-text)}
.zr-global .map-wrap{position:relative;margin:1.25rem 0 .5rem}
.zr-global svg{width:100%;height:auto;display:block;overflow:visible}
.zr-global .land{fill:#66776e}
.zr-global .marker{cursor:pointer;outline:none}
.zr-global .hit{fill:transparent}
.zr-global .halo{fill:#00ff6615;stroke:none}
.zr-global .ring{fill:none;stroke:#00ff6680;stroke-width:1}
.zr-global .core{fill:var(--map-green)}
.zr-global .marker:hover .ring,.zr-global .marker:focus-visible .ring{stroke:#eff8f2;stroke-width:2}
.zr-global .marker:hover .halo,.zr-global .marker:focus-visible .halo{fill:#00ff6640}
.zr-global .pulse .ring{animation:zr-map-beacon 4.8s ease-out infinite;animation-delay:var(--delay);animation-play-state:paused;transform-box:fill-box;transform-origin:center}
@keyframes zr-map-beacon{0%,72%,100%{opacity:.65;transform:scale(1)}45%{opacity:0;transform:scale(2.5)}}
.zr-global .tooltip{position:absolute;max-width:min(15rem,calc(100% - 1rem));padding:.8rem 1rem;border:1px solid var(--onyx-line);border-radius:var(--onyx-panel-radius,8px);background:#0b1510f5;box-shadow:var(--onyx-shadow);pointer-events:none;z-index:2;font-size:.8rem;line-height:1.5;opacity:0;transition:opacity var(--onyx-fast,160ms)}
.zr-global .tooltip.visible{opacity:1}
.zr-global .tooltip strong{display:block;color:var(--onyx-text);font-size:.88rem;margin-bottom:.2rem}
.zr-global .tooltip span{color:var(--map-muted)}
.zr-global .map-note{display:flex;align-items:center;gap:.6rem;margin:0 0 1.5rem;font-size:.75rem;color:var(--map-muted);line-height:1.6}
.zr-global .legend-dot{width:5px;height:5px;flex:none;border-radius:50%;background:var(--map-green)}
.zr-global footer{border-top:1px solid var(--onyx-line);padding-top:1.1rem;display:flex;justify-content:space-between;gap:1.2rem;font-size:.65rem;color:var(--map-muted);line-height:1.7;letter-spacing:.04em}
.zr-global button.motion{font:inherit;background:var(--onyx-button-surface,#030604);border:1px solid var(--onyx-line);color:var(--onyx-text);border-radius:var(--onyx-button-radius,999px);padding:.65rem 1rem;min-height:44px;cursor:pointer;white-space:nowrap;align-self:center}
.zr-global button.motion:hover{border-color:var(--map-green)}
.zr-global button:focus-visible{outline:2px solid var(--map-green);outline-offset:4px}
.zr-global.is-active .pulse .ring{animation-play-state:running}
.zr-global.is-active.paused .pulse .ring{animation-play-state:paused}
@media(max-width:650px){.zr-global .metrics{gap:1.6rem;flex-wrap:wrap}.zr-global .metric{min-width:7rem}.zr-global .tagline{margin:0;width:100%;max-width:none;font-size:.85rem}.zr-global .core{r:3.8px}.zr-global .hit{r:14px}.zr-global footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.zr-global *{animation:none!important;transition:none!important}}
