.global-intro{background:#222e27;color:#f7f6f2;padding:25px 0 35px}
.global-breadcrumbs{display:flex;gap:12px;font-size:12px;line-height:1.7;color:#bec6ba;margin-bottom:50px}
.global-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}
.global-heading h1{font-family:var(--serif);font-size:clamp(48px,5.5vw,82px);line-height:1.2;letter-spacing:-.04em;font-weight:600;margin:0}
.global-heading p{font-size:17px;line-height:1.8;max-width:470px;margin:0;color:#c5cdbf}
.global-network{background:#222e27;color:#f7f6f2;padding:0 0 85px}
.globe-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #4e5c50;padding:21px 0 0}
.globe-toolbar p{font-size:12px;color:#c6ccb9;margin:0;line-height:1.7}
.globe-toolbar>div{display:flex;gap:8px}
.globe-toolbar button{border:1px solid #7d8b73;background:none;color:#e5d8b1;border-radius:4px;padding:7px 13px;min-width:35px;min-height:35px;cursor:pointer;font-size:14px}
.globe-toolbar button:hover{background:#3a493b}
.globe-layout{display:grid;grid-template-columns:minmax(0,1fr) 30%;gap:4%;align-items:center}
.globe-stage{height:590px;position:relative;min-width:0;isolation:isolate;cursor:grab;touch-action:pan-y}
.globe-stage.is-dragging{cursor:grabbing}
.globe-stage:focus-visible{outline:1px solid #b99b62;outline-offset:3px}
.globe-canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
.globe-ready .globe-canvas{display:block}
.globe-flat{position:absolute;inset:60px 0;background:#17456c url('../img/earth-natural-surface.webp') center/100% 100% no-repeat}
.globe-ready .globe-flat{display:none}
.globe-pins{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.globe-detail{padding:25px 0;min-width:0}
.globe-detail-label{font-size:11px;letter-spacing:.15em;color:#d4b878}
.globe-detail h2{font-family:var(--serif);font-size:clamp(28px,2.6vw,40px);line-height:1.3;letter-spacing:-.03em;font-weight:500;margin:22px 0 20px}
.globe-detail [data-globe-summary]{font-size:15px;color:#c6cdbc;line-height:1.9;max-width:470px}
.globe-detail [data-globe-detail-link]{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #b8995d;padding-bottom:10px;margin-top:30px;font-size:13px;color:#d9bf88;width:fit-content;min-width:160px}
.globe-detail [hidden]{display:none}
.globe-location-count{border-top:1px solid #4e5c50;margin:38px 0 0;padding-top:18px;font-size:12px;color:#aab5a3}
.globe-location-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;border-top:1px solid #4e5c50}
.globe-location-list button{display:flex;align-items:center;gap:16px;text-align:left;border:0;border-bottom:1px solid #4e5c50;min-width:0;background:none;color:inherit;padding:20px 0;cursor:pointer}
.globe-location-list button>span:first-child{font-size:11px;color:#bca06c}
.globe-location-list strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.globe-location-list button>span:last-child{margin-left:auto;color:#bca06c}
.globe-location-list button:hover,.globe-location-list button[aria-pressed=true]{color:#e2c88c}
@media(max-width:1000px){.globe-stage{height:490px}.globe-layout{grid-template-columns:minmax(0,1fr) 32%}}
@media(max-width:680px){.global-intro{padding:20px 0 28px}.global-breadcrumbs{margin-bottom:37px}.global-heading{display:block}.global-heading h1{font-size:48px}.global-heading p{font-size:16px;margin-top:19px}.globe-toolbar{align-items:flex-start;gap:12px}.globe-toolbar p{font-size:11px;max-width:160px}.globe-toolbar button{padding:6px 10px}.globe-layout{display:flex;flex-direction:column;gap:0;align-items:stretch}.globe-stage{height:400px}.globe-detail{padding:0 0 32px}.globe-detail h2{font-size:29px;margin:16px 0}.globe-location-count{margin-top:24px}.globe-location-list{grid-template-columns:1fr;gap:0}.global-network{padding-bottom:55px}.globe-flat{inset:80px 0}.globe-location-list button{padding:17px 0}}

/* Ground the globe visually without obscuring natural surface colour. */
.globe-stage::before{content:'';position:absolute;left:20%;right:20%;bottom:2%;height:7%;border-radius:50%;background:radial-gradient(ellipse,#080f0b50,transparent 70%);pointer-events:none}
.globe-canvas{filter:drop-shadow(0 18px 28px #0b160e38)}

/* Real 3D stems and luminous heads; accessible DOM targets follow each head. */
.globe-pin{position:absolute;width:28px;height:28px;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;pointer-events:auto;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent}
.globe-pin[hidden]{display:none}
.globe-pin::before{content:'';position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle at 28% 22%,#ffffffed 0%,#f0faff99 18%,#a8d7ea55 45%,#5e879c22 65%,#e4f6ffbb 100%);border:1px solid #e2f8ffcc;box-shadow:inset 1px 1px 3px #fff9,inset -1px -2px 3px #7ca6bc66,0 3px 7px #071b1977,0 0 8px #c6eeff77;pointer-events:none}
.globe-ready .globe-pin::before{display:none}
.globe-pin::after{content:'';position:absolute;inset:2px;border:1px solid #ffe2a0;border-radius:50%;box-shadow:0 0 8px #ffd77d66,inset 0 0 5px #ffd77d33;animation:globe-node-pulse 2.8s ease-out infinite;animation-delay:var(--pin-delay,0s);pointer-events:none}
@keyframes globe-node-pulse{0%{transform:scale(.5);opacity:.8}75%,100%{transform:scale(1.65);opacity:0}}
.globe-pin-label{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap;background:#f9f5e8;color:#243c30;border:1px solid #b79a57;padding:6px 10px;box-shadow:0 3px 12px #071b1944;opacity:0;pointer-events:none;transition:opacity .16s}
.globe-pin:hover,.globe-pin:focus-visible{z-index:4}
.globe-pin.is-selected{z-index:3}
.globe-pin:hover>.globe-pin-label,.globe-pin:focus-visible>.globe-pin-label,.globe-pin.is-selected>.globe-pin-label{opacity:1}
.globe-pin.is-selected::after{border-color:#fff5cf;box-shadow:0 0 11px #ffd77d99,inset 0 0 7px #ffd77d55}
.globe-pin:focus-visible{outline:2px solid #fff0bd;outline-offset:3px}
.globe-motion-paused .globe-pin::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.globe-pin::after{animation:none;transform:scale(.8);opacity:.65}.globe-pin-label{transition:none}}

/* Flat-map fallback keeps its glass head and matching moving hit target. */
[data-globe-mode=flat] .globe-pin{animation:globe-crystal-float 3.8s ease-in-out infinite;animation-delay:var(--pin-delay,0s)}
@keyframes globe-crystal-float{0%,100%{transform:translate(-50%,-50%) translateY(-3px)}50%{transform:translate(-50%,-50%) translateY(3px)}}
[data-globe-mode=flat] .globe-pin:hover,[data-globe-mode=flat] .globe-pin:focus-visible,.globe-motion-paused .globe-pin{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){[data-globe-mode=flat] .globe-pin{animation:none}}
