/* BDMA world reference explorer — self-contained map with zero runtime dependencies */
.geography-section{background:#0b1813;color:#f3f9f2;padding:110px 0 90px;overflow:hidden}
.geo-intro{display:grid;grid-template-columns:1.25fr .7fr;align-items:end;gap:70px;padding-bottom:49px}
.geo-intro .eyebrow{color:#b2eb86;font-size:11px;letter-spacing:.16em}
.geo-intro h2{font-size:clamp(48px,6.35vw,93px);color:#f4fcf3;margin:0;letter-spacing:-.065em;line-height:1}
.geo-intro h2 em{color:#b2f080;font-weight:400}
.geo-intro-right>p{font-size:16px;color:#adc2b1;line-height:1.8;max-width:475px;margin:0 0 23px}
.geo-intro-right .button{min-height:47px;color:#e6f8e7;max-width:265px}
.geo-filterbar{background:#14261d;border:1px solid #2b4837;padding:15px 18px;display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:center;margin-bottom:15px}
.geo-search{position:relative;display:flex;flex-direction:column;gap:5px;font:700 9px/1.3 var(--display);letter-spacing:.13em;color:#b5d6b4}
.geo-search-input{background:transparent;color:#f8fff4;border:0;border-bottom:1px solid #557460;border-radius:0;outline-offset:5px;padding:5px 0;font:500 14px var(--font);width:100%;min-width:0}
.geo-search-input::placeholder{color:#7f9b86}
.geo-filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:4px 0;align-items:center}
.geo-filter{border:1px solid #42634b;background:transparent;color:#b4c9b8;padding:9px 11px;white-space:nowrap;font:600 10px/1.2 var(--display);letter-spacing:.025em;transition:background .2s,color .2s}
.geo-filter:hover{border-color:#a9ff79;color:#ecffdb}.geo-filter.is-active{color:#0b2115;background:#b2f080;border-color:#b2f080}
.geo-main{display:grid;grid-template-columns:minmax(0,1fr) 325px;min-height:520px;border:1px solid #375342;box-shadow:0 15px 65px #0004}
.geo-map-pane{min-width:0;display:flex;flex-direction:column;background:#0d2019;position:relative}
.geo-map-top,.geo-map-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px;color:#9abb9f;font:600 9px/1.3 var(--display);letter-spacing:.13em}
.geo-map-top{border-bottom:1px solid #38503d}.geo-map-bottom{border-top:1px solid #34503e;margin-top:auto}
.geo-map-bottom span:last-child{color:#b5f58d}.geo-live-dot{width:6px;height:6px;background:#bdff8c;display:inline-block;border-radius:50%;box-shadow:0 0 10px #b2ff7e;margin-right:9px}
.geo-map-display{aspect-ratio:1200/505;position:relative;width:100%;isolation:isolate;background:#0d2019;align-self:center}
.geo-map-image{display:block;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none}
.geo-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:22px;height:22px;border:0;background:transparent;padding:0;display:grid;place-items:center;color:#d0ffae;z-index:2;transition:opacity .18s}
.geo-marker>span{display:block;width:7px;height:7px;border-radius:50%;background:#c5ff93;border:1px solid #fcfff7;box-shadow:0 0 0 4px #b4ff763c,0 0 21px 4px #c8ff8b55;transition:transform .2s,background .2s}
.geo-marker:hover,.geo-marker:focus-visible,.geo-marker.is-selected{z-index:4}.geo-marker:hover>span,.geo-marker:focus-visible>span,.geo-marker.is-selected>span{transform:scale(1.6);background:#fff}
.geo-marker::after{content:attr(data-name);position:absolute;bottom:calc(100% + 1px);left:50%;transform:translateX(-50%) translateY(3px);background:#e1ffc8;color:#163022;font:700 10px/1.25 var(--display);white-space:nowrap;padding:7px 9px;pointer-events:none;opacity:0;transition:opacity .2s;box-shadow:0 5px 17px #0005}
.geo-marker:hover::after,.geo-marker:focus-visible::after,.geo-marker.is-selected::after{opacity:1;transform:translateX(-50%) translateY(0)}
.geo-marker[hidden],.geo-country[hidden]{display:none!important}
.geo-crosshair{position:absolute;left:50%;top:49%;font:200 21px/1 var(--display);color:#b5ff871d;pointer-events:none}
.geo-sidebar{background:#182a20;border-left:1px solid #416149;display:flex;flex-direction:column;min-width:0}
.geo-selected{padding:25px 24px 20px;min-height:193px;background:linear-gradient(135deg,#24402d,#13251b);border-bottom:1px solid #47624b}
.geo-eyebrow{display:flex;justify-content:space-between;align-items:center;font:700 9px/1 var(--display);letter-spacing:.12em;color:#c2efa8}.geo-eyebrow>span{font-size:22px;font-weight:400}
.geo-selected-name{display:block;font:600 clamp(24px,2vw,33px)/1.14 var(--display);letter-spacing:-.04em;min-height:35px;margin:22px 0 8px}
.geo-selected-region{font-size:12px;line-height:1.5;color:#a7c4a8;margin:0 0 18px}
.geo-selected-link{display:flex;align-items:center;justify-content:space-between;color:#d5fbbe;font:600 11px var(--display);border-top:1px solid #44684b;padding-top:10px}
.geo-selected-link:hover{color:white}
.geo-list-title{display:flex;justify-content:space-between;align-items:center;padding:13px 21px;color:#accea7;font:700 9px var(--display);letter-spacing:.13em;border-bottom:1px solid #354c3a}
.geo-list-count{font-size:13px;color:#d1ffae}
.geo-country-list{max-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:#648864 #1b3022;flex:1}
.geo-country{width:100%;display:grid;grid-template-columns:27px 1fr 12px;gap:5px;align-items:center;text-align:left;color:#d6e6d3;background:transparent;border:0;border-bottom:1px solid #37503b;padding:11px 20px;font:500 12px/1.5 var(--font);transition:background .2s,color .2s}
.geo-country:hover,.geo-country:focus-visible{background:#2b4b30;color:#fff}.geo-country.is-selected{background:#294a30;color:#caffae}
.geo-index{font:700 10px var(--display);color:#91b390}.geo-country>span:last-child{color:#a9e78c}
.geo-no-results{padding:25px;color:#bfd7c1;font-size:13px}

.form-email-fallback{padding:0 30px 29px;color:#66816d;font-size:12px}.form-email-fallback a{color:#255e35;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1190px){.geo-intro{gap:35px}.geo-main{grid-template-columns:minmax(0,1fr) 275px}.geo-country{padding:10px 15px}.geo-map-top,.geo-map-bottom{padding:15px}}
@media(max-width:920px){.geography-section{padding:80px 0 75px}.geo-intro{grid-template-columns:1fr 1fr;gap:22px}.geo-intro h2{font-size:60px}.geo-filterbar{grid-template-columns:1fr;gap:13px}.geo-search{max-width:430px}.geo-main{grid-template-columns:1fr}.geo-sidebar{border-left:0;border-top:1px solid #527053;display:grid;grid-template-columns:1fr 1fr}.geo-selected{grid-row:1/3}.geo-list-title{align-self:end}.geo-country-list{max-height:230px;grid-column:2}.geo-no-results{grid-column:2}.geo-map-display{max-height:480px}.geo-map-top,.geo-map-bottom{padding:15px 19px}}
@media(max-width:620px){.geography-section{padding:58px 0}.geo-intro{grid-template-columns:1fr;gap:15px;padding-bottom:26px}.geo-intro h2{font-size:clamp(44px,11vw,64px)}.geo-intro-right>p{font-size:13px;margin-bottom:18px}.geo-filterbar{padding:13px;gap:13px;margin-bottom:9px}.geo-main{display:flex;flex-direction:column}.geo-map-top,.geo-map-bottom{font-size:8px;letter-spacing:.05em;padding:13px}.geo-map-top>span:last-child{display:none}.geo-map-display{overflow:hidden;min-height:0}.geo-marker{width:18px;height:18px}.geo-marker>span{width:5px;height:5px}.geo-marker::after{font-size:9px}.geo-sidebar{display:flex}.geo-selected{min-height:0;padding:17px}.geo-selected-name{margin:12px 0 7px}.geo-country-list{max-height:220px}.geo-country{font-size:12px}}
@media(prefers-reduced-motion:reduce){.geo-marker,.geo-filter,.geo-country,.geo-marker::after{transition:none}}

.footer-email{display:block;margin-top:15px;font:600 13px var(--display);color:#b9f295;width:max-content}.footer-email:hover{color:#fff}
.map-anchor{display:block;height:0;position:relative;top:-4px}
@media(max-width:620px){.geo-list-title{align-self:stretch}}

/* BDMA activity descriptions in the country index and selection panel. */
.geo-selected-note {font-size:13px;line-height:1.6;color:#e2f7d4;margin:5px 0 18px;border-left:2px solid #b2f080;padding:1px 0 1px 12px}
.geo-selected-note[hidden]{display:none}
.geo-country {align-items:start}
.geo-country-content {display:flex;flex-direction:column;gap:3px;min-width:0}
.geo-country-note {display:block;font:400 10px/1.4 var(--font);color:#a5c6aa;overflow-wrap:anywhere}
.geo-country.is-selected .geo-country-note {color:#d2efc4}
.geo-selected {min-height:237px}
@media (max-width:620px){.geo-selected-note{font-size:12px}.geo-country-note{font-size:10px}}
