.network-globe[data-network-globe] { pointer-events: auto; aspect-ratio: auto; }
.network-globe .globe-stage { position: relative; width: 100%; aspect-ratio: 1; max-height: 660px; isolation: isolate; }
.network-globe .globe-stage::before { content: ''; position: absolute; inset: 12%; border-radius: 50%; background: #e9f1ff; filter: blur(36px); opacity: .5; z-index: -1; }
.network-globe .globe-stage canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: pan-y; }
.network-globe .globe-stage canvas.is-dragging { cursor: grabbing; }
.network-globe #globe-fallback { position: absolute; width: 100%; height: 100%; object-fit: contain; }
.network-globe #globe-loading { position: absolute; bottom: 16px; width: 100%; text-align: center; font-size: 12px; color: #566a82; }
.network-globe #globe-labels { position: absolute; inset: 0; pointer-events: none; }
.network-globe .globe-node-label { position: absolute; top: 0; left: 0; display: inline-flex; min-height: 36px; align-items: center; gap: 9px; padding: 7px 11px; border: 1px solid #d0def1; border-radius: 12px; background: rgb(255 255 255 / .93); backdrop-filter: blur(8px); box-shadow: 0 5px 14px rgb(44 83 143 / .08); color: #2a4a7a; font-size: 12px; white-space: nowrap; pointer-events: auto; cursor: pointer; transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.network-globe .globe-node-label[hidden] { display: none; }
.globe-node-label__indicator { display: block; width: 7px; height: 7px; flex: 0 0 7px; border: 1px solid #6d98da; border-radius: 50%; background: #a9c4ed; }
.globe-node-label__name { font-family: var(--font-display); font-weight: 500; }
.globe-node-label__code { padding-left: 8px; border-left: 1px solid #dde6f3; color: #7587a3; font-size: 10px; font-weight: 400; letter-spacing: .04em; }
.network-globe .globe-node-label[aria-pressed="true"] { border-color: #9fbdeb; background: #f3f7ff; }
.network-globe .globe-node-label[aria-pressed="true"] .globe-node-label__indicator { background: #3974cf; border-color: #3974cf; }
.network-globe .globe-node-label:hover { background: #edf4ff; border-color: #89afe7; box-shadow: 0 7px 18px rgb(44 83 143 / .12); }
@media (pointer:coarse) { .network-globe .globe-node-label { min-height: 44px; } }
.network-globe .globe-locations { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.network-globe .globe-locations button { min-height: 44px; padding: 8px 14px; background: transparent; border: 1px solid transparent; border-radius: 24px; color: #63758b; font-size: 12px; cursor: pointer; }
.network-globe .globe-locations button[aria-pressed="true"] { color: #285bb6; background: #edf3ff; border-color: #ccdcf5; }

.network-globe .globe-controls { display:flex; justify-content:center; gap:16px; margin-top:0; }
.network-globe .globe-controls button { min-height:44px; padding:8px 12px; border:0; background:transparent; color:#285bb6; font-size:12px; cursor:pointer; }
.network-globe button:focus-visible,.network-globe canvas:focus-visible { outline:2px solid #2f6ee9; outline-offset:4px; }
.network-globe button:disabled { opacity:.5; cursor:default; }
.network-globe .globe-help { margin:8px 0 0; text-align:center; color:#566a82; font-size:11px; line-height:1.6; }
@media(max-width:600px) { .network-globe .globe-node-label { font-size:11px; padding:4px 6px; } .network-globe .globe-locations { gap:0; } .network-globe .globe-locations button { padding-inline:10px; } }

.network-globe [hidden] { display: none !important; }

/* Decorative glows must clip without creating a focus-scroll container. */
.network-section { overflow: clip; }

/* Network story: evidence on the left, an uninterrupted globe on the right. */
#global-network { padding-block:72px; background:#fafbf9; }
#global-network .network-section__glow { display:none; }
#global-network .network-section__inner { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:16px; align-items:stretch; padding:12px; border-radius:24px; background:#eff2f5; }
#global-network .network-copy { display:flex; flex-direction:column; justify-content:center; align-self:stretch; padding:32px; border-radius:16px; background:#fff; }
#global-network .network-copy__label { display:none; }
#global-network .network-copy h2 { font-size:clamp(36px,3.1vw,48px); line-height:1.1; letter-spacing:-.035em; text-wrap:balance; }
#global-network .network-copy__body { margin-top:24px; font-size:16px; line-height:1.65; max-width:42ch; }
#global-network .network-stats { display:grid; grid-template-columns:minmax(0,1fr); grid-column:auto; gap:0; border:0; padding:28px 0 0; margin-top:0; }
#global-network .network-stat { display:grid; grid-template-columns:132px minmax(0,1fr); grid-template-rows:auto; align-items:center; gap:16px; padding-block:20px; text-align:left; border-top:1px solid #e4eaf2; }
#global-network .network-stat dt { font-size:40px; line-height:1.15; letter-spacing:-.035em; }
#global-network .network-stat dd { margin:0; max-width:22ch; font-size:13px; line-height:1.5; }
#global-network .network-globe { display:flex; flex-direction:column; justify-content:center; align-self:stretch; width:100%; min-height:0; padding:20px 16px; border-radius:16px; background:#f7faff; overflow:clip; }
#global-network .globe-stage { flex:none; width:min(460px,100%); align-self:center; min-height:0; max-height:none; aspect-ratio:1; }
#global-network .globe-controls { justify-content:flex-end; gap:8px; padding-inline:12px; margin-top:0; }
#global-network .globe-controls button { border:1px solid #d9e4f3; border-radius:24px; background:#fff; padding-inline:16px; }
#global-network .globe-controls button:hover { background:#edf4ff; }
#global-network .globe-help { text-align:right; padding-inline:12px; margin-top:12px; }
@media(max-width:1100px) and (min-width:921px) {
 #global-network .network-copy { padding:28px; }
 #global-network .network-stat { grid-template-columns:110px minmax(0,1fr); gap:12px; }
 #global-network .network-stat dt { font-size:34px; }
}
@media(max-width:920px) {
 #global-network .network-section__inner { grid-template-columns:minmax(0,1fr); }
 #global-network .network-copy { width:100%; }
 #global-network .network-copy h2 { max-width:20ch; font-size:42px; }
 #global-network .network-copy__body { max-width:60ch; }
 #global-network .network-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-top:32px; }
 #global-network .network-stat { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; align-items:start; padding-block:20px 0; gap:12px; }
 #global-network .network-globe { min-height:0; }
 #global-network .globe-stage { flex:none; width:min(460px,100%); align-self:center; }
}
@media(max-width:600px) {
 #global-network { padding-block:48px; }
 #global-network .network-section__inner { padding:8px; gap:8px; border-radius:20px; }
 #global-network .network-copy { padding:28px 20px; border-radius:12px; }
 #global-network .network-copy h2 { font-size:34px; }
 #global-network .network-copy__body { font-size:15px; }
 #global-network .network-stats { grid-template-columns:minmax(0,1fr); gap:0; padding-top:28px; }
 #global-network .network-stat { grid-template-columns:104px minmax(0,1fr); grid-template-rows:auto; align-items:center; gap:12px; padding-block:16px; }
 #global-network .network-stat dt { font-size:32px; }
 #global-network .network-stat dd { font-size:12px; }
 #global-network .network-globe { padding:12px 4px 20px; border-radius:12px; }
 #global-network .globe-controls { justify-content:center; }
 #global-network .globe-help { text-align:center; }
}
