
:root{
  --bg:#08150f;
  --surface:rgba(255,255,255,.08);
  --text:#f5fbf7;
  --muted:#b8c8be;
  --line:rgba(255,255,255,.14);
  --green:#4fe39a;
  --amber:#7DD9F5;
  --amber-bg:rgba(53,198,200,.12);
  --shadow:0 25px 90px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.ambient-bg{position:fixed;inset:0;pointer-events:none;z-index:-2;background:
radial-gradient(circle at 50% 15%,rgba(34,140,90,.22),transparent 38%),
linear-gradient(180deg,#0b1c14,#07110c 55%,#08150f)}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.25;animation:floatGlow 14s ease-in-out infinite}
.glow-a{width:400px;height:400px;background:#26c777;left:-120px;top:20%}
.glow-b{width:500px;height:500px;background:#0b7fca;right:-180px;top:50%;animation-delay:-6s}
.grid-overlay{position:absolute;inset:0;background-image:
linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent)}
@keyframes floatGlow{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(40px,-30px,0)}}
.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:rgba(8,21,15,.72);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.top-process-banner{position:relative;z-index:4;width:100%;overflow:hidden;background:#F7FBFF;border-bottom:1px solid rgba(79,227,154,.28);box-shadow:0 16px 44px rgba(0,0,0,.24);animation:topBannerReveal .8s cubic-bezier(.2,.7,.2,1) both}
.top-process-banner img{display:block;width:100%;height:auto;margin:0 auto}
@keyframes topBannerReveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.top-process-banner{animation:none}}

.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--green),#218b57);color:#052113;font-size:13px;box-shadow:0 0 30px rgba(79,227,154,.35)}
nav{display:flex;gap:24px;color:var(--muted);font-size:14px}
.hero{position:relative;min-height:860px;display:grid;grid-template-columns:1.1fr .72fr;gap:44px;align-items:center;max-width:1280px;margin:auto;padding:100px 32px 70px}
.world-stage{position:absolute;inset:0;z-index:-1;opacity:.72;overflow:hidden}
.world-svg{width:100%;height:100%;animation:mapDrift 18s ease-in-out infinite}
.continents path{fill:rgba(255,255,255,.055);stroke:rgba(103,255,179,.17);stroke-width:1.2}
.route path{fill:none;stroke:rgba(79,227,154,.35);stroke-width:2.2;stroke-dasharray:8 10;animation:dashMove 10s linear infinite}
.route-2 path{animation-duration:12s;animation-direction:reverse}
.route-3 path{animation-duration:8s}
.nodes circle{fill:var(--green);filter:drop-shadow(0 0 8px rgba(79,227,154,.85));animation:nodePulse 2.8s ease-in-out infinite}
.nodes circle:nth-child(2n){animation-delay:-1.4s}
.pulse{position:absolute;width:14px;height:14px;border:2px solid rgba(79,227,154,.75);border-radius:50%;animation:pulseRing 3s ease-out infinite}
.pulse-1{left:17%;top:36%}.pulse-2{left:55%;top:52%;animation-delay:-1s}.pulse-3{right:16%;top:34%;animation-delay:-2s}
@keyframes mapDrift{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.015)}}
@keyframes dashMove{to{stroke-dashoffset:-220}}
@keyframes nodePulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes pulseRing{0%{transform:scale(.4);opacity:1}100%{transform:scale(5);opacity:0}}
.glass{background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
.hero-copy{align-self:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--green)}
h1{font-size:clamp(52px,7vw,92px);line-height:.94;letter-spacing:-.06em;margin:14px 0 24px;max-width:860px;text-shadow:0 8px 30px rgba(0,0,0,.25)}
.hero-text{font-size:19px;line-height:1.72;color:var(--muted);max-width:760px}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.primary-btn,.secondary-btn{padding:14px 19px;border-radius:13px;font-weight:700}
.primary-btn{background:linear-gradient(135deg,var(--green),#2fbf78);color:#052113;box-shadow:0 12px 36px rgba(79,227,154,.18)}
.secondary-btn{border:1px solid var(--line);background:rgba(255,255,255,.06)}
.round-panel{border-radius:24px;padding:28px}
.round-head,.progress-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}
.status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.status-unverified{color:var(--amber);background:var(--amber-bg);border:1px solid rgba(53,198,200,.18)}
.round-label{font-size:13px;color:var(--green);font-weight:800;margin-top:24px}
.round-number{font-size:38px;font-weight:800;letter-spacing:-.04em;margin-top:6px}
.round-panel p{color:var(--muted);line-height:1.55}
.progress-track,.mini-progress{height:10px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;margin:24px 0 8px}
.progress-track span,.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green),#80ffc0)}
.progress-meta{font-size:12px;color:var(--muted)}
.funding-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.funding-grid button{border:1px solid var(--line);background:rgba(255,255,255,.04);padding:13px;border-radius:11px;color:#6f8176}
.funding-grid .wide{grid-column:1/-1}
.small-note{font-size:12px}
.stats-strip{max-width:1160px;margin:0 auto 90px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:22px;padding:27px}
.stats-strip div{padding:10px 24px;border-right:1px solid var(--line)}
.stats-strip div:last-child{border-right:0}
.stats-strip strong{font-size:32px;display:block}
.stats-strip span{font-size:12px;color:var(--muted)}
.rounds-section,.network-section,.method-section,.transparency-section,.cta-section{max-width:1220px;margin:auto;padding:78px 32px}
.section-heading{max-width:820px;margin-bottom:34px}
h2{font-size:clamp(36px,5vw,62px);letter-spacing:-.05em;line-height:1.02;margin:10px 0}
.section-heading>p:last-child{color:var(--muted);line-height:1.65}
.round-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px}
.flow-card{border-radius:20px;padding:24px;min-height:210px}
.flow-card h3{font-size:26px;margin:10px 0}
.flow-card p{color:var(--muted);line-height:1.55}
.flow-number{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:800}
.flow-arrow{font-size:34px;color:var(--green)}
.active-round{border-color:rgba(79,227,154,.35)}
.impact-dashboard{margin-top:24px;border-radius:22px;padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.impact-dashboard h3{font-size:30px;margin:8px 0}
.impact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.impact-metrics div{background:rgba(255,255,255,.045);border-radius:14px;padding:15px}
.impact-metrics strong,.impact-metrics span{display:block}
.impact-metrics strong{font-size:22px}
.impact-metrics span{font-size:11px;color:var(--muted);margin-top:4px}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}
.filter{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);padding:10px 14px;border-radius:999px;cursor:pointer}
.filter.active{background:var(--green);color:#052113;border-color:var(--green)}
.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.country-card{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:18px;padding:20px;transition:.25s;backdrop-filter:blur(14px)}
.country-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.085);box-shadow:0 20px 70px rgba(0,0,0,.28)}
.country-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.country-code{font-size:11px;font-weight:800;color:var(--green)}
.country-card h3{margin:6px 0 18px;font-size:23px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.metrics div{background:rgba(255,255,255,.045);border-radius:12px;padding:12px}
.metrics strong,.metrics span{display:block}
.metrics strong{font-size:16px}
.metrics span{font-size:10px;color:var(--muted);margin-top:4px}
.details-btn{width:100%;margin-top:16px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:11px;padding:11px;cursor:pointer;font-weight:700}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.method-grid article{border-radius:18px;padding:24px}
.method-grid article>span{font-weight:800;color:var(--green)}
.method-grid h3{font-size:22px;margin-bottom:8px}
.method-grid p{color:var(--muted);line-height:1.55}
.transparency-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start;border-radius:26px}
.document-list{list-style:none;margin:0;padding:0}
.document-list li{border-bottom:1px solid var(--line);padding:19px 20px}
.document-list li:last-child{border-bottom:0}
.cta-section{text-align:center;background:linear-gradient(135deg,#102c1e,#0a1d14);border:1px solid var(--line);border-radius:28px;margin-bottom:70px;box-shadow:var(--shadow)}
.cta-section p:last-child{color:var(--muted)}
footer{display:flex;justify-content:space-between;gap:20px;padding:30px 5vw;color:var(--muted);font-size:12px}
dialog{border:1px solid var(--line);border-radius:20px;padding:28px;width:min(520px,90vw);background:#10231a;color:var(--text);box-shadow:0 30px 100px rgba(0,0,0,.5)}
dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
.close-dialog{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--text);font-size:28px;cursor:pointer}
.dialog-status{color:var(--muted)}
.checklist{display:grid;gap:12px;margin-top:20px}
.checklist label{padding:12px;border-radius:10px;background:rgba(255,255,255,.05)}
@media(max-width:980px){
 .hero{grid-template-columns:1fr;padding-top:72px}
 .world-stage{opacity:.45}
 .round-flow{grid-template-columns:1fr}
 .flow-arrow{transform:rotate(90deg);justify-self:center}
 .impact-dashboard{grid-template-columns:1fr}
 .country-grid{grid-template-columns:repeat(2,1fr)}
 .stats-strip{grid-template-columns:1fr 1fr;margin-inline:20px}
 .stats-strip div:nth-child(2){border-right:0}
 .transparency-section{grid-template-columns:1fr}
}
@media(max-width:620px){
 nav{display:none}
 .hero,.rounds-section,.network-section,.method-section,.transparency-section,.cta-section{padding-left:18px;padding-right:18px}
 h1{font-size:50px}
 .country-grid,.method-grid{grid-template-columns:1fr}
 .stats-strip{grid-template-columns:1fr}
 .stats-strip div{border-right:0;border-bottom:1px solid var(--line)}
 .funding-grid{grid-template-columns:1fr}
 .funding-grid .wide{grid-column:auto}
 .impact-metrics{grid-template-columns:1fr}
 footer{flex-direction:column}
}

.nav-active{color:var(--green)!important}.volunteer-cta{max-width:1156px;margin:0 auto 80px;border-radius:26px;padding:30px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center}.volunteer-cta p{color:var(--muted);line-height:1.65}.volunteer-cta-actions{display:flex;flex-direction:column;gap:12px}.volunteer-cta-actions a{text-align:center}.volunteer-hero{max-width:1220px;margin:auto;padding:100px 32px 60px;display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}.volunteer-hero h1{font-size:clamp(48px,6vw,82px)}.zero-trust-card{border-radius:24px;padding:27px}.zero-trust-card h2{font-size:36px}.status-ladder{display:grid;gap:10px}.status-ladder div{display:grid;grid-template-columns:42px 1fr;gap:2px 12px;padding:13px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}.status-ladder div>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(79,227,154,.1);color:var(--green);font-size:11px;font-weight:800}.status-ladder small{color:var(--muted);font-size:11px}.safeguards-section,.form-section,.volunteer-bottom-cta{max-width:1220px;margin:auto;padding:70px 32px}.safeguard-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.safeguard-grid article{padding:20px;border-radius:18px}.safeguard-grid article>span{color:var(--green);font-size:11px;font-weight:800}.safeguard-grid h3{font-size:18px}.safeguard-grid p{color:var(--muted);font-size:12px;line-height:1.55}.research-form{border-radius:26px;padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.research-form label{display:grid;gap:8px}.form-grid label>span,.research-form label>span,.conflict-box legend{font-size:12px;color:var(--muted);font-weight:700}.full-width{grid-column:1/-1}.research-form input[type=text],.research-form input[type=email],.research-form input[type=url],.research-form select,.research-form textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--text);border-radius:13px;padding:13px 14px;font:inherit;outline:none}.research-form select option{color:#111}.research-form input:focus,.research-form select:focus,.research-form textarea:focus{border-color:rgba(79,227,154,.65);box-shadow:0 0 0 3px rgba(79,227,154,.08)}.checkbox-line,.radio-line{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:11px!important;margin-top:20px}.checkbox-line span,.radio-line span{color:var(--muted)!important;font-size:12px!important;line-height:1.55}.form-submit{margin-top:24px;border:0;border-radius:13px;padding:14px 18px;background:linear-gradient(135deg,var(--green),#2fbf78);color:#052113;font-weight:800;cursor:pointer}.hidden-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.conflict-box{margin-top:24px;border:1px solid rgba(53,198,200,.2);background:rgba(53,198,200,.045);border-radius:16px;padding:18px}.conflict-box legend{padding:0 8px;color:var(--amber)}.volunteer-bottom-cta{text-align:center;border-radius:26px;margin-bottom:70px}.volunteer-bottom-cta p{color:var(--muted)}.volunteer-bottom-cta .secondary-btn{display:inline-block;margin-top:12px}.thanks-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.thanks-card{max-width:760px;border-radius:28px;padding:46px;text-align:center}.thanks-card h1{font-size:clamp(40px,6vw,70px)}.thanks-card p{color:var(--muted);line-height:1.7}.success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:rgba(79,227,154,.12);border:1px solid rgba(79,227,154,.35);color:var(--green);font-size:30px;font-weight:800}.thanks-card .primary-btn,.thanks-card .secondary-btn{display:inline-block;margin:10px 5px}@media(max-width:1050px){.safeguard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.volunteer-hero,.volunteer-cta{grid-template-columns:1fr}}@media(max-width:650px){.volunteer-hero,.safeguards-section,.form-section,.volunteer-bottom-cta{padding-left:18px;padding-right:18px}.form-grid,.safeguard-grid{grid-template-columns:1fr}.full-width{grid-column:auto}}

.status-progress{color:#9fffc9;background:rgba(79,227,154,.12);border:1px solid rgba(79,227,154,.28)}
.pilot-summary{margin-top:14px;padding:14px;border-radius:12px;background:rgba(79,227,154,.07);border:1px solid rgba(79,227,154,.18);display:grid;gap:6px;font-size:11px;color:var(--muted)}
.pilot-summary strong{color:var(--text);font-size:13px}
footer a{color:var(--green);text-decoration:underline;text-underline-offset:3px}

/* Local purchasing power — precision update */
.local-impact-section{max-width:1220px;margin:auto;padding:90px 32px}
.local-impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.local-impact-step{border-radius:18px;padding:24px}
.local-impact-step>span{font-size:11px;font-weight:800;color:var(--green)}
.local-impact-step h3{font-size:22px;margin:10px 0}
.local-impact-step p,.purchasing-power-note p,.pilot-impact-copy p,.future-comparison p{color:var(--muted);line-height:1.6}
.purchasing-power-note{margin-top:18px;border-radius:18px;padding:20px 24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;border-color:rgba(79,227,154,.28)}
.purchasing-power-note strong{color:var(--green)}
.purchasing-power-note p{margin:0}
.pilot-impact-card{margin-top:24px;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.pilot-impact-copy h3,.future-comparison h3{font-size:30px;margin:8px 0}
.pilot-impact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pilot-impact-metrics div{background:rgba(255,255,255,.045);border-radius:14px;padding:16px}
.pilot-impact-metrics strong,.pilot-impact-metrics span{display:block}
.pilot-impact-metrics strong{font-size:22px}
.pilot-impact-metrics span{font-size:11px;color:var(--muted);margin-top:5px}
.future-comparison{margin-top:24px;border-radius:24px;padding:28px}
.comparison-flow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}
.comparison-flow span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:11px}
.comparison-flow b{color:var(--green)}
@media(max-width:900px){.local-impact-grid{grid-template-columns:1fr}.pilot-impact-card{grid-template-columns:1fr}}
@media(max-width:620px){.local-impact-section{padding-left:18px;padding-right:18px}.purchasing-power-note{grid-template-columns:1fr}.pilot-impact-metrics{grid-template-columns:1fr}.comparison-flow b{display:none}.comparison-flow span{width:100%}}

/* Donor-side reference emphasis — v3 */
.intent-banner{margin:0 0 22px;border-radius:22px;padding:24px 26px;display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;align-items:center;border-color:rgba(79,227,154,.28)}
.intent-banner h3{font-size:28px;margin:7px 0 0}.intent-banner>p{color:var(--muted);line-height:1.65;margin:0}
.fx-note{font-size:12px;padding:13px 15px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.fx-note strong{color:var(--green)}
.pilot-impact-metrics-five{grid-template-columns:repeat(2,1fr)}
.pilot-impact-metrics-five .metric-highlight{grid-column:1/-1;border:1px solid rgba(79,227,154,.30);background:rgba(79,227,154,.08)}
.pilot-impact-metrics-five .metric-highlight strong{font-size:28px;color:var(--green)}
@media(max-width:900px){.intent-banner{grid-template-columns:1fr}}
@media(max-width:620px){.intent-banner{padding:20px}.pilot-impact-metrics-five{grid-template-columns:1fr}.pilot-impact-metrics-five .metric-highlight{grid-column:auto}}

/* Quiet floating pilot proof card — v4 */
.impact-side-note{position:fixed;right:18px;top:326px;z-index:30;width:min(330px,calc(100vw - 36px));padding:20px 20px 18px;border:1px solid rgba(79,227,154,.28);border-radius:20px;background:rgba(10,29,20,.94);box-shadow:0 18px 60px rgba(0,0,0,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.impact-side-note .eyebrow{margin:0 28px 7px 0;font-size:10px}.impact-side-close{position:absolute;right:10px;top:8px;width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.impact-side-close:hover{color:var(--text)}
.impact-side-amount{display:block;color:var(--green);font-size:32px;letter-spacing:-.04em}.impact-side-lead{margin:5px 0 13px;color:var(--text);font-size:13px;line-height:1.45}.impact-side-stats{display:grid;grid-template-columns:1fr;gap:6px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-side-stats span{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.impact-side-stats b{color:var(--text);white-space:nowrap}.impact-side-vision,.impact-side-caution{font-size:11px;line-height:1.5;color:var(--muted)}.impact-side-vision b{color:var(--text)}.impact-side-caution{font-size:10px;opacity:.82}.impact-side-note>a{display:inline-block;margin-top:2px;color:var(--green);font-size:11px;font-weight:800;text-decoration:none}.impact-side-note>a:hover{text-decoration:underline}
@media(max-width:1180px){.impact-side-note{position:relative;right:auto;top:auto;margin:18px 18px 0 auto;width:min(390px,calc(100% - 36px))}}
@media(max-width:620px){.impact-side-note{margin:14px 18px 0;width:calc(100% - 36px);padding:18px}.impact-side-amount{font-size:28px}}

/* Five-step Global Food Round journey — added without altering existing site copy */
.gfr-journey-section{max-width:1440px;margin:8px auto 6px;padding:22px 32px 28px}
.gfr-journey{position:relative;display:grid;grid-template-columns:minmax(260px,1.45fr) 28px minmax(150px,.8fr) 28px minmax(170px,.9fr) 28px minmax(155px,.82fr) 28px minmax(290px,1.5fr);align-items:center;gap:8px;padding:25px 26px;border-radius:22px;background:linear-gradient(100deg,#F5FAFF,#FAFDFF 48%,#F5FAFF);border:1px solid rgba(79,227,154,.18);box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden}
.gfr-journey::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(79,227,154,.055),transparent);transform:translateX(-100%);pointer-events:none}
.gfr-journey.is-visible::before{animation:gfrJourneySweep 1.7s ease-out .25s 1 both}
.gfr-journey-step{display:grid;grid-template-columns:28px 34px 1fr;align-items:center;gap:8px;min-width:0;color:#0b2545;font-size:12px;font-weight:500;line-height:1.3;opacity:0;transform:translateY(9px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.2,1)}
.gfr-journey.is-visible .gfr-journey-step{opacity:1;transform:none}
.gfr-journey.is-visible .gfr-journey-step:nth-of-type(1){transition-delay:.08s}.gfr-journey.is-visible .gfr-journey-step:nth-of-type(2){transition-delay:.28s}.gfr-journey.is-visible .gfr-journey-step:nth-of-type(3){transition-delay:.48s}.gfr-journey.is-visible .gfr-journey-step:nth-of-type(4){transition-delay:.68s}.gfr-journey.is-visible .gfr-journey-step:nth-of-type(5){transition-delay:.88s}
.gfr-step-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#4d7d2b;color:#fff;font-weight:800;font-size:12px}
.gfr-step-icon{display:grid;place-items:center;min-width:32px;height:32px;color:#0b2545;font-size:22px;font-weight:800;line-height:1}.gfr-journey-step:first-child .gfr-step-icon{color:#57982f}.gfr-family-icon{font-size:14px;letter-spacing:-4px;color:#0b2545}
.gfr-journey-emphasis strong{font-size:13px;line-height:1.24;letter-spacing:-.01em;color:#082442}
.gfr-journey-arrow{color:#57982f;font-size:25px;text-align:center;opacity:0;transform:translateX(-8px);transition:opacity .35s ease,transform .35s ease}
.gfr-journey.is-visible .gfr-journey-arrow{opacity:1;transform:none}.gfr-journey.is-visible .gfr-journey-arrow:nth-of-type(1){transition-delay:.20s}.gfr-journey.is-visible .gfr-journey-arrow:nth-of-type(2){transition-delay:.40s}.gfr-journey.is-visible .gfr-journey-arrow:nth-of-type(3){transition-delay:.60s}.gfr-journey.is-visible .gfr-journey-arrow:nth-of-type(4){transition-delay:.80s}
.gfr-journey.is-visible .gfr-journey-step:last-child{animation:gfrFinalPulse 1.25s ease 1.15s 1 both}
@keyframes gfrJourneySweep{to{transform:translateX(100%)}}@keyframes gfrFinalPulse{0%,100%{filter:none}50%{filter:drop-shadow(0 0 9px rgba(87,152,47,.38))}}
@media(max-width:1050px){.gfr-journey{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:22px}.gfr-journey-step{flex:0 0 235px;scroll-snap-align:start}.gfr-journey-step:first-child,.gfr-journey-step:last-child{flex-basis:310px}.gfr-journey-arrow{flex:0 0 24px}}
@media(max-width:620px){.gfr-journey-section{padding:16px 18px 24px}.gfr-journey{border-radius:18px;padding:18px}.gfr-journey-step{flex-basis:215px}.gfr-journey-step:first-child,.gfr-journey-step:last-child{flex-basis:285px}.gfr-journey-emphasis strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gfr-journey::before,.gfr-journey.is-visible .gfr-journey-step:last-child{animation:none}.gfr-journey-step,.gfr-journey-arrow{transition:none;opacity:1;transform:none}}


/* Country evidence + selected-country allocation calculator */
.country-evidence{margin-top:12px;padding:13px 14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:grid;gap:7px}.country-evidence>strong{font-size:12px;color:var(--text)}.evidence-row{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted)}.evidence-row b{color:var(--muted);text-align:right}.evidence-row .evidence-confirmed{color:var(--green)}.country-evidence p{margin:3px 0 0;font-size:9px;line-height:1.45;color:var(--muted)}
.allocation-section{max-width:1220px;margin:auto;padding:82px 32px}.allocation-shell{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;padding:26px;border-radius:24px}.allocation-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.allocation-clear{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer}.allocation-country-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-height:340px;overflow:auto;padding-right:5px}.allocation-country{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer}.allocation-country:has(input:checked){border-color:rgba(79,227,154,.45);background:rgba(79,227,154,.07)}.allocation-country input{accent-color:var(--green);margin-top:2px}.allocation-country span,.allocation-country b,.allocation-country small{display:block}.allocation-country b{font-size:11px}.allocation-country small{font-size:9px;color:var(--muted);margin-top:3px}.allocation-method-note{font-size:10px;line-height:1.5;color:var(--muted);margin:14px 0 0}.allocation-summary{padding:20px;border-radius:18px;background:rgba(5,24,16,.52);border:1px solid rgba(79,227,154,.18)}.allocation-total{display:block;font-size:34px;color:var(--green);letter-spacing:-.04em;margin:6px 0}.allocation-summary>p:not(.eyebrow):not(.small-note){color:var(--muted);font-size:11px;line-height:1.5}.share-control{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:20px 0 8px}.share-control b{color:var(--green)}#allocationShare{width:100%;accent-color:var(--green)}.allocation-contribution{display:flex;justify-content:space-between;align-items:end;margin:18px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.allocation-contribution span{font-size:10px;color:var(--muted)}.allocation-contribution strong{font-size:21px}.allocation-breakdown{display:grid;gap:8px;margin-bottom:15px}.allocation-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:10px}.allocation-breakdown span,.allocation-breakdown small{display:block}.allocation-breakdown small{color:var(--muted);margin-top:3px;line-height:1.35}.allocation-breakdown b{white-space:nowrap}.allocation-fund{width:100%;opacity:.55;cursor:not-allowed}.allocation-promise{margin-top:16px;padding:20px 22px;border-radius:18px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}.allocation-promise strong{color:var(--green)}.allocation-promise p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
@media(max-width:900px){.allocation-shell{grid-template-columns:1fr}.allocation-country-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.allocation-section{padding:60px 18px}.allocation-country-list{grid-template-columns:1fr}.allocation-promise{grid-template-columns:1fr}.evidence-row{flex-direction:column;gap:3px}}
/* Top-of-page funding builder + refreshed process banner */
.top-process-banner{background:#e2f4e8;border-bottom:1px solid rgba(25,92,58,.18)}
.top-process-banner img{filter:contrast(1.035) saturate(1.04)}
#country-allocation.allocation-section{max-width:1280px;padding:34px 32px 28px}
#country-allocation .section-heading{margin-bottom:18px}
#country-allocation .section-heading h2{margin-bottom:8px}
#country-allocation .allocation-shell{grid-template-columns:1.35fr .72fr;align-items:stretch}
#country-allocation .allocation-country-list{max-height:260px}
.share-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0 12px}
.share-presets button{border:1px solid var(--line);border-radius:9px;padding:8px 5px;background:rgba(255,255,255,.045);color:var(--text);font-size:10px;font-weight:800;cursor:pointer}
.share-presets button:hover,.share-presets button.active{border-color:rgba(79,227,154,.55);background:rgba(79,227,154,.13);color:var(--green)}
@media(max-width:900px){#country-allocation.allocation-section{padding:26px 18px}.share-presets{grid-template-columns:repeat(3,1fr)}}

/* Compact first-screen layout: country selector + global round side by side */
#country-allocation.allocation-section{
  max-width:1280px;
  padding:22px 32px 18px;
}
#country-allocation .section-heading{
  margin-bottom:12px;
  max-width:920px;
}
#country-allocation .section-heading h2{
  font-size:clamp(28px,3vw,44px);
  line-height:1.02;
  margin:4px 0 6px;
}
#country-allocation .section-heading>p:last-child{
  font-size:12px;
  line-height:1.5;
  max-width:900px;
}
#country-allocation .allocation-shell{
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);
  gap:16px;
  padding:16px;
  align-items:stretch;
}
#country-allocation .allocation-picker{
  min-width:0;
}
#country-allocation .allocation-toolbar{
  margin-bottom:9px;
}
#country-allocation .allocation-country-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  max-height:230px;
  padding-right:4px;
}
#country-allocation .allocation-country{
  padding:8px 9px;
  min-height:48px;
}
#country-allocation .allocation-country b{font-size:10px}
#country-allocation .allocation-country small{font-size:8px}
#country-allocation .allocation-method-note{
  margin-top:8px;
  font-size:9px;
  line-height:1.35;
}
#country-allocation .allocation-summary{
  padding:15px;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.allocation-round-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
}
.allocation-round-kicker{
  display:block;
  font-size:11px;
  font-weight:700;
  color:var(--text);
  margin-bottom:4px;
}
.allocation-round-number{
  font-size:25px;
  margin:4px 0 5px;
}
.allocation-round-copy{
  margin:0 0 9px;
  font-size:9px!important;
  line-height:1.4!important;
}
#country-allocation .progress-track{margin-top:4px}
#country-allocation .progress-meta{font-size:8px;margin-top:5px}
.allocation-selected-block{
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.allocation-selected-block .eyebrow{margin:0}
#country-allocation .allocation-total{
  font-size:28px;
  margin:3px 0;
}
#country-allocation .allocation-summary>p:not(.eyebrow):not(.small-note),
#country-allocation .allocation-selected-block>p:not(.eyebrow){
  font-size:9px;
  margin:3px 0;
}
#country-allocation .share-control{
  margin:10px 0 5px;
  font-size:9px;
}
#country-allocation .share-presets{
  gap:4px;
}
#country-allocation .share-presets button{
  padding:5px 3px;
  font-size:8px;
}
#country-allocation .allocation-contribution{
  margin:9px 0;
  padding:7px 0;
}
#country-allocation .allocation-contribution strong{font-size:18px}
#country-allocation .allocation-breakdown{gap:4px;margin-bottom:8px;max-height:72px;overflow:auto}
#country-allocation .allocation-breakdown>div{padding:5px 0;font-size:8px}
#country-allocation .allocation-fund{padding:10px 12px;font-size:10px;margin-top:auto}
#country-allocation .small-note{font-size:8px;line-height:1.35;margin:6px 0 0}
#country-allocation .allocation-promise{
  margin-top:9px;
  padding:10px 14px;
  gap:12px;
}
#country-allocation .allocation-promise strong{font-size:9px}
#country-allocation .allocation-promise p{font-size:8px;line-height:1.4}

/* The current-round panel was moved into the builder above; keep the hero focused and compact. */
.hero{
  min-height:auto;
  grid-template-columns:minmax(0,760px);
  justify-content:start;
  padding-top:58px;
  padding-bottom:54px;
}
.hero-copy{max-width:760px}

@media (min-width:901px){
  .top-process-banner{margin-bottom:0}
  #country-allocation{min-height:calc(100vh - 190px)}
}
@media(max-width:900px){
  #country-allocation.allocation-section{padding:20px 18px 16px}
  #country-allocation .allocation-shell{grid-template-columns:1fr}
  #country-allocation .allocation-country-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}
  .hero{padding-top:42px}
}
@media(max-width:620px){
  #country-allocation .allocation-country-list{grid-template-columns:1fr}
}

/* Readability pass — keep the compact first-screen layout, remove "ant-sized" type. */
@media (min-width:901px){
  #country-allocation.allocation-section{padding:18px 32px 14px}
  #country-allocation .section-heading{margin-bottom:10px}
  #country-allocation .section-heading h2{font-size:clamp(30px,3vw,46px)}
  #country-allocation .section-heading>p:last-child{font-size:14px;line-height:1.45}
  #country-allocation .allocation-shell{padding:15px;gap:16px}
  #country-allocation .allocation-toolbar{margin-bottom:8px}
  #country-allocation .allocation-toolbar h3{font-size:17px}
  #country-allocation .allocation-clear{font-size:13px}
  #country-allocation .allocation-country-list{max-height:248px;gap:7px}
  #country-allocation .allocation-country{padding:9px 10px;min-height:58px}
  #country-allocation .allocation-country b{font-size:13px;line-height:1.15}
  #country-allocation .allocation-country small{font-size:10.5px;line-height:1.25;margin-top:4px}
  #country-allocation .allocation-method-note{font-size:11px;line-height:1.4;margin-top:8px}

  #country-allocation .allocation-summary{padding:16px}
  .allocation-round-kicker{font-size:13px}
  .allocation-round-number{font-size:30px;line-height:1.05}
  .allocation-round-copy{font-size:11.5px!important;line-height:1.45!important}
  #country-allocation .progress-meta{font-size:10px}
  .allocation-selected-block .eyebrow{font-size:11px}
  #country-allocation .allocation-total{font-size:31px}
  #country-allocation .allocation-summary>p:not(.eyebrow):not(.small-note),
  #country-allocation .allocation-selected-block>p:not(.eyebrow){font-size:11px;line-height:1.35}
  #country-allocation .share-control{font-size:11px;margin:9px 0 6px}
  #country-allocation .share-presets button{font-size:10px;padding:6px 4px}
  #country-allocation .allocation-contribution span{font-size:11px}
  #country-allocation .allocation-contribution strong{font-size:21px}
  #country-allocation .allocation-breakdown{max-height:88px}
  #country-allocation .allocation-breakdown>div{font-size:10.5px;padding:6px 0}
  #country-allocation .allocation-breakdown small{font-size:9.5px}
  #country-allocation .allocation-fund{font-size:11px;padding:10px 12px}
  #country-allocation .small-note{font-size:9.5px;line-height:1.4}
  #country-allocation .allocation-promise{padding:10px 14px;margin-top:8px}
  #country-allocation .allocation-promise strong{font-size:11px}
  #country-allocation .allocation-promise p{font-size:10.5px;line-height:1.4}
}

/* High-readability typography pass — larger body copy and brighter secondary text. */
:root{--muted:#d7e2db}
body{font-size:16px}
nav{font-size:15px;color:#dbe6df}
.hero-text{font-size:20px;color:#dce7e0}
.round-panel p,.section-heading>p:last-child,.flow-card p,.method-grid p,.cta-section p:last-child,.intent-banner>p,.local-impact-step p,.purchasing-power-note p,.pilot-impact-copy p,.future-comparison p{color:#d7e2db}
.round-panel p,.flow-card p,.method-grid p,.local-impact-step p,.pilot-impact-copy p,.future-comparison p{font-size:16px;line-height:1.62}
.section-heading>p:last-child{font-size:17px;line-height:1.62;max-width:960px}
.progress-meta{font-size:13px;color:#d7e2db}
.small-note{font-size:13px;line-height:1.5;color:#d7e2db}
.stats-strip span{font-size:13px;color:#d7e2db}
.flow-card small{font-size:13px;color:#e4ece7}
.flow-number{font-size:12px}
.flow-card h3{font-size:28px}
.impact-dashboard h3{font-size:32px;line-height:1.18}
.impact-metrics strong{font-size:24px}
.impact-metrics span{font-size:13px;color:#d7e2db;line-height:1.35}
.country-code{font-size:12px}
.metrics strong{font-size:18px}
.metrics span{font-size:12px;color:#d7e2db;line-height:1.35}
.pilot-summary{font-size:13px;color:#d7e2db;line-height:1.45}
.pilot-summary strong{font-size:15px}
.pilot-impact-metrics span{font-size:13px;color:#d7e2db}
.comparison-flow span{font-size:13px}
.fx-note{font-size:13px;line-height:1.45}
.country-evidence>strong{font-size:14px}
.evidence-row{font-size:12px;color:#d7e2db}
.evidence-row b{color:#d7e2db}
.country-evidence p{font-size:11px;color:#d7e2db}

/* Keep the compact first-screen builder readable without turning it into a scroll wall. */
@media (min-width:901px){
  #country-allocation .section-heading>p:last-child{font-size:15px;color:#dce7e0}
  #country-allocation .allocation-country b{font-size:14px}
  #country-allocation .allocation-country small{font-size:11.5px;color:#d7e2db}
  #country-allocation .allocation-method-note{font-size:12px;color:#d7e2db}
  .allocation-round-kicker{font-size:14px}
  .allocation-round-copy{font-size:13px!important;color:#d7e2db!important}
  #country-allocation .progress-meta{font-size:11px;color:#d7e2db}
  .allocation-selected-block .eyebrow{font-size:12px}
  #country-allocation .allocation-selected-block>p:not(.eyebrow){font-size:12px;color:#e2ebe5}
  #country-allocation .share-control{font-size:12px}
  #country-allocation .share-presets button{font-size:11px}
  #country-allocation .allocation-contribution span{font-size:12px;color:#d7e2db}
  #country-allocation .allocation-breakdown>div{font-size:11.5px}
  #country-allocation .allocation-breakdown small{font-size:10.5px;color:#d7e2db}
  #country-allocation .allocation-fund{font-size:12px}
  #country-allocation .small-note{font-size:10.5px;color:#d7e2db}
  #country-allocation .allocation-promise strong{font-size:12px}
  #country-allocation .allocation-promise p{font-size:11.5px;color:#d7e2db}
}

/* Improve the floating pilot card too — readable, still secondary. */
.impact-side-note .eyebrow{font-size:11px}
.impact-side-lead{font-size:14px}
.impact-side-stats span{font-size:12px;color:#d7e2db}
.impact-side-vision{font-size:12px;color:#d7e2db}
.impact-side-caution{font-size:11px;color:#cbd8d0;opacity:1}
.impact-side-note>a{font-size:12px}

@media(max-width:900px){
  .section-heading>p:last-child,.flow-card p,.method-grid p,.local-impact-step p,.pilot-impact-copy p,.future-comparison p{font-size:16px}
  #country-allocation .allocation-country b{font-size:14px}
  #country-allocation .allocation-country small{font-size:11px}
}


/* Kenya illustrative local-basket evidence */
.kenya-proposal-card{grid-column:span 2;border-color:rgba(79,227,154,.28)}
.kenya-basket-proof{margin-top:16px;padding:16px;border-radius:15px;background:rgba(3,12,8,.42);border:1px solid rgba(255,255,255,.10)}
.kenya-proof-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.kenya-proof-head h4{font-size:18px;margin:4px 0 0}
.proposal-pill{white-space:nowrap;padding:6px 9px;border-radius:999px;background:rgba(53,198,200,.12);border:1px solid rgba(53,198,200,.25);color:var(--amber);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.kenya-proof-copy,.kenya-price-note{color:var(--muted);font-size:12px;line-height:1.55}
.kenya-proof-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0}
.proof-image-btn{border:1px solid var(--line);padding:0;background:rgba(255,255,255,.03);border-radius:12px;overflow:hidden;cursor:zoom-in;min-height:150px;transition:.2s}
.proof-image-btn:hover{transform:translateY(-2px);border-color:rgba(79,227,154,.5);box-shadow:0 14px 35px rgba(0,0,0,.28)}
.proof-image-btn img{display:block;width:100%;height:210px;object-fit:cover;object-position:top}
.kenya-price-note{margin:0;padding-top:3px}
.image-lightbox{width:min(920px,94vw);max-height:92vh;padding:42px 18px 16px;background:#07110c;border:1px solid var(--line);border-radius:18px;color:var(--text)}
.image-lightbox::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(5px)}
.image-lightbox img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;margin:auto;border-radius:10px}
.image-lightbox p{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 0}
.close-lightbox{position:absolute;right:12px;top:7px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
@media(max-width:980px){.kenya-proposal-card{grid-column:span 2}}
@media(max-width:620px){.kenya-proposal-card{grid-column:span 1}.kenya-proof-head{display:block}.proposal-pill{display:inline-flex;margin-top:9px}.kenya-proof-gallery{grid-template-columns:repeat(3,1fr);gap:6px}.proof-image-btn{min-height:100px}.proof-image-btn img{height:150px}.kenya-proof-copy,.kenya-price-note{font-size:12px}}

/* v7 — transparent 25% Global Round Pool allocation */
.allocation-split-note{margin:16px 0 10px;padding:13px 14px;border-radius:13px;border:1px solid rgba(79,227,154,.25);background:rgba(79,227,154,.07);display:grid;gap:5px}
.allocation-split-note strong{font-size:13px;color:var(--green)}
.allocation-split-note span{font-size:11px;line-height:1.5;color:var(--muted)}
.allocation-pool{border-color:rgba(79,227,154,.25)!important;background:rgba(79,227,154,.055)!important}
.allocation-pool span:after{content:' · closes gaps across the full Round';font-size:10px;color:var(--muted)}
.allocation-grand-total{margin-top:9px;border:1px solid rgba(53,198,200,.24)!important;background:rgba(53,198,200,.065)!important}
.allocation-grand-total strong{font-size:22px}
.allocation-local-detail small+small{margin-top:5px;color:#dbe8df}
.process-banner-live{padding:12px 5vw;background:#F7FBFF;color:#10231a}
.process-banner-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.process-banner-inner span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;line-height:1.3}
.process-banner-inner b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#10231a;color:#F7FBFF;font-size:11px}
@media(max-width:760px){.process-banner-inner{grid-template-columns:1fr 1fr}.process-banner-inner span:last-child{grid-column:1/-1}}

/* Friendly accessibility-first UI refresh — large type, soft rounded cards, simple visual hierarchy */
:root{--friendly-blue:#4f8cff;--friendly-purple:#8b6cff;--friendly-yellow:#7DD9F5;--friendly-coral:#8EA5FF;--friendly-cyan:#55d8e8}
#country-allocation.allocation-section{max-width:1360px;padding:42px 32px 36px}
#country-allocation .section-heading{max-width:1050px;margin-bottom:24px}
#country-allocation .section-heading .eyebrow{font-size:14px;letter-spacing:.08em;color:#7ff0b4}
#country-allocation .section-heading h2{font-size:clamp(38px,4.2vw,62px);line-height:1.04;letter-spacing:-.035em;margin:8px 0 12px}
#country-allocation .section-heading>p:last-child{font-size:18px;line-height:1.55;max-width:980px;color:#d6e7df}
#country-allocation .allocation-shell{grid-template-columns:minmax(0,1.35fr) minmax(390px,.8fr);gap:22px;padding:22px;border-radius:34px;background:linear-gradient(145deg,rgba(41,93,72,.35),rgba(21,42,60,.38));box-shadow:0 26px 80px rgba(0,0,0,.25)}
#country-allocation .allocation-picker{padding:8px}
#country-allocation .allocation-toolbar{margin-bottom:15px;font-size:19px}
#country-allocation .allocation-clear{font-size:14px;background:rgba(79,227,154,.12);padding:9px 14px;border-radius:999px}
#country-allocation .allocation-country-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:430px;padding:3px 8px 3px 3px}
#country-allocation .allocation-country{padding:15px 16px;min-height:78px;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);align-items:center;transition:.18s ease;box-shadow:0 8px 22px rgba(0,0,0,.08)}
#country-allocation .allocation-country:nth-child(4n+1){background:rgba(79,140,255,.10)}
#country-allocation .allocation-country:nth-child(4n+2){background:rgba(139,108,255,.10)}
#country-allocation .allocation-country:nth-child(4n+3){background:rgba(85,216,232,.09)}
#country-allocation .allocation-country:nth-child(4n){background:rgba(125,217,245,.08)}
#country-allocation .allocation-country:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}
#country-allocation .allocation-country:has(input:checked){border-color:#66e9a7;background:rgba(79,227,154,.17);box-shadow:0 0 0 3px rgba(79,227,154,.10),0 12px 28px rgba(0,0,0,.12)}
#country-allocation .allocation-country input{width:20px;height:20px;margin:0 2px 0 0}
#country-allocation .allocation-country b{font-size:16px;line-height:1.2}
#country-allocation .allocation-country small{font-size:12px;line-height:1.35;margin-top:5px;color:#bcd0c7}
#country-allocation .allocation-method-note{font-size:13px;line-height:1.55;margin:15px 4px 0;padding:13px 15px;border-radius:18px;background:rgba(255,255,255,.055);color:#c9ddd4}
#country-allocation .allocation-summary{padding:24px;border-radius:30px;background:linear-gradient(165deg,rgba(8,38,27,.92),rgba(11,28,37,.92));border:1px solid rgba(121,239,180,.25);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.allocation-round-kicker{font-size:14px}.allocation-round-number{font-size:32px;margin:8px 0}.allocation-round-copy{font-size:13px!important;line-height:1.5!important}
#country-allocation .progress-meta{font-size:11px;margin-top:7px}.allocation-selected-block{margin-top:18px;padding-top:18px}
.allocation-selected-block .eyebrow{font-size:13px}
#country-allocation .allocation-total{font-size:42px;margin:6px 0;color:#66e9a7}
#country-allocation .allocation-summary>p:not(.eyebrow):not(.small-note),#country-allocation .allocation-selected-block>p:not(.eyebrow){font-size:13px;line-height:1.45;margin:6px 0}
#country-allocation .share-control{font-size:14px;line-height:1.35;margin:18px 0 10px}
#country-allocation .share-presets{gap:8px;margin:10px 0 14px}
#country-allocation .share-presets button{padding:11px 6px;font-size:12px;border-radius:999px;background:rgba(255,255,255,.075)}
#country-allocation .share-presets button:hover,#country-allocation .share-presets button.active{transform:translateY(-1px);background:#66e9a7;color:#062316}
#allocationShare{height:28px}
.allocation-split-note{margin:16px 0;padding:16px 17px!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(79,140,255,.14),rgba(139,108,255,.13))!important;border:1px solid rgba(132,171,255,.26)!important}
.allocation-split-note strong{font-size:15px!important}.allocation-split-note span{font-size:12px!important;line-height:1.5!important}
#country-allocation .allocation-contribution{margin:8px 0;padding:12px 14px;border:0;border-radius:18px;background:rgba(255,255,255,.055)}
#country-allocation .allocation-contribution span{font-size:12px;color:#d3e4dc}#country-allocation .allocation-contribution strong{font-size:21px}
#country-allocation .allocation-pool{background:rgba(139,108,255,.12)}#country-allocation .allocation-grand-total{background:rgba(79,227,154,.12);border:1px solid rgba(79,227,154,.22)}
#country-allocation .allocation-breakdown{max-height:160px;gap:6px;margin:12px 0}
#country-allocation .allocation-breakdown>div{padding:10px 4px;font-size:11px}
#country-allocation .allocation-breakdown small{font-size:10px;line-height:1.45}
#country-allocation .allocation-fund{padding:15px 16px;font-size:13px;border-radius:999px}
#country-allocation .small-note{font-size:10px;line-height:1.45;margin:8px 4px 0;text-align:center}
#country-allocation .allocation-promise{margin-top:18px;padding:18px 22px;border-radius:26px;grid-template-columns:190px 1fr;background:linear-gradient(135deg,rgba(125,217,245,.08),rgba(85,216,232,.07))}
#country-allocation .allocation-promise strong{font-size:14px}#country-allocation .allocation-promise p{font-size:12px;line-height:1.55}
@media(max-width:1000px){#country-allocation .allocation-shell{grid-template-columns:1fr}#country-allocation .allocation-country-list{max-height:none}.allocation-summary{max-width:none}}
@media(max-width:650px){#country-allocation.allocation-section{padding:28px 15px}#country-allocation .section-heading h2{font-size:38px}#country-allocation .section-heading>p:last-child{font-size:16px}#country-allocation .allocation-shell{padding:12px;border-radius:26px}#country-allocation .allocation-country-list{grid-template-columns:1fr}#country-allocation .allocation-summary{padding:18px;border-radius:25px}#country-allocation .allocation-promise{grid-template-columns:1fr}}

/* ===== 2026 Bright Friendly Redesign ===== */
:root{--ink:#263238;--muted:#65727b;--cream:#F7FBFF;--paper:#fff;--blue:#dff3ff;--blue-strong:#4da9e9;--green:#dff7df;--green-strong:#42b883;--yellow:#DDF7FF;--coral:#D9E6FF;--lav:#eee4ff;--pink:#E8E2FF;--shadow:0 12px 30px rgba(64,74,94,.12);--radius:30px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#F7FBFF 0%,#f4fbff 38%,#F8F7FF 100%);color:var(--ink);font-size:18px;line-height:1.6}.ambient-bg{display:none}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:0;box-shadow:0 5px 24px rgba(65,79,100,.08);padding:14px max(24px,calc((100vw - 1220px)/2))}.brand{color:var(--ink);font-size:20px}.brand-mark{background:linear-gradient(135deg,#65d39b,#55b9f3);color:white;border-radius:18px;width:52px;height:52px;display:grid;place-items:center;box-shadow:0 7px 18px rgba(77,169,233,.25)}nav{gap:8px}nav a{color:#4f5d66;padding:10px 14px;border-radius:999px;font-weight:700}nav a:hover{background:var(--blue);color:#245b7a}main{overflow:hidden}section{max-width:1220px;margin:0 auto;padding-left:28px;padding-right:28px}.top-process-banner{max-width:none;background:transparent;border:0;padding:20px 28px}.process-banner-inner{max-width:1160px;margin:auto;background:white;border-radius:999px;padding:12px;box-shadow:var(--shadow);display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.process-banner-inner span{background:#f6f9fb;color:#46545d;padding:9px 14px;border-radius:999px;font-weight:700}.process-banner-inner b{background:var(--green);color:#207452;width:27px;height:27px;display:inline-grid;place-items:center;border-radius:50%;margin-right:6px}.section-heading{max-width:800px;margin-bottom:28px}.section-heading .eyebrow,.eyebrow{color:#368e6b;font-size:15px;font-weight:800;letter-spacing:.08em}.section-heading h2{font-size:clamp(36px,5vw,60px);line-height:1.04;letter-spacing:-.035em;color:#24333b;margin:8px 0 16px}.section-heading p{font-size:20px;color:#5b6972}.glass{background:rgba(255,255,255,.92)!important;border:0!important;box-shadow:var(--shadow)!important;border-radius:var(--radius)!important;color:var(--ink)!important}.allocation-section{padding-top:50px;padding-bottom:80px}.allocation-shell{padding:28px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;background:linear-gradient(135deg,#fff 0%,#f8fcff 100%)!important}.allocation-picker,.allocation-summary{border-radius:28px!important}.allocation-picker{background:#f8fbff;padding:24px}.allocation-toolbar{font-size:24px;margin-bottom:18px;color:#27353d}.step-bubble{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#7DD9F5;color:#684900;font-weight:900;margin-right:6px}.allocation-clear{background:#fff;border:2px solid #d9e8f2!important;color:#5c6870!important;border-radius:999px!important;padding:9px 16px!important;font-size:16px!important}.allocation-country-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;max-height:none!important;overflow:visible!important;padding:0!important}.allocation-country{position:relative;min-height:100px;background:white!important;border:3px solid transparent!important;border-radius:24px!important;padding:17px!important;display:flex!important;align-items:center!important;gap:13px!important;box-shadow:0 6px 16px rgba(80,97,119,.08);cursor:pointer;transition:.18s ease;color:var(--ink)!important}.allocation-country:nth-child(6n+1){background:var(--blue)!important}.allocation-country:nth-child(6n+2){background:var(--green)!important}.allocation-country:nth-child(6n+3){background:var(--yellow)!important}.allocation-country:nth-child(6n+4){background:var(--coral)!important}.allocation-country:nth-child(6n+5){background:var(--lav)!important}.allocation-country:nth-child(6n){background:var(--pink)!important}.allocation-country:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(80,97,119,.15)}.allocation-country:has(input:checked){border-color:#2b9d70!important;box-shadow:0 0 0 4px rgba(66,184,131,.13),0 10px 22px rgba(80,97,119,.15)}.allocation-country input{position:absolute;opacity:0}.country-flag{font-size:34px;line-height:1}.country-choice-copy{display:flex;flex-direction:column;min-width:0}.country-choice-copy b{font-size:19px;color:#26353d}.country-choice-copy small{font-size:15px;color:#5e6c74;line-height:1.3}.choice-check{margin-left:auto;width:30px;height:30px;border-radius:50%;background:white;display:grid;place-items:center;color:#aab5bb;font-weight:900}.allocation-country:has(input:checked) .choice-check{background:#2b9d70;color:white}.allocation-method-note{font-size:16px;background:#eef8ff;color:#4c626f;border-radius:20px;padding:16px 18px;margin-top:18px}.allocation-summary{background:linear-gradient(180deg,#e8f8ff,#fff)!important;padding:26px!important;border:0!important;align-self:start}.allocation-round-kicker,.round-label,.allocation-round-copy,.progress-meta,.small-note{color:#56666f!important}.allocation-round-number{font-size:34px!important;color:#2c556d!important}.status{border:0!important;border-radius:999px!important;padding:8px 12px!important;background:#DDF7FF!important;color:#6c5800!important}.progress-track{background:white!important;height:14px!important;border-radius:999px!important}.progress-track span{background:linear-gradient(90deg,#65d39b,#55b9f3)!important;border-radius:999px}.allocation-selected-block{margin-top:24px;background:white;border-radius:26px;padding:22px}.allocation-total{font-size:42px!important;color:#25845e!important}.share-control{font-size:18px!important;color:#37474f!important}.share-presets{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.share-presets button{min-height:52px;border:0!important;border-radius:18px!important;background:#edf4f7!important;color:#35434b!important;font-size:18px!important;font-weight:800!important}.share-presets button:hover,.share-presets button.active{background:#5ac998!important;color:white!important;transform:translateY(-2px)}#allocationShare{accent-color:#4dbd8b;height:28px}.allocation-split-note{background:var(--yellow)!important;border:0!important;border-radius:22px!important;padding:18px!important;color:#5d5226!important;font-size:17px!important}.allocation-contribution{border:0!important;border-radius:20px!important;padding:16px 18px!important;margin-top:12px!important;background:var(--blue)!important;color:#30424b!important}.allocation-contribution strong{font-size:26px!important;color:#235b7a!important}.allocation-pool{background:var(--lav)!important}.allocation-pool strong{color:#7150a1!important}.allocation-grand-total{background:var(--coral)!important}.allocation-grand-total strong{font-size:34px!important;color:#6650D7!important}.allocation-breakdown{display:grid!important;gap:14px!important;max-height:none!important;overflow:visible!important;margin-top:18px!important}.allocation-breakdown>div{border:0!important;background:#f7fafc!important;border-radius:20px!important;padding:17px!important;display:grid!important;grid-template-columns:1fr auto;gap:12px;color:#33444d!important}.allocation-breakdown small{font-size:15px!important;color:#64727a!important;line-height:1.45!important}.primary-btn,.secondary-btn,.details-btn,.form-submit,.allocation-fund{border:0!important;border-radius:999px!important;min-height:56px;padding:14px 24px!important;font-size:18px!important;font-weight:800!important;box-shadow:0 7px 16px rgba(55,112,92,.15)}.primary-btn,.form-submit,.allocation-fund{background:#55c590!important;color:#153b2e!important}.secondary-btn,.details-btn{background:#e5f4ff!important;color:#265e7d!important}.allocation-fund{width:100%;margin-top:18px}.allocation-promise{margin-top:24px;padding:24px 28px;background:var(--green)!important}.allocation-promise strong{font-size:22px}.allocation-promise p{font-size:18px;color:#496158}.hero{margin-top:20px;min-height:auto;padding-top:70px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.world-stage{position:relative!important;inset:auto!important;min-height:430px;background:linear-gradient(145deg,#dff3ff,#eee4ff);border-radius:40px;overflow:hidden;box-shadow:var(--shadow)}.world-svg{opacity:.75}.continents path{fill:#79cfa7!important}.route path{stroke:#7DD9F5!important}.nodes circle{fill:#fff!important;stroke:#4da9e9!important}.hero-copy{position:relative!important;z-index:2!important;max-width:none!important}.hero h1{font-size:clamp(44px,6vw,76px)!important;line-height:1!important;color:#273740!important;text-shadow:none!important}.hero-text{font-size:21px!important;color:#5a6871!important}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px!important;background:transparent!important;box-shadow:none!important}.stats-strip>div{background:white;border-radius:26px;padding:24px;box-shadow:var(--shadow)}.stats-strip strong{color:#328e6b!important;font-size:32px!important}.stats-strip span{color:#65727b!important;font-size:16px!important}.rounds-section,.network-section,.method-section{padding-top:80px;padding-bottom:80px}.round-flow,.method-grid,.country-grid{gap:20px!important}.flow-card,.method-grid article,.country-card{border-radius:30px!important;background:white!important;border:0!important;box-shadow:var(--shadow)!important;color:var(--ink)!important;padding:26px!important}.country-card:nth-child(6n+1){background:#eef9ff!important}.country-card:nth-child(6n+2){background:#effbee!important}.country-card:nth-child(6n+3){background:#DDF7FF!important}.country-card:nth-child(6n+4){background:#F7FBFF!important}.country-card:nth-child(6n+5){background:#f5efff!important}.country-card h3,.flow-card h3,.method-grid h3{color:#2b3b43!important;font-size:26px!important}.country-card p,.flow-card p,.method-grid p{color:#627078!important;font-size:17px!important}.kenya-proposal-card{grid-column:span 2}.kenya-basket-proof{background:white!important;border:0!important;border-radius:28px!important;padding:24px!important;margin-top:20px!important}.kenya-proof-gallery{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}.proof-image-btn{border:0!important;background:#f6f8fa!important;border-radius:24px!important;padding:8px!important;overflow:hidden;box-shadow:0 7px 18px rgba(65,79,100,.12)}.proof-image-btn img{border-radius:18px!important;width:100%;height:300px;object-fit:cover}.kenya-proof-copy,.kenya-price-note{font-size:18px!important;line-height:1.65!important;color:#53636c!important}.impact-side-note{position:relative!important;right:auto!important;top:auto!important;max-width:1160px!important;margin:26px auto!important;background:var(--yellow)!important;color:#39464d!important;border:0!important;border-radius:32px!important;box-shadow:var(--shadow)!important;padding:24px 28px!important}.impact-side-note *{color:inherit!important}.impact-side-amount{color:#278b67!important;font-size:36px!important}.impact-side-stats{display:flex!important;gap:12px!important;flex-wrap:wrap}.impact-side-stats span{background:white!important;border:0!important;border-radius:18px!important;padding:10px 14px!important}.transparency-section,.volunteer-cta,.volunteer-bottom-cta,.safeguards-section article,.research-form{background:white!important;color:var(--ink)!important;border:0!important;border-radius:32px!important;box-shadow:var(--shadow)!important}.transparency-section p,.volunteer-cta p,footer{color:#617078!important}footer{background:#fff!important;border:0!important;padding:34px!important}.research-form input,.research-form select,.research-form textarea{background:#f7fafc!important;color:#263238!important;border:2px solid #e5edf2!important;border-radius:18px!important;padding:14px!important;font-size:17px!important}.research-form label span{color:#46555e!important}.zero-trust-card,.safeguard-grid article{background:white!important;color:var(--ink)!important}.status-ladder div{background:#f5f9fb!important;border-radius:18px!important;border:0!important}.status-ladder strong,.zero-trust-card h2{color:#263238!important}
dialog.image-lightbox{border:0!important;border-radius:30px!important;padding:14px!important;background:white!important;box-shadow:0 20px 80px rgba(31,45,61,.3)}dialog.image-lightbox::backdrop{background:rgba(57,71,80,.55)}
@media(max-width:900px){body{font-size:17px}.site-header{padding:12px 16px;align-items:center}.site-header nav{display:none}.top-process-banner{padding:14px}.process-banner-inner{border-radius:26px;justify-content:flex-start}.allocation-section{padding:34px 16px 60px}.allocation-shell{grid-template-columns:1fr;padding:16px;border-radius:28px!important}.allocation-picker,.allocation-summary{padding:18px!important}.allocation-country-list{grid-template-columns:1fr!important}.allocation-country{min-height:88px}.section-heading h2{font-size:40px}.section-heading p{font-size:18px}.hero{grid-template-columns:1fr;padding:50px 18px}.world-stage{min-height:280px;order:2}.hero h1{font-size:48px!important}.stats-strip{grid-template-columns:1fr 1fr;padding:16px!important}.kenya-proposal-card{grid-column:auto}.kenya-proof-gallery{grid-template-columns:1fr!important}.proof-image-btn img{height:auto}.impact-side-note{margin:18px 16px!important}.allocation-total{font-size:36px!important}.allocation-contribution strong{font-size:23px!important}.allocation-grand-total strong{font-size:30px!important}.country-grid{grid-template-columns:1fr!important}.round-flow,.method-grid{grid-template-columns:1fr!important}section{padding-left:18px;padding-right:18px}}

/* v9 — readability + playful rounded font + safe right-side pilot card */
:root{
  --ink:#263844;
  --muted:#536672;
  --muted-strong:#465b67;
}
html,body{background:#F7FBFF!important}
body,
button,
input,
select,
textarea{
  font-family:"Nunito","Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;
}
body{color:var(--ink)!important;font-weight:500}
h1,h2,h3,h4,.brand,.allocation-total,.impact-side-amount,.round-number{font-family:"Nunito","Arial Rounded MT Bold",sans-serif!important;font-weight:900!important}

/* Never allow low-contrast pale gray body copy on the light redesign. */
nav,
.hero-text,
.section-heading>p:last-child,
.round-panel p,
.flow-card p,
.method-grid p,
.country-card p,
.metrics span,
.stats-strip span,
.progress-meta,
.small-note,
.intent-banner>p,
.local-impact-step p,
.purchasing-power-note p,
.pilot-impact-copy p,
.future-comparison p,
.pilot-summary,
.pilot-impact-metrics span,
.country-evidence p,
.evidence-row,
.evidence-row b,
.kenya-proof-copy,
.kenya-price-note,
.allocation-method-note,
.allocation-round-copy,
.allocation-selected-block>p:not(.eyebrow),
.allocation-breakdown small,
.country-choice-copy small,
.allocation-promise p,
footer,
.research-form label span,
.status-ladder small,
.safeguard-grid p{
  color:var(--muted)!important;
  opacity:1!important;
}
#country-allocation .section-heading>p:last-child,
#country-allocation .allocation-country small,
#country-allocation .allocation-method-note,
#country-allocation .allocation-summary>p:not(.eyebrow):not(.small-note),
#country-allocation .allocation-selected-block>p:not(.eyebrow),
#country-allocation .allocation-breakdown small,
#country-allocation .small-note{
  color:var(--muted-strong)!important;
  opacity:1!important;
}
.country-choice-copy b,.allocation-country b{color:#233741!important}

/* Slightly larger friendly copy in the first-screen experience. */
#country-allocation .section-heading>p:last-child{font-size:19px!important;font-weight:700!important}
#country-allocation .allocation-country b{font-size:18px!important;font-weight:900!important}
#country-allocation .allocation-country small{font-size:14px!important;font-weight:700!important}
#country-allocation .allocation-method-note{font-size:15px!important;font-weight:700!important;line-height:1.5!important}
#country-allocation .allocation-round-copy{font-size:15px!important;line-height:1.5!important;font-weight:700!important}
#country-allocation .progress-meta{font-size:13px!important;font-weight:700!important}
#country-allocation .allocation-selected-block>p:not(.eyebrow){font-size:15px!important;font-weight:700!important}
#country-allocation .share-control{font-size:17px!important;font-weight:800!important}
#country-allocation .share-presets button{font-size:17px!important}
#country-allocation .allocation-breakdown>div{font-size:15px!important}
#country-allocation .allocation-breakdown small{font-size:13px!important;font-weight:700!important}
#country-allocation .small-note{font-size:13px!important;font-weight:700!important}

/* Keep the yellow pilot example visible on desktop, but reserve room so it covers nothing important. */
.impact-side-note{
  position:fixed!important;
  right:24px!important;
  top:180px!important;
  width:300px!important;
  max-width:calc(100vw - 48px)!important;
  max-height:calc(100vh - 205px)!important;
  overflow:auto!important;
  z-index:40!important;
  margin:0!important;
  padding:24px!important;
  background:#DDF7FF!important;
  border:0!important;
  border-radius:34px!important;
  box-shadow:0 18px 48px rgba(97,81,36,.18)!important;
  color:#344750!important;
}
.impact-side-note .eyebrow{color:#365366!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important}
.impact-side-amount{color:#238b67!important;font-size:38px!important}
.impact-side-lead{font-size:15px!important;line-height:1.45!important;color:#425761!important;font-weight:700!important}
.impact-side-stats{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;border:0!important;padding:5px 0!important}
.impact-side-stats span{background:#fff!important;border-radius:999px!important;padding:10px 13px!important;color:#52636d!important;font-size:13px!important;font-weight:700!important}
.impact-side-stats b{color:#263844!important}
.impact-side-vision{font-size:13px!important;line-height:1.5!important;color:#465c67!important;font-weight:700!important}
.impact-side-caution{font-size:12px!important;line-height:1.45!important;color:#566a73!important;opacity:1!important}
.impact-side-note>a{font-size:14px!important;color:#1f7b5d!important;font-weight:900!important}
.impact-side-close{background:#DDF7FF!important;color:#40545e!important;border-radius:50%!important;width:32px!important;height:32px!important;display:grid!important;place-items:center!important}

/* On wide desktop, deliberately leave a clean right rail for the fixed yellow card. */
@media(min-width:1500px){
  #country-allocation.allocation-section{
    max-width:none!important;
    margin-left:max(32px,calc((100vw - 1510px)/2))!important;
    margin-right:354px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  #country-allocation .allocation-shell{grid-template-columns:minmax(0,1.32fr) minmax(360px,.76fr)!important}
}

/* On normal laptops/tablets, the card becomes part of the page so it cannot cover controls. */
@media(max-width:1499px){
  .impact-side-note{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    width:min(1060px,calc(100% - 36px))!important;
    max-height:none!important;
    overflow:visible!important;
    margin:22px auto 10px!important;
  }
  .impact-side-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .impact-side-note{padding:20px!important;border-radius:28px!important}
  .impact-side-stats{grid-template-columns:1fr!important}
  #country-allocation .section-heading>p:last-child{font-size:17px!important}
}

/* v10 — DISTANCE-READABLE FRUIT GAME UI */
:root{--bg:#F7FBFF;--ink:#17202A;--muted:#344054;--mango:#7DD9F5;--tangerine:#35C6C8;--watermelon:#8B6DFF;--kiwi:#78D64B;--blueberry:#5C7CFA;--grape:#9B6DFF;--turquoise:#35C6C8;--strawberry:#5C7CFA;--lemon:#7DD9F5;--shadow:0 10px 30px rgba(37,49,65,.14)}
html{font-size:18px;scroll-behavior:smooth}body{background:var(--bg)!important;color:var(--ink)!important;font-family:"Nunito","Atkinson Hyperlegible","Arial Rounded MT Bold",Arial,sans-serif!important;font-size:20px!important;font-weight:600!important;line-height:1.6!important}body *{text-rendering:optimizeLegibility}.eyebrow{font-size:18px!important;font-weight:800!important;color:#176B51!important;letter-spacing:.05em!important}.site-header{min-height:82px!important}.brand{font-size:24px!important;font-weight:900!important}.brand-mark{width:54px!important;height:54px!important;border-radius:20px!important;font-size:16px!important;background:linear-gradient(135deg,var(--turquoise),var(--blueberry))!important;color:#fff!important}.site-header nav{font-size:18px!important;font-weight:800!important;gap:30px!important;color:var(--ink)!important}.hero h1,h1{font-size:clamp(56px,6vw,72px)!important;line-height:1.08!important;color:var(--ink)!important}.section-heading h2,h2{font-size:clamp(40px,4.5vw,52px)!important;line-height:1.15!important;color:var(--ink)!important}.hero-text,.section-heading>p:last-child{font-size:22px!important;line-height:1.6!important;color:var(--muted)!important;font-weight:600!important}.status,.round-label,.flow-number,.country-code,.local-impact-step>span,.safeguard-grid article>span{font-size:18px!important;font-weight:800!important}.round-number{font-size:44px!important}.round-panel p,.flow-card p,.method-grid p,.country-card p,.local-impact-step p,.pilot-impact-copy p,.future-comparison p,.intent-banner>p,.purchasing-power-note p,.allocation-promise p,.thanks-card p{font-size:20px!important;line-height:1.6!important;color:var(--muted)!important;font-weight:600!important}.flow-card h3,.method-grid h3,.country-card h3,.local-impact-step h3,.pilot-impact-copy h3,.future-comparison h3,.impact-dashboard h3{font-size:30px!important;line-height:1.2!important}.glass,.flow-card,.method-grid article,.country-card,.round-panel,.impact-dashboard,.intent-banner,.purchasing-power-note,.pilot-impact-card,.future-comparison,.volunteer-cta,.zero-trust-card,.research-form,.thanks-card{border-radius:38px!important;box-shadow:var(--shadow)!important}.primary-btn,.secondary-btn,.details-btn,.form-submit,.filter,.allocation-fund{min-height:64px!important;border-radius:999px!important;padding:18px 30px!important;font-size:22px!important;font-weight:800!important}.stats-strip span,.metrics span,.impact-metrics span,.pilot-impact-metrics span{font-size:18px!important;color:var(--muted)!important;font-weight:700!important}.stats-strip strong,.impact-metrics strong,.pilot-impact-metrics strong{font-size:38px!important}.small-note,.fx-note,.pilot-summary,.dialog-status,footer,.status-ladder small,.safeguard-grid p,.research-form label span,.checkbox-line span,.radio-line span{font-size:18px!important;line-height:1.6!important;color:var(--muted)!important;font-weight:600!important;opacity:1!important}.country-card,.flow-card,.method-grid article{padding:32px!important}.country-card:nth-child(8n+1){background:#DDF5FF!important}.country-card:nth-child(8n+2){background:#E4F8D8!important}.country-card:nth-child(8n+3){background:#DDF7FF!important}.country-card:nth-child(8n+4){background:#DDF7FF!important}.country-card:nth-child(8n+5){background:#E8DBFF!important}.country-card:nth-child(8n+6){background:#E8E2FF!important}.country-card:nth-child(8n+7){background:#D4F5F1!important}.country-card:nth-child(8n){background:#D9E6FF!important}
/* Funding journey */
#country-allocation.allocation-section{max-width:1420px!important;padding:64px 34px!important}#country-allocation .allocation-shell{border-radius:44px!important;padding:30px!important;gap:30px!important;background:#fff!important;box-shadow:var(--shadow)!important}#country-allocation .allocation-toolbar{font-size:28px!important;font-weight:900!important}#country-allocation .allocation-clear{font-size:20px!important;font-weight:800!important;padding:14px 22px!important}#country-allocation .allocation-country-list{max-height:none!important;overflow:visible!important;gap:18px!important}#country-allocation .allocation-country{min-height:112px!important;padding:24px 26px!important;border-radius:32px!important;border:3px solid transparent!important;box-shadow:0 8px 20px rgba(37,49,65,.10)!important}#country-allocation .allocation-country:nth-child(8n+1){background:#DDF5FF!important}#country-allocation .allocation-country:nth-child(8n+2){background:#E4F8D8!important}#country-allocation .allocation-country:nth-child(8n+3){background:#DDF7FF!important}#country-allocation .allocation-country:nth-child(8n+4){background:#DDF7FF!important}#country-allocation .allocation-country:nth-child(8n+5){background:#E8DBFF!important}#country-allocation .allocation-country:nth-child(8n+6){background:#E8E2FF!important}#country-allocation .allocation-country:nth-child(8n+7){background:#D4F5F1!important}#country-allocation .allocation-country:nth-child(8n){background:#D9E6FF!important}#country-allocation .allocation-country:has(input:checked){border-color:#176B51!important;box-shadow:0 0 0 5px rgba(120,214,75,.28),0 10px 24px rgba(37,49,65,.16)!important}#country-allocation .allocation-country input{width:28px!important;height:28px!important;accent-color:#176B51!important}#country-allocation .allocation-country b{font-size:28px!important;font-weight:900!important;color:var(--ink)!important}#country-allocation .allocation-country small{font-size:20px!important;font-weight:800!important;color:#26384A!important;line-height:1.35!important}#country-allocation .allocation-method-note{font-size:19px!important;color:var(--ink)!important;background:#DDF7FF!important;padding:22px 26px!important;border-radius:28px!important}#country-allocation .allocation-summary{border-radius:38px!important;padding:32px!important;background:#F4FBFF!important;color:var(--ink)!important;border:0!important;box-shadow:var(--shadow)!important}#country-allocation .allocation-summary *{opacity:1!important}.allocation-round-kicker,#country-allocation .progress-meta,#country-allocation .allocation-round-copy,#country-allocation .allocation-selected-block>p:not(.eyebrow){font-size:18px!important;color:var(--muted)!important;font-weight:700!important}.allocation-round-number{font-size:40px!important;color:var(--ink)!important}.allocation-selected-block .eyebrow{font-size:20px!important}.allocation-total{font-size:48px!important;color:#176B51!important}.share-control{font-size:21px!important;font-weight:800!important}.share-presets{grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.share-presets button{min-height:64px!important;border-radius:999px!important;font-size:23px!important;font-weight:900!important;background:#E9F1F6!important;color:var(--ink)!important;border:3px solid transparent!important}.share-presets button:hover,.share-presets button.active{background:var(--mango)!important;color:var(--ink)!important;border-color:#247D7E!important;box-shadow:0 7px 0 rgba(185,120,0,.22)!important}.allocation-split-note{padding:24px!important;border-radius:30px!important;background:#E8DBFF!important;border:0!important}.allocation-split-note strong{font-size:24px!important;color:var(--ink)!important}.allocation-split-note span{font-size:20px!important;color:var(--ink)!important}.allocation-contribution{min-height:104px!important;padding:22px 24px!important;border-radius:28px!important}.allocation-contribution span{font-size:21px!important;font-weight:900!important;color:var(--ink)!important}.allocation-contribution strong{font-size:42px!important;font-weight:900!important}.allocation-contribution:not(.allocation-pool):not(.allocation-grand-total){background:#DDF5FF!important}.allocation-pool{background:#E8DBFF!important}.allocation-grand-total{background:#DDF7FF!important;border:3px solid #35C6C8!important}.allocation-grand-total strong{font-size:48px!important}.allocation-pool span:after{font-size:18px!important;color:var(--ink)!important}.allocation-breakdown>div,.allocation-breakdown small{font-size:18px!important;color:var(--ink)!important;font-weight:700!important}.allocation-promise{border-radius:34px!important}.allocation-promise strong{font-size:26px!important}.allocation-promise p{font-size:20px!important;color:var(--ink)!important}
/* Evidence and dialogs */
.kenya-proof-head h4{font-size:30px!important}.proposal-pill{font-size:18px!important;padding:10px 16px!important}.kenya-proof-copy,.kenya-price-note{font-size:20px!important;color:var(--ink)!important}.proof-image-btn{border-radius:34px!important}.proof-image-btn img{border-radius:28px!important}.image-lightbox p{font-size:20px!important;color:var(--ink)!important}.close-lightbox,.close-dialog{font-size:34px!important;min-width:54px;min-height:54px;border-radius:50%!important;background:#fff!important;color:var(--ink)!important}
/* Right Philippines card: readable and never over main content on wide screens */
.impact-side-note{width:340px!important;padding:30px!important;border-radius:38px!important;background:#7DD9F5!important;color:var(--ink)!important;overflow:visible!important;max-height:none!important}.impact-side-note .eyebrow{font-size:18px!important;color:var(--ink)!important}.impact-side-amount{font-size:46px!important;color:#176B51!important}.impact-side-lead,.impact-side-vision,.impact-side-caution{font-size:19px!important;line-height:1.55!important;color:var(--ink)!important;font-weight:700!important}.impact-side-stats{display:grid!important}.impact-side-stats span{font-size:20px!important;color:var(--ink)!important;padding:14px 16px!important}.impact-side-note>a{font-size:20px!important;color:#075E54!important;font-weight:900!important}.impact-side-close{font-size:28px!important;color:var(--ink)!important;background:#fff!important;border-radius:50%!important;width:42px!important;height:42px!important}
@media(min-width:1500px){body{padding-right:390px!important}.site-header,.top-process-banner{padding-right:410px!important}.impact-side-note{right:24px!important;top:120px!important}}
@media(max-width:1499px){body{padding-right:0!important}.impact-side-note{position:relative!important;right:auto!important;top:auto!important;width:auto!important;max-width:1180px!important;margin:30px auto!important}.site-header,.top-process-banner{padding-right:5vw!important}}
@media(max-width:900px){html{font-size:18px}body{font-size:19px!important}.hero h1,h1{font-size:44px!important}.section-heading h2,h2{font-size:36px!important}.hero-text,.section-heading>p:last-child{font-size:20px!important}#country-allocation.allocation-section{padding:42px 16px!important}#country-allocation .allocation-shell{padding:18px!important;border-radius:34px!important}#country-allocation .allocation-country-list{grid-template-columns:1fr!important}#country-allocation .allocation-country b{font-size:26px!important}.share-presets button{font-size:22px!important}.impact-side-note{margin:24px 16px!important}.site-header{min-height:72px!important}}
@media(max-width:600px){.hero h1,h1{font-size:38px!important}.section-heading h2,h2{font-size:34px!important}.share-presets{grid-template-columns:repeat(2,1fr)!important}.allocation-contribution strong,.allocation-grand-total strong,.allocation-total{font-size:38px!important}.kenya-proof-gallery{grid-template-columns:1fr!important}}

/* =========================================================
   Country basket preview buttons + large basket dialog
   Added 2026-08-14
   ========================================================= */
#country-allocation .allocation-country{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:14px!important;
  padding:20px!important;
  overflow:hidden!important;
  min-width:0!important;
}
#country-allocation .country-select-zone{
  display:grid!important;
  grid-template-columns:30px 42px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
  cursor:pointer!important;
}
#country-allocation .country-choice-copy{
  min-width:0!important;
  overflow:hidden!important;
}
#country-allocation .country-choice-copy b,
#country-allocation .country-choice-copy small{
  display:block!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  white-space:normal!important;
}
#country-allocation .country-flag{
  font-size:30px!important;
  line-height:1!important;
}
#country-allocation .choice-check{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#176B51!important;
  font-size:24px!important;
  font-weight:900!important;
  flex:0 0 auto!important;
}
#country-allocation .allocation-country:not(.is-selected) .choice-check{
  color:#73808A!important;
}
#country-allocation .country-basket-btn{
  width:100%!important;
  min-height:58px!important;
  border:3px solid rgba(23,32,42,.14)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#17202A!important;
  font-family:inherit!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:900!important;
  padding:14px 20px!important;
  cursor:pointer!important;
  box-shadow:0 7px 0 rgba(23,32,42,.08)!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
#country-allocation .country-basket-btn:hover,
#country-allocation .country-basket-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#176B51!important;
  box-shadow:0 9px 0 rgba(23,107,81,.13)!important;
  outline:4px solid rgba(92,124,250,.22)!important;
  outline-offset:2px!important;
}

.basket-dialog{
  width:min(1080px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  border:0!important;
  border-radius:42px!important;
  background:#F7FBFF!important;
  color:#17202A!important;
  padding:34px!important;
  box-shadow:0 28px 100px rgba(23,32,42,.32)!important;
  overflow:auto!important;
}
.basket-dialog::backdrop{
  background:rgba(23,32,42,.58)!important;
  backdrop-filter:blur(6px)!important;
}
.close-basket-dialog{
  position:sticky!important;
  float:right!important;
  top:0!important;
  z-index:5!important;
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#17202A!important;
  font-size:36px!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 8px 22px rgba(23,32,42,.12)!important;
}
.basket-dialog-top{
  padding-right:76px!important;
  min-width:0!important;
}
.basket-dialog-top h2{
  margin:12px 0 10px!important;
  color:#17202A!important;
  font-size:clamp(36px,5vw,52px)!important;
  line-height:1.08!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
}
.basket-dialog-top p{
  margin:0!important;
  color:#344054!important;
  font-size:21px!important;
  line-height:1.55!important;
  font-weight:700!important;
  max-width:780px!important;
}
.basket-dialog-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:46px!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  color:#17202A!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
}
.basket-dialog-badge.is-real{background:#78D64B!important}
.basket-dialog-badge.is-example{background:#7DD9F5!important}
.basket-dialog-badge.is-pending{background:#D9E6FF!important}
.basket-dialog-facts{
  list-style:none!important;
  margin:28px 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.basket-dialog-facts li{
  min-width:0!important;
  padding:18px 20px!important;
  border-radius:26px!important;
  background:#fff!important;
  color:#17202A!important;
  font-size:20px!important;
  line-height:1.4!important;
  font-weight:900!important;
  box-shadow:0 8px 22px rgba(23,32,42,.08)!important;
  overflow-wrap:anywhere!important;
}
.basket-dialog-gallery{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:start!important;
  min-width:0!important;
}
.basket-dialog-gallery .basket-gallery-image{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
  width:100%!important;
  padding:12px!important;
  border:3px solid rgba(23,32,42,.1)!important;
  border-radius:34px!important;
  background:#fff!important;
  color:#17202A!important;
  cursor:zoom-in!important;
  overflow:hidden!important;
  box-shadow:0 10px 28px rgba(23,32,42,.10)!important;
}
.basket-dialog-gallery .basket-gallery-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:580px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:24px!important;
  background:#f4f6f8!important;
}
.basket-dialog-gallery .basket-gallery-image span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:10px 8px 8px!important;
  color:#17202A!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:900!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.basket-dialog-note{
  margin:26px 0 0!important;
  padding:20px 22px!important;
  border-radius:28px!important;
  background:#DDF5FF!important;
  color:#17202A!important;
  font-size:20px!important;
  line-height:1.55!important;
  font-weight:800!important;
  overflow-wrap:anywhere!important;
}
.basket-empty-state{
  grid-column:1/-1!important;
  min-height:280px!important;
  padding:34px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:10px!important;
  text-align:center!important;
  border-radius:34px!important;
  background:#E8DBFF!important;
  color:#17202A!important;
  min-width:0!important;
}
.basket-empty-state>span{font-size:64px!important}
.basket-empty-state strong{font-size:32px!important;font-weight:900!important;overflow-wrap:anywhere!important}
.basket-empty-state p{font-size:20px!important;font-weight:700!important;line-height:1.5!important;margin:0!important;max-width:620px!important;overflow-wrap:anywhere!important}

/* Lightbox: never let an image or caption escape the window. */
dialog.image-lightbox{
  width:min(1240px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  overflow:auto!important;
}
#lightboxImage{
  display:block!important;
  max-width:100%!important;
  width:auto!important;
  height:auto!important;
  max-height:calc(100vh - 170px)!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border-radius:24px!important;
}
#lightboxCaption{
  max-width:100%!important;
  margin:14px 10px 4px!important;
  font-size:20px!important;
  line-height:1.45!important;
  font-weight:800!important;
  color:#17202A!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:900px){
  #country-allocation .country-select-zone{grid-template-columns:28px 38px minmax(0,1fr) auto!important;gap:10px!important}
  #country-allocation .country-basket-btn{font-size:18px!important;min-height:56px!important}
  .basket-dialog{padding:24px!important;border-radius:32px!important}
  .basket-dialog-facts,.basket-dialog-gallery{grid-template-columns:1fr!important}
  .basket-dialog-top{padding-right:62px!important}
  .basket-dialog-top p,.basket-dialog-note,.basket-dialog-facts li,.basket-dialog-gallery .basket-gallery-image span{font-size:18px!important}
}
@media(max-width:600px){
  #country-allocation .allocation-country{padding:16px!important;border-radius:28px!important}
  #country-allocation .country-select-zone{grid-template-columns:28px 34px minmax(0,1fr)!important}
  #country-allocation .choice-check{grid-column:1/-1!important;width:100%!important;height:46px!important;border-radius:999px!important}
  #country-allocation .allocation-country.is-selected .choice-check::after{content:' Selected';font-size:18px;font-weight:900}
  .basket-dialog{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;padding:18px!important;border-radius:28px!important}
  .close-basket-dialog{width:50px!important;height:50px!important;font-size:30px!important}
  .basket-dialog-top{padding-right:54px!important}
  .basket-dialog-top h2{font-size:34px!important}
  .basket-dialog-badge{font-size:17px!important}
  .basket-dialog-gallery .basket-gallery-image{border-radius:26px!important;padding:9px!important}
  .basket-dialog-gallery .basket-gallery-image img{border-radius:20px!important}
}

/* =========================================================
   v12 precision layout fix — basket buttons without squeezing country text
   ========================================================= */
/* The checkbox is positioned out of flow, so this row MUST have exactly
   three visual columns: flag | text | selected marker. */
#country-allocation .country-select-zone{
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  gap:16px!important;
  width:100%!important;
}
#country-allocation .country-choice-copy{
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#country-allocation .country-choice-copy b{
  font-size:26px!important;
  line-height:1.12!important;
  font-weight:900!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#country-allocation .country-choice-copy small{
  margin-top:5px!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:800!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#country-allocation .country-flag{
  width:48px!important;
  text-align:center!important;
  font-size:34px!important;
}
#country-allocation .country-basket-btn{
  justify-self:stretch!important;
  width:100%!important;
  min-height:60px!important;
  font-size:18px!important;
  padding:14px 18px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Reserve one right-side rail only. Previous versions reserved it twice. */
@media(min-width:1500px){
  body{padding-right:0!important}
  .site-header,.top-process-banner{padding-right:max(24px,calc((100vw - 1220px)/2))!important}
  #country-allocation.allocation-section{
    width:auto!important;
    max-width:none!important;
    margin-left:max(28px,calc((100vw - 1540px)/2))!important;
    margin-right:390px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  #country-allocation .allocation-shell{
    grid-template-columns:minmax(620px,1.45fr) minmax(370px,.75fr)!important;
  }
  #country-allocation .allocation-country-list{
    grid-template-columns:repeat(2,minmax(280px,1fr))!important;
  }
  .impact-side-note{
    position:fixed!important;
    width:340px!important;
    right:24px!important;
    top:120px!important;
    z-index:35!important;
  }
}
@media(min-width:901px) and (max-width:1499px){
  #country-allocation .allocation-shell{
    grid-template-columns:minmax(560px,1.25fr) minmax(350px,.75fr)!important;
  }
  #country-allocation .allocation-country-list{
    grid-template-columns:repeat(2,minmax(250px,1fr))!important;
  }
}
@media(max-width:1100px){
  #country-allocation .allocation-shell{grid-template-columns:1fr!important}
  #country-allocation .allocation-country-list{grid-template-columns:repeat(2,minmax(230px,1fr))!important}
}
@media(max-width:700px){
  #country-allocation .allocation-country-list{grid-template-columns:1fr!important}
  #country-allocation .country-select-zone{grid-template-columns:42px minmax(0,1fr) 44px!important;gap:12px!important}
  #country-allocation .country-flag{width:42px!important;font-size:30px!important}
  #country-allocation .country-choice-copy b{font-size:24px!important}
  #country-allocation .country-choice-copy small{font-size:18px!important}
  #country-allocation .country-basket-btn{font-size:18px!important}
}

/* =========================================================
   v13 FRUIT PRECISION — authoritative final visual layer
   Goal: no pale text, no squeezed country cards, no tiny UI.
   ========================================================= */
:root{
  --fruit-ink:#17202A!important;
  --fruit-ink-2:#102A43!important;
  --fruit-muted:#344054!important;
  --fruit-cream:#F3F8FF!important;
  --fruit-mango:#7DD9F5!important;
  --fruit-orange:#35C6C8!important;
  --fruit-watermelon:#8B6DFF!important;
  --fruit-kiwi:#78D64B!important;
  --fruit-blueberry:#6E8BFF!important;
  --fruit-grape:#A77BFF!important;
  --fruit-turquoise:#35C6C8!important;
  --fruit-strawberry:#5C7CFA!important;
  --fruit-lemon:#7DD9F5!important;
}
html{background:var(--fruit-cream)!important}
body{
  font-family:'Nunito',Arial,sans-serif!important;
  background:linear-gradient(180deg,#F3F8FF 0%,#F7FBFF 42%,#EAF9FF 100%)!important;
  color:var(--fruit-ink)!important;
  font-size:20px!important;
  line-height:1.6!important;
}
.ambient-bg{display:none!important}
body *{text-shadow:none!important}
main,section,article,aside,div,label,button,a,span,strong,b,small,p,h1,h2,h3,h4{min-width:0}

/* No meaningful text is allowed to become translucent. */
.eyebrow,.hero-text,.small-note,.allocation-method-note,.allocation-round-copy,
#allocationCoverage,.progress-meta,.country-choice-copy small,.allocation-promise p,
.impact-side-lead,.impact-side-vision,.impact-side-caution,.impact-side-stats span,
.flow-card p,.method-grid p,.document-list,.country-card p,.metrics span,
.basket-dialog-note,.basket-dialog-top p,.basket-dialog-facts li,
footer,.fx-note,.country-evidence p,.evidence-row{
  opacity:1!important;
  color:var(--fruit-ink)!important;
}

.site-header{
  background:#FFFFFF!important;
  border:0!important;
  box-shadow:0 8px 28px rgba(23,32,42,.10)!important;
  min-height:90px!important;
  padding:16px clamp(22px,4vw,64px)!important;
}
.brand{gap:14px!important;font-size:24px!important;font-weight:900!important;color:var(--fruit-ink)!important}
.brand-mark{
  width:58px!important;height:58px!important;border-radius:20px!important;
  background:linear-gradient(135deg,var(--fruit-turquoise),var(--fruit-blueberry))!important;
  color:#fff!important;font-size:18px!important;font-weight:900!important;
}
nav{gap:28px!important;color:var(--fruit-ink)!important;font-size:18px!important;font-weight:900!important}
nav a{color:var(--fruit-ink)!important;opacity:1!important}
nav a:hover{color:#0C7C79!important}

/* Main allocation area: vertical, roomy, never dashboard-squeezed. */
#country-allocation.allocation-section{
  max-width:1320px!important;
  width:auto!important;
  margin:0 auto!important;
  padding:64px 28px 70px!important;
}
#country-allocation .section-heading{max-width:1080px!important;margin-bottom:28px!important}
#country-allocation .section-heading .eyebrow{
  font-size:19px!important;font-weight:900!important;letter-spacing:.08em!important;color:#0B7E76!important;
}
#country-allocation .section-heading h2{
  font-size:clamp(44px,5vw,66px)!important;line-height:1.08!important;letter-spacing:-.035em!important;color:var(--fruit-ink)!important;margin:8px 0 14px!important;
}
#country-allocation .section-heading>p:last-child{
  font-size:22px!important;line-height:1.55!important;font-weight:800!important;color:var(--fruit-ink)!important;
}
#country-allocation .allocation-shell{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:30px!important;
  padding:30px!important;
  border:0!important;
  border-radius:44px!important;
  background:#FFFFFF!important;
  box-shadow:0 16px 44px rgba(23,32,42,.12)!important;
}
#country-allocation .allocation-picker{
  padding:28px!important;
  border-radius:38px!important;
  background:#DDF7FF!important;
  box-shadow:inset 0 0 0 3px rgba(23,32,42,.05)!important;
}
#country-allocation .allocation-toolbar{margin-bottom:24px!important;align-items:center!important}
#country-allocation .allocation-toolbar>strong{
  font-size:32px!important;line-height:1.2!important;font-weight:900!important;color:var(--fruit-ink)!important;
}
#country-allocation .step-bubble{
  width:48px!important;height:48px!important;border-radius:50%!important;background:var(--fruit-orange)!important;color:var(--fruit-ink)!important;font-size:23px!important;font-weight:900!important;
}
#country-allocation .allocation-clear{
  min-height:58px!important;padding:12px 24px!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;
  background:#fff!important;color:var(--fruit-ink)!important;font-size:19px!important;font-weight:900!important;
}
#country-allocation .allocation-country-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
#country-allocation .allocation-country{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  padding:22px!important;
  min-height:190px!important;
  border:4px solid transparent!important;
  border-radius:34px!important;
  box-shadow:0 10px 26px rgba(23,32,42,.12)!important;
  overflow:hidden!important;
}
#country-allocation .allocation-country:nth-child(8n+1){background:var(--fruit-turquoise)!important}
#country-allocation .allocation-country:nth-child(8n+2){background:var(--fruit-kiwi)!important}
#country-allocation .allocation-country:nth-child(8n+3){background:var(--fruit-mango)!important}
#country-allocation .allocation-country:nth-child(8n+4){background:var(--fruit-watermelon)!important}
#country-allocation .allocation-country:nth-child(8n+5){background:var(--fruit-grape)!important}
#country-allocation .allocation-country:nth-child(8n+6){background:var(--fruit-blueberry)!important}
#country-allocation .allocation-country:nth-child(8n+7){background:var(--fruit-orange)!important}
#country-allocation .allocation-country:nth-child(8n+8){background:var(--fruit-lemon)!important}
#country-allocation .allocation-country.is-selected{
  border-color:var(--fruit-ink)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(23,32,42,.18)!important;
}
#country-allocation .country-select-zone{
  position:relative!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 112px!important;
  gap:16px!important;
  align-items:center!important;
  width:100%!important;
  min-height:88px!important;
  cursor:pointer!important;
}
#country-allocation .country-select-zone input{
  position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;
}
#country-allocation .country-flag{
  display:grid!important;place-items:center!important;width:54px!important;height:54px!important;border-radius:18px!important;
  background:#fff!important;font-size:34px!important;line-height:1!important;box-shadow:0 6px 16px rgba(23,32,42,.10)!important;
}
#country-allocation .country-choice-copy{
  display:block!important;width:100%!important;min-width:0!important;color:var(--fruit-ink)!important;
}
#country-allocation .country-choice-copy b{
  display:block!important;margin:0!important;color:var(--fruit-ink)!important;font-size:29px!important;line-height:1.15!important;font-weight:900!important;
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;white-space:normal!important;
}
#country-allocation .country-choice-copy small{
  display:block!important;margin-top:7px!important;color:var(--fruit-ink)!important;font-size:20px!important;line-height:1.35!important;font-weight:900!important;
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}
#country-allocation .choice-check{
  display:grid!important;place-items:center!important;width:112px!important;min-height:48px!important;padding:8px 12px!important;border-radius:999px!important;
  background:#fff!important;color:var(--fruit-ink)!important;font-size:0!important;font-weight:900!important;box-shadow:0 5px 14px rgba(23,32,42,.10)!important;
}
#country-allocation .choice-check::after{content:'Choose';font-size:18px!important;font-weight:900!important}
#country-allocation .allocation-country.is-selected .choice-check{background:var(--fruit-ink)!important;color:#fff!important}
#country-allocation .allocation-country.is-selected .choice-check::after{content:'✓ Selected';color:#fff!important}
#country-allocation .country-basket-btn{
  width:100%!important;min-height:66px!important;padding:16px 22px!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;
  background:#fff!important;color:var(--fruit-ink)!important;font-size:20px!important;line-height:1.25!important;font-weight:900!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;box-shadow:0 7px 16px rgba(23,32,42,.10)!important;
}
#country-allocation .country-basket-btn:hover{transform:translateY(-2px)!important;background:#F7FBFF!important}
#country-allocation .allocation-method-note{
  margin:26px 0 0!important;padding:20px 22px!important;border-radius:28px!important;background:#fff!important;
  font-size:19px!important;line-height:1.55!important;font-weight:800!important;color:var(--fruit-ink)!important;
}

/* Funding summary becomes one spacious game panel. */
#country-allocation .allocation-summary{
  width:100%!important;padding:30px!important;border:0!important;border-radius:38px!important;background:var(--fruit-turquoise)!important;
  color:var(--fruit-ink)!important;box-shadow:0 12px 30px rgba(23,32,42,.12)!important;
}
#country-allocation .allocation-round-head{align-items:center!important}
#country-allocation .allocation-round-kicker,#country-allocation .round-label{font-size:20px!important;font-weight:900!important;color:var(--fruit-ink)!important}
#country-allocation .status{font-size:18px!important;font-weight:900!important;color:var(--fruit-ink)!important;background:var(--fruit-mango)!important;border:3px solid var(--fruit-ink)!important;padding:10px 16px!important}
#country-allocation .allocation-round-number{font-size:42px!important;line-height:1.15!important;font-weight:900!important;color:var(--fruit-ink)!important}
#country-allocation .allocation-round-copy,#country-allocation .progress-meta{font-size:20px!important;font-weight:800!important;color:var(--fruit-ink)!important;line-height:1.5!important}
#country-allocation .progress-track{height:18px!important;background:#fff!important;border-radius:999px!important;box-shadow:inset 0 0 0 2px rgba(23,32,42,.12)!important}
#country-allocation .progress-track span{background:var(--fruit-strawberry)!important}
#country-allocation .allocation-selected-block{
  margin-top:26px!important;padding:28px!important;border-radius:34px!important;background:#fff!important;color:var(--fruit-ink)!important;
}
#country-allocation .allocation-selected-block>.eyebrow{font-size:22px!important;font-weight:900!important;color:var(--fruit-ink)!important}
#country-allocation .allocation-total{font-size:48px!important;font-weight:900!important;color:#087F5B!important;margin:10px 0!important}
#country-allocation #allocationCoverage{font-size:20px!important;line-height:1.5!important;font-weight:800!important;color:var(--fruit-ink)!important}
#country-allocation .share-control{font-size:21px!important;font-weight:900!important;color:var(--fruit-ink)!important;margin:24px 0 12px!important}
#country-allocation .share-control b{color:#6650D7!important;font-size:24px!important}
#country-allocation .share-presets{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;margin:14px 0 18px!important}
#country-allocation .share-presets button{
  min-height:66px!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;background:var(--fruit-mango)!important;
  color:var(--fruit-ink)!important;font-size:22px!important;font-weight:900!important;padding:12px!important;
}
#country-allocation .share-presets button:nth-child(2){background:var(--fruit-orange)!important}
#country-allocation .share-presets button:nth-child(3){background:var(--fruit-watermelon)!important}
#country-allocation .share-presets button:nth-child(4){background:var(--fruit-kiwi)!important}
#country-allocation .share-presets button:nth-child(5){background:var(--fruit-blueberry)!important}
#country-allocation .share-presets button:nth-child(6){background:var(--fruit-grape)!important}
#country-allocation .share-presets button.active{background:var(--fruit-ink)!important;color:#fff!important;box-shadow:0 8px 0 rgba(23,32,42,.18)!important;transform:translateY(-2px)!important}
#country-allocation #allocationShare{height:24px!important;margin:8px 0 22px!important;accent-color:var(--fruit-strawberry)!important}
#country-allocation .allocation-split-note{
  padding:22px!important;border-radius:28px!important;background:var(--fruit-lemon)!important;color:var(--fruit-ink)!important;
}
#country-allocation .allocation-split-note strong{font-size:23px!important;color:var(--fruit-ink)!important}
#country-allocation .allocation-split-note span{font-size:19px!important;color:var(--fruit-ink)!important;font-weight:800!important}
#country-allocation .allocation-contribution{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:20px!important;align-items:center!important;
  margin:18px 0 0!important;padding:22px 24px!important;border:0!important;border-radius:28px!important;background:var(--fruit-blueberry)!important;
}
#country-allocation .allocation-pool{background:var(--fruit-grape)!important}
#country-allocation .allocation-grand-total{background:var(--fruit-watermelon)!important}
#country-allocation .allocation-contribution span{font-size:22px!important;line-height:1.35!important;font-weight:900!important;color:var(--fruit-ink)!important}
#country-allocation .allocation-contribution strong{font-size:40px!important;line-height:1.1!important;font-weight:900!important;color:var(--fruit-ink)!important;white-space:nowrap!important}
#country-allocation .allocation-breakdown{display:grid!important;gap:14px!important;margin:24px 0!important}
#country-allocation .allocation-breakdown>div{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;padding:20px!important;border:0!important;border-radius:24px!important;background:#DDF7FF!important;
  font-size:19px!important;color:var(--fruit-ink)!important;
}
#country-allocation .allocation-breakdown span,#country-allocation .allocation-breakdown b,#country-allocation .allocation-breakdown small{color:var(--fruit-ink)!important;font-weight:800!important}
#country-allocation .allocation-breakdown small{font-size:18px!important;line-height:1.45!important;margin-top:4px!important}
#country-allocation .allocation-breakdown>div>b{font-size:22px!important;white-space:normal!important;text-align:right!important}
#country-allocation .allocation-fund{
  width:100%!important;min-height:72px!important;margin-top:14px!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;
  background:var(--fruit-kiwi)!important;color:var(--fruit-ink)!important;font-size:22px!important;font-weight:900!important;opacity:1!important;
}
#country-allocation .small-note{font-size:18px!important;font-weight:800!important;color:var(--fruit-ink)!important;text-align:center!important}
#country-allocation .allocation-promise{
  margin-top:24px!important;padding:26px 28px!important;border:0!important;border-radius:34px!important;background:var(--fruit-kiwi)!important;color:var(--fruit-ink)!important;
  grid-template-columns:1fr!important;gap:8px!important;
}
#country-allocation .allocation-promise strong{font-size:22px!important;color:var(--fruit-ink)!important}
#country-allocation .allocation-promise p{font-size:19px!important;color:var(--fruit-ink)!important;font-weight:800!important;line-height:1.55!important}

/* Yellow pilot card: bright, readable, never translucent. */
.impact-side-note{
  background:var(--fruit-mango)!important;border:4px solid var(--fruit-ink)!important;border-radius:38px!important;
  color:var(--fruit-ink)!important;box-shadow:0 14px 34px rgba(23,32,42,.16)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.impact-side-note .eyebrow{font-size:18px!important;line-height:1.35!important;font-weight:900!important;color:var(--fruit-ink)!important}
.impact-side-amount{font-size:42px!important;line-height:1.1!important;font-weight:900!important;color:#087F5B!important}
.impact-side-lead,.impact-side-vision,.impact-side-caution{font-size:18px!important;line-height:1.5!important;font-weight:800!important;color:var(--fruit-ink)!important}
.impact-side-caution{opacity:1!important}
.impact-side-stats{gap:12px!important;border:0!important;padding:16px 0!important}
.impact-side-stats span{padding:13px 16px!important;border-radius:999px!important;background:#fff!important;color:var(--fruit-ink)!important;font-size:18px!important;font-weight:800!important}
.impact-side-stats b{color:var(--fruit-ink)!important;font-size:19px!important}
.impact-side-note>a{font-size:19px!important;font-weight:900!important;color:#075D54!important}
.impact-side-close{width:46px!important;height:46px!important;border-radius:50%!important;background:#fff!important;color:var(--fruit-ink)!important;font-size:30px!important;font-weight:900!important}

/* Make the rest of the site genuinely fruit-colored and readable. */
.hero,.rounds-section,.network-section,.local-impact-section,.method-section,.transparency-section,.cta-section,.volunteer-hero,.safeguards-section,.form-section,.volunteer-bottom-cta{color:var(--fruit-ink)!important}
.glass{background:#fff!important;border:0!important;box-shadow:0 12px 34px rgba(23,32,42,.10)!important}
.stats-strip{background:var(--fruit-lemon)!important;border-radius:38px!important}
.flow-card:nth-of-type(1),.method-grid article:nth-child(4n+1),.country-card:nth-child(6n+1){background:var(--fruit-turquoise)!important}
.flow-card:nth-of-type(2),.method-grid article:nth-child(4n+2),.country-card:nth-child(6n+2){background:var(--fruit-mango)!important}
.flow-card:nth-of-type(3),.method-grid article:nth-child(4n+3),.country-card:nth-child(6n+3){background:var(--fruit-grape)!important}
.method-grid article:nth-child(4n+4),.country-card:nth-child(6n+4){background:var(--fruit-watermelon)!important}
.country-card:nth-child(6n+5){background:var(--fruit-kiwi)!important}.country-card:nth-child(6n+6){background:var(--fruit-orange)!important}
.flow-card,.country-card,.method-grid article,.intent-banner,.pilot-impact-card,.future-comparison,.impact-dashboard,.transparency-section,.cta-section,.research-form,.zero-trust-card,.safeguard-grid article,.volunteer-bottom-cta{border-radius:34px!important;color:var(--fruit-ink)!important}
h1{color:var(--fruit-ink)!important;font-weight:900!important}
h2{color:var(--fruit-ink)!important;font-weight:900!important}
h3{color:var(--fruit-ink)!important;font-weight:900!important}
p,li,label,span,small{opacity:1}
.section-heading>p:last-child,.hero-text,.flow-card p,.method-grid p,.intent-banner>p,.pilot-impact-copy p,.future-comparison p,.transparency-section p,.cta-section p,.research-form p,.zero-trust-card p,.safeguard-grid p,.volunteer-bottom-cta p{color:var(--fruit-ink)!important;font-size:19px!important;font-weight:700!important;line-height:1.55!important}
.country-card h3{font-size:28px!important}.metrics strong{font-size:23px!important}.metrics span{font-size:18px!important;color:var(--fruit-ink)!important;font-weight:800!important}
.details-btn,.primary-btn,.secondary-btn,.form-submit{min-height:62px!important;border-radius:999px!important;font-size:20px!important;font-weight:900!important}
.primary-btn,.form-submit{background:var(--fruit-kiwi)!important;color:var(--fruit-ink)!important}.secondary-btn{background:var(--fruit-blueberry)!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important}
footer{font-size:18px!important;font-weight:800!important;color:var(--fruit-ink)!important;background:var(--fruit-mango)!important}

/* Dialogs use fruit surfaces and dark ink only. */
dialog{color:var(--fruit-ink)!important;background:#F3F8FF!important;border:4px solid var(--fruit-ink)!important;border-radius:38px!important}
.basket-dialog{background:#F3F8FF!important}
.basket-dialog-badge.is-pending{background:var(--fruit-blueberry)!important;color:var(--fruit-ink)!important}
.basket-dialog-facts li:nth-child(4n+1){background:var(--fruit-mango)!important}.basket-dialog-facts li:nth-child(4n+2){background:var(--fruit-kiwi)!important}.basket-dialog-facts li:nth-child(4n+3){background:var(--fruit-turquoise)!important}.basket-dialog-facts li:nth-child(4n+4){background:var(--fruit-grape)!important}
.basket-dialog-note{background:var(--fruit-lemon)!important;color:var(--fruit-ink)!important}
.basket-empty-state{background:var(--fruit-grape)!important;color:var(--fruit-ink)!important}

/* Desktop right rail: reserve real width; calculator itself stays wide and vertical. */
@media(min-width:1500px){
  .impact-side-note{position:fixed!important;right:24px!important;top:118px!important;width:330px!important;max-height:calc(100vh - 142px)!important;overflow:auto!important;z-index:35!important}
  #country-allocation.allocation-section{max-width:none!important;margin-left:max(28px,calc((100vw - 1680px)/2))!important;margin-right:382px!important;padding-left:0!important;padding-right:0!important}
  #country-allocation .allocation-country-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(min-width:1180px) and (max-width:1499px){
  .impact-side-note{position:relative!important;right:auto!important;top:auto!important;width:min(520px,calc(100% - 56px))!important;margin:24px auto 0!important;max-height:none!important;overflow:visible!important}
}
@media(max-width:1179px){.impact-side-note{position:relative!important;right:auto!important;top:auto!important;width:calc(100% - 36px)!important;margin:20px 18px 0!important;max-height:none!important;overflow:visible!important}}

@media(max-width:900px){
  nav{display:none!important}
  #country-allocation.allocation-section{padding:46px 18px 56px!important}
  #country-allocation .allocation-shell{padding:18px!important;border-radius:34px!important}
  #country-allocation .allocation-picker,#country-allocation .allocation-summary{padding:20px!important;border-radius:30px!important}
  #country-allocation .allocation-country-list{grid-template-columns:1fr!important}
  #country-allocation .share-presets{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #country-allocation .allocation-contribution{grid-template-columns:1fr!important}
  #country-allocation .allocation-contribution strong{font-size:36px!important;white-space:normal!important}
}
@media(max-width:600px){
  body{font-size:18px!important}
  .site-header{min-height:74px!important;padding:10px 16px!important}.brand{font-size:20px!important}.brand-mark{width:50px!important;height:50px!important}
  #country-allocation .section-heading h2{font-size:40px!important}
  #country-allocation .section-heading>p:last-child{font-size:20px!important}
  #country-allocation .allocation-toolbar{align-items:flex-start!important;flex-direction:column!important}
  #country-allocation .allocation-toolbar>strong{font-size:28px!important}
  #country-allocation .country-select-zone{grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important}
  #country-allocation .choice-check{grid-column:1/-1!important;width:100%!important}
  #country-allocation .country-choice-copy b{font-size:27px!important}
  #country-allocation .country-choice-copy small{font-size:19px!important}
  #country-allocation .country-basket-btn{font-size:19px!important}
  #country-allocation .allocation-round-number{font-size:36px!important}
  #country-allocation .allocation-total{font-size:42px!important}
  #country-allocation .share-presets button{font-size:20px!important}
  .impact-side-amount{font-size:38px!important}
}

/* Strong keyboard focus. */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:5px solid #17202A!important;outline-offset:4px!important}
\n\n/* v14 — Choose All + explicit Global World Round */\n#country-allocation .allocation-toolbar-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;justify-content:flex-end!important}\n#country-allocation .allocation-choose-all,#country-allocation .allocation-clear{min-height:58px!important;padding:14px 24px!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;color:var(--fruit-ink)!important;font-size:20px!important;font-weight:900!important;line-height:1.1!important;opacity:1!important;box-shadow:0 7px 0 rgba(23,32,42,.15)!important}\n#country-allocation .allocation-choose-all{background:var(--fruit-mango)!important}\n#country-allocation .allocation-clear{background:#fff!important}\n#country-allocation .allocation-choose-all:hover,#country-allocation .allocation-clear:hover{transform:translateY(-2px)!important;box-shadow:0 9px 0 rgba(23,32,42,.16)!important}\n#country-allocation .allocation-round-summary{background:var(--fruit-turquoise)!important;border:4px solid var(--fruit-ink)!important}\n#country-allocation .allocation-round-kicker{display:block!important;font-size:23px!important;font-weight:900!important;letter-spacing:.02em!important;color:var(--fruit-ink)!important}\n#country-allocation .allocation-round-number{font-size:42px!important;line-height:1.08!important;color:var(--fruit-ink)!important}\n#country-allocation .allocation-round-copy,#country-allocation .allocation-round-copy strong,#country-allocation .allocation-round-copy b{font-size:20px!important;line-height:1.55!important;color:var(--fruit-ink)!important;font-weight:800!important}\n#country-allocation .world-round-equation{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.35fr)!important;gap:10px!important;align-items:stretch!important;margin:22px 0!important}\n#country-allocation .world-round-equation span,#country-allocation .world-round-equation strong{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;padding:16px 12px!important;border:3px solid var(--fruit-ink)!important;border-radius:24px!important;color:var(--fruit-ink)!important;font-size:18px!important;font-weight:900!important;text-align:center!important;overflow-wrap:anywhere!important}\n#country-allocation .world-round-equation span:nth-of-type(1){background:var(--fruit-mango)!important}\n#country-allocation .world-round-equation span:nth-of-type(2){background:var(--fruit-watermelon)!important}\n#country-allocation .world-round-equation strong{background:var(--fruit-lemon)!important}\n#country-allocation .world-round-equation>b{display:flex!important;align-items:center!important;justify-content:center!important;color:var(--fruit-ink)!important;font-size:28px!important;font-weight:900!important}\n@media(max-width:900px){#country-allocation .world-round-equation{grid-template-columns:1fr!important}#country-allocation .world-round-equation>b{min-height:26px!important}#country-allocation .allocation-toolbar-actions{width:100%!important;justify-content:flex-start!important}}\n@media(max-width:600px){#country-allocation .allocation-toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important}#country-allocation .allocation-choose-all,#country-allocation .allocation-clear{width:100%!important;padding:13px 12px!important;font-size:18px!important}}\n
/* =========================================================
   v15 — TWO WAYS, ONE GLOBAL WORLD ROUND
   Precision layout: country choice + direct world-round funding
   ========================================================= */
.round-choice-layout{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(390px,.85fr)!important;gap:28px!important;align-items:start!important;max-width:1480px!important;margin:0 auto 30px!important}
.round-choice-layout>.allocation-picker{min-width:0!important;border-radius:42px!important;padding:32px!important;background:#fff!important;box-shadow:0 16px 44px rgba(23,32,42,.13)!important}
.selected-country-funding{max-width:1480px!important;margin:0 auto 30px!important;border-radius:42px!important;padding:34px!important;background:#fff!important;box-shadow:0 16px 44px rgba(23,32,42,.13)!important}
.allocation-shell{display:contents!important}
.allocation-heading{max-width:1480px!important;margin-left:auto!important;margin-right:auto!important}
.choice-intro,.selected-coverage{font-size:20px!important;font-weight:700!important;color:#344054!important;line-height:1.55!important}

.global-direct-card{position:sticky!important;top:112px!important;min-width:0!important;border-radius:42px!important;padding:30px!important;background:linear-gradient(145deg,#7DD9F5 0%,#7DD9F5 48%,#35C6C8 100%)!important;border:0!important;box-shadow:0 18px 48px rgba(92,124,250,.28)!important;color:#17202A!important;overflow:hidden!important}
.global-direct-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important}
.global-direct-head h3{font-size:34px!important;line-height:1.12!important;margin:8px 0 0!important;font-weight:900!important;color:#17202A!important;overflow-wrap:anywhere!important}
.global-direct-card .eyebrow{color:#17202A!important;font-size:19px!important;font-weight:900!important;opacity:1!important}
.global-direct-card .status{background:#fff!important;color:#17202A!important;border:3px solid #17202A!important;font-size:17px!important;font-weight:900!important;white-space:nowrap!important}
.global-direct-lead{font-size:21px!important;line-height:1.55!important;font-weight:700!important;color:#17202A!important;margin:22px 0 24px!important}

.world-fill-stage{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;gap:24px!important;align-items:center!important;background:#F7FBFF!important;border-radius:34px!important;padding:24px!important;box-shadow:inset 0 0 0 3px rgba(23,32,42,.08)!important}
.world-fill-orb{--world-fill:100%;width:200px!important;height:200px!important;border-radius:50%!important;position:relative!important;overflow:hidden!important;background:#fff!important;border:8px solid #5C7CFA!important;box-shadow:0 14px 30px rgba(92,124,250,.24)!important;isolation:isolate!important}
.world-water{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:var(--world-fill)!important;background:linear-gradient(180deg,#35C6C8,#5C7CFA)!important;transition:height .7s cubic-bezier(.2,.8,.2,1)!important;z-index:0!important}
.world-water:before,.world-water:after{content:""!important;position:absolute!important;left:-40%!important;width:180%!important;height:34px!important;top:-17px!important;border-radius:45%!important;background:rgba(255,255,255,.72)!important;animation:worldWave 4.6s linear infinite!important}
.world-water:after{top:-12px!important;background:rgba(53,198,200,.55)!important;animation-duration:6s!important;animation-direction:reverse!important}
@keyframes worldWave{to{transform:translateX(30%) rotate(360deg)}}
.world-orb-content{position:absolute!important;inset:0!important;z-index:2!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;text-shadow:0 2px 0 rgba(255,255,255,.72)!important;color:#17202A!important}
.world-orb-content>span{font-size:50px!important;line-height:1!important}
.world-orb-content>strong{font-size:44px!important;line-height:1!important;font-weight:1000!important;margin:8px 0 4px!important}
.world-orb-content>small{font-size:18px!important;font-weight:900!important;color:#17202A!important}
.world-fill-copy{min-width:0!important}
.world-preview-label{display:inline-block!important;background:#5C7CFA!important;color:#fff!important;padding:9px 14px!important;border-radius:999px!important;font-size:18px!important;font-weight:900!important}
.world-fill-copy>strong{display:block!important;font-size:28px!important;line-height:1.18!important;font-weight:1000!important;color:#17202A!important;margin:14px 0 10px!important;overflow-wrap:anywhere!important}
.world-fill-copy>p{font-size:19px!important;line-height:1.5!important;font-weight:700!important;color:#344054!important;margin:0 0 14px!important}
.actual-progress-pill{display:inline-flex!important;gap:7px!important;align-items:center!important;background:#78D64B!important;color:#17202A!important;border-radius:999px!important;padding:10px 14px!important;font-size:18px!important;font-weight:900!important}

.global-direct-presets{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin:22px 0 14px!important}
.global-direct-presets button{min-height:68px!important;border:4px solid #17202A!important;border-radius:999px!important;background:#fff!important;color:#17202A!important;font-size:23px!important;font-weight:1000!important;cursor:pointer!important;box-shadow:0 7px 0 rgba(23,32,42,.16)!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important}
.global-direct-presets button:hover{transform:translateY(-2px)!important}
.global-direct-presets button.active{background:#9B6DFF!important;color:#fff!important;border-color:#17202A!important;box-shadow:0 8px 0 rgba(23,32,42,.23)!important}
.global-direct-range{width:100%!important;accent-color:#9B6DFF!important;min-height:38px!important}
.global-direct-total{margin-top:18px!important;background:#8B6DFF!important;border-radius:32px!important;padding:22px!important;color:#17202A!important;overflow:hidden!important}
.global-direct-total>span{display:block!important;font-size:19px!important;font-weight:900!important;margin-bottom:7px!important}
.global-direct-total>strong{display:block!important;font-size:40px!important;line-height:1.08!important;font-weight:1000!important;overflow-wrap:anywhere!important}
.global-direct-total>small{display:block!important;font-size:18px!important;line-height:1.45!important;font-weight:800!important;color:#17202A!important;margin-top:8px!important}
.ordinary-donor-note{display:grid!important;grid-template-columns:auto 1fr!important;gap:14px!important;align-items:start!important;margin-top:18px!important;background:#fff!important;border-radius:30px!important;padding:20px!important;color:#17202A!important}
.ordinary-icon{font-size:35px!important}
.ordinary-donor-note strong{font-size:22px!important;font-weight:1000!important;color:#17202A!important}
.ordinary-donor-note p{font-size:19px!important;font-weight:700!important;line-height:1.5!important;color:#344054!important;margin:5px 0 0!important}
.global-direct-fund{width:100%!important;margin-top:18px!important;min-height:70px!important;border-radius:999px!important;font-size:20px!important;font-weight:1000!important}

.selected-funding-head{display:flex!important;justify-content:space-between!important;gap:28px!important;align-items:flex-start!important;margin-bottom:14px!important}
.selected-funding-head h3{font-size:34px!important;line-height:1.16!important;margin:8px 0!important;font-weight:1000!important;color:#17202A!important}
.selected-goal-badge{min-width:260px!important;background:#35C6C8!important;border-radius:28px!important;padding:18px 22px!important;color:#17202A!important}
.selected-goal-badge span{display:block!important;font-size:18px!important;font-weight:900!important}
.selected-goal-badge strong{display:block!important;font-size:34px!important;font-weight:1000!important;color:#17202A!important;overflow-wrap:anywhere!important}
.two-path-explainer{display:grid!important;grid-template-columns:1fr auto 1fr!important;gap:16px!important;align-items:center!important;margin:24px 0 12px!important}
.path-block{border-radius:30px!important;padding:22px!important;min-height:118px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;color:#17202A!important}
.path-block strong{font-size:32px!important;font-weight:1000!important}
.path-block span{font-size:19px!important;font-weight:1000!important;margin-top:4px!important}
.path-selected{background:#78D64B!important}.path-pool{background:#9B6DFF!important;color:#fff!important}.path-pool strong,.path-pool span{color:#fff!important}
.path-plus{font-size:38px!important;font-weight:1000!important;color:#17202A!important}
.pool-simple-copy{font-size:20px!important;font-weight:800!important;color:#344054!important;text-align:center!important;margin:10px auto 24px!important}
.selected-results-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.selected-results-grid .allocation-contribution{min-height:140px!important;border-radius:32px!important;padding:22px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;overflow:hidden!important}
.selected-results-grid .allocation-contribution span{font-size:19px!important;font-weight:1000!important;color:#17202A!important;overflow-wrap:anywhere!important}
.selected-results-grid .allocation-contribution strong{font-size:36px!important;font-weight:1000!important;line-height:1.05!important;overflow-wrap:anywhere!important;max-width:100%!important}
.selected-results-grid .allocation-contribution:first-child{background:#5C7CFA!important}.selected-results-grid .allocation-contribution:first-child span,.selected-results-grid .allocation-contribution:first-child strong{color:#fff!important}
.selected-results-grid .allocation-pool{background:#9B6DFF!important}.selected-results-grid .allocation-pool span,.selected-results-grid .allocation-pool strong{color:#fff!important}
.selected-results-grid .allocation-grand-total{background:#8B6DFF!important}.selected-results-grid .allocation-grand-total span,.selected-results-grid .allocation-grand-total strong{color:#17202A!important}

@media(max-width:1220px){
  .round-choice-layout{grid-template-columns:1fr!important}
  .global-direct-card{position:relative!important;top:auto!important}
  .world-fill-stage{grid-template-columns:220px 1fr!important}
}
@media(max-width:760px){
  .round-choice-layout>.allocation-picker,.global-direct-card,.selected-country-funding{padding:22px!important;border-radius:32px!important}
  .world-fill-stage{grid-template-columns:1fr!important;text-align:center!important}
  .world-fill-orb{margin:0 auto!important;width:190px!important;height:190px!important}
  .world-fill-copy{text-align:center!important}
  .global-direct-presets{grid-template-columns:repeat(2,1fr)!important}
  .selected-funding-head{display:block!important}
  .selected-goal-badge{min-width:0!important;margin-top:14px!important}
  .two-path-explainer{grid-template-columns:1fr!important}
  .path-plus{text-align:center!important;transform:rotate(90deg)!important}
  .selected-results-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.world-water:before,.world-water:after{animation:none!important}.world-water{transition:none!important}}

/* v16 — Desktop twin-panel layout: countries left, World Round right. Large-type lock. */
@media (min-width: 1050px){
  #country-allocation .round-choice-layout{
    display:grid!important;
    grid-template-columns:minmax(620px,1.35fr) minmax(460px,.95fr)!important;
    gap:32px!important;
    align-items:start!important;
    max-width:1540px!important;
  }
  #country-allocation .allocation-picker,
  #country-allocation .global-direct-card{min-width:0!important;width:100%!important;box-sizing:border-box!important}
  #country-allocation .global-direct-card{position:sticky!important;top:118px!important}
  #country-allocation .allocation-country-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}

/* Never sacrifice readability to keep two columns. */
@media (max-width:1049px){
  #country-allocation .round-choice-layout{grid-template-columns:1fr!important}
  #country-allocation .global-direct-card{position:relative!important;top:auto!important}
}

/* Large-type readability lock for the two main panels. */
#country-allocation .allocation-toolbar>strong{font-size:30px!important;line-height:1.2!important;font-weight:1000!important;color:#17202A!important}
#country-allocation .choice-intro{font-size:22px!important;line-height:1.5!important;font-weight:800!important;color:#17202A!important}
#country-allocation .allocation-method-note{font-size:20px!important;line-height:1.55!important;font-weight:800!important;color:#17202A!important}
#country-allocation .allocation-country-name{font-size:28px!important;line-height:1.15!important;font-weight:1000!important;color:#17202A!important}
#country-allocation .allocation-country-price{font-size:22px!important;line-height:1.35!important;font-weight:900!important;color:#17202A!important}
#country-allocation .allocation-country-status{font-size:20px!important;line-height:1.35!important;font-weight:900!important;color:#17202A!important}
#country-allocation .basket-preview-button{font-size:20px!important;line-height:1.2!important;font-weight:1000!important}
#country-allocation .global-direct-card .eyebrow{font-size:22px!important;line-height:1.25!important}
#country-allocation .global-direct-head h3{font-size:38px!important;line-height:1.12!important}
#country-allocation .global-direct-card .status{font-size:19px!important;line-height:1.2!important}
#country-allocation .global-direct-lead{font-size:22px!important;line-height:1.55!important;color:#17202A!important}
#country-allocation .world-fill-copy>strong{font-size:30px!important;line-height:1.2!important}
#country-allocation .world-fill-copy>p{font-size:20px!important;line-height:1.55!important;color:#17202A!important;font-weight:800!important}
#country-allocation .world-preview-label,#country-allocation .actual-progress-pill{font-size:19px!important}
#country-allocation .ordinary-donor-note p{font-size:20px!important;color:#17202A!important;font-weight:800!important}
#country-allocation .global-direct-total>small{font-size:19px!important;color:#17202A!important}

/* Wrapping guard: no important word or amount may escape its card. */
#country-allocation *,#country-allocation *::before,#country-allocation *::after{box-sizing:border-box}
#country-allocation .allocation-country-card,
#country-allocation .allocation-country-card *,
#country-allocation .global-direct-card,
#country-allocation .global-direct-card *{min-width:0;max-width:100%}
#country-allocation .allocation-country-name,
#country-allocation .allocation-country-price,
#country-allocation .allocation-country-status,
#country-allocation .global-direct-card p,
#country-allocation .global-direct-card strong,
#country-allocation .global-direct-card small{overflow-wrap:anywhere;word-break:normal}

/* v18 — network readability + clickable shopping examples */
.country-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;flex-wrap:nowrap!important}
.country-header>div{min-width:0!important;flex:1 1 auto!important}
.country-header .status{flex:0 0 auto!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;max-width:none!important;font-size:17px!important;line-height:1!important;padding:14px 18px!important;border-radius:999px!important}
.country-card{min-width:0!important;overflow:hidden!important}.country-card *{box-sizing:border-box}.country-card h3{overflow-wrap:anywhere!important}
@media(max-width:1180px){.country-header{flex-wrap:wrap!important}.country-header .status{font-size:16px!important}}

/* The final prototype message must be readable, never dark ink on dark green. */
.cta-section{background:#7DD9F5!important;color:#17202A!important;border:4px solid #17202A!important;border-radius:38px!important;padding:48px 42px!important;box-shadow:0 12px 34px rgba(23,32,42,.14)!important;text-align:center!important}
.cta-section .eyebrow,.cta-section h2,.cta-section p{color:#17202A!important;opacity:1!important;text-shadow:none!important}
.cta-section h2{font-size:clamp(38px,4vw,54px)!important;line-height:1.14!important}.cta-section p{font-size:21px!important;font-weight:800!important}

/* Selected-country yellow list doubles as an easy shopping-example launcher. */
#allocationBreakdown>div{cursor:pointer!important;position:relative!important;padding-right:190px!important;transition:transform .16s ease,box-shadow .16s ease!important;overflow:hidden!important}
#allocationBreakdown>div::after{content:'🧺 See shopping example';position:absolute;right:20px;top:50%;transform:translateY(-50%);background:#fff!important;color:#17202A!important;border:3px solid #17202A;border-radius:999px;padding:10px 14px;font-size:16px;font-weight:900;white-space:nowrap}
#allocationBreakdown>div:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(23,32,42,.15)!important}
#allocationBreakdown>div:focus-visible{outline:5px solid #5C7CFA!important;outline-offset:3px!important}
@media(max-width:850px){#allocationBreakdown>div{padding-right:18px!important;padding-bottom:72px!important}#allocationBreakdown>div::after{right:auto;left:18px;top:auto;bottom:14px;transform:none;font-size:16px}}

/* v19 — instant country-choice clarity: show price + useful basket size before clicking. */
#country-allocation .country-choice-copy{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important}
#country-allocation .country-choice-copy>b{font-size:29px!important;line-height:1.12!important;font-weight:1000!important;color:#17202A!important}
#country-allocation .country-choice-copy>small{font-size:22px!important;line-height:1.3!important;font-weight:1000!important;color:#17202A!important;opacity:1!important;overflow-wrap:anywhere!important}
#country-allocation .country-quick-impact{display:flex!important;flex-wrap:wrap!important;gap:7px 10px!important;margin-top:3px!important;color:#17202A!important}
#country-allocation .country-quick-impact>span{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:5px 10px!important;border:2px solid #17202A!important;border-radius:999px!important;background:#F7FBFF!important;color:#17202A!important;font-size:18px!important;line-height:1.2!important;font-weight:1000!important;opacity:1!important;max-width:100%!important;overflow-wrap:anywhere!important}
#country-allocation .country-quick-impact .country-wow{background:#35C6C8!important;font-size:20px!important;letter-spacing:.02em!important}
#country-allocation .allocation-country{overflow:hidden!important}
#country-allocation .country-select-zone{align-items:flex-start!important}
@media(max-width:760px){
  #country-allocation .country-choice-copy>b{font-size:27px!important}
  #country-allocation .country-choice-copy>small{font-size:20px!important}
  #country-allocation .country-quick-impact>span{font-size:18px!important}
}

/* v20 — country cards: deliberate hierarchy, no accidental word-by-word wrapping. */
@media (min-width:1050px){
  #country-allocation .allocation-country{padding:20px!important;gap:14px!important;align-content:start!important}
  #country-allocation .country-select-zone{
    grid-template-columns:54px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:12px 14px!important;
    align-items:start!important;
  }
  #country-allocation .country-flag{grid-column:1!important;grid-row:1!important}
  #country-allocation .country-choice-copy{grid-column:2!important;grid-row:1!important;gap:5px!important}
  #country-allocation .choice-check{
    grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-height:48px!important;
    justify-self:stretch!important;margin-top:2px!important;
  }
  #country-allocation .country-choice-copy>b{font-size:27px!important;line-height:1.08!important;overflow-wrap:normal!important;word-break:keep-all!important}
  #country-allocation .country-choice-copy>small{font-size:17px!important;line-height:1.25!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;letter-spacing:-.015em!important}
  #country-allocation .country-quick-impact{
    grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;
    margin-top:10px!important;padding:10px 12px!important;border-radius:18px!important;background:rgba(255,255,255,.88)!important;
    border:2px solid rgba(23,32,42,.16)!important;
  }
  #country-allocation .country-quick-impact>span{
    display:block!important;min-height:0!important;padding:5px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;
    font-size:16.5px!important;line-height:1.25!important;font-weight:900!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
  }
  #country-allocation .country-quick-impact>span+span{border-top:1px solid rgba(23,32,42,.14)!important}
  #country-allocation .country-quick-impact .country-wow{
    justify-self:start!important;display:inline-block!important;width:max-content!important;margin:0 0 4px!important;padding:5px 10px!important;
    border:2px solid #17202A!important;border-radius:999px!important;background:#35C6C8!important;font-size:16px!important;line-height:1!important;
  }
  #country-allocation .country-basket-btn{min-height:58px!important;padding:13px 16px!important;font-size:17px!important;line-height:1.2!important}
}

/* At narrower widths, give each country the full row before shrinking text into awkward columns. */
@media (min-width:1050px) and (max-width:1320px){
  #country-allocation .allocation-country-list{grid-template-columns:1fr!important}
  #country-allocation .country-choice-copy>small{font-size:19px!important}
}

/* =========================================================
   v21 — FRUIT READABILITY LOCK
   Final visual safety layer: zero washed-out text, saturated fruit UI,
   high contrast, stable wrapping, and professional hierarchy.
   ========================================================= */
:root{
  --fruit-ink:#17202A!important;
  --fruit-ink-2:#102A43!important;
  --fruit-muted:#2D3A49!important;
  --fruit-cream:#F7FBFF!important;
  --fruit-mango:#7DD9F5!important;
  --fruit-orange:#35C6C8!important;
  --fruit-watermelon:#8B6DFF!important;
  --fruit-kiwi:#78D64B!important;
  --fruit-blueberry:#5C7CFA!important;
  --fruit-grape:#9B6DFF!important;
  --fruit-turquoise:#35C6C8!important;
  --fruit-strawberry:#5C7CFA!important;
  --fruit-lemon:#7DD9F5!important;
}

/* Visible text is always opaque and high contrast. Hidden controls stay hidden. */
body,main,section,article,aside,header,footer,dialog,
p,h1,h2,h3,h4,h5,h6,li,label,strong,b,em,small,
button,a,.status,.eyebrow,.metric-highlight,.round-label,
.country-card,.country-card *,.allocation-section,.allocation-section *:not(input),
.basket-dialog,.basket-dialog *,.impact-side-note,.impact-side-note *{
  text-shadow:none!important;
}
p,h1,h2,h3,h4,h5,h6,li,label,strong,b,em,small,
.status,.eyebrow,.round-label,.country-card span,.country-card small,
#country-allocation span:not(.world-water):not(.world-wave),
#country-allocation small,#country-allocation p,#country-allocation label,
.basket-dialog p,.basket-dialog li,.basket-dialog small,.basket-dialog span,
.impact-side-note p,.impact-side-note small,.impact-side-note span{
  opacity:1!important;
}

/* Never use pale helper copy. */
.section-heading p,.hero-text,.flow-card p,.method-grid p,.transparency-section p,
.document-list,.small-note,.dialog-status,.checklist,.allocation-method-note,
.choice-intro,.selected-coverage,.allocation-round-copy,.progress-meta,
.world-fill-copy p,.ordinary-donor-note p,.basket-dialog-note,
.impact-side-lead,.impact-side-vision,.impact-side-caution,
.impact-side-stats span,.allocation-breakdown small{
  color:var(--fruit-ink)!important;
  opacity:1!important;
  font-weight:800!important;
}

/* Bright warm canvas, with subtle fruit zones instead of gray surfaces. */
html,body{background:var(--fruit-cream)!important;color:var(--fruit-ink)!important}
body{background-image:
  radial-gradient(circle at 9% 15%,rgba(125,217,245,.28),transparent 23%),
  radial-gradient(circle at 92% 28%,rgba(53,198,200,.20),transparent 24%),
  radial-gradient(circle at 20% 78%,rgba(155,109,255,.14),transparent 20%),
  linear-gradient(180deg,#F7FBFF 0%,#F7FCFF 48%,#F3F8FF 100%)!important}
.site-header{background:#FFFFFF!important;border-bottom:4px solid var(--fruit-mango)!important;box-shadow:0 8px 24px rgba(23,32,42,.12)!important}
nav a{color:var(--fruit-ink)!important;background:transparent!important}
nav a:hover,nav a:focus-visible{background:var(--fruit-lemon)!important;color:var(--fruit-ink)!important}

/* Country picker: saturated cards + clean white information islands. */
#country-allocation .round-choice-layout>.allocation-picker{
  background:linear-gradient(145deg,#DDF7FF 0%,#7DD9F5 100%)!important;
  border:4px solid var(--fruit-ink)!important;
}
#country-allocation .allocation-country{
  border:3px solid var(--fruit-ink)!important;
  box-shadow:0 9px 0 rgba(23,32,42,.12),0 16px 28px rgba(23,32,42,.10)!important;
}
#country-allocation .allocation-country:nth-child(8n+1){background:var(--fruit-turquoise)!important}
#country-allocation .allocation-country:nth-child(8n+2){background:var(--fruit-kiwi)!important}
#country-allocation .allocation-country:nth-child(8n+3){background:var(--fruit-mango)!important}
#country-allocation .allocation-country:nth-child(8n+4){background:var(--fruit-watermelon)!important}
#country-allocation .allocation-country:nth-child(8n+5){background:var(--fruit-grape)!important}
#country-allocation .allocation-country:nth-child(8n+6){background:var(--fruit-blueberry)!important}
#country-allocation .allocation-country:nth-child(8n+7){background:var(--fruit-orange)!important}
#country-allocation .allocation-country:nth-child(8n+8){background:var(--fruit-lemon)!important}
#country-allocation .allocation-country:hover{transform:translateY(-3px)!important;box-shadow:0 12px 0 rgba(23,32,42,.14),0 20px 34px rgba(23,32,42,.14)!important}
#country-allocation .allocation-country:has(input:checked){outline:6px solid #FFFFFF!important;outline-offset:-9px!important}
#country-allocation .country-choice-copy>b,
#country-allocation .country-choice-copy>small,
#country-allocation .country-quick-impact>span{
  color:var(--fruit-ink)!important;opacity:1!important;
}
#country-allocation .country-choice-copy>small{background:#FFFFFF!important;border:3px solid var(--fruit-ink)!important;border-radius:18px!important;padding:8px 10px!important;display:block!important;width:100%!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
#country-allocation .country-quick-impact{background:#FFFFFF!important;border:3px solid var(--fruit-ink)!important;box-shadow:none!important}
#country-allocation .country-quick-impact>span{font-size:17px!important;border-color:rgba(23,32,42,.25)!important}
#country-allocation .country-quick-impact .country-wow{background:var(--fruit-orange)!important;border:3px solid var(--fruit-ink)!important;color:var(--fruit-ink)!important}
#country-allocation .choice-check,#country-allocation .country-basket-btn{
  background:#FFFFFF!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;opacity:1!important;
  box-shadow:0 6px 0 rgba(23,32,42,.14)!important;
}
#country-allocation .allocation-country.is-selected .choice-check,
#country-allocation .allocation-country:has(input:checked) .choice-check{
  background:var(--fruit-strawberry)!important;color:#FFFFFF!important;border-color:var(--fruit-ink)!important;
}

/* Global Round is intentionally the strongest fruit panel. */
#country-allocation .global-direct-card{
  background:linear-gradient(145deg,var(--fruit-mango) 0%,var(--fruit-lemon) 48%,var(--fruit-orange) 100%)!important;
  border:4px solid var(--fruit-ink)!important;
  box-shadow:0 14px 0 rgba(23,32,42,.11),0 24px 44px rgba(92,124,250,.20)!important;
}
#country-allocation .global-direct-card,
#country-allocation .global-direct-card *{color:var(--fruit-ink)!important;opacity:1!important}
#country-allocation .world-fill-stage{background:#FFFFFF!important;border:4px solid var(--fruit-ink)!important;box-shadow:none!important}
#country-allocation .world-preview-label{background:var(--fruit-blueberry)!important;color:#FFFFFF!important;border:3px solid var(--fruit-ink)!important}
#country-allocation .actual-progress-pill{background:var(--fruit-kiwi)!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important}
#country-allocation .global-direct-presets button,
#country-allocation .share-presets button{background:#FFFFFF!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;opacity:1!important;box-shadow:0 6px 0 rgba(23,32,42,.14)!important}
#country-allocation .global-direct-presets button:hover,
#country-allocation .global-direct-presets button.active,
#country-allocation .share-presets button:hover,
#country-allocation .share-presets button.active{background:var(--fruit-strawberry)!important;color:#FFFFFF!important;border-color:var(--fruit-ink)!important;transform:translateY(-2px)!important}

/* Selected-country funding/results: each meaning gets a real fruit color. */
#country-allocation .selected-country-funding{background:#FFFFFF!important;border:4px solid var(--fruit-ink)!important}
#country-allocation .allocation-contribution:not(.allocation-pool):not(.allocation-grand-total){background:var(--fruit-turquoise)!important;border:3px solid var(--fruit-ink)!important}
#country-allocation .allocation-pool{background:var(--fruit-grape)!important;border:3px solid var(--fruit-ink)!important}
#country-allocation .allocation-grand-total{background:var(--fruit-watermelon)!important;border:3px solid var(--fruit-ink)!important}
#country-allocation .allocation-contribution span,#country-allocation .allocation-contribution strong{color:var(--fruit-ink)!important;opacity:1!important}
#country-allocation .allocation-breakdown>div{background:var(--fruit-lemon)!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;border-radius:24px!important;margin-bottom:10px!important;padding-top:18px!important;padding-bottom:18px!important}
#country-allocation .allocation-breakdown>div,#country-allocation .allocation-breakdown>div *{color:var(--fruit-ink)!important;opacity:1!important}

/* Network cards are fruit, but their inner metrics stay highly readable. */
.country-card{border:4px solid var(--fruit-ink)!important;box-shadow:0 10px 0 rgba(23,32,42,.10),0 18px 30px rgba(23,32,42,.10)!important;color:var(--fruit-ink)!important}
.country-card:nth-child(8n+1){background:var(--fruit-turquoise)!important}.country-card:nth-child(8n+2){background:var(--fruit-orange)!important}.country-card:nth-child(8n+3){background:var(--fruit-mango)!important}.country-card:nth-child(8n+4){background:var(--fruit-grape)!important}.country-card:nth-child(8n+5){background:var(--fruit-watermelon)!important}.country-card:nth-child(8n+6){background:var(--fruit-kiwi)!important}.country-card:nth-child(8n+7){background:var(--fruit-blueberry)!important}.country-card:nth-child(8n){background:var(--fruit-lemon)!important}
.country-card,.country-card *{color:var(--fruit-ink)!important;opacity:1!important}
.country-card .metrics div{background:#FFFFFF!important;border:3px solid var(--fruit-ink)!important;color:var(--fruit-ink)!important}
.country-card .metrics span,.country-card .metrics strong{color:var(--fruit-ink)!important;opacity:1!important}
.country-card .status{background:var(--fruit-lemon)!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;white-space:nowrap!important}
.country-card .details-btn{background:#FFFFFF!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;box-shadow:0 6px 0 rgba(23,32,42,.14)!important}

/* Secondary sections: no gray-on-gray. */
.flow-card:nth-child(1),.method-grid article:nth-child(1),.local-impact-step:nth-child(1){background:var(--fruit-turquoise)!important}
.flow-card:nth-child(2),.method-grid article:nth-child(2),.local-impact-step:nth-child(2){background:var(--fruit-mango)!important}
.flow-card:nth-child(3),.method-grid article:nth-child(3),.local-impact-step:nth-child(3){background:var(--fruit-watermelon)!important}
.flow-card,.method-grid article,.local-impact-step,.impact-dashboard,.intent-banner,.purchasing-power-note,.pilot-impact-card,.future-comparison,.transparency-section,.volunteer-cta,.zero-trust-card,.safeguard-grid article,.research-form,.volunteer-bottom-cta{
  color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;opacity:1!important;
}
.flow-card *,.method-grid article *,.local-impact-step *,.impact-dashboard *,.intent-banner *,.purchasing-power-note *,.pilot-impact-card *,.future-comparison *,.transparency-section *,.volunteer-cta *,.zero-trust-card *,.safeguard-grid article *,.research-form *,.volunteer-bottom-cta *{color:var(--fruit-ink)!important;opacity:1!important}

/* Side pilot card: saturated lemon, no washed-out copy. */
.impact-side-note{background:var(--fruit-mango)!important;color:var(--fruit-ink)!important;border:4px solid var(--fruit-ink)!important;box-shadow:0 12px 0 rgba(23,32,42,.10),0 22px 40px rgba(23,32,42,.13)!important}
.impact-side-note,.impact-side-note *{color:var(--fruit-ink)!important;opacity:1!important}
.impact-side-stats span{background:#FFFFFF!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;padding:10px 14px!important}
.impact-side-note>a{background:var(--fruit-turquoise)!important;color:var(--fruit-ink)!important;border:3px solid var(--fruit-ink)!important;border-radius:999px!important;padding:10px 16px!important;text-decoration:none!important}

/* Dialogs and evidence viewers. */
dialog,.basket-dialog{background:#FFFFFF!important;color:var(--fruit-ink)!important;border:4px solid var(--fruit-ink)!important}
dialog *, .basket-dialog *{color:var(--fruit-ink)!important;opacity:1!important}
.basket-dialog-note{background:var(--fruit-lemon)!important;border:3px solid var(--fruit-ink)!important}
.basket-dialog-facts li{border:3px solid var(--fruit-ink)!important;color:var(--fruit-ink)!important}

/* Explicitly keep only genuinely hidden controls transparent. */
#country-allocation input[type="checkbox"],.hidden-field,.world-wave{ }
#country-allocation input[type="checkbox"]{opacity:0!important}

/* Defensive wrapping: readable, never one-character columns or numeric spills. */
.country-card,.allocation-country,.global-direct-card,.selected-country-funding,.impact-side-note,.basket-dialog{min-width:0!important}
.country-card *,#country-allocation .allocation-country *,#country-allocation .global-direct-card *,#country-allocation .selected-country-funding *,.impact-side-note *,.basket-dialog *{min-width:0!important;max-width:100%}
.country-card h3,#country-allocation .country-choice-copy>b{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
#country-allocation .country-choice-copy>small,.country-card .metrics span,.country-card .metrics strong{word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}

@media(max-width:600px){
  #country-allocation .country-choice-copy>small{font-size:19px!important;padding:8px 9px!important}
  .country-card .status{white-space:normal!important;text-align:center!important}
}


/* v22 — keep the selected-country amount clear of the shopping-example button. */
#allocationBreakdown>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"copy amount" "copy action"!important;
  column-gap:24px!important;
  row-gap:12px!important;
  align-items:start!important;
  padding:22px 22px!important;
  overflow:visible!important;
}
#allocationBreakdown>div>span{grid-area:copy!important;min-width:0!important;padding-right:8px!important}
#allocationBreakdown>div>b{grid-area:amount!important;position:static!important;justify-self:end!important;align-self:start!important;white-space:nowrap!important;font-size:22px!important;line-height:1.2!important;color:#17202A!important;opacity:1!important}
#allocationBreakdown>div::after{
  grid-area:action!important;
  position:static!important;
  transform:none!important;
  justify-self:end!important;
  align-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
 #allocationBreakdown>div{grid-template-columns:1fr!important;grid-template-areas:"copy" "amount" "action"!important}
 #allocationBreakdown>div>b,#allocationBreakdown>div::after{justify-self:start!important}
}

/* v25 — Precision UI update: compact two-column country chooser + clear World Round */
@media (min-width:1180px){
  #country-allocation .round-choice-layout{grid-template-columns:minmax(0,1.45fr) minmax(430px,.85fr)!important;gap:28px!important;align-items:start!important}
  #country-allocation .allocation-country-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
  #country-allocation .allocation-country{padding:14px!important;border-radius:24px!important}
  #country-allocation .country-select-zone{gap:10px!important}
  #country-allocation .country-choice-copy>b{font-size:23px!important;line-height:1.12!important}
  #country-allocation .country-choice-copy>small{font-size:18px!important;line-height:1.25!important;padding:6px 8px!important}
  #country-allocation .country-quick-impact{font-size:17px!important;line-height:1.25!important;gap:5px!important}
  #country-allocation .country-basket-btn{min-height:52px!important;padding:10px 14px!important;font-size:18px!important}
  #country-allocation .global-direct-card{position:sticky!important;top:104px!important}
}
@media (min-width:1180px) and (max-width:1399px){
  #country-allocation .round-choice-layout{grid-template-columns:minmax(0,1.25fr) minmax(410px,.9fr)!important}
  #country-allocation .country-choice-copy>b{font-size:22px!important}
}
@media (max-width:1179px){
  #country-allocation .round-choice-layout{grid-template-columns:1fr!important}
  #country-allocation .global-direct-card{position:relative!important;top:auto!important}
  #country-allocation .allocation-country-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;overflow:visible!important}
}
@media (max-width:760px){#country-allocation .allocation-country-list{grid-template-columns:1fr!important}}

/* Never let important values or labels collide or split awkwardly. */
#country-allocation .country-choice-copy>small,
#country-allocation .allocation-total,
#country-allocation .allocation-contribution>strong,
#country-allocation #globalDirectAmount,
#country-allocation #globalDirectPercentBig,
#allocationBreakdown>div>b{font-variant-numeric:tabular-nums!important}
#country-allocation .country-choice-copy>small{overflow-wrap:normal!important;word-break:normal!important}
#country-allocation .country-choice-copy>small .money,#country-allocation .money{white-space:nowrap!important}
#country-allocation button,.impact-side-note a{overflow-wrap:normal!important;word-break:normal!important}

/* Yellow concept card: short, concrete, fully opaque. */
.impact-side-note{background:#7DD9F5!important;color:#17202A!important;border:4px solid #17202A!important;overflow:visible!important}
.impact-side-note *{opacity:1!important}
.impact-side-note .eyebrow{font-size:21px!important;line-height:1.2!important;font-weight:1000!important;color:#17202A!important;margin-right:44px!important}
.impact-side-lead,.impact-side-percent,.impact-side-caution{font-size:19px!important;line-height:1.45!important;font-weight:800!important;color:#17202A!important}
.impact-side-paths,.impact-side-split{display:grid!important;gap:10px!important;margin:14px 0!important}
.impact-side-paths span,.impact-side-split span{display:block!important;padding:12px 14px!important;border:3px solid #17202A!important;border-radius:20px!important;font-size:18px!important;line-height:1.3!important;font-weight:800!important;color:#17202A!important;background:#fff!important}
.impact-side-paths span:first-child{background:#35C6C8!important}.impact-side-paths span:last-child{background:#8B6DFF!important}
.impact-side-split span:first-child{background:#78D64B!important}.impact-side-split span:last-child{background:#9B6DFF!important;color:#17202A!important}
.impact-side-percent{background:#35C6C8!important;border:3px solid #17202A!important;border-radius:20px!important;padding:12px 14px!important}
@media(min-width:1500px){.impact-side-note{max-height:calc(100vh - 140px)!important;overflow:auto!important}}

/* 200% zoom / narrow viewport safety */
@media(max-width:900px){
  #country-allocation .global-direct-head{flex-wrap:wrap!important}
  #country-allocation .world-fill-stage{grid-template-columns:1fr!important}
  #country-allocation .world-fill-orb{margin-inline:auto!important}
  #country-allocation .global-direct-presets,#country-allocation .share-presets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* 18 Aug 2026 — color-only harmony pass: warm fruit palette, no layout changes */
:root{
  --bg:#F7FBFF;--surface:rgba(255,255,255,.82);--text:#263238;--muted:#66736d;--line:rgba(77,105,92,.16);
  --green:#78d64b;--amber:#35C6C8;--amber-bg:rgba(125,217,245,.28);--shadow:0 25px 90px rgba(155,109,255,.10);
}
body{background:#F7FBFF;color:var(--text)}
.ambient-bg{background:radial-gradient(circle at 12% 18%,rgba(125,217,245,.30),transparent 34%),radial-gradient(circle at 88% 28%,rgba(132,104,245,.18),transparent 32%),radial-gradient(circle at 72% 76%,rgba(92,124,250,.13),transparent 34%),linear-gradient(180deg,#F7FBFF,#F2F8FF 55%,#F7FBFF)}
.glow-a{background:#7DD9F5}.glow-b{background:#9b6dff}.grid-overlay{background-image:linear-gradient(rgba(120,214,75,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(92,124,250,.05) 1px,transparent 1px)}
.site-header{background:rgba(255,249,236,.88);border-bottom-color:rgba(92,124,250,.20)}
.brand-mark{background:linear-gradient(135deg,#7DD9F5,#35C6C8);color:#17202A;box-shadow:0 0 30px rgba(92,124,250,.22)}
nav{color:#66736d}.glass{background:rgba(255,255,255,.78);border-color:rgba(155,109,255,.14);box-shadow:var(--shadow)}
.eyebrow,.round-label,.flow-number,.flow-arrow,.country-code,.method-grid article>span,.allocation-clear{color:#5ea934}
.status-unverified{color:#334A9A;background:rgba(125,217,245,.30);border-color:rgba(92,124,250,.22)}
.primary-btn,.filter.active{background:linear-gradient(135deg,#7DD9F5,#35C6C8);color:#17202A;border-color:#35C6C8}.secondary-btn,.filter,.details-btn,.funding-grid button{background:rgba(255,255,255,.72);color:#43534b}
.progress-track,.mini-progress{background:rgba(92,124,250,.10)}.progress-track span,.mini-progress span{background:linear-gradient(90deg,#78d64b,#35c6c8)}
.country-card{background:rgba(255,255,255,.76);border-color:rgba(155,109,255,.14)}
.country-card:nth-child(6n+1){background:rgba(125,217,245,.16);border-color:rgba(92,124,250,.22)}
.country-card:nth-child(6n+2){background:rgba(120,214,75,.13);border-color:rgba(120,214,75,.22)}
.country-card:nth-child(6n+3){background:rgba(53,198,200,.11);border-color:rgba(53,198,200,.22)}
.country-card:nth-child(6n+4){background:rgba(92,124,250,.10);border-color:rgba(92,124,250,.18)}
.country-card:nth-child(6n+5){background:rgba(155,109,255,.10);border-color:rgba(155,109,255,.18)}
.country-card:nth-child(6n+6){background:rgba(132,104,245,.10);border-color:rgba(132,104,245,.18)}
.country-card:hover{background:rgba(255,255,255,.94);box-shadow:0 20px 70px rgba(155,109,255,.14)}
.metrics div,.impact-metrics div{background:rgba(255,255,255,.60)}
.allocation-country{background:rgba(255,255,255,.62)}.allocation-country:has(input:checked){border-color:rgba(120,214,75,.60);background:rgba(120,214,75,.16)}
.allocation-summary{background:rgba(255,249,236,.84);border-color:rgba(92,124,250,.20)}
.allocation-total,.share-control b,.allocation-promise strong{color:#5ea934}

/* 18 Aug 2026 — cool harmony pass: purple, green, sky blue, blue and turquoise only. */
:root{
  --cool-purple:#8B6DFF!important;
  --cool-green:#78D64B!important;
  --cool-sky:#7DD9F5!important;
  --cool-blue:#5C7CFA!important;
  --cool-turquoise:#35C6C8!important;
  --fruit-mango:var(--cool-sky)!important;
  --fruit-orange:var(--cool-blue)!important;
  --fruit-watermelon:var(--cool-purple)!important;
  --fruit-kiwi:var(--cool-green)!important;
  --fruit-blueberry:var(--cool-blue)!important;
  --fruit-grape:var(--cool-purple)!important;
  --fruit-turquoise:var(--cool-turquoise)!important;
  --fruit-strawberry:var(--cool-blue)!important;
  --fruit-lemon:var(--cool-sky)!important;
  --green:var(--cool-green)!important;
  --amber:var(--cool-turquoise)!important;
  --amber-bg:rgba(53,198,200,.16)!important;
}
html,body{background:#F7FBFF!important}
body{background-image:
  radial-gradient(circle at 8% 12%,rgba(139,109,255,.18),transparent 24%),
  radial-gradient(circle at 90% 22%,rgba(53,198,200,.18),transparent 25%),
  radial-gradient(circle at 18% 80%,rgba(120,214,75,.13),transparent 22%),
  radial-gradient(circle at 82% 78%,rgba(92,124,250,.13),transparent 25%),
  linear-gradient(180deg,#F7FBFF 0%,#F3FCFF 50%,#F8F7FF 100%)!important}
.ambient-bg{background:radial-gradient(circle at 12% 18%,rgba(125,217,245,.24),transparent 34%),radial-gradient(circle at 88% 28%,rgba(139,109,255,.18),transparent 32%),radial-gradient(circle at 72% 76%,rgba(53,198,200,.14),transparent 34%),linear-gradient(180deg,#F7FBFF,#F2FBFF 55%,#F7F8FF)!important}
.glow-a{background:var(--cool-turquoise)!important}.glow-b{background:var(--cool-purple)!important}
.grid-overlay{background-image:linear-gradient(rgba(120,214,75,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(92,124,250,.05) 1px,transparent 1px)!important}
.site-header{background:rgba(247,251,255,.92)!important;border-bottom-color:rgba(53,198,200,.28)!important}
.brand-mark{background:linear-gradient(135deg,var(--cool-turquoise),var(--cool-blue))!important;color:#fff!important;box-shadow:0 0 30px rgba(92,124,250,.20)!important}
nav a:hover,nav a:focus-visible{background:var(--cool-sky)!important}
.glass{background:rgba(255,255,255,.82)!important;border-color:rgba(92,124,250,.16)!important;box-shadow:0 25px 90px rgba(139,109,255,.10)!important}
.eyebrow,.round-label,.flow-number,.flow-arrow,.country-code,.method-grid article>span,.allocation-clear{color:#3D7D67!important}
.status-unverified{color:#334A9A!important;background:rgba(125,217,245,.26)!important;border-color:rgba(92,124,250,.25)!important}
.primary-btn,.filter.active{background:linear-gradient(135deg,var(--cool-turquoise),var(--cool-blue))!important;color:#fff!important;border-color:var(--cool-blue)!important}
.progress-track,.mini-progress{background:rgba(92,124,250,.10)!important}.progress-track span,.mini-progress span{background:linear-gradient(90deg,var(--cool-green),var(--cool-turquoise))!important}

/* Country chooser + country cards: repeat one intentional five-color family. */
#country-allocation .round-choice-layout>.allocation-picker{background:linear-gradient(145deg,#DDF7FF 0%,#E7E2FF 100%)!important}
#country-allocation .allocation-country:nth-child(5n+1),.country-card:nth-child(5n+1){background:rgba(53,198,200,.76)!important}
#country-allocation .allocation-country:nth-child(5n+2),.country-card:nth-child(5n+2){background:rgba(120,214,75,.72)!important}
#country-allocation .allocation-country:nth-child(5n+3),.country-card:nth-child(5n+3){background:rgba(125,217,245,.80)!important}
#country-allocation .allocation-country:nth-child(5n+4),.country-card:nth-child(5n+4){background:rgba(92,124,250,.67)!important}
#country-allocation .allocation-country:nth-child(5n+5),.country-card:nth-child(5n+5){background:rgba(139,109,255,.67)!important}
#country-allocation .allocation-country.is-selected .choice-check,#country-allocation .allocation-country:has(input:checked) .choice-check{background:var(--cool-blue)!important;color:#fff!important}
#country-allocation .country-quick-impact .country-wow{background:var(--cool-sky)!important}
#country-allocation .global-direct-card{background:linear-gradient(145deg,var(--cool-sky) 0%,var(--cool-turquoise) 52%,var(--cool-blue) 100%)!important;box-shadow:0 14px 0 rgba(23,32,42,.11),0 24px 44px rgba(92,124,250,.18)!important}
#country-allocation .world-preview-label{background:var(--cool-purple)!important;color:#fff!important}
#country-allocation .actual-progress-pill{background:var(--cool-green)!important}
#country-allocation .global-direct-presets button:hover,#country-allocation .global-direct-presets button.active,#country-allocation .share-presets button:hover,#country-allocation .share-presets button.active{background:var(--cool-blue)!important;color:#fff!important}
#country-allocation .allocation-contribution:not(.allocation-pool):not(.allocation-grand-total){background:var(--cool-turquoise)!important}
#country-allocation .allocation-pool{background:var(--cool-purple)!important}
#country-allocation .allocation-grand-total{background:var(--cool-blue)!important;color:#fff!important}
#country-allocation .allocation-grand-total *{color:#fff!important}
#country-allocation .allocation-breakdown>div{background:var(--cool-sky)!important}
.country-card .status{background:var(--cool-sky)!important}
.flow-card:nth-child(1),.method-grid article:nth-child(1),.local-impact-step:nth-child(1){background:var(--cool-turquoise)!important}
.flow-card:nth-child(2),.method-grid article:nth-child(2),.local-impact-step:nth-child(2){background:var(--cool-green)!important}
.flow-card:nth-child(3),.method-grid article:nth-child(3),.local-impact-step:nth-child(3){background:var(--cool-purple)!important}
.basket-dialog-note{background:#DDF7FF!important}
.basket-empty-state{background:#E7E2FF!important}
.impact-side-note{background:#DDF7FF!important}
.impact-side-paths span:first-child{background:var(--cool-turquoise)!important}.impact-side-paths span:last-child{background:var(--cool-blue)!important;color:#fff!important}
.impact-side-split span:first-child{background:var(--cool-green)!important}.impact-side-split span:last-child{background:var(--cool-purple)!important}
.impact-side-percent{background:var(--cool-sky)!important}
.allocation-summary{background:rgba(221,247,255,.88)!important;border-color:rgba(53,198,200,.25)!important}
.allocation-total,.share-control b,.allocation-promise strong{color:#3D7D67!important}

/* Deep zoom viewer: fit first, then zoom up to 500% and drag/scroll around. */
dialog.image-lightbox{
  width:min(1500px,calc(100vw - 18px))!important;
  height:min(940px,calc(100vh - 18px))!important;
  max-height:calc(100vh - 18px)!important;
  padding:16px!important;
  overflow:hidden!important;
  background:#F7FBFF!important;
  border:4px solid #17202A!important;
  border-radius:28px!important;
  box-sizing:border-box!important;
}
.image-lightbox::backdrop{background:rgba(18,32,54,.74)!important;backdrop-filter:blur(4px)!important}
.lightbox-toolbar{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;padding:2px 62px 12px 2px!important}
.lightbox-toolbar button{min-width:48px!important;min-height:46px!important;padding:8px 14px!important;border:3px solid #17202A!important;border-radius:16px!important;background:var(--cool-turquoise)!important;color:#17202A!important;font:900 18px/1 Nunito,Arial,sans-serif!important;cursor:pointer!important}
.lightbox-toolbar button:nth-of-type(2){background:var(--cool-blue)!important;color:#fff!important}
.lightbox-toolbar button:nth-of-type(3){background:var(--cool-purple)!important;color:#fff!important}
#lightboxZoomLevel{min-width:68px!important;text-align:center!important;font-size:19px!important;font-weight:900!important;color:#17202A!important}
.lightbox-hint{font-size:17px!important;font-weight:800!important;color:#344054!important;margin-left:4px!important}
.lightbox-viewport{height:calc(100% - 116px)!important;min-height:260px!important;overflow:auto!important;border:3px solid #17202A!important;border-radius:20px!important;background:#fff!important;cursor:grab!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;scrollbar-width:auto!important}
.lightbox-viewport.is-dragging{cursor:grabbing!important;user-select:none!important}
#lightboxImage{display:block!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;border-radius:0!important;object-fit:initial!important;image-rendering:auto!important;transform:none!important;user-select:none!important;-webkit-user-drag:none!important}
#lightboxCaption{margin:10px 8px 0!important;font-size:18px!important;line-height:1.35!important;color:#17202A!important;text-align:center!important}
.close-lightbox{z-index:3!important;background:var(--cool-green)!important;color:#17202A!important;border:3px solid #17202A!important}
@media(max-width:700px){
  dialog.image-lightbox{padding:10px!important;border-radius:20px!important}
  .lightbox-toolbar{gap:6px!important;padding-right:52px!important;padding-bottom:8px!important}
  .lightbox-toolbar button{min-width:42px!important;min-height:42px!important;padding:7px 10px!important;font-size:16px!important}
  #lightboxZoomLevel{min-width:58px!important;font-size:17px!important}
  .lightbox-hint{width:100%!important;font-size:15px!important}
  .lightbox-viewport{height:calc(100% - 142px)!important}
  #lightboxCaption{font-size:16px!important}
}


/* 18 Aug 2026 — final cool-palette cleanup. No warm accent colors remain. */
:root{
  --cool-purple:#8B6DFF!important;--cool-green:#78D64B!important;--cool-sky:#7DD9F5!important;--cool-blue:#5C7CFA!important;--cool-turquoise:#35C6C8!important;
}
.global-direct-total{background:var(--cool-purple)!important;color:#17202A!important}
.global-direct-total *{color:#17202A!important}
.cta-section{background:linear-gradient(135deg,var(--cool-sky),#DDF7FF)!important;color:#17202A!important;border-color:#17202A!important}
.cta-section .eyebrow,.cta-section h2,.cta-section p{color:#17202A!important}
#allocationBreakdown>div::after{background:#fff!important;color:#17202A!important}
#country-allocation .country-quick-impact .country-wow{background:var(--cool-sky)!important;color:#17202A!important}
.impact-side-note{background:#DDF7FF!important}
.impact-side-percent{background:var(--cool-sky)!important}
.impact-side-paths span:first-child{background:var(--cool-turquoise)!important}
.impact-side-paths span:last-child{background:var(--cool-blue)!important;color:#fff!important}
.impact-side-split span:first-child{background:var(--cool-green)!important}
.impact-side-split span:last-child{background:var(--cool-purple)!important;color:#17202A!important}
.selected-results-grid .allocation-grand-total,#country-allocation .allocation-grand-total{background:var(--cool-blue)!important;color:#fff!important}
.selected-results-grid .allocation-grand-total *{color:#fff!important}
.path-selected{background:var(--cool-green)!important}.path-pool{background:var(--cool-purple)!important}.path-pool strong,.path-pool span{color:#fff!important}
.selected-goal-badge{background:var(--cool-turquoise)!important}
.actual-progress-pill{background:var(--cool-green)!important}
.world-preview-label{background:var(--cool-purple)!important;color:#fff!important}
.global-direct-presets button.active{background:var(--cool-blue)!important;color:#fff!important}

/* 18 Aug 2026 — tiny finishing pass requested by user: harmonious percentage label + subtle type outline only. */
#country-allocation #allocationShareLabel{
  color:var(--cool-purple)!important;
}

/* Subtle crisp edge around site typography. Keeps the existing font, sizes and layout unchanged. */
body,
body button,
body input,
body select,
body textarea,
body option{
  -webkit-text-stroke:0.28px rgba(23,32,42,.22);
  text-shadow:0 0 .01px currentColor;
}

/* White text on saturated cool-color surfaces gets a slightly darker edge for clarity. */
#country-allocation .allocation-grand-total,
#country-allocation .allocation-grand-total *,
#country-allocation .global-direct-card .world-preview-label,
#country-allocation .global-direct-presets button.active,
#country-allocation .share-presets button.active,
.primary-btn,
.filter.active,
.impact-side-paths span:last-child,
.path-pool,
.path-pool *{
  -webkit-text-stroke:0.34px rgba(23,32,42,.34);
}

/* ==========================================================================\n   18 Aug 2026 — Precision donor-facing visual system\n   Visual-only layer: preserves layout, wording, calculations and behavior.\n   Palette is intentionally limited to purple, green, sky blue, blue,\n   turquoise, white/off-white and dark navy for accessibility.\n   ========================================================================== */
:root{
  --gfr-ink:#17202A;
  --gfr-ink-soft:#344054;
  --gfr-white:#FFFFFF;
  --gfr-paper:#F7FBFF;
  --gfr-paper-sky:#EAF9FF;
  --gfr-purple:#8468F5;
  --gfr-purple-soft:#E8E2FF;
  --gfr-green:#78D64B;
  --gfr-green-soft:#E4F8D8;
  --gfr-sky:#7DD9F5;
  --gfr-sky-soft:#DDF7FF;
  --gfr-blue:#5C7CFA;
  --gfr-blue-soft:#D9E6FF;
  --gfr-turquoise:#35C6C8;
  --gfr-turquoise-soft:#D4F5F1;
  --gfr-border:rgba(23,32,42,.92);
  --gfr-border-soft:rgba(23,32,42,.18);
  --gfr-shadow:0 9px 0 rgba(23,32,42,.09),0 18px 38px rgba(52,64,84,.11);
  --gfr-shadow-hover:0 11px 0 rgba(23,32,42,.11),0 22px 44px rgba(52,64,84,.15);
  --green:var(--gfr-green)!important;
  --amber:var(--gfr-turquoise)!important;
  --amber-bg:rgba(53,198,200,.16)!important;
  --fruit-mango:var(--gfr-sky)!important;
  --fruit-orange:var(--gfr-blue)!important;
  --fruit-watermelon:var(--gfr-purple)!important;
  --fruit-kiwi:var(--gfr-green)!important;
  --fruit-blueberry:var(--gfr-blue)!important;
  --fruit-grape:var(--gfr-purple)!important;
  --fruit-turquoise:var(--gfr-turquoise)!important;
  --fruit-strawberry:var(--gfr-blue)!important;
  --fruit-lemon:var(--gfr-sky)!important;
}

html,body{background:var(--gfr-paper)!important;color:var(--gfr-ink)!important}
body{
  background-image:
    radial-gradient(circle at 8% 10%,rgba(125,217,245,.18),transparent 25%),
    radial-gradient(circle at 91% 18%,rgba(53,198,200,.15),transparent 25%),
    radial-gradient(circle at 15% 82%,rgba(120,214,75,.11),transparent 23%),
    radial-gradient(circle at 84% 84%,rgba(132,104,245,.11),transparent 26%),
    linear-gradient(180deg,#F7FBFF 0%,#F3FCFF 48%,#F8F7FF 100%)!important;
}
.ambient-bg{background:radial-gradient(circle at 10% 16%,rgba(125,217,245,.20),transparent 32%),radial-gradient(circle at 88% 30%,rgba(132,104,245,.13),transparent 31%),radial-gradient(circle at 70% 76%,rgba(53,198,200,.13),transparent 33%),linear-gradient(180deg,#F7FBFF,#F3FCFF 55%,#F8F7FF)!important}

/* Hand-finished typography: a real edge on every glyph, scaled by hierarchy. */
body,body button,body input,body select,body textarea,body option{
  -webkit-text-stroke:.32px rgba(23,32,42,.28)!important;
  text-shadow:.22px 0 0 rgba(23,32,42,.12),-.22px 0 0 rgba(23,32,42,.10),0 .22px 0 rgba(23,32,42,.08),0 -.22px 0 rgba(23,32,42,.08)!important;
  text-rendering:geometricPrecision;
}
h1,h2,h3,.brand,.round-number,.allocation-total,.allocation-round-number,
#globalDirectAmount,#globalDirectPercentBig,.selected-goal-badge strong,
.path-block strong,.global-direct-total strong,.country-choice-copy>b{
  -webkit-text-stroke:.58px rgba(23,32,42,.42)!important;
  text-shadow:.45px 0 0 rgba(23,32,42,.16),-.45px 0 0 rgba(23,32,42,.16),0 .45px 0 rgba(23,32,42,.12),0 -.45px 0 rgba(23,32,42,.12)!important;
}
button,.status,.eyebrow,nav a,.country-code,.share-presets button,.global-direct-presets button{
  -webkit-text-stroke:.42px rgba(23,32,42,.34)!important;
}

/* Page chrome: crisp but friendly, with consistent handcrafted edges. */
.site-header{background:rgba(247,251,255,.94)!important;border-bottom:4px solid var(--gfr-turquoise)!important;box-shadow:0 7px 20px rgba(92,124,250,.10)!important}
.brand-mark{background:linear-gradient(145deg,var(--gfr-turquoise),var(--gfr-blue))!important;color:#fff!important;border:3px solid rgba(23,32,42,.82)!important;box-shadow:0 5px 0 rgba(23,32,42,.12)!important}
nav a{color:var(--gfr-ink)!important;border:2px solid transparent!important}
nav a:hover,nav a:focus-visible,.nav-active{background:var(--gfr-sky-soft)!important;color:var(--gfr-ink)!important;border-color:rgba(53,198,200,.40)!important}
.glass{background:rgba(255,255,255,.90)!important;border:3px solid rgba(23,32,42,.82)!important;box-shadow:var(--gfr-shadow)!important}

/* Core role system: turquoise = global action, blue = controls, purple = pool,
   green = country/local impact, sky = information. */
.primary-btn,.form-submit{background:linear-gradient(145deg,var(--gfr-turquoise),var(--gfr-sky))!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important;box-shadow:0 6px 0 rgba(23,32,42,.13)!important}
.secondary-btn,.details-btn,.filter,.funding-grid button{background:var(--gfr-white)!important;color:var(--gfr-ink)!important;border:3px solid rgba(23,32,42,.82)!important;box-shadow:0 5px 0 rgba(23,32,42,.10)!important}
.primary-btn:hover,.secondary-btn:hover,.details-btn:hover,.filter:hover,.funding-grid button:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(23,32,42,.11)!important}
.filter.active{background:var(--gfr-blue)!important;color:#fff!important;border-color:var(--gfr-border)!important}
.eyebrow,.round-label,.flow-number,.flow-arrow,.country-code,.method-grid article>span,.allocation-clear{color:#247D7E!important}
.status-unverified{background:var(--gfr-sky-soft)!important;color:var(--gfr-ink)!important;border:3px solid rgba(23,32,42,.76)!important}
.progress-track,.mini-progress{background:var(--gfr-blue-soft)!important;border:1px solid rgba(23,32,42,.14)!important}
.progress-track span,.mini-progress span{background:linear-gradient(90deg,var(--gfr-green),var(--gfr-turquoise))!important}

/* Country cards follow a deliberate five-beat visual rhythm. */
.country-card{border:3px solid rgba(23,32,42,.82)!important;box-shadow:var(--gfr-shadow)!important;color:var(--gfr-ink)!important}
.country-card:nth-child(5n+1){background:linear-gradient(155deg,#D4F5F1,var(--gfr-turquoise))!important}
.country-card:nth-child(5n+2){background:linear-gradient(155deg,#E4F8D8,var(--gfr-green))!important}
.country-card:nth-child(5n+3){background:linear-gradient(155deg,#DDF7FF,var(--gfr-sky))!important}
.country-card:nth-child(5n+4){background:linear-gradient(155deg,#D9E6FF,#8EA5FF)!important}
.country-card:nth-child(5n+5){background:linear-gradient(155deg,#E8E2FF,#A997FF)!important}
.country-card:hover{transform:translateY(-4px)!important;box-shadow:var(--gfr-shadow-hover)!important}
.country-card .metrics div,.impact-metrics div{background:rgba(255,255,255,.92)!important;border:2px solid rgba(23,32,42,.68)!important}
.country-card .status{background:rgba(255,255,255,.92)!important;color:var(--gfr-ink)!important;border:2px solid rgba(23,32,42,.68)!important}
.country-card .details-btn{background:#fff!important;color:var(--gfr-ink)!important;border:3px solid rgba(23,32,42,.82)!important}

/* First-screen country chooser: same rhythm, but checked = unmistakable blue ring. */
#country-allocation .allocation-country{border:3px solid rgba(23,32,42,.82)!important;box-shadow:0 7px 0 rgba(23,32,42,.09)!important}
#country-allocation .allocation-country:nth-child(5n+1){background:linear-gradient(155deg,#D4F5F1,var(--gfr-turquoise))!important}
#country-allocation .allocation-country:nth-child(5n+2){background:linear-gradient(155deg,#E4F8D8,var(--gfr-green))!important}
#country-allocation .allocation-country:nth-child(5n+3){background:linear-gradient(155deg,#DDF7FF,var(--gfr-sky))!important}
#country-allocation .allocation-country:nth-child(5n+4){background:linear-gradient(155deg,#D9E6FF,#8EA5FF)!important}
#country-allocation .allocation-country:nth-child(5n+5){background:linear-gradient(155deg,#E8E2FF,#A997FF)!important}
#country-allocation .allocation-country:hover{box-shadow:0 10px 0 rgba(23,32,42,.11),0 20px 30px rgba(52,64,84,.12)!important}
#country-allocation .allocation-country:has(input:checked){outline:5px solid var(--gfr-blue)!important;outline-offset:3px!important}
#country-allocation .allocation-country.is-selected .choice-check,#country-allocation .allocation-country:has(input:checked) .choice-check{background:var(--gfr-blue)!important;color:#fff!important;border-color:var(--gfr-ink)!important}
#country-allocation .country-choice-copy>small,#country-allocation .country-quick-impact{background:rgba(255,255,255,.94)!important;border-color:rgba(23,32,42,.78)!important}
#country-allocation .country-quick-impact .country-wow{background:var(--gfr-sky)!important;color:var(--gfr-ink)!important}
#country-allocation .country-basket-btn,#country-allocation .allocation-choose-all,#country-allocation .allocation-clear{background:#fff!important;color:var(--gfr-ink)!important;border-color:rgba(23,32,42,.84)!important}
#country-allocation .allocation-choose-all{background:var(--gfr-sky)!important}

/* Global Round: turquoise/blue belongs only to the global action area. */
#country-allocation .global-direct-card{background:linear-gradient(150deg,var(--gfr-sky) 0%,var(--gfr-turquoise) 50%,var(--gfr-blue) 100%)!important;border:4px solid var(--gfr-border)!important;box-shadow:0 12px 0 rgba(23,32,42,.11),0 25px 48px rgba(92,124,250,.16)!important}
#country-allocation .world-fill-stage{background:rgba(255,255,255,.94)!important;border:4px solid var(--gfr-border)!important}
#country-allocation .world-preview-label{background:var(--gfr-purple)!important;color:#fff!important;border:3px solid var(--gfr-border)!important}
#country-allocation .global-direct-presets button,#country-allocation .share-presets button{background:#fff!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important;box-shadow:0 5px 0 rgba(23,32,42,.11)!important}
#country-allocation .global-direct-presets button:hover,#country-allocation .global-direct-presets button.active,#country-allocation .share-presets button:hover,#country-allocation .share-presets button.active{background:var(--gfr-blue)!important;color:#fff!important;transform:translateY(-2px)!important}
#country-allocation #allocationShareLabel{color:#6650D7!important}
#country-allocation #allocationShare{accent-color:var(--gfr-blue)!important}
.global-direct-total{background:var(--gfr-purple)!important;color:#fff!important;border:3px solid var(--gfr-border)!important}
.global-direct-total *{color:#fff!important}

/* Selected-country result hierarchy: green = local, purple = pool, blue = total. */
#country-allocation .selected-country-funding{background:#fff!important;border:4px solid var(--gfr-border)!important;box-shadow:var(--gfr-shadow)!important}
.path-selected,#country-allocation .allocation-contribution:not(.allocation-pool):not(.allocation-grand-total){background:var(--gfr-green)!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important}
.path-pool,#country-allocation .allocation-pool{background:var(--gfr-purple)!important;color:#fff!important;border:3px solid var(--gfr-border)!important}
.path-pool *{color:#fff!important}
#country-allocation .allocation-grand-total{background:var(--gfr-blue)!important;color:#fff!important;border:3px solid var(--gfr-border)!important}
#country-allocation .allocation-grand-total *{color:#fff!important}
#country-allocation .allocation-breakdown>div{background:var(--gfr-sky-soft)!important;border:3px solid rgba(23,32,42,.76)!important;color:var(--gfr-ink)!important;box-shadow:0 4px 0 rgba(23,32,42,.08)!important}
#allocationBreakdown>div::after{background:#fff!important;color:var(--gfr-ink)!important;border:2px solid rgba(23,32,42,.62)!important}
.selected-goal-badge{background:var(--gfr-turquoise)!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important}
.actual-progress-pill{background:var(--gfr-green)!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important}

/* Side concept card: informational sky, with meaningful role colors only. */
.impact-side-note{background:var(--gfr-sky-soft)!important;color:var(--gfr-ink)!important;border:4px solid var(--gfr-border)!important;box-shadow:var(--gfr-shadow)!important}
.impact-side-note *{color:inherit!important;opacity:1!important}
.impact-side-paths span,.impact-side-split span,.impact-side-percent{border:3px solid var(--gfr-border)!important;color:var(--gfr-ink)!important;box-shadow:0 4px 0 rgba(23,32,42,.08)!important}
.impact-side-paths span:first-child{background:var(--gfr-turquoise)!important}
.impact-side-paths span:last-child{background:var(--gfr-blue)!important;color:#fff!important}
.impact-side-split span:first-child{background:var(--gfr-green)!important}
.impact-side-split span:last-child{background:var(--gfr-purple)!important;color:#fff!important}
.impact-side-percent{background:var(--gfr-sky)!important}
.impact-side-note>a{background:var(--gfr-turquoise)!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important;box-shadow:0 5px 0 rgba(23,32,42,.10)!important}

/* Supporting sections: three purposeful accent roles, not random color swapping. */
.flow-card:nth-child(3n+1),.method-grid article:nth-child(3n+1),.local-impact-step:nth-child(3n+1){background:var(--gfr-turquoise-soft)!important;border:3px solid rgba(23,32,42,.78)!important}
.flow-card:nth-child(3n+2),.method-grid article:nth-child(3n+2),.local-impact-step:nth-child(3n+2){background:var(--gfr-green-soft)!important;border:3px solid rgba(23,32,42,.78)!important}
.flow-card:nth-child(3n+3),.method-grid article:nth-child(3n+3),.local-impact-step:nth-child(3n+3){background:var(--gfr-purple-soft)!important;border:3px solid rgba(23,32,42,.78)!important}
.cta-section{background:linear-gradient(145deg,var(--gfr-sky-soft),var(--gfr-turquoise-soft))!important;color:var(--gfr-ink)!important;border:4px solid var(--gfr-border)!important;box-shadow:var(--gfr-shadow)!important}
.cta-section *{color:var(--gfr-ink)!important}

/* Dialogs/examples/evidence: crisp readable windows; screenshots remain untouched. */
dialog,.basket-dialog{background:#fff!important;color:var(--gfr-ink)!important;border:4px solid var(--gfr-border)!important;box-shadow:0 18px 0 rgba(23,32,42,.11),0 34px 80px rgba(52,64,84,.22)!important}
dialog::backdrop{background:rgba(23,32,42,.70)!important}
.basket-dialog-badge.is-real{background:var(--gfr-green)!important;color:var(--gfr-ink)!important;border:3px solid var(--gfr-border)!important}
.basket-dialog-badge.is-example{background:var(--gfr-purple)!important;color:#fff!important;border:3px solid var(--gfr-border)!important}
.basket-dialog-facts li:nth-child(4n+1){background:var(--gfr-sky-soft)!important}
.basket-dialog-facts li:nth-child(4n+2){background:var(--gfr-green-soft)!important}
.basket-dialog-facts li:nth-child(4n+3){background:var(--gfr-turquoise-soft)!important}
.basket-dialog-facts li:nth-child(4n+4){background:var(--gfr-purple-soft)!important}
.basket-dialog-facts li,.basket-dialog-note,.basket-gallery figure,.basket-gallery img{border-color:rgba(23,32,42,.70)!important}
.basket-dialog-note{background:var(--gfr-sky-soft)!important;color:var(--gfr-ink)!important}
.basket-gallery figure{background:#fff!important;box-shadow:0 5px 0 rgba(23,32,42,.08)!important}

/* Deep zoom stays functionally identical; only the chrome is harmonized. */
dialog.image-lightbox{background:var(--gfr-paper)!important;border-color:var(--gfr-border)!important}
.image-lightbox::backdrop{background:rgba(23,32,42,.74)!important}
.lightbox-toolbar button{border-color:var(--gfr-border)!important;background:var(--gfr-turquoise)!important;color:var(--gfr-ink)!important}
.lightbox-toolbar button:nth-of-type(2){background:var(--gfr-blue)!important;color:#fff!important}
.lightbox-toolbar button:nth-of-type(3){background:var(--gfr-purple)!important;color:#fff!important}
.lightbox-viewport{border-color:var(--gfr-border)!important;background:#fff!important}
.close-lightbox{background:var(--gfr-green)!important;color:var(--gfr-ink)!important;border-color:var(--gfr-border)!important}

/* Forms / secondary pages inherit the same system. */
.research-form,.zero-trust-card,.volunteer-cta,.thanks-card,.volunteer-bottom-cta{background:rgba(255,255,255,.92)!important;border:3px solid rgba(23,32,42,.82)!important;box-shadow:var(--gfr-shadow)!important}
.research-form input[type=text],.research-form input[type=email],.research-form input[type=url],.research-form select,.research-form textarea{background:#fff!important;color:var(--gfr-ink)!important;border:2px solid rgba(23,32,42,.48)!important}
.research-form input:focus,.research-form select:focus,.research-form textarea:focus{border-color:var(--gfr-blue)!important;box-shadow:0 0 0 4px rgba(92,124,250,.15)!important}
.conflict-box{background:var(--gfr-sky-soft)!important;border:2px solid rgba(23,32,42,.44)!important}
.conflict-box legend{color:#247D7E!important}
.status-ladder div,.safeguard-grid article{background:var(--gfr-sky-soft)!important;border:2px solid rgba(23,32,42,.22)!important}
.status-ladder div:nth-child(3n+2),.safeguard-grid article:nth-child(3n+2){background:var(--gfr-green-soft)!important}
.status-ladder div:nth-child(3n+3),.safeguard-grid article:nth-child(3n+3){background:var(--gfr-purple-soft)!important}
.success-mark{background:var(--gfr-green-soft)!important;border:3px solid var(--gfr-green)!important;color:var(--gfr-ink)!important}

/* Avoid unexpected warm fallback colors in native controls. */
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--gfr-blue)!important}
::selection{background:var(--gfr-purple-soft)!important;color:var(--gfr-ink)!important}

/* White-on-saturated areas need a darker glyph edge for crisp small type. */
.global-direct-total,.global-direct-total *,#country-allocation .world-preview-label,
#country-allocation .global-direct-presets button.active,#country-allocation .share-presets button.active,
#country-allocation .allocation-grand-total,#country-allocation .allocation-grand-total *,
.path-pool,.path-pool *,.basket-dialog-badge.is-example,.impact-side-paths span:last-child,
.impact-side-split span:last-child{
  -webkit-text-stroke:.42px rgba(23,32,42,.46)!important;
  text-shadow:.35px 0 0 rgba(23,32,42,.24),-.35px 0 0 rgba(23,32,42,.24),0 .35px 0 rgba(23,32,42,.18),0 -.35px 0 rgba(23,32,42,.18)!important;
}

/* v-final micro patch — percentage endpoints + Getting ready badge fit */
/* Keep 1% visually identifiable but restrained. */
#country-allocation .share-presets button[data-share="1"],
#country-allocation .global-direct-presets button[data-global-share="1"]{
  background:linear-gradient(180deg,#EAF9FF 0%,#DDF7FF 100%)!important;
  color:var(--gfr-ink)!important;
  border:3px solid var(--gfr-sky)!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 5px 0 rgba(23,32,42,.10)!important;
}

/* 100% is the deliberate visual destination: stronger, distinctive, but still inside the approved palette. */
#country-allocation .share-presets button[data-share="100"],
#country-allocation .global-direct-presets button[data-global-share="100"]{
  background:linear-gradient(135deg,var(--gfr-purple) 0%,var(--gfr-blue) 52%,var(--gfr-turquoise) 100%)!important;
  color:#fff!important;
  border:4px solid var(--gfr-ink)!important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.34),0 7px 0 rgba(23,32,42,.18),0 13px 24px rgba(92,124,250,.22)!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
}
#country-allocation .share-presets button[data-share="100"]:hover,
#country-allocation .share-presets button[data-share="100"].active,
#country-allocation .global-direct-presets button[data-global-share="100"]:hover,
#country-allocation .global-direct-presets button[data-global-share="100"].active{
  background:linear-gradient(135deg,var(--gfr-purple) 0%,var(--gfr-blue) 48%,var(--gfr-turquoise) 100%)!important;
  color:#fff!important;
  transform:translateY(-2px) scale(1.015)!important;
}

/* Prevent the Global World Round status badge from being clipped. */
#country-allocation .global-direct-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:12px!important;
  width:100%!important;
}
#country-allocation .global-direct-head .status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  flex:none!important;
  padding:8px 11px!important;
  font-size:14px!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  overflow:visible!important;
}
@media(max-width:520px){
  #country-allocation .global-direct-head{grid-template-columns:1fr!important}
  #country-allocation .global-direct-head .status{justify-self:start!important}
}

/* v7 — additive interactive world map; existing site rules above are untouched. */
.gfr-world-map{max-width:1480px!important;margin:0 auto 28px!important;padding:28px!important;border-radius:42px!important;background:#fff!important;color:#17202A!important;overflow:hidden!important;position:relative!important}
.gfr-map-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin-bottom:20px!important}.gfr-map-head>div:first-child{max-width:900px!important}.gfr-map-head h3{margin:5px 0 8px!important;font-size:clamp(30px,3vw,46px)!important;line-height:1.05!important;color:#17202A!important;font-weight:900!important}.gfr-map-head p:last-child{margin:0!important;font-size:19px!important;line-height:1.5!important;color:#344054!important;font-weight:700!important}.gfr-map-key{display:flex!important;flex-wrap:wrap!important;gap:10px!important}.gfr-map-key span{display:flex!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;border:2px solid #17202A!important;border-radius:999px!important;background:#fff!important;font-weight:900!important;font-size:15px!important;color:#17202A!important}.gfr-map-dot-key{width:13px!important;height:13px!important;border-radius:50%!important;background:#35C6C8!important;border:2px solid #17202A!important}.gfr-map-dot-key.is-selected{background:#78D64B!important;box-shadow:0 0 0 5px rgba(120,214,75,.22)!important}
.gfr-map-stage{position:relative!important;width:100%!important;aspect-ratio:2/1!important;min-height:360px!important;border-radius:38px!important;overflow:hidden!important;isolation:isolate!important;border:4px solid #17202A!important;box-shadow:0 16px 38px rgba(23,32,42,.12)!important}.gfr-world-svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}.gfr-ocean{fill:#ECF8FF!important}.gfr-map-grid path{stroke:rgba(23,32,42,.08)!important;stroke-width:1!important;fill:none!important}.gfr-continents path{fill:#BEEBD4!important;stroke:#17202A!important;stroke-width:3!important;stroke-linejoin:round!important;transition:fill .35s ease,filter .35s ease!important}.gfr-map-points{position:absolute!important;inset:0!important;z-index:3!important}
.gfr-country-point{position:absolute!important;transform:translate(-50%,-50%)!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;padding:0!important;border:3px solid #17202A!important;border-radius:50%!important;background:#fff!important;color:#17202A!important;cursor:pointer!important;box-shadow:0 7px 16px rgba(23,32,42,.18)!important;z-index:2!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}.gfr-country-point:hover,.gfr-country-point:focus-visible{transform:translate(-50%,-50%) scale(1.35)!important;z-index:8!important;box-shadow:0 10px 28px rgba(23,32,42,.28),0 0 0 8px rgba(53,198,200,.20)!important}.gfr-point-core{font-size:18px!important;line-height:1!important;position:relative!important;z-index:2!important}.gfr-point-pulse{position:absolute!important;inset:-6px!important;border:3px solid rgba(53,198,200,.68)!important;border-radius:50%!important;opacity:0!important;transform:scale(.7)!important}.gfr-country-point.is-selected{background:#78D64B!important}.gfr-country-point.is-selected .gfr-point-pulse{animation:gfrPointPulse 1.8s ease-out infinite!important;opacity:1!important}.gfr-point-label{position:absolute!important;left:50%!important;top:calc(100% + 7px)!important;transform:translateX(-50%)!important;padding:5px 8px!important;border-radius:999px!important;background:#17202A!important;color:#fff!important;font-size:12px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease!important}.gfr-country-point:hover .gfr-point-label,.gfr-country-point:focus-visible .gfr-point-label,.gfr-country-point.is-selected .gfr-point-label{opacity:1!important}.gfr-world-map.is-all-selected .gfr-continents path{fill:#9EE4C1!important;filter:drop-shadow(0 0 10px rgba(120,214,75,.32))!important}.gfr-map-sweep{position:absolute!important;top:-20%!important;bottom:-20%!important;left:-24%!important;width:22%!important;z-index:2!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)!important;transform:skewX(-12deg)!important;animation:gfrMapSweep 7s ease-in-out infinite!important;pointer-events:none!important}.gfr-map-footnote{margin:16px 4px 0!important;font-size:16px!important;line-height:1.45!important;font-weight:800!important;color:#475467!important}
@keyframes gfrPointPulse{0%{transform:scale(.7);opacity:.8}75%,100%{transform:scale(1.7);opacity:0}}@keyframes gfrMapSweep{0%,15%{left:-24%;opacity:0}25%{opacity:.7}65%{left:110%;opacity:.3}100%{left:110%;opacity:0}}
.global-direct-fund{position:relative!important;overflow:hidden!important;isolation:isolate!important}.global-direct-fund::after{content:""!important;position:absolute!important;inset:-35% auto -35% -45%!important;width:28%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent)!important;transform:skewX(-18deg)!important;opacity:0!important;pointer-events:none!important}.global-direct-fund:hover::after{animation:gfrGlobalButtonSweep 1.15s ease-out!important}.global-direct-fund:hover{box-shadow:0 10px 0 rgba(23,32,42,.14),0 0 0 7px rgba(53,198,200,.20),0 16px 34px rgba(92,124,250,.22)!important}@keyframes gfrGlobalButtonSweep{0%{left:-45%;opacity:0}18%{opacity:1}100%{left:125%;opacity:0}}
@media(max-width:900px){.gfr-world-map{padding:20px!important;border-radius:32px!important}.gfr-map-head{align-items:flex-start!important;flex-direction:column!important}.gfr-map-stage{min-height:330px!important;aspect-ratio:auto!important}.gfr-country-point{width:31px!important;height:31px!important}.gfr-point-core{font-size:16px!important}}@media(max-width:600px){.gfr-world-map{padding:15px!important;margin-bottom:20px!important}.gfr-map-head h3{font-size:32px!important}.gfr-map-head p:last-child{font-size:17px!important}.gfr-map-stage{min-height:300px!important;border-radius:28px!important}.gfr-country-point{width:28px!important;height:28px!important;border-width:2px!important}.gfr-point-core{font-size:14px!important}.gfr-point-label{font-size:10px!important;padding:4px 6px!important}}@media(prefers-reduced-motion:reduce){.gfr-map-sweep,.gfr-country-point.is-selected .gfr-point-pulse,.global-direct-fund:hover::after{animation:none!important}}


/* =========================================================
   v8 — MAP-FIRST DONOR UX COMPRESSION
   Additive/override layer only. Existing site typography is never reduced.
   ========================================================= */
.gfr-world-map{max-width:1480px!important;margin:0 auto 24px!important;padding:26px!important}
.gfr-map-first-layout{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(360px,.72fr)!important;gap:22px!important;align-items:start!important}
.gfr-map-main{min-width:0!important}
.gfr-map-controls{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 12px!important}
.gfr-region-controls,.gfr-zoom-controls{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important}
.gfr-region-controls button,.gfr-zoom-controls button{min-height:46px!important;padding:9px 14px!important;border:3px solid #17202A!important;border-radius:999px!important;background:#fff!important;color:#17202A!important;font:900 16px/1 Nunito,Arial,sans-serif!important;cursor:pointer!important}
.gfr-region-controls button.active{background:#35C6C8!important;box-shadow:0 6px 0 rgba(23,32,42,.12)!important}
#gfrMapZoomLevel{min-width:64px!important;text-align:center!important;font-size:18px!important;font-weight:900!important;color:#17202A!important}
.gfr-map-stage{min-height:455px!important;aspect-ratio:1.78/1!important}
.gfr-map-transform{position:absolute!important;inset:0!important;transform-origin:center center!important;transform:translate(var(--gfr-map-x,0),var(--gfr-map-y,0)) scale(var(--gfr-map-scale,1))!important;transition:transform .55s cubic-bezier(.2,.8,.2,1)!important;will-change:transform!important}
.gfr-world-svg,.gfr-map-points{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.gfr-country-point{transform:translate(calc(-50% + var(--gfr-point-dx,0px)),calc(-50% + var(--gfr-point-dy,0px)))!important}
.gfr-country-point:hover,.gfr-country-point:focus-visible{transform:translate(calc(-50% + var(--gfr-point-dx,0px)),calc(-50% + var(--gfr-point-dy,0px))) scale(1.35)!important;z-index:20!important}
.gfr-point-label{font-size:14px!important;opacity:0!important;z-index:30!important}
/* Critical collision fix: labels appear only for the single point being hovered/focused, not for every selected country. */
.gfr-country-point.is-selected .gfr-point-label{opacity:0!important}
.gfr-country-point:hover .gfr-point-label,.gfr-country-point:focus-visible .gfr-point-label{opacity:1!important}
.gfr-map-side{display:grid!important;gap:16px!important;position:sticky!important;top:104px!important;min-width:0!important}
.gfr-map-summary-card,.gfr-map-global-card{border:4px solid #17202A!important;border-radius:32px!important;padding:20px!important;box-shadow:0 10px 0 rgba(23,32,42,.10)!important;color:#17202A!important}
.gfr-map-summary-card{background:#fff!important}
.gfr-map-summary-head{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:center!important;margin-bottom:13px!important;font-size:17px!important;font-weight:900!important}
.gfr-map-summary-head strong{padding:7px 11px!important;border-radius:999px!important;background:#DDF7FF!important;font-size:16px!important;white-space:nowrap!important}
.gfr-map-price-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:12px 0!important;border-top:2px solid rgba(23,32,42,.12)!important}
.gfr-map-price-row span{font-size:17px!important;font-weight:900!important;color:#17202A!important}
.gfr-map-price-row strong{font-size:24px!important;font-weight:1000!important;color:#17202A!important;text-align:right!important}
.gfr-map-price-row.is-pool{background:#F1ECFF!important;margin:0 -8px!important;padding:12px 8px!important;border-radius:18px!important;border-top:0!important}
.gfr-map-price-row.is-total strong{font-size:30px!important;color:#087F5B!important}
.gfr-map-local-references{display:grid!important;gap:6px!important;margin-top:10px!important;padding:12px!important;border-radius:18px!important;background:#F7FBFF!important;border:2px solid rgba(23,32,42,.25)!important}
.gfr-map-local-references strong,.gfr-map-local-references span{font-size:15px!important;line-height:1.35!important;font-weight:800!important;color:#17202A!important}
.gfr-map-summary-actions{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;margin-top:14px!important}
.gfr-map-summary-actions button{min-height:50px!important;border:3px solid #17202A!important;border-radius:999px!important;background:#78D64B!important;color:#17202A!important;font:900 16px/1 Nunito,Arial,sans-serif!important;padding:10px 14px!important}
#gfrMapClear{background:#fff!important}
.gfr-map-summary-note{font-size:15px!important;line-height:1.4!important;font-weight:800!important;color:#475467!important;margin:12px 0 0!important}
.gfr-map-global-card{background:linear-gradient(145deg,#7DD9F5,#35C6C8 58%,#5C7CFA)!important;overflow:hidden!important;position:relative!important}
.gfr-map-global-card .eyebrow{font-size:17px!important;color:#17202A!important;margin:0!important}
.gfr-map-global-card h4{font-size:28px!important;line-height:1.05!important;margin:6px 0 7px!important;color:#17202A!important;font-weight:1000!important}
.gfr-map-global-card>p:not(.eyebrow){font-size:17px!important;line-height:1.4!important;font-weight:800!important;color:#17202A!important;margin:0 0 12px!important}
.gfr-map-global-presets{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.gfr-map-global-presets button{min-height:45px!important;border:3px solid #17202A!important;border-radius:16px!important;background:#fff!important;color:#17202A!important;font:900 16px/1 Nunito,Arial,sans-serif!important}
.gfr-map-global-presets button.active{background:#17202A!important;color:#fff!important;transform:translateY(-2px)!important}
.gfr-map-global-preview{display:grid!important;grid-template-columns:1fr auto!important;gap:3px 12px!important;align-items:end!important;margin:12px 0!important;padding:12px!important;border-radius:20px!important;background:rgba(255,255,255,.88)!important;border:3px solid #17202A!important}
.gfr-map-global-preview span{font-size:15px!important;font-weight:900!important;color:#17202A!important}.gfr-map-global-preview strong{font-size:32px!important;font-weight:1000!important;color:#17202A!important}.gfr-map-global-preview small{grid-column:1/-1!important;font-size:15px!important;font-weight:800!important;color:#344054!important}
.gfr-map-global-cta{position:relative!important;isolation:isolate!important;overflow:hidden!important;width:100%!important;min-height:58px!important;padding:12px 14px!important;border:4px solid #17202A!important;border-radius:999px!important;background:#17202A!important;color:#fff!important;font:900 16px/1.25 Nunito,Arial,sans-serif!important;opacity:1!important;cursor:not-allowed!important;box-shadow:0 8px 0 rgba(23,32,42,.18)!important}
.gfr-map-global-cta::after{content:""!important;position:absolute!important;top:-45%!important;bottom:-45%!important;left:-45%!important;width:28%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent)!important;transform:skewX(-18deg)!important;pointer-events:none!important}
.gfr-map-global-cta:hover{transform:translateY(-2px)!important;box-shadow:0 11px 0 rgba(23,32,42,.18),0 0 0 8px rgba(255,255,255,.25)!important}
.gfr-map-global-cta:hover::after{animation:gfrV8CtaSweep 1.05s ease-out!important}
@keyframes gfrV8CtaSweep{0%{left:-45%}100%{left:125%}}
/* Existing long country cards remain intact below. The map simply makes them optional rather than mandatory for first-screen use. */
@media(max-width:1100px){.gfr-map-first-layout{grid-template-columns:1fr!important}.gfr-map-side{position:relative!important;top:auto!important;grid-template-columns:1fr 1fr!important}.gfr-map-stage{min-height:430px!important}}
@media(max-width:760px){.gfr-map-side{grid-template-columns:1fr!important}.gfr-map-stage{min-height:360px!important}.gfr-map-controls{align-items:flex-start!important}.gfr-region-controls,.gfr-zoom-controls{width:100%!important}.gfr-region-controls button{flex:1 1 auto!important}.gfr-map-global-presets{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:520px){.gfr-map-stage{min-height:330px!important}.gfr-map-global-presets{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gfr-map-summary-actions{grid-template-columns:1fr 1fr!important}}
@media(prefers-reduced-motion:reduce){.gfr-map-transform,.gfr-map-global-cta:hover::after{transition:none!important;animation:none!important}}


/* =========================================================
   v9 — MAP-FIRST COUNTRY BUBBLE UX
   Scope: map-first selector + map-side summary/global panel only.
   Semantic palette:
   aqua/turquoise = exploration, green = selected impact,
   purple = Global World Round, blue = trust/evidence.
   ========================================================= */

/* The old long chooser/direct card remain in the DOM as authoritative controls,
   but are removed from the normal donor flow. Their state/calculation logic remains intact. */
#country-allocation > .round-choice-layout{
  display:none!important;
}

/* Map shell */
.gfr-world-map{
  background:#FFFFFF!important;
  border:4px solid #17202A!important;
  box-shadow:0 18px 0 rgba(23,32,42,.08),0 30px 70px rgba(52,64,84,.16)!important;
}
.gfr-map-head .eyebrow{color:#087F7B!important}
.gfr-map-key span:first-child{background:#DDF7FF!important}
.gfr-map-key span:last-child{background:#E8F9DF!important}
.gfr-map-dot-key{background:#35C6C8!important}
.gfr-map-dot-key.is-selected{background:#78D64B!important}

/* Spacious desktop canvas. On very narrow screens the canvas remains wide and
   the stage becomes a safe internal viewport instead of forcing overlapping labels. */
.gfr-map-stage{
  min-height:520px!important;
  aspect-ratio:1.78/1!important;
  background:#EAF8FF!important;
  overflow:hidden!important;
}
.gfr-map-transform{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
}
.gfr-ocean{fill:#EAF8FF!important}
.gfr-continents path{
  fill:#BDEFD9!important;
  stroke:#17202A!important;
  stroke-width:3!important;
}
.gfr-map-grid path{stroke:rgba(92,124,250,.12)!important}

/* Country identity is INSIDE the actual clickable bubble. */
.gfr-country-point{
  --bubble-bg:#FFFFFF;
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:64px!important;
  max-width:112px!important;
  height:auto!important;
  min-height:38px!important;
  padding:6px 9px!important;
  border:3px solid #17202A!important;
  border-radius:999px!important;
  background:var(--bubble-bg)!important;
  color:#17202A!important;
  transform:translate(-50%,-50%)!important;
  box-shadow:0 7px 0 rgba(23,32,42,.10),0 10px 22px rgba(23,32,42,.13)!important;
  z-index:4!important;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s cubic-bezier(.2,.8,.2,1),
    background .24s ease!important;
  isolation:isolate!important;
}
.gfr-bubble-identity{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  max-width:100%!important;
}
.gfr-point-core{
  flex:0 0 auto!important;
  font-size:16px!important;
  line-height:1!important;
}
.gfr-point-name{
  display:block!important;
  min-width:0!important;
  max-width:82px!important;
  color:#17202A!important;
  font-size:11px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.gfr-bubble-check{
  display:grid!important;
  place-items:center!important;
  position:absolute!important;
  right:-7px!important;
  top:-8px!important;
  width:22px!important;
  height:22px!important;
  border-radius:50%!important;
  border:2px solid #17202A!important;
  background:#78D64B!important;
  color:#17202A!important;
  font-size:13px!important;
  font-weight:1000!important;
  opacity:0!important;
  transform:scale(.65)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
.gfr-country-point.is-selected{
  --bubble-bg:#78D64B;
  border-width:4px!important;
  box-shadow:0 8px 0 rgba(23,32,42,.13),0 0 0 7px rgba(120,214,75,.22),0 14px 30px rgba(23,32,42,.16)!important;
}
.gfr-country-point.is-selected .gfr-bubble-check{
  opacity:1!important;
  transform:scale(1)!important;
}
.gfr-country-point:hover,
.gfr-country-point:focus-visible{
  transform:translate(-50%,-50%) scale(1.16)!important;
  z-index:50!important;
  border-color:#17202A!important;
  box-shadow:0 10px 0 rgba(23,32,42,.13),0 0 0 8px rgba(53,198,200,.23),0 18px 36px rgba(23,32,42,.24)!important;
  outline:none!important;
}
.gfr-country-point:focus-visible{
  box-shadow:0 10px 0 rgba(23,32,42,.13),0 0 0 8px rgba(92,124,250,.28),0 18px 36px rgba(23,32,42,.24)!important;
}
.gfr-point-pulse{
  inset:-7px!important;
  border-color:rgba(120,214,75,.82)!important;
}

/* Disable old external map labels completely: names live inside bubbles now. */
.gfr-point-label{display:none!important}

/* Fixed side preview: exactly one country at a time, so no preview collisions. */
.gfr-map-hover-preview{
  min-height:192px!important;
  border:4px solid #17202A!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,#F7FBFF,#E8F7FF)!important;
  box-shadow:0 9px 0 rgba(23,32,42,.09)!important;
  overflow:hidden!important;
}
.gfr-hover-preview-empty{
  min-height:192px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:22px!important;
}
.gfr-hover-preview-empty>span{font-size:38px!important}
.gfr-hover-preview-empty strong{font-size:22px!important;font-weight:1000!important;color:#17202A!important}
.gfr-hover-preview-empty p{margin:5px 0 0!important;font-size:16px!important;line-height:1.4!important;font-weight:800!important;color:#475467!important}
.gfr-hover-preview-card{display:grid!important;gap:8px!important;padding:18px!important;color:#17202A!important}
.gfr-hover-wow,.gfr-hover-status{
  justify-self:start!important;
  padding:6px 10px!important;
  border:3px solid #17202A!important;
  border-radius:999px!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.gfr-hover-wow{background:#78D64B!important}
.gfr-hover-status{background:#DDF7FF!important}
.gfr-hover-country{display:flex!important;align-items:center!important;gap:9px!important}
.gfr-hover-country>span{font-size:28px!important}
.gfr-hover-country strong{font-size:27px!important;line-height:1.05!important;font-weight:1000!important;color:#17202A!important}
.gfr-hover-price{
  padding:9px 11px!important;
  border-radius:16px!important;
  background:#D9E6FF!important;
  color:#17202A!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:1000!important;
}
.gfr-hover-impact{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
.gfr-hover-impact span{
  padding:6px 9px!important;
  border:2px solid rgba(23,32,42,.68)!important;
  border-radius:999px!important;
  background:#FFFFFF!important;
  color:#17202A!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.gfr-hover-preview-card small{
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
  color:#475467!important;
}

/* Selection = green. Shared/global pool = purple. */
.gfr-map-summary-card{
  background:#FFFFFF!important;
  border-color:#17202A!important;
}
.gfr-map-summary-head strong{background:#E8F9DF!important}
.gfr-map-price-row.is-pool{
  background:#EEE8FF!important;
  border:3px solid rgba(107,78,211,.42)!important;
}
.gfr-map-price-row.is-total{
  margin-top:5px!important;
  padding:13px 10px!important;
  border:3px solid #17202A!important;
  border-radius:18px!important;
  background:#E8F9DF!important;
}
.gfr-map-summary-actions button:first-child{background:#78D64B!important}
#gfrMapClear{background:#DDF7FF!important}

/* Global World Round = intentional purple hierarchy. */
.gfr-map-global-card{
  background:linear-gradient(145deg,#8B72EA 0%,#7357D8 58%,#5C7CFA 100%)!important;
  border-color:#17202A!important;
  color:#FFFFFF!important;
}
.gfr-map-global-card .eyebrow,
.gfr-map-global-card h4,
.gfr-map-global-card>p:not(.eyebrow){color:#FFFFFF!important}
.gfr-map-global-presets button{
  background:#FFFFFF!important;
  color:#17202A!important;
}
.gfr-map-global-presets button.active{
  background:#35C6C8!important;
  color:#17202A!important;
  box-shadow:0 5px 0 rgba(23,32,42,.18)!important;
}
.gfr-map-global-preview{
  background:#FFFFFF!important;
  border-color:#17202A!important;
}
.gfr-map-global-preview>b{
  grid-column:1/-1!important;
  color:#17202A!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:1000!important;
}
.gfr-map-global-preview>em{
  grid-column:1/-1!important;
  justify-self:start!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#E8F9DF!important;
  color:#17202A!important;
  font-size:14px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
}
.gfr-map-global-preview>em strong{color:#17202A!important}
.gfr-map-global-cta{
  background:#17202A!important;
  color:#FFFFFF!important;
}
.gfr-map-global-cta:hover{
  box-shadow:0 11px 0 rgba(23,32,42,.24),0 0 0 8px rgba(53,198,200,.32),0 18px 40px rgba(23,32,42,.25)!important;
}

/* Map control semantics: turquoise exploration, blue neutral trust control. */
.gfr-region-controls button.active{background:#35C6C8!important}
.gfr-zoom-controls button{background:#D9E6FF!important}
#gfrMapReset{background:#FFFFFF!important}

/* Selection should read even without color. */
.gfr-country-point.is-selected::after{
  content:"Selected"!important;
  position:absolute!important;
  left:50%!important;
  top:calc(100% + 5px)!important;
  transform:translateX(-50%)!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:#17202A!important;
  color:#FFFFFF!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

/* Keep map bubble geometry stable under map zoom; DOM remains crisp enough and interactive. */
.gfr-map-transform{transform-origin:center center!important}

/* Responsive: do not shrink existing site text; allow the map canvas to become internally wider. */
@media(max-width:900px){
  .gfr-map-stage{
    overflow:auto!important;
    min-height:470px!important;
  }
  .gfr-map-transform{
    min-width:900px!important;
    width:900px!important;
    min-height:470px!important;
    height:100%!important;
  }
  .gfr-world-svg,.gfr-map-points{width:900px!important}
  .gfr-map-side{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .gfr-map-stage{min-height:430px!important}
  .gfr-map-transform{min-height:430px!important}
  .gfr-country-point{min-width:62px!important}
  .gfr-point-name{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
  .gfr-country-point{transition:none!important}
}



/* =========================================================
   v10 — MAP-CLICK BASKET SIDE PANEL
   Only changes the presentation of the existing basket dialog
   when it was opened from a map country bubble.
   ========================================================= */
@media (min-width:901px){
  body.gfr-map-basket-open #basketDialog{
    width:min(570px,43vw)!important;
    max-width:570px!important;
    height:calc(100vh - 32px)!important;
    max-height:calc(100vh - 32px)!important;
    margin:16px 16px 16px auto!important;
    inset:0!important;
    border-radius:32px!important;
    animation:gfrMapBasketSideIn .26s cubic-bezier(.2,.8,.2,1)!important;
  }
  body.gfr-map-basket-open #basketDialog::backdrop{
    background:rgba(23,32,42,.16)!important;
    backdrop-filter:blur(1px)!important;
  }
  @keyframes gfrMapBasketSideIn{
    from{transform:translateX(38px);opacity:.55}
    to{transform:translateX(0);opacity:1}
  }
}

/* On smaller screens a bottom sheet keeps part of the map visible
   and avoids squeezing the evidence into an unusably narrow drawer. */
@media (max-width:900px){
  body.gfr-map-basket-open #basketDialog{
    width:calc(100% - 20px)!important;
    max-width:760px!important;
    height:min(72vh,760px)!important;
    max-height:72vh!important;
    margin:auto 10px 10px!important;
    inset:0!important;
    border-radius:30px 30px 18px 18px!important;
    animation:gfrMapBasketBottomIn .26s cubic-bezier(.2,.8,.2,1)!important;
  }
  body.gfr-map-basket-open #basketDialog::backdrop{
    background:rgba(23,32,42,.14)!important;
  }
  @keyframes gfrMapBasketBottomIn{
    from{transform:translateY(32px);opacity:.55}
    to{transform:translateY(0);opacity:1}
  }
}
@media(prefers-reduced-motion:reduce){
  body.gfr-map-basket-open #basketDialog{animation:none!important}
}


/* =========================================================
   v11 — GUARANTEED NON-OVERLAP MAP CLUSTERS + TRUE NON-MODAL BASKET
   ========================================================= */

/* Each world region gets a dedicated non-overlapping grid.
   Country pills are no longer independently absolutely positioned. */
.gfr-map-points{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}
.gfr-map-cluster{
  position:absolute!important;
  display:grid!important;
  gap:7px!important;
  align-content:center!important;
  justify-content:center!important;
  pointer-events:auto!important;
  z-index:5!important;
}
.gfr-map-cluster.is-americas{
  left:5%!important;
  top:20%!important;
  width:32%!important;
  height:68%!important;
  grid-template-columns:repeat(2,minmax(88px,1fr))!important;
}
.gfr-map-cluster.is-africa{
  left:37%!important;
  top:22%!important;
  width:30%!important;
  height:68%!important;
  grid-template-columns:repeat(2,minmax(88px,1fr))!important;
}
.gfr-map-cluster.is-asia{
  left:67%!important;
  top:19%!important;
  width:30%!important;
  height:70%!important;
  grid-template-columns:repeat(2,minmax(88px,1fr))!important;
}

.gfr-map-cluster .gfr-country-point{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:42px!important;
  padding:6px 8px!important;
  justify-self:stretch!important;
}
.gfr-map-cluster .gfr-country-point:hover,
.gfr-map-cluster .gfr-country-point:focus-visible{
  transform:scale(1.08)!important;
  z-index:50!important;
}
.gfr-map-cluster .gfr-point-name{
  max-width:none!important;
  font-size:11px!important;
}
.gfr-map-cluster .gfr-country-point.is-selected::after{
  top:calc(100% - 2px)!important;
  z-index:60!important;
}

/* At zoomed regional views, hide unrelated clusters instead of magnifying collisions. */
.gfr-world-map[data-active-region="africa"] .gfr-map-cluster:not(.is-africa),
.gfr-world-map[data-active-region="asia"] .gfr-map-cluster:not(.is-asia),
.gfr-world-map[data-active-region="americas"] .gfr-map-cluster:not(.is-americas){
  opacity:.12!important;
  pointer-events:none!important;
}

/* TRUE non-modal map basket panel: no frozen backdrop, no dimming. */
body.gfr-map-basket-open #basketDialog{
  position:fixed!important;
  z-index:120!important;
}
body.gfr-map-basket-open #basketDialog::backdrop{
  background:transparent!important;
  backdrop-filter:none!important;
}

/* Because show() is non-modal, the page remains fully interactive. */
@media (min-width:901px){
  body.gfr-map-basket-open #basketDialog{
    width:min(570px,42vw)!important;
    max-width:570px!important;
    height:calc(100vh - 32px)!important;
    max-height:calc(100vh - 32px)!important;
    right:16px!important;
    left:auto!important;
    top:16px!important;
    bottom:auto!important;
    margin:0!important;
  }
}
@media (max-width:900px){
  body.gfr-map-basket-open #basketDialog{
    width:calc(100% - 20px)!important;
    max-width:760px!important;
    height:min(68vh,720px)!important;
    max-height:68vh!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    top:auto!important;
    margin:0!important;
  }
}

/* Cluster scaling rules remain collision-safe across widths. */
@media(max-width:1100px){
  .gfr-map-cluster.is-americas{left:3%!important;width:33%!important}
  .gfr-map-cluster.is-africa{left:35%!important;width:32%!important}
  .gfr-map-cluster.is-asia{left:66%!important;width:32%!important}
}
@media(max-width:900px){
  .gfr-map-transform{
    min-width:1080px!important;
    width:1080px!important;
  }
  .gfr-world-svg,.gfr-map-points{width:1080px!important}
  .gfr-map-cluster{
    gap:8px!important;
  }
  .gfr-map-cluster .gfr-country-point{
    min-height:44px!important;
  }
}


/* =========================================================
   v12 — LARGE GEOGRAPHIC MAP + CALLOUT BUBBLES + SMALLER SIDE PANEL
   ========================================================= */
.gfr-map-stage{
  min-height:650px!important;
  aspect-ratio:1.65/1!important;
  background:#EAF8FF!important;
}
.gfr-map-transform{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.gfr-world-geographic{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;display:block!important;pointer-events:none!important}
.gfr-map-leaders{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:visible!important;pointer-events:none!important;z-index:3!important}
.gfr-map-points{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:5!important}
.gfr-country-leader{fill:none!important;stroke:rgba(23,32,42,.42)!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-dasharray:3 3!important}
.gfr-country-anchor{fill:#35C6C8!important;stroke:#17202A!important;stroke-width:1.5!important}
.gfr-country-anchor.has-basket{fill:#9B6DFF!important;stroke-width:2.2!important}

/* Callout bubbles are hand-spaced and connected to geographic anchors: no overlap. */
.gfr-country-point,
.gfr-map-cluster .gfr-country-point{
  position:absolute!important;
  width:auto!important;
  min-width:88px!important;
  max-width:116px!important;
  min-height:42px!important;
  padding:6px 10px!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:auto!important;
}
.gfr-country-point:hover,.gfr-country-point:focus-visible,
.gfr-map-cluster .gfr-country-point:hover,.gfr-map-cluster .gfr-country-point:focus-visible{
  transform:translate(-50%,-50%) scale(1.09)!important;
}
.gfr-point-name{max-width:82px!important;font-size:11px!important}
.gfr-basket-ready{
  position:absolute!important;
  left:-8px!important;
  top:-9px!important;
  display:grid!important;
  place-items:center!important;
  width:25px!important;
  height:25px!important;
  border:2px solid #17202A!important;
  border-radius:50%!important;
  background:#EEE8FF!important;
  font-size:13px!important;
  line-height:1!important;
  box-shadow:0 4px 0 rgba(23,32,42,.10)!important;
}
.gfr-country-point.has-basket{border-color:#6F50D8!important;box-shadow:0 7px 0 rgba(23,32,42,.10),0 0 0 4px rgba(155,109,255,.13),0 10px 22px rgba(23,32,42,.13)!important}
.gfr-map-basket-key{font-style:normal!important;font-size:14px!important;line-height:1!important}

/* Smaller, lighter non-modal country panel on desktop. */
@media(min-width:901px){
  body.gfr-map-basket-open #basketDialog{
    width:min(440px,32vw)!important;
    max-width:440px!important;
    height:calc(100vh - 44px)!important;
    max-height:calc(100vh - 44px)!important;
    right:18px!important;
    top:22px!important;
  }
}

/* Keep geographic map spacious instead of shrinking labels. */
@media(max-width:1100px){
  .gfr-map-stage{min-height:610px!important;overflow:auto!important}
  .gfr-map-transform{min-width:1080px!important;width:1080px!important;height:610px!important}
  .gfr-world-geographic,.gfr-map-leaders,.gfr-map-points{width:1080px!important;height:610px!important}
}
@media(max-width:700px){
  .gfr-map-stage{min-height:560px!important}
  .gfr-map-transform{min-width:1080px!important;width:1080px!important;height:560px!important}
  .gfr-world-geographic,.gfr-map-leaders,.gfr-map-points{width:1080px!important;height:560px!important}
}


/* =========================================================
   v13 — CLICK-TO-GROW COUNTRY BUBBLES + COMPACT WOW HOVER
   Palette restricted to purple, green, turquoise and light blue.
   ========================================================= */

/* Softer, less-white map-first surfaces. */
.gfr-world-map{
  background:linear-gradient(145deg,#DDF7FF 0%,#E8F9F3 44%,#EEE8FF 100%)!important;
}
.gfr-map-head,
.gfr-map-controls{
  background:transparent!important;
}
.gfr-map-hover-preview{
  background:linear-gradient(145deg,#DDF7FF,#EEE8FF)!important;
}
.gfr-map-summary-card{
  background:#E8F9F3!important;
}
.gfr-map-price-row.is-pool{
  background:#EEE8FF!important;
}
.gfr-map-price-row.is-total{
  background:#DDF7FF!important;
}
.gfr-map-global-card{
  background:linear-gradient(145deg,#8B72EA 0%,#6F50D8 58%,#5C7CFA 100%)!important;
}
.gfr-map-stage{
  background:#DDF7FF!important;
}

/* Bubble base: no strange internal green ellipse/badge.
   Evidence availability is a clean purple outer ring instead. */
.gfr-basket-ready{display:none!important}
.gfr-country-point{
  background:#DDF7FF!important;
  border-color:#35C6C8!important;
  box-shadow:0 6px 0 rgba(53,198,200,.22),0 10px 22px rgba(92,124,250,.14)!important;
}
.gfr-country-point.has-basket{
  background:#EEE8FF!important;
  border-color:#8B72EA!important;
  box-shadow:0 6px 0 rgba(111,80,216,.20),0 0 0 4px rgba(139,114,234,.16),0 11px 24px rgba(92,124,250,.15)!important;
}

/* Selected = visibly larger bubble, not a separate panel. */
.gfr-country-point.is-selected,
.gfr-map-cluster .gfr-country-point.is-selected{
  background:#78D64B!important;
  border-color:#35A56A!important;
  transform:translate(-50%,-50%) scale(1.18)!important;
  z-index:38!important;
  box-shadow:0 9px 0 rgba(53,165,106,.22),0 0 0 7px rgba(120,214,75,.22),0 16px 30px rgba(92,124,250,.16)!important;
}
.gfr-country-point.is-selected:hover,
.gfr-country-point.is-selected:focus-visible{
  transform:translate(-50%,-50%) scale(1.26)!important;
}
.gfr-country-point.is-selected::after{
  display:none!important;
}

/* Keep only a tiny check in the corner; no green ellipse inside the identity. */
.gfr-bubble-check{
  width:20px!important;
  height:20px!important;
  right:-6px!important;
  top:-7px!important;
  background:#78D64B!important;
  border-color:#35A56A!important;
  border-radius:50%!important;
}

/* Hover is a small appetizing impact teaser only. */
.gfr-hover-preview-card.is-compact{
  min-height:170px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:10px!important;
  padding:20px!important;
  background:linear-gradient(145deg,#DDF7FF,#EEE8FF)!important;
}
.gfr-hover-preview-card.is-compact .gfr-hover-country strong{
  color:#5A43BD!important;
}
.gfr-hover-preview-card.is-compact .gfr-hover-wow{
  background:#78D64B!important;
  border-color:#35A56A!important;
  color:#17202A!important;
}
.gfr-hover-preview-card.is-compact .gfr-hover-status{
  background:#35C6C8!important;
  border-color:#238F93!important;
}
.gfr-hover-impact.is-compact{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.gfr-hover-impact.is-compact span{
  background:#DDF7FF!important;
  border:3px solid #5C7CFA!important;
  color:#17202A!important;
  font-size:16px!important;
  font-weight:1000!important;
  padding:8px 11px!important;
}

/* The old map-click basket side-panel presentation is disabled.
   Basket dialog still exists and works from the rest of the site's existing controls. */
body.gfr-map-basket-open #basketDialog{
  all:revert-layer;
}
body.gfr-map-basket-open #basketDialog::backdrop{
  all:revert-layer;
}

/* Keep the relevant experience within the approved four-color family. */
.gfr-region-controls button.active{background:#35C6C8!important}
.gfr-zoom-controls button{background:#DDF7FF!important;border-color:#5C7CFA!important}
#gfrMapReset{background:#EEE8FF!important}
#gfrMapChooseAll{background:#78D64B!important}
#gfrMapClear{background:#DDF7FF!important}
.gfr-map-key span:nth-child(1){background:#DDF7FF!important}
.gfr-map-key span:nth-child(2){background:#DDF7FF!important}
.gfr-map-key span:nth-child(3){background:#EEE8FF!important}

/* At narrow sizes selection still grows but remains manageable. */
@media(max-width:900px){
  .gfr-country-point.is-selected,
  .gfr-map-cluster .gfr-country-point.is-selected{
    transform:translate(-50%,-50%) scale(1.14)!important;
  }
  .gfr-country-point.is-selected:hover,
  .gfr-country-point.is-selected:focus-visible{
    transform:translate(-50%,-50%) scale(1.20)!important;
  }
}


/* =========================================================
   v14b — PREMIUM MAP-FIRST VISUAL PASS
   ========================================================= */
:root{
  --v14-ocean1:#06275f;--v14-ocean2:#0b3f86;--v14-ocean3:#0e5da8;
  --v14-cyan:#2ad6d6;--v14-aqua:#63e6d5;--v14-sky:#67baf7;
  --v14-green:#68db57;--v14-green2:#24b86c;
  --v14-purple:#7d49e8;--v14-purple2:#5d2ed0;
  --v14-ink:#10213d;--v14-panel:#0b2452;--v14-white:#fff;
}
.site-header{background:rgba(246,251,255,.97)!important;border-bottom:3px solid var(--v14-cyan)!important;box-shadow:0 6px 24px rgba(8,39,90,.10)!important}
.brand-mark{background:linear-gradient(145deg,var(--v14-purple),var(--v14-sky))!important;color:#fff!important;border:3px solid var(--v14-ink)!important;box-shadow:0 6px 0 rgba(16,33,61,.16)!important}
.gfr-world-map{max-width:1600px!important;margin:0 auto 34px!important;padding:18px!important;border:0!important;border-radius:32px!important;background:radial-gradient(circle at 30% 18%,rgba(42,214,214,.16),transparent 34%),linear-gradient(160deg,var(--v14-ocean1) 0%,var(--v14-ocean2) 52%,#061f4d 100%)!important;box-shadow:0 28px 80px rgba(6,31,77,.32)!important;color:#fff!important;overflow:hidden!important;position:relative!important}
.gfr-world-map::before{content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:linear-gradient(rgba(99,230,213,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(99,230,213,.035) 1px,transparent 1px)!important;background-size:42px 42px!important;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 90%)!important}
.gfr-map-head{position:relative!important;z-index:2!important;margin-bottom:14px!important}.gfr-map-head .eyebrow{color:var(--v14-aqua)!important}.gfr-map-head h3{color:#fff!important;font-size:clamp(34px,3.4vw,54px)!important;text-shadow:0 3px 18px rgba(0,0,0,.24)!important}.gfr-map-head p:last-child{color:#d9ecff!important;max-width:880px!important}
.gfr-map-key span{background:rgba(6,31,77,.76)!important;color:#fff!important;border:2px solid rgba(99,230,213,.72)!important;box-shadow:0 6px 18px rgba(0,0,0,.18)!important}.gfr-map-dot-key{background:var(--v14-cyan)!important;border-color:#fff!important}.gfr-map-dot-key.is-selected{background:var(--v14-green)!important;box-shadow:0 0 0 4px rgba(104,219,87,.20)!important}
.gfr-region-controls button,.gfr-zoom-controls button{min-height:48px!important;padding:10px 16px!important;border:2px solid rgba(103,186,247,.60)!important;background:linear-gradient(180deg,#11376f,#0a2857)!important;color:#fff!important;box-shadow:0 7px 16px rgba(0,0,0,.20)!important}.gfr-region-controls button:hover,.gfr-zoom-controls button:hover{transform:translateY(-2px)!important;border-color:var(--v14-aqua)!important;box-shadow:0 10px 22px rgba(42,214,214,.18)!important}.gfr-region-controls button.active{background:linear-gradient(180deg,#2eddd6,#1c9fb7)!important;color:#06275f!important;border-color:#b8fff3!important;box-shadow:0 0 0 4px rgba(42,214,214,.20),0 8px 20px rgba(42,214,214,.25)!important}#gfrMapZoomLevel{color:#fff!important}#gfrMapReset{background:linear-gradient(180deg,#1e3971,#0c2856)!important;color:#fff!important}
.gfr-map-stage{min-height:700px!important;border:2px solid rgba(103,230,213,.70)!important;border-radius:28px!important;background:radial-gradient(circle at 50% 45%,rgba(45,214,214,.14),transparent 48%),linear-gradient(180deg,#073575,#062b63)!important;box-shadow:inset 0 0 70px rgba(5,21,55,.56),0 18px 40px rgba(0,0,0,.20)!important}
.gfr-world-geographic{opacity:.94!important;filter:hue-rotate(115deg) saturate(1.45) brightness(1.10) drop-shadow(0 10px 16px rgba(0,0,0,.22))!important}.gfr-country-leader{stroke:rgba(99,230,213,.60)!important;stroke-width:1.35!important;stroke-dasharray:3 4!important}.gfr-country-anchor{fill:var(--v14-cyan)!important;stroke:#fff!important}.gfr-country-anchor.has-basket{fill:var(--v14-purple)!important;stroke:#fff!important;filter:drop-shadow(0 0 4px rgba(125,73,232,.8))!important}
.gfr-country-point,.gfr-map-cluster .gfr-country-point{min-width:94px!important;max-width:126px!important;min-height:44px!important;padding:7px 12px!important;border:2px solid #64dfe0!important;border-radius:999px!important;background:linear-gradient(180deg,#fff 0%,#eaf8ff 100%)!important;color:var(--v14-ink)!important;box-shadow:0 5px 0 rgba(2,22,56,.34),0 10px 24px rgba(0,0,0,.26)!important}
.gfr-country-point.has-basket{border:3px solid var(--v14-purple)!important;background:linear-gradient(180deg,#fff 0%,#eee8ff 100%)!important;box-shadow:0 5px 0 rgba(60,30,145,.30),0 0 0 4px rgba(125,73,232,.12),0 10px 26px rgba(0,0,0,.28)!important}.gfr-bubble-identity{gap:6px!important}.gfr-point-core{font-size:15px!important}.gfr-point-name{max-width:92px!important;font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif!important;font-size:12px!important;line-height:1!important;font-weight:900!important;font-style:italic!important;letter-spacing:-.015em!important;color:var(--v14-ink)!important;text-shadow:0 1px 0 rgba(255,255,255,.95)!important}
.gfr-bubble-check{display:none!important}.gfr-country-point:hover,.gfr-country-point:focus-visible{transform:translate(-50%,-50%) scale(1.10)!important;border-color:#b7fff2!important;box-shadow:0 7px 0 rgba(2,22,56,.32),0 0 0 5px rgba(42,214,214,.22),0 18px 34px rgba(0,0,0,.32)!important}.gfr-country-point.is-selected,.gfr-map-cluster .gfr-country-point.is-selected{background:linear-gradient(180deg,#7ee85f 0%,#55cf70 100%)!important;border:3px solid #baff9f!important;color:#06275f!important;transform:translate(-50%,-50%) scale(1.15)!important;box-shadow:0 6px 0 rgba(4,93,55,.34),0 0 0 5px rgba(104,219,87,.22),0 18px 34px rgba(0,0,0,.30)!important}.gfr-country-point.is-selected:hover,.gfr-country-point.is-selected:focus-visible{transform:translate(-50%,-50%) scale(1.22)!important}.gfr-country-point.is-selected::after{display:none!important}
.gfr-map-hover-preview,.gfr-map-summary-card,.gfr-map-global-card{border:2px solid rgba(103,186,247,.52)!important;background:linear-gradient(160deg,rgba(12,42,91,.98),rgba(7,30,69,.98))!important;color:#fff!important;box-shadow:0 12px 30px rgba(0,0,0,.22)!important}.gfr-hover-preview-empty strong,.gfr-hover-preview-empty p{color:#fff!important}.gfr-hover-preview-empty p{color:#c8dcf4!important}.gfr-hover-preview-card.is-compact{background:linear-gradient(145deg,#102f69,#0a2858)!important}.gfr-hover-preview-card.is-compact .gfr-hover-country strong{color:#fff!important}.gfr-hover-preview-card.is-compact .gfr-hover-wow{background:var(--v14-green)!important;color:#06275f!important;border-color:#baff9f!important}.gfr-hover-impact.is-compact span{background:rgba(255,255,255,.10)!important;border:2px solid rgba(99,230,213,.72)!important;color:#fff!important}
.gfr-map-summary-head{color:#fff!important}.gfr-map-summary-head strong{background:rgba(104,219,87,.15)!important;color:#caffb9!important;border:1px solid rgba(104,219,87,.35)!important}.gfr-map-price-row{border-top:1px solid rgba(255,255,255,.12)!important}.gfr-map-price-row span,.gfr-map-price-row strong{color:#fff!important}.gfr-map-price-row.is-pool{background:linear-gradient(145deg,rgba(125,73,232,.62),rgba(93,46,208,.50))!important;border:2px solid rgba(173,139,255,.62)!important}.gfr-map-price-row.is-total{background:linear-gradient(145deg,rgba(36,184,108,.48),rgba(19,113,80,.60))!important;border:2px solid rgba(104,219,87,.70)!important}.gfr-map-price-row.is-total strong{color:#84f062!important}.gfr-map-local-references{background:rgba(255,255,255,.07)!important;border:1px solid rgba(103,186,247,.42)!important}.gfr-map-local-references strong,.gfr-map-local-references span{color:#ddecff!important}.gfr-map-summary-actions button{border:2px solid rgba(103,230,213,.65)!important}#gfrMapChooseAll{background:linear-gradient(180deg,#2bdd95,#18aa77)!important;color:#06275f!important}#gfrMapClear{background:linear-gradient(180deg,#183a75,#0c2858)!important;color:#fff!important}.gfr-map-summary-note{color:#bdd3ec!important}
.gfr-map-global-card{background:linear-gradient(155deg,#153274 0%,#4c2aa5 62%,#24145d 100%)!important}.gfr-map-global-card .eyebrow,.gfr-map-global-card h4,.gfr-map-global-card>p:not(.eyebrow){color:#fff!important}.gfr-map-global-presets button{background:rgba(7,30,69,.88)!important;color:#fff!important;border:1px solid rgba(103,186,247,.55)!important}.gfr-map-global-presets button.active{background:linear-gradient(180deg,#8737ef,#6424d7)!important;color:#fff!important;border-color:#c59aff!important}.gfr-map-global-preview{background:rgba(6,31,77,.78)!important;border:1px solid rgba(103,186,247,.48)!important}.gfr-map-global-preview span,.gfr-map-global-preview strong,.gfr-map-global-preview b,.gfr-map-global-preview small{color:#fff!important}.gfr-map-global-preview>em{background:rgba(104,219,87,.13)!important;color:#caffb9!important}.gfr-map-global-cta{background:linear-gradient(90deg,#7132e3,#8e39ee)!important;border:2px solid #c693ff!important;color:#fff!important;box-shadow:0 8px 0 rgba(30,10,78,.40),0 12px 28px rgba(125,73,232,.28)!important}.gfr-map-global-cta:hover{transform:translateY(-2px)!important;box-shadow:0 10px 0 rgba(30,10,78,.40),0 0 0 6px rgba(99,230,213,.18),0 18px 36px rgba(125,73,232,.38)!important}
.gfr-map-trust-ribbon{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;margin-top:16px!important;border:1px solid rgba(103,230,213,.58)!important;border-radius:22px!important;overflow:hidden!important;background:linear-gradient(90deg,rgba(42,214,214,.18),rgba(103,186,247,.18),rgba(125,73,232,.22))!important}.gfr-map-trust-ribbon>div{display:grid!important;grid-template-columns:auto 1fr!important;column-gap:10px!important;row-gap:2px!important;align-items:center!important;padding:16px 18px!important;border-right:1px solid rgba(255,255,255,.16)!important}.gfr-map-trust-ribbon>div:last-child{border-right:0!important}.gfr-map-trust-ribbon span{grid-row:1/3!important;font-size:30px!important}.gfr-map-trust-ribbon strong{color:#fff!important;font-size:17px!important;font-weight:1000!important}.gfr-map-trust-ribbon small{color:#c9ddf2!important;font-size:14px!important;font-weight:700!important}.gfr-map-footnote{color:#c9ddf2!important;opacity:.9!important}
@media(max-width:1100px){.gfr-world-map{padding:16px!important}.gfr-map-stage{min-height:620px!important}.gfr-map-trust-ribbon{grid-template-columns:1fr!important}.gfr-map-trust-ribbon>div{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}.gfr-map-trust-ribbon>div:last-child{border-bottom:0!important}}
@media(max-width:760px){.gfr-map-head h3{font-size:36px!important}.gfr-map-stage{min-height:560px!important}.gfr-world-map{border-radius:24px!important}}


/* =========================================================
   v15 — REAL LEAFLET + NATURAL EARTH MAP
   ========================================================= */
.gfr-map-stage{
  position:relative!important;
  min-height:700px!important;
  height:700px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#073575,#062b63)!important;
}
.gfr-leaflet-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:radial-gradient(circle at 50% 45%,rgba(45,214,214,.16),transparent 50%),linear-gradient(180deg,#073575,#062b63)!important;
  z-index:1!important;
}
.gfr-map-transform,.gfr-world-geographic,.gfr-map-leaders,.gfr-map-points,.gfr-map-sweep{display:none!important}

/* Leaflet chrome */
.gfr-leaflet-map .leaflet-pane,
.gfr-leaflet-map .leaflet-control{font-family:Nunito,"Segoe UI",Arial,sans-serif!important}
.gfr-leaflet-map .leaflet-control-attribution{
  background:rgba(6,31,77,.82)!important;
  color:#d9ecff!important;
  border-radius:10px 0 0 0!important;
  padding:4px 7px!important;
}
.gfr-leaflet-map .leaflet-control-attribution a{color:#63e6d5!important}
.gfr-leaflet-map .leaflet-container{background:#062b63!important}

/* One clean bubble object: NO inner green ellipse/check. */
.gfr-leaflet-icon-wrap{
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.gfr-leaflet-country{
  width:100%!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:6px 10px!important;
  border:2px solid #2ad6d6!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#ffffff 0%,#dff6ff 100%)!important;
  color:#10213d!important;
  box-shadow:0 5px 0 rgba(2,22,56,.36),0 10px 24px rgba(0,0,0,.25)!important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background .22s ease!important;
  transform-origin:center!important;
  cursor:pointer!important;
}
.gfr-leaflet-country.has-basket{
  border:3px solid #7d49e8!important;
  background:linear-gradient(180deg,#ffffff 0%,#eee8ff 100%)!important;
  box-shadow:0 5px 0 rgba(60,30,145,.30),0 0 0 4px rgba(125,73,232,.14),0 10px 26px rgba(0,0,0,.28)!important;
}
.gfr-leaflet-country.is-selected{
  border:3px solid #24b86c!important;
  background:linear-gradient(180deg,#baff9f 0%,#68db57 100%)!important;
  box-shadow:0 6px 0 rgba(4,93,55,.34),0 0 0 5px rgba(104,219,87,.22),0 15px 30px rgba(0,0,0,.28)!important;
  transform:scale(1.10)!important;
}
.gfr-leaflet-icon-wrap:hover .gfr-leaflet-country,
.gfr-leaflet-icon-wrap:focus .gfr-leaflet-country{
  transform:scale(1.10)!important;
  box-shadow:0 7px 0 rgba(2,22,56,.34),0 0 0 5px rgba(42,214,214,.25),0 18px 34px rgba(0,0,0,.32)!important;
}
.gfr-leaflet-icon-wrap:hover .gfr-leaflet-country.is-selected,
.gfr-leaflet-icon-wrap:focus .gfr-leaflet-country.is-selected{
  transform:scale(1.16)!important;
}
.gfr-marker-flag{font-size:15px!important;line-height:1!important;flex:0 0 auto!important}
.gfr-marker-name{
  font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  font-style:italic!important;
  letter-spacing:-.015em!important;
  color:#10213d!important;
  white-space:nowrap!important;
  text-shadow:0 1px 0 rgba(255,255,255,.95)!important;
}

/* MarkerCluster guarantees crowded markers don't cover one another at world zoom. */
.gfr-cluster-icon-wrap{background:transparent!important;border:0!important}
.gfr-cluster-icon{
  width:74px!important;height:74px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  border:3px solid #63e6d5!important;border-radius:50%!important;
  background:radial-gradient(circle at 35% 28%,#8ef4df,#2ad6d6 58%,#0d78a6)!important;
  color:#06275f!important;
  box-shadow:0 0 0 6px rgba(42,214,214,.16),0 10px 26px rgba(0,0,0,.32)!important;
}
.gfr-cluster-icon span{font-size:23px!important;line-height:1!important;font-weight:1000!important;color:#06275f!important}
.gfr-cluster-icon small{font-size:9px!important;line-height:1.1!important;font-weight:1000!important;color:#06275f!important;text-transform:uppercase!important}

/* Contrast audit: no white-on-light legend text. */
.gfr-map-key span{
  background:#0b2f69!important;
  color:#ffffff!important;
  border-color:#63e6d5!important;
}
.gfr-map-key span *{color:inherit!important}
.gfr-map-dot-key{border-color:#ffffff!important}
.gfr-map-head h3,.gfr-map-head p,.gfr-map-head .eyebrow{color:#ffffff!important}
.gfr-region-controls button,.gfr-zoom-controls button{
  color:#ffffff!important;
  background:#0b2f69!important;
}
.gfr-region-controls button.active{
  color:#06275f!important;
  background:#2ad6d6!important;
}
.gfr-region-controls button.active *{color:#06275f!important}
#gfrMapZoomLevel{color:#ffffff!important}

/* Error state if external Leaflet library is unavailable. */
.gfr-map-load-error{
  position:absolute!important;inset:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  text-align:center!important;padding:30px!important;
  color:#ffffff!important;background:linear-gradient(180deg,#073575,#062b63)!important;
}
.gfr-map-load-error strong{font-size:24px!important;color:#ffffff!important}
.gfr-map-load-error span{font-size:17px!important;color:#d9ecff!important}

@media(max-width:1100px){
  .gfr-map-stage{height:620px!important;min-height:620px!important}
}
@media(max-width:760px){
  .gfr-map-stage{height:560px!important;min-height:560px!important}
}

/* =========================================================
   v16 — CANDY-FRUIT CONTINENT → COUNTRY MAP
   Same Leaflet zoom inside and outside regions; no numeric clusters.
   ========================================================= */
.gfr-world-map{
  max-width:1720px!important;
  padding:18px!important;
  border:0!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 10% 20%,rgba(255,92,192,.55),transparent 22%),
    radial-gradient(circle at 84% 12%,rgba(142,91,255,.62),transparent 26%),
    linear-gradient(135deg,#16c9f4 0%,#22cfe5 43%,#64d7ed 72%,#a75bf0 100%)!important;
  box-shadow:0 28px 70px rgba(38,91,167,.24)!important;
  color:#0b2454!important;
}
.gfr-world-map::before{background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px)!important;background-size:44px 44px!important}
.gfr-map-head h3{color:#ffffff!important;text-shadow:0 4px 0 rgba(46,72,167,.22),0 8px 24px rgba(43,55,143,.22)!important}
.gfr-map-head p:last-child{color:#07366d!important;background:rgba(255,255,255,.72)!important;padding:10px 14px!important;border-radius:18px!important;box-shadow:0 4px 0 rgba(32,113,173,.10)!important}
.gfr-map-head .eyebrow{color:#07366d!important;background:#7ef7cf!important;padding:7px 11px!important;border-radius:999px!important;display:inline-flex!important;width:max-content!important}
.gfr-map-key span{background:#ffffff!important;color:#0b2454!important;border:3px solid #2bdad2!important;box-shadow:0 6px 0 rgba(42,154,192,.14)!important;text-shadow:none!important}
.gfr-map-key span:nth-child(2){border-color:#6ddb45!important;background:#efffe9!important}
.gfr-map-key span:nth-child(3){border-color:#a25af0!important;background:#f6ebff!important}
.gfr-map-key span,.gfr-map-key span *{color:#0b2454!important}
.gfr-map-dot-key{border-color:#0b2454!important}.gfr-map-dot-key.is-selected{background:#72e754!important}

.gfr-map-first-layout{grid-template-columns:minmax(0,1fr) 350px!important;gap:16px!important}
.gfr-map-stage{height:790px!important;min-height:790px!important;border:3px solid rgba(255,255,255,.82)!important;border-radius:30px!important;background:#10bde5!important;box-shadow:inset 0 0 90px rgba(29,66,168,.22),0 16px 36px rgba(31,76,145,.18)!important}
.gfr-leaflet-map{background:linear-gradient(180deg,#0dc5ed 0%,#21c9e7 58%,#3ed2df 100%)!important}
.gfr-leaflet-map::after{content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:350!important;background:radial-gradient(circle at 50% 43%,transparent 45%,rgba(75,57,194,.12) 100%)!important}
.gfr-leaflet-map .leaflet-control-attribution{background:rgba(255,255,255,.82)!important;color:#0b2454!important}.gfr-leaflet-map .leaflet-control-attribution a{color:#6742cf!important}

.gfr-region-controls button,.gfr-zoom-controls button{background:#ffffff!important;color:#0b2454!important;border:3px solid #4fb8ee!important;box-shadow:0 6px 0 rgba(29,102,169,.15)!important;text-shadow:none!important}
.gfr-region-controls button:nth-child(2){border-color:#44c966!important;background:#e9ffe8!important}.gfr-region-controls button:nth-child(3){border-color:#9b5cff!important;background:#f1e9ff!important}.gfr-region-controls button:nth-child(4){border-color:#ff9b36!important;background:#fff2d8!important}
.gfr-region-controls button.active{background:#3ee3dd!important;border-color:#ffffff!important;color:#083865!important;box-shadow:0 0 0 5px rgba(255,255,255,.34),0 8px 0 rgba(18,140,171,.18)!important}
#gfrMapZoomLevel{color:#0b2454!important;background:#ffffff!important;border-radius:999px!important;padding:9px 12px!important;box-shadow:0 5px 0 rgba(29,102,169,.14)!important}

/* Continent / region circles shown at world zoom. */
.gfr-region-icon-wrap{background:transparent!important;border:0!important;overflow:visible!important}
.gfr-region-circle{width:166px!important;height:166px!important;border-radius:50%!important;border:5px solid rgba(255,255,255,.92)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;color:#ffffff!important;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.38),transparent 24%),linear-gradient(145deg,var(--region-color),color-mix(in srgb,var(--region-color),#4a168b 28%))!important;box-shadow:0 8px 0 rgba(43,52,126,.22),0 0 0 6px color-mix(in srgb,var(--region-color),transparent 72%),0 18px 34px rgba(51,71,151,.25)!important;cursor:pointer!important;transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .24s ease!important;text-shadow:0 2px 0 rgba(37,45,115,.24)!important}
.gfr-region-circle:hover,.gfr-region-circle:focus{transform:scale(1.08)!important;filter:saturate(1.12) brightness(1.05)!important;outline:none!important}
.gfr-region-circle>span{font-size:34px!important;line-height:1!important}.gfr-region-circle strong{font-size:27px!important;line-height:1!important;color:#ffffff!important;font-weight:1000!important}.gfr-region-circle small{font-size:15px!important;color:#ffffff!important;font-weight:900!important;opacity:.95!important}

/* Exact geographic anchor + collision-safe circular country callout. */
.gfr-country-anchor-wrap{background:transparent!important;border:0!important;overflow:visible!important;width:1px!important;height:1px!important}
.gfr-country-anchor-dot{position:absolute!important;left:-5px!important;top:-5px!important;width:10px!important;height:10px!important;border-radius:50%!important;background:#ffffff!important;border:3px solid #0a62b1!important;box-shadow:0 0 0 4px rgba(45,224,213,.30)!important;z-index:2!important}
.gfr-country-link{position:absolute!important;left:0!important;top:0!important;height:2px!important;background:rgba(255,255,255,.86)!important;transform-origin:0 50%!important;z-index:1!important;pointer-events:none!important;box-shadow:0 1px 0 rgba(15,68,134,.18)!important}
.gfr-country-circle{--dx:0px;--dy:0px;position:absolute!important;left:0!important;top:0!important;width:var(--gfr-country-size,82px)!important;height:var(--gfr-country-size,82px)!important;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy)))!important;border-radius:50%!important;border:4px solid #ffffff!important;background:linear-gradient(145deg,#ffffff 0%,#dcf8ff 100%)!important;color:#0b2454!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:7px!important;box-shadow:0 6px 0 rgba(26,89,155,.20),0 0 0 4px rgba(38,214,216,.25),0 12px 24px rgba(35,68,138,.18)!important;cursor:pointer!important;transition:width .18s ease,height .18s ease,box-shadow .18s ease,background .18s ease!important;z-index:4!important;overflow:hidden!important}
.gfr-country-circle.has-basket{border-color:#ffffff!important;background:linear-gradient(145deg,#f6ecff 0%,#e4f8ff 100%)!important;box-shadow:0 6px 0 rgba(99,55,190,.18),0 0 0 5px rgba(161,84,241,.46),0 12px 26px rgba(79,63,174,.20)!important}
.gfr-country-circle.is-selected{width:calc(var(--gfr-country-size,82px) + 8px)!important;height:calc(var(--gfr-country-size,82px) + 8px)!important;background:linear-gradient(145deg,#caff9f 0%,#65e46a 100%)!important;box-shadow:0 7px 0 rgba(42,151,83,.20),0 0 0 6px rgba(106,225,82,.43),0 14px 28px rgba(45,120,111,.20)!important}
.gfr-country-circle:hover,.gfr-country-circle:focus{filter:saturate(1.08) brightness(1.03)!important;box-shadow:0 8px 0 rgba(26,89,155,.20),0 0 0 7px rgba(48,232,224,.42),0 16px 30px rgba(35,68,138,.25)!important;outline:none!important;z-index:50!important}
.gfr-country-flag{font-size:18px!important;line-height:1!important}.gfr-country-name{max-width:92%!important;font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif!important;font-size:clamp(10px,calc(var(--gfr-country-size,82px) / 6.4),15px)!important;line-height:.98!important;font-weight:1000!important;font-style:italic!important;letter-spacing:-.02em!important;text-align:center!important;color:#0b2454!important;text-shadow:0 1px 0 #ffffff!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}

/* Right rail — candy-premium rather than dark. */
.gfr-map-side{gap:13px!important}.gfr-map-hover-preview,.gfr-map-summary-card,.gfr-map-global-card{border:3px solid rgba(255,255,255,.86)!important;border-radius:28px!important;box-shadow:0 10px 0 rgba(41,84,157,.15),0 18px 36px rgba(54,71,158,.16)!important;color:#0b2454!important}
.gfr-map-hover-preview{background:linear-gradient(145deg,#e8fbff,#f2e9ff)!important}.gfr-map-summary-card{background:linear-gradient(160deg,#f7ffff,#e5f8ff)!important}.gfr-map-global-card{background:linear-gradient(150deg,#7552ea 0%,#9b58ef 58%,#4d98ef 100%)!important;color:#ffffff!important}
.gfr-hover-preview-empty strong,.gfr-hover-preview-empty p{color:#0b2454!important}.gfr-hover-preview-card.is-compact{background:linear-gradient(145deg,#e7fbff,#f2e9ff)!important}.gfr-hover-preview-card.is-compact .gfr-hover-country strong{color:#5c3bc4!important}.gfr-hover-impact.is-compact span{background:#ffffff!important;color:#0b2454!important;border-color:#45cbd1!important}.gfr-map-summary-head,.gfr-map-summary-head span,.gfr-map-summary-card .gfr-map-price-row span,.gfr-map-summary-card .gfr-map-price-row strong{color:#0b2454!important}.gfr-map-summary-head strong{background:#e5ffdc!important;color:#16683e!important}.gfr-map-price-row.is-pool{background:#eee6ff!important;border-color:#a166ef!important}.gfr-map-price-row.is-total{background:#dfffd9!important;border-color:#5ec75f!important}.gfr-map-price-row.is-total strong{color:#158b52!important}.gfr-map-summary-note{color:#315781!important}.gfr-map-local-references{background:#ffffff!important;border-color:#5ecbd5!important}.gfr-map-local-references strong,.gfr-map-local-references span{color:#0b2454!important}
#gfrMapChooseAll{background:linear-gradient(180deg,#5ee6a4,#27c98b)!important;color:#083f58!important;border-color:#ffffff!important}#gfrMapClear{background:#ffffff!important;color:#0b2454!important;border-color:#4bc8df!important}
.gfr-map-global-card .eyebrow,.gfr-map-global-card h4,.gfr-map-global-card>p:not(.eyebrow){color:#ffffff!important}.gfr-map-global-presets button{background:rgba(23,52,129,.72)!important;color:#ffffff!important;border-color:rgba(255,255,255,.56)!important}.gfr-map-global-presets button.active{background:linear-gradient(180deg,#c141ff,#7a20e8)!important;color:#ffffff!important;border-color:#ffffff!important}.gfr-map-global-preview{background:rgba(255,255,255,.92)!important;border-color:#ffffff!important}.gfr-map-global-preview span,.gfr-map-global-preview strong,.gfr-map-global-preview b,.gfr-map-global-preview small{color:#0b2454!important}.gfr-map-global-preview>em{background:#e6ffdd!important;color:#167344!important}.gfr-map-global-cta{background:linear-gradient(90deg,#af33f4,#7a21e8)!important;border-color:#ffffff!important}

.gfr-map-trust-ribbon{background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(234,252,255,.72),rgba(244,232,255,.78))!important;border:3px solid rgba(255,255,255,.84)!important}.gfr-map-trust-ribbon strong{color:#0b2454!important}.gfr-map-trust-ribbon small{color:#315781!important}.gfr-map-footnote{color:#0b2454!important;background:rgba(255,255,255,.78)!important;padding:10px 13px!important;border-radius:16px!important}

/* Completely retire numeric cluster UI from older versions. */
.gfr-cluster-icon-wrap,.gfr-cluster-icon{display:none!important}

@media(max-width:1250px){.gfr-map-first-layout{grid-template-columns:1fr!important}.gfr-map-side{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gfr-map-global-card{grid-column:1/-1!important}.gfr-map-stage{height:720px!important;min-height:720px!important}}
@media(max-width:760px){.gfr-map-side{grid-template-columns:1fr!important}.gfr-map-global-card{grid-column:auto!important}.gfr-map-stage{height:620px!important;min-height:620px!important}.gfr-region-circle{width:138px!important;height:138px!important}.gfr-region-circle strong{font-size:23px!important}}



/* =========================================================
   v17 — CHOOSE COUNTRIES + OR SEPARATOR ONLY
   ========================================================= */
.gfr-map-mode-title{
  flex:1 1 220px!important;
  min-width:190px!important;
  text-align:center!important;
  color:#ffffff!important;
  font-family:Nunito,"Segoe UI",Arial,sans-serif!important;
  font-size:clamp(22px,2.1vw,34px)!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.025em!important;
  text-shadow:0 3px 10px rgba(21,38,93,.30)!important;
  white-space:nowrap!important;
}
.gfr-map-or-divider{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  color:#ffffff!important;
}
.gfr-map-or-divider::before,
.gfr-map-or-divider::after{
  content:""!important;
  flex:1 1 auto!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78))!important;
}
.gfr-map-or-divider::after{
  background:linear-gradient(90deg,rgba(255,255,255,.78),transparent)!important;
}
.gfr-map-or-divider span{
  display:grid!important;
  place-items:center!important;
  min-width:72px!important;
  min-height:52px!important;
  padding:7px 18px!important;
  border:3px solid #ffffff!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#7d49e8,#5d2ed0)!important;
  color:#ffffff!important;
  font-family:Nunito,"Segoe UI",Arial,sans-serif!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:1000!important;
  box-shadow:0 7px 0 rgba(65,42,139,.22),0 12px 24px rgba(81,53,173,.20)!important;
}
@media(max-width:1100px){
  .gfr-map-mode-title{order:3!important;flex-basis:100%!important;margin-top:2px!important}
}
@media(max-width:760px){
  .gfr-map-mode-title{font-size:28px!important;white-space:normal!important}
  .gfr-map-or-divider span{font-size:28px!important;min-width:66px!important;min-height:48px!important}
}


/* =========================================================
   v18 — STRATEGIC OR LAYOUT
   Map choice  |  OR  |  direct Global World Round
   Selected-country percentage choice follows immediately below.
   ========================================================= */
.gfr-map-choice-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 104px minmax(300px,360px)!important;
  gap:18px!important;
  align-items:start!important;
}
.gfr-map-choice-left{min-width:0!important}
.gfr-map-choice-left .gfr-map-main{width:100%!important}
.gfr-map-support-row{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:14px!important;
  margin-top:14px!important;
}
.gfr-map-support-row .gfr-map-hover-preview,
.gfr-map-support-row .gfr-map-summary-card{
  position:relative!important;
  top:auto!important;
  min-width:0!important;
  height:100%!important;
}
.gfr-map-global-choice{
  position:sticky!important;
  top:104px!important;
  min-width:0!important;
}
.gfr-map-global-choice .gfr-map-global-card{
  width:100%!important;
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:28px!important;
  border-radius:34px!important;
}
.gfr-map-global-choice .gfr-map-global-card h4{
  font-size:clamp(30px,2.4vw,42px)!important;
}
.gfr-map-global-choice .gfr-map-global-card>p:not(.eyebrow){
  font-size:18px!important;
}
.gfr-map-or-divider{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  width:104px!important;
  min-height:520px!important;
  margin:0!important;
}
.gfr-map-or-divider::before,
.gfr-map-or-divider::after{
  content:""!important;
  width:4px!important;
  flex:1 1 auto!important;
  min-height:90px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.92))!important;
}
.gfr-map-or-divider::after{
  background:linear-gradient(180deg,rgba(255,255,255,.92),transparent)!important;
}
.gfr-map-or-divider span{
  min-width:92px!important;
  min-height:72px!important;
  padding:10px 20px!important;
  font-size:42px!important;
  line-height:1!important;
  border:4px solid #fff!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#9b58ef,#6d34df)!important;
  color:#fff!important;
  box-shadow:0 8px 0 rgba(72,45,151,.24),0 15px 32px rgba(88,55,178,.28)!important;
  text-shadow:0 2px 8px rgba(49,27,105,.30)!important;
}
.gfr-selected-percent-bridge{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px 16px!important;
  width:min(100%,1040px)!important;
  margin:20px auto 4px!important;
  padding:13px 22px!important;
  border:3px solid rgba(255,255,255,.92)!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#d9fff2 0%,#dff7ff 48%,#efe4ff 100%)!important;
  color:#10213d!important;
  box-shadow:0 8px 20px rgba(54,71,158,.13)!important;
  text-align:center!important;
}
.gfr-selected-percent-bridge>span{
  font-size:25px!important;
  color:#6d34df!important;
  font-weight:1000!important;
}
.gfr-selected-percent-bridge strong{
  font-size:18px!important;
  color:#10213d!important;
  font-weight:1000!important;
}
.gfr-selected-percent-bridge small{
  font-size:16px!important;
  color:#5d2ed0!important;
  font-weight:1000!important;
}

/* Put the actual selected-country percentage controls directly after the map choice area. */
.selected-country-funding{
  margin-top:16px!important;
}

/* The old map-side grid is no longer the layout owner in v18. */
.gfr-map-choice-layout > .gfr-map-side{display:none!important}

@media(max-width:1250px){
  .gfr-map-choice-layout{
    grid-template-columns:minmax(0,1fr) 86px minmax(280px,330px)!important;
    gap:12px!important;
  }
  .gfr-map-or-divider{width:86px!important}
  .gfr-map-or-divider span{min-width:78px!important;font-size:36px!important}
}
@media(max-width:980px){
  .gfr-map-choice-layout{
    grid-template-columns:1fr!important;
  }
  .gfr-map-global-choice{position:relative!important;top:auto!important}
  .gfr-map-or-divider{
    width:100%!important;
    min-height:auto!important;
    flex-direction:row!important;
    margin:4px 0!important;
  }
  .gfr-map-or-divider::before,
  .gfr-map-or-divider::after{
    width:auto!important;
    height:4px!important;
    min-height:0!important;
    min-width:80px!important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.92))!important;
  }
  .gfr-map-or-divider::after{
    background:linear-gradient(90deg,rgba(255,255,255,.92),transparent)!important;
  }
  .gfr-map-support-row{grid-template-columns:1fr 1fr!important}
  .gfr-map-global-choice .gfr-map-global-card{min-height:auto!important}
}
@media(max-width:700px){
  .gfr-map-support-row{grid-template-columns:1fr!important}
  .gfr-selected-percent-bridge{border-radius:26px!important}
}


/* =========================================================
   EXACT PATCH — countries with basket / pilot evidence
   Targets the ROUND country bubbles used by the current v18 map.
   ========================================================= */

/* Basket / pilot available = unmistakable purple */
.gfr-country-circle.has-basket:not(.is-selected){
  background:linear-gradient(145deg,#ff6f91 0%,#ff4f7d 55%,#e83e6f 100%)!important;
  border-color:#ffe6ee!important;
  color:#ffffff!important;
  box-shadow:
    0 7px 0 rgba(183,39,84,.22),
    0 0 0 6px rgba(255,111,145,.34),
    0 14px 28px rgba(214,62,111,.24)!important;
}

/* Keep country code/name highly readable on purple */
.gfr-country-circle.has-basket:not(.is-selected) .gfr-country-flag,
.gfr-country-circle.has-basket:not(.is-selected) .gfr-country-name{
  color:#ffffff!important;
  text-shadow:0 2px 5px rgba(122,24,57,.38)!important;
}

/* Selected always remains green, even if basket/pilot exists */
.gfr-country-circle.has-basket.is-selected{
  background:linear-gradient(145deg,#caff9f 0%,#65e46a 100%)!important;
  border-color:#ffffff!important;
  color:#0b2454!important;
  box-shadow:
    0 7px 0 rgba(42,151,83,.20),
    0 0 0 6px rgba(106,225,82,.43),
    0 14px 28px rgba(45,120,111,.20)!important;
}

.gfr-country-circle.has-basket.is-selected .gfr-country-flag,
.gfr-country-circle.has-basket.is-selected .gfr-country-name{
  color:#0b2454!important;
  text-shadow:none!important;
}


/* =========================================================
   PATCH — compact hover preview only
   No other card/bubble sizing is changed.
   ========================================================= */
@media (min-width: 981px){
  .gfr-map-choice-left{
    position:relative!important;
  }

  .gfr-map-support-row{
    grid-template-columns:1fr!important;
  }

  .gfr-map-support-row .gfr-map-hover-preview{
    position:absolute!important;
    left:-190px!important;
    top:calc(100% - 185px)!important;
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    height:auto!important;
    min-height:0!important;
    padding:14px 12px!important;
    margin:0!important;
    border-radius:24px!important;
    z-index:8!important;
    box-sizing:border-box!important;
  }

  .gfr-map-support-row .gfr-map-hover-preview .gfr-map-hover-hand{
    font-size:28px!important;
    line-height:1!important;
    margin-bottom:6px!important;
  }

  .gfr-map-support-row .gfr-map-hover-preview h3,
  .gfr-map-support-row .gfr-map-hover-preview h4{
    font-size:16px!important;
    line-height:1.12!important;
    margin:3px 0 6px!important;
  }

  .gfr-map-support-row .gfr-map-hover-preview p{
    font-size:12px!important;
    line-height:1.28!important;
    margin:0!important;
  }

  .gfr-map-support-row .gfr-map-summary-card{
    width:100%!important;
  }
}


/* =========================================================
   PATCH — hide tiny country anchor dots only
   Keeps country bubbles, positions, zoom and interactions unchanged.
   ========================================================= */
.gfr-country-anchor-dot,
.gfr-country-dot{
  display:none!important;
}


/* =========================================================
   PATCH — selected-country WOW total + food impact only
   ========================================================= */
.gfr-map-impact-wow{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin:10px 0 12px!important;
}
.gfr-map-impact-wow[hidden]{display:none!important}
.gfr-map-impact-wow-main,
.gfr-map-impact-food{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:12px 16px!important;
  border:3px solid #10213d!important;
  border-radius:22px!important;
  box-shadow:0 5px 0 rgba(16,33,61,.10)!important;
  text-align:center!important;
}
.gfr-map-impact-wow-main{
  background:linear-gradient(135deg,#ffdc59 0%,#ff9f43 100%)!important;
  color:#10213d!important;
}
.gfr-map-impact-wow-main strong{
  font-size:27px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#10213d!important;
}
#gfrMapImpactMoney{
  font-size:26px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#10213d!important;
  white-space:nowrap!important;
}
.gfr-map-impact-food{
  background:linear-gradient(135deg,#d8ff9b 0%,#65e46a 100%)!important;
  color:#10213d!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:1000!important;
}
@media(max-width:760px){
  .gfr-map-impact-wow{grid-template-columns:1fr!important}
}


/* =========================================================
   PATCH — WOW refers to FOOD quantity, not money
   ========================================================= */
.gfr-map-impact-wow-main{
  justify-content:center!important;
  gap:12px!important;
}
.gfr-map-impact-wow-main strong{
  font-size:28px!important;
}
#gfrMapImpactFood{
  font-size:25px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#10213d!important;
  white-space:nowrap!important;
}
.gfr-map-impact-food-note{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 16px!important;
  border:3px solid #10213d!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#d8ff9b 0%,#65e46a 100%)!important;
  color:#10213d!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:1000!important;
  text-align:center!important;
  box-shadow:0 5px 0 rgba(16,33,61,.10)!important;
}
#gfrMapImpactMoney{
  display:none!important;
}


/* =========================================================
   PATCH — map selection + basket evidence arrow + WOW food/oil
   Current-map patch only. No basket/lightbox system is replaced.
   ========================================================= */

/* Selected country = distinctive sapphire/cobalt blue, not Africa green. */
.gfr-country-circle.is-selected,
.gfr-country-circle.has-basket.is-selected{
  width:var(--gfr-country-size,82px)!important;
  height:var(--gfr-country-size,82px)!important;
  background:linear-gradient(145deg,#0B72FF 0%,#0057FF 58%,#0041C9 100%)!important;
  border-color:#DCEBFF!important;
  color:#ffffff!important;
  box-shadow:
    0 7px 0 rgba(0,52,160,.24),
    0 0 0 6px rgba(0,87,255,.28),
    0 14px 28px rgba(0,65,201,.24)!important;
}
.gfr-country-circle.is-selected .gfr-country-flag,
.gfr-country-circle.is-selected .gfr-country-name,
.gfr-country-circle.has-basket.is-selected .gfr-country-flag,
.gfr-country-circle.has-basket.is-selected .gfr-country-name{
  color:#ffffff!important;
  text-shadow:0 2px 5px rgba(0,38,115,.42)!important;
}
.gfr-country-selected-label{
  display:block!important;
  margin-top:2px!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#0041C9!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:1000!important;
  font-style:normal!important;
  letter-spacing:.02em!important;
  box-shadow:0 2px 5px rgba(0,45,140,.16)!important;
  white-space:nowrap!important;
}

/* Basket arrow exists only where basketPreviewData exists and becomes visible on hover/focus. */

.gfr-country-basket-arrow-label{
  position:absolute!important;
  left:50%!important;
  top:-46px!important;
  transform:translateX(-50%)!important;
  padding:4px 8px!important;
  border:2px solid #ffffff!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.97)!important;
  color:#10213d!important;
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  box-shadow:0 4px 12px rgba(69,74,121,.20)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:81!important;
}
.gfr-country-anchor-wrap:hover .gfr-country-basket-arrow-label,
.gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow-label{
  opacity:1!important;
  visibility:visible!important;
}
.gfr-country-basket-arrow{
  position:absolute!important;
  left:50%!important;
  top:-18px!important;
  transform:translate(-50%,-5px)!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:3px solid #ffffff!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#FFD84D 0%,#FF9F43 100%)!important;
  color:#10213d!important;
  font-size:23px!important;
  line-height:1!important;
  font-weight:1000!important;
  box-shadow:0 5px 0 rgba(143,85,13,.18),0 8px 18px rgba(69,74,121,.22)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  cursor:pointer!important;
  z-index:80!important;
}
.gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
.gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  animation:gfrBasketArrowBlink .82s ease-in-out infinite alternate!important;
}
.gfr-country-basket-arrow:hover,
.gfr-country-basket-arrow:focus-visible{
  animation:none!important;
  transform:translate(-50%,-10px) scale(1.14)!important;
  outline:4px solid rgba(255,216,77,.34)!important;
}
@keyframes gfrBasketArrowBlink{
  from{transform:translate(-50%,-4px) scale(1);filter:brightness(1)}
  to{transform:translate(-50%,-10px) scale(1.10);filter:brightness(1.10)}
}

/* Keep country circle content visible despite the new arrow sitting outside it. */
.gfr-country-circle{overflow:visible!important}

/* WOW is explicitly the tangible food/oil impact — not the money total. */
.gfr-map-impact-wow-main{
  background:linear-gradient(135deg,#FFD84D 0%,#FFB347 100%)!important;
}
#gfrMapImpactFood{
  white-space:normal!important;
  text-align:center!important;
  font-size:23px!important;
  line-height:1.12!important;
  font-weight:1000!important;
}
.gfr-map-impact-food-note{
  background:linear-gradient(135deg,#DDF7FF 0%,#CFE0FF 100%)!important;
  color:#10213d!important;
}

@media(prefers-reduced-motion:reduce){
  .gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
  .gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{animation:none!important}
}


/* =========================================================
   PATCH — Verified distribution organizations panel
   Sits only below the purple Global World Round card.
   ========================================================= */
.gfr-distribution-org-panel{
  width:100%!important;
  margin-top:18px!important;
  padding:18px!important;
  border:3px solid rgba(255,255,255,.92)!important;
  border-radius:30px!important;
  background:
    linear-gradient(155deg,rgba(224,251,255,.98) 0%,rgba(232,245,255,.98) 52%,rgba(239,231,255,.98) 100%)!important;
  box-shadow:
    0 9px 0 rgba(44,100,170,.12),
    0 20px 42px rgba(54,71,158,.16)!important;
  color:#0b2454!important;
}
.gfr-distribution-org-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:8px!important;
}
.gfr-distribution-org-kicker{
  display:block!important;
  margin-bottom:4px!important;
  color:#4277c7!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.10em!important;
}
.gfr-distribution-org-head h4{
  margin:0!important;
  color:#0b2454!important;
  font-size:23px!important;
  line-height:1.05!important;
  font-weight:1000!important;
}
.gfr-distribution-org-count{
  flex:0 0 auto!important;
  padding:7px 10px!important;
  border:2px solid #65cfcf!important;
  border-radius:999px!important;
  background:#dffff7!important;
  color:#0b5b62!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.gfr-distribution-org-note{
  margin:0 0 12px!important;
  color:#315781!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.gfr-distribution-org-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.gfr-dist-org-row{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
  align-content:start!important;
  padding:9px!important;
  border:2px solid rgba(75,173,207,.42)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 3px 0 rgba(48,93,151,.07)!important;
}
.gfr-dist-org-row.is-verified{
  border-color:#47bf8a!important;
  background:linear-gradient(145deg,#e9fff3,#d8fff0)!important;
  box-shadow:0 3px 0 rgba(47,154,108,.10),0 0 0 3px rgba(71,191,138,.10)!important;
}
.gfr-dist-org-country{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.gfr-dist-org-flag{
  flex:0 0 auto!important;
  font-size:15px!important;
  line-height:1!important;
}
.gfr-dist-org-country strong{
  min-width:0!important;
  color:#0b2454!important;
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  overflow-wrap:anywhere!important;
}
.gfr-dist-org-status{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
}
.gfr-dist-org-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
.gfr-dist-org-badge.is-pending{
  border:1px solid #7abfcf!important;
  background:#e5faff!important;
  color:#255c78!important;
}
.gfr-dist-org-badge.is-verified{
  border:1px solid #51bd82!important;
  background:#cffff0!important;
  color:#14643e!important;
}
.gfr-dist-org-status small{
  color:#245a49!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.gfr-dist-org-proof{
  width:100%!important;
  min-height:28px!important;
  padding:5px 7px!important;
  border:2px solid #7452e8!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#8f68ef,#7050df)!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.gfr-dist-org-proof:hover,
.gfr-dist-org-proof:focus-visible{
  transform:translateY(-1px)!important;
  box-shadow:0 5px 0 rgba(79,54,160,.18)!important;
  outline:3px solid rgba(84,211,218,.34)!important;
}
@media(max-width:1250px){
  .gfr-distribution-org-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:980px){
  .gfr-distribution-org-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .gfr-distribution-org-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   v26 — MOBILE COMPOSITION LAYER
   Mobile/tablet only. Desktop >= 981px is intentionally untouched.
   Goal: keep the phone experience spatial and dashboard-like instead
   of collapsing every component into one long bookmark column.
   ========================================================= */
@media (max-width:980px){
  /* Keep the header compact and horizontally usable instead of stacking it. */
  .site-header{
    padding:10px 14px!important;
    gap:12px!important;
    flex-wrap:nowrap!important;
  }
  .site-header .brand{flex:0 0 auto!important;gap:8px!important}
  .site-header .brand-mark{width:38px!important;height:38px!important;border-radius:12px!important}
  .site-header nav{
    flex:1 1 auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    padding:2px 2px 5px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .site-header nav::-webkit-scrollbar{display:none!important}
  .site-header nav a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:8px 11px!important;
    border:2px solid rgba(16,33,61,.12)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.72)!important;
  }

  .allocation-section{padding-left:12px!important;padding-right:12px!important}
  .allocation-heading{margin-bottom:16px!important}
  .allocation-heading h2{font-size:clamp(34px,8vw,54px)!important;line-height:.98!important}

  /* Map remains the hero. Controls stay in two useful rows rather than a thin stack. */
  .gfr-world-map{padding:14px!important;border-radius:28px!important}
  .gfr-map-head{gap:12px!important}
  .gfr-map-key{
    width:100%!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    gap:8px!important;
    padding-bottom:3px!important;
  }
  .gfr-map-key::-webkit-scrollbar{display:none!important}
  .gfr-map-key span{flex:0 0 auto!important;white-space:nowrap!important}

  .gfr-map-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
  }
  .gfr-region-controls{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    min-width:0!important;
  }
  .gfr-region-controls button{min-width:0!important;padding:9px 5px!important;font-size:13px!important}
  .gfr-zoom-controls{width:auto!important;flex-wrap:nowrap!important;gap:5px!important}
  .gfr-zoom-controls button,.gfr-zoom-controls span{min-width:40px!important;padding:8px 7px!important}

  /* Force a landscape-feeling map viewport on phones/tablets. */
  .gfr-map-stage{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1.28/1!important;
    overflow:hidden!important;
    border-radius:24px!important;
  }
  .gfr-leaflet-map{width:100%!important;height:100%!important;min-height:0!important}

  /* The two support cards become a horizontal snap rail rather than a tall stack. */
  .gfr-map-support-row{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(78%,1fr)!important;
    grid-template-columns:none!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    padding:2px 2px 10px!important;
    margin-top:10px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .gfr-map-support-row::-webkit-scrollbar{display:none!important}
  .gfr-map-support-row>.gfr-map-hover-preview,
  .gfr-map-support-row>.gfr-map-summary-card{
    scroll-snap-align:start!important;
    min-height:205px!important;
    margin:0!important;
  }

  /* OR becomes a short visual separator, not another full-height block. */
  .gfr-map-or-divider{margin:8px 0!important;gap:8px!important}
  .gfr-map-or-divider span{font-size:25px!important;min-width:64px!important;min-height:46px!important;padding:8px 14px!important}

  /* Direct World Round: compact two-dimensional card on mobile. */
  .gfr-map-global-choice .gfr-map-global-card{
    min-height:0!important;
    padding:18px!important;
    border-radius:26px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(150px,.72fr)!important;
    column-gap:14px!important;
    row-gap:10px!important;
    align-items:start!important;
  }
  .gfr-map-global-choice .gfr-map-global-card>.eyebrow,
  .gfr-map-global-choice .gfr-map-global-card>h4,
  .gfr-map-global-choice .gfr-map-global-card>p,
  .gfr-map-global-choice .gfr-map-global-card>.gfr-map-global-cta{
    grid-column:1/-1!important;
  }
  .gfr-map-global-choice .gfr-map-global-card h4{font-size:30px!important;line-height:1.02!important;margin:0!important}
  .gfr-map-global-choice .gfr-map-global-card>p:not(.eyebrow){font-size:16px!important;margin:0!important}
  .gfr-map-global-presets{
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    align-self:stretch!important;
  }
  .gfr-map-global-presets button{min-width:0!important;padding:9px 5px!important}
  .gfr-map-global-preview{grid-column:2!important;align-self:stretch!important;margin:0!important}
  .gfr-map-global-cta{margin-top:2px!important}

  /* Percentage bridge remains one compact band. */
  .gfr-selected-percent-bridge{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:2px 10px!important;
    border-radius:22px!important;
    padding:11px 14px!important;
    text-align:left!important;
  }
  .gfr-selected-percent-bridge>span{grid-row:1/3!important;align-self:center!important}
  .gfr-selected-percent-bridge strong,.gfr-selected-percent-bridge small{grid-column:2!important}

  /* Keep trust principles visibly side-by-side. */
  .gfr-map-trust-ribbon{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .gfr-map-trust-ribbon>div{
    min-width:0!important;
    padding:12px 8px!important;
    border-right:0!important;
    border-bottom:0!important;
    text-align:center!important;
  }
  .gfr-map-trust-ribbon strong{font-size:14px!important;line-height:1.1!important}
  .gfr-map-trust-ribbon small{font-size:12px!important;line-height:1.15!important}

  /* Selected-country funding keeps the important numbers in columns. */
  .selected-country-funding{padding:18px!important;border-radius:28px!important}
  .selected-funding-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:start!important;
  }
  .selected-funding-head h3{font-size:clamp(25px,6vw,34px)!important}
  .share-presets{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .share-presets button{min-width:0!important;padding:10px 2px!important;font-size:13px!important}
  .two-path-explainer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:7px!important;
    align-items:stretch!important;
  }
  .selected-results-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .selected-results-grid>div{min-width:0!important;padding:12px 8px!important;text-align:center!important}
  .selected-results-grid span{font-size:11px!important;line-height:1.12!important}
  .selected-results-grid strong{font-size:clamp(16px,4vw,23px)!important;overflow-wrap:anywhere!important}

  /* Side note is no longer a large floating obstruction on touch screens. */
  .impact-side-note{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:10px 12px!important;
    border-radius:22px!important;
    padding:14px 46px 14px 14px!important;
  }
  .impact-side-note .impact-side-paths,
  .impact-side-note .impact-side-split{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
}

@media (max-width:560px){
  /* Phone-specific density: still multidimensional, but no squeezed text. */
  .site-header .brand>span:last-child{display:none!important}
  .site-header nav a{font-size:12px!important;padding:7px 9px!important}

  .gfr-map-head h3{font-size:29px!important;line-height:1.02!important}
  .gfr-map-controls{grid-template-columns:1fr!important}
  .gfr-zoom-controls{justify-content:center!important;width:100%!important}
  .gfr-map-stage{aspect-ratio:1/1.02!important}
  .gfr-map-support-row{grid-auto-columns:88%!important}

  .gfr-map-global-choice .gfr-map-global-card{
    grid-template-columns:minmax(0,1.12fr) minmax(128px,.88fr)!important;
    padding:15px!important;
  }
  .gfr-map-global-presets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gfr-map-global-presets button:last-child{grid-column:1/-1!important}

  .gfr-map-trust-ribbon{
    grid-template-columns:repeat(3,minmax(118px,1fr))!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
  }
  .gfr-map-trust-ribbon::-webkit-scrollbar{display:none!important}
  .gfr-map-trust-ribbon>div{scroll-snap-align:start!important}

  .selected-funding-head{grid-template-columns:1fr!important}
  .selected-goal-badge{justify-self:start!important}
  .share-presets{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .share-presets button:nth-child(n+5){grid-column:auto!important}
  .two-path-explainer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
  .path-block{padding:10px 6px!important}
  .path-block strong{font-size:17px!important}
  .path-block span{font-size:10px!important}
  .selected-results-grid{grid-template-columns:repeat(3,minmax(112px,1fr))!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important}
  .selected-results-grid::-webkit-scrollbar{display:none!important}
  .selected-results-grid>div{scroll-snap-align:start!important}

  .impact-side-note .impact-side-paths,
  .impact-side-note .impact-side-split{grid-template-columns:1fr 1fr!important}
}

/* =========================================================
   v27 — PHONE DESKTOP-LIKE COMPOSITION
   Strictly mobile/tablet. Desktop >= 981px remains untouched.
   ========================================================= */
@media (max-width:980px){
  /* Remove the old single-column feel: preserve broad dashboard geometry. */
  .gfr-map-choice-layout{display:block!important}
  .gfr-map-choice-left{width:100%!important}
  .gfr-map-main{min-width:0!important}

  /* Compact intro note into a dashboard strip instead of a poster. */
  .impact-side-note{
    display:grid!important;
    grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)!important;
    gap:8px 12px!important;
    align-items:center!important;
    padding:12px 46px 12px 14px!important;
  }
  .impact-side-note .eyebrow{grid-column:1/-1!important;margin:0!important;font-size:14px!important;line-height:1.05!important}
  .impact-side-note .impact-side-lead{margin:0!important;font-size:14px!important;line-height:1.3!important}
  .impact-side-note .impact-side-paths{margin:0!important}
  .impact-side-note .impact-side-percent{grid-column:1!important;margin:0!important;padding:9px 11px!important;font-size:13px!important;line-height:1.2!important}
  .impact-side-note .impact-side-split{grid-column:2!important;margin:0!important}
  .impact-side-note .impact-side-caution{grid-column:1/-1!important;margin:0!important;font-size:12px!important;line-height:1.25!important}
  .impact-side-note>a{grid-column:1/-1!important;justify-self:start!important;padding:8px 13px!important;font-size:13px!important}
  .impact-side-note .impact-side-close{width:34px!important;height:34px!important;top:9px!important;right:9px!important}

  /* Keep map controls visually like the desktop toolbar. */
  .gfr-map-controls{grid-template-columns:minmax(0,1fr) auto!important}
  .gfr-zoom-controls{justify-content:flex-end!important;width:auto!important}

  /* Summary cards should be visible together, not one giant vertical card. */
  .gfr-map-support-row{
    grid-auto-flow:unset!important;
    grid-auto-columns:unset!important;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .gfr-map-support-row>.gfr-map-hover-preview,
  .gfr-map-support-row>.gfr-map-summary-card{min-height:0!important;height:auto!important}
  .gfr-map-hover-preview{padding:12px!important}
  .gfr-map-summary-card{padding:14px!important}
  .gfr-map-summary-card *{max-width:100%!important}

  /* Country funding remains a dashboard rather than a vertical form. */
  .selected-country-funding{overflow:hidden!important}
  .share-presets{grid-template-columns:repeat(7,minmax(54px,1fr))!important;overflow-x:auto!important;scrollbar-width:none!important}
  .share-presets::-webkit-scrollbar{display:none!important}
}

@media (max-width:560px){
  .allocation-section{padding-left:8px!important;padding-right:8px!important}
  .allocation-heading h2{font-size:30px!important;line-height:1.02!important}
  .allocation-heading>p:last-child{font-size:14px!important;line-height:1.35!important}

  /* Two-column compact explainer, with desktop-like proportions. */
  .impact-side-note{
    grid-template-columns:1fr 1fr!important;
    margin:8px!important;
    padding:11px 42px 11px 11px!important;
    gap:7px!important;
  }
  .impact-side-note .impact-side-lead{grid-column:1/-1!important;font-size:12px!important;line-height:1.28!important}
  .impact-side-note .impact-side-paths{grid-column:1/-1!important}
  .impact-side-note .impact-side-paths span,
  .impact-side-note .impact-side-split span{padding:8px!important;font-size:11px!important;line-height:1.2!important}
  .impact-side-note .impact-side-percent{grid-column:1/-1!important;font-size:11px!important}
  .impact-side-note .impact-side-split{grid-column:1/-1!important}
  .impact-side-note .impact-side-caution{font-size:10px!important}
  .impact-side-note>a{font-size:11px!important;padding:7px 10px!important}

  .gfr-world-map{padding:10px!important;border-radius:22px!important}
  .gfr-map-head h3{font-size:25px!important}
  .gfr-map-head>div>p:not(.eyebrow){font-size:13px!important;line-height:1.3!important}
  .gfr-map-key span{font-size:10px!important;padding:6px 8px!important}

  /* Preserve toolbar rows on phones instead of stacking zoom underneath. */
  .gfr-map-controls{display:flex!important;flex-direction:column!important;gap:7px!important}
  .gfr-region-controls{width:100%!important}
  .gfr-region-controls button{font-size:11px!important;padding:8px 3px!important}
  .gfr-zoom-controls{width:100%!important;justify-content:center!important}
  .gfr-zoom-controls button,.gfr-zoom-controls span{min-width:38px!important;padding:7px 6px!important;font-size:12px!important}

  /* Wide, short map: much closer to desktop composition than a bookmark. */
  .gfr-map-stage{aspect-ratio:1.34/1!important;min-height:0!important}

  /* Both map support panels visible at once. */
  .gfr-map-support-row{grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr)!important;gap:7px!important}
  .gfr-map-hover-preview{padding:9px!important}
  .gfr-map-hover-preview p{font-size:10px!important;line-height:1.2!important}
  .gfr-map-hover-preview strong{font-size:12px!important}
  .gfr-map-summary-card{padding:10px!important;border-radius:18px!important}
  .gfr-map-summary-head{font-size:10px!important}
  .gfr-map-summary-row{font-size:11px!important;gap:5px!important}
  .gfr-map-summary-row strong{font-size:12px!important}
  .gfr-map-summary-actions{gap:5px!important}
  .gfr-map-summary-actions button{font-size:10px!important;padding:7px 6px!important}

  /* Direct round keeps two columns and all presets in a dense grid. */
  .gfr-map-global-choice .gfr-map-global-card{grid-template-columns:minmax(0,1.15fr) minmax(112px,.85fr)!important;gap:8px!important;padding:12px!important}
  .gfr-map-global-choice .gfr-map-global-card h4{font-size:24px!important}
  .gfr-map-global-choice .gfr-map-global-card>p:not(.eyebrow){font-size:12px!important;line-height:1.25!important}
  .gfr-map-global-presets{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .gfr-map-global-presets button{font-size:11px!important;padding:7px 2px!important}
  .gfr-map-global-presets button:last-child{grid-column:auto!important}

  .share-presets{grid-template-columns:repeat(7,minmax(48px,1fr))!important;gap:4px!important}
  .share-presets button{font-size:11px!important;padding:8px 2px!important}
  .selected-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
  .selected-results-grid span{font-size:9px!important}
  .selected-results-grid strong{font-size:14px!important}
}

/* =========================================================
   v4 request patch — exact map legend, compact basket hover,
   and readable footer contact. No unrelated layout changes.
   ========================================================= */

/* Legend must mirror the country bubbles actually used on the map. */
.gfr-map-dot-key{
  background:linear-gradient(145deg,#ffffff 0%,#dcf8ff 100%)!important;
  border:2px solid #0b2454!important;
  box-shadow:0 0 0 3px rgba(38,214,216,.22)!important;
}
.gfr-map-dot-key.is-selected{
  background:linear-gradient(145deg,#0B72FF 0%,#0057FF 58%,#0041C9 100%)!important;
  border-color:#DCEBFF!important;
  box-shadow:0 0 0 3px rgba(0,87,255,.22)!important;
}
.gfr-map-basket-key{
  width:15px!important;
  height:15px!important;
  display:inline-block!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  border:2px solid #ffffff!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#ff6f91 0%,#ff4f7d 55%,#e83e6f 100%)!important;
  box-shadow:0 0 0 3px rgba(255,111,145,.28)!important;
}
.gfr-map-key span:nth-child(1){border-color:#2bdad2!important;background:#ffffff!important}
.gfr-map-key span:nth-child(2){border-color:#6da8ff!important;background:#eef5ff!important}
.gfr-map-key span:nth-child(3){border-color:#ff8eaa!important;background:#fff0f5!important}

/* Hovering a basket country: one small, calm two-line information pill above the orange arrow. */
.gfr-country-basket-arrow-label{
  top:-76px!important;
  width:max-content!important;
  max-width:255px!important;
  padding:7px 10px!important;
  border:2px solid rgba(255,255,255,.98)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.96)!important;
  color:#10213d!important;
  box-shadow:0 7px 18px rgba(38,64,112,.18)!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.12!important;
}
.gfr-basket-hover-price{
  display:block!important;
  color:#315781!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:900!important;
  white-space:nowrap!important;
  margin-bottom:4px!important;
}
.gfr-basket-hover-impact{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  color:#10213d!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:900!important;
}
.gfr-basket-hover-impact b{
  color:#9a5800!important;
  font-size:11px!important;
  font-weight:1000!important;
}
.gfr-basket-hover-impact span{white-space:nowrap!important}

/* Footer contact remains readable against the mango footer. */
footer span:last-child,
footer span:last-child a{
  color:#10213d!important;
  opacity:1!important;
}
footer span:last-child a{
  font-weight:1000!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:3px!important;
}

/* v5 — keep footer contact fully clear of the fixed right-side note. */
@media (min-width:1500px){
  footer{
    padding-right:410px!important;
  }
}
@media (max-width:1499px){
  footer{
    padding-right:5vw!important;
  }
}

/* v19 — raise the OR marker so the two funding paths read immediately:
   build a country round OR fund the Global World Round directly. */
@media(min-width:981px){
  .gfr-map-or-divider{
    justify-content:flex-start!important;
    padding-top:190px!important;
    box-sizing:border-box!important;
  }
  .gfr-map-or-divider::before{
    flex:0 0 90px!important;
  }
  .gfr-map-or-divider::after{
    flex:1 1 auto!important;
  }
}


/* =========================================================
   v20 — SEMANTIC COLOR PLACEMENT + LUMINOUS WINDOW EDGES
   Same palette, but color now communicates meaning instead of
   rotating randomly by position.
   ========================================================= */
:root{
  --gfr-africa:#6cdb45;
  --gfr-asia:#9b5cff;
  --gfr-americas:#ff9a2f;
  --gfr-world:#2bdad2;
  --gfr-world-blue:#4f8cff;
  --gfr-proof:#a25af0;
}

/* Country choice cards: region determines color; DOM position never does. */
#country-allocation .allocation-country:nth-child(n){background:#fff!important}
#country-allocation .allocation-country[data-region="Africa"]{
  background:linear-gradient(145deg,#f5ffef,#e7ffdd)!important;
  border-color:rgba(108,219,69,.38)!important;
  box-shadow:0 0 0 2px rgba(108,219,69,.12),0 0 22px rgba(108,219,69,.20),0 10px 26px rgba(53,107,61,.10)!important;
}
#country-allocation .allocation-country[data-region="Asia"]{
  background:linear-gradient(145deg,#fbf7ff,#f0e8ff)!important;
  border-color:rgba(155,92,255,.38)!important;
  box-shadow:0 0 0 2px rgba(155,92,255,.11),0 0 22px rgba(155,92,255,.19),0 10px 26px rgba(83,55,131,.10)!important;
}
#country-allocation .allocation-country[data-region="Americas"]{
  background:linear-gradient(145deg,#fffaf1,#fff0d8)!important;
  border-color:rgba(255,154,47,.40)!important;
  box-shadow:0 0 0 2px rgba(255,154,47,.11),0 0 22px rgba(255,154,47,.19),0 10px 26px rgba(130,84,40,.10)!important;
}
#country-allocation .allocation-country[data-region="Conflict-affected"]{
  background:linear-gradient(145deg,#f7fbff,#eaf4ff)!important;
  border-color:rgba(79,140,255,.36)!important;
  box-shadow:0 0 0 2px rgba(79,140,255,.10),0 0 22px rgba(79,140,255,.18),0 10px 26px rgba(51,82,132,.10)!important;
}

/* The whole-world path has its own cyan/blue identity — never Asia purple. */
.gfr-map-global-choice .gfr-map-global-card{
  background:linear-gradient(145deg,#23cfc9 0%,#39bfe4 52%,#4f8cff 100%)!important;
  border-color:rgba(255,255,255,.96)!important;
  box-shadow:0 0 0 4px rgba(43,218,210,.25),0 0 34px rgba(43,218,210,.34),0 14px 0 rgba(58,126,190,.13),0 24px 46px rgba(48,108,178,.20)!important;
}
.gfr-map-global-presets button.active,
.gfr-map-global-cta{
  background:linear-gradient(90deg,#168fbd,#376fe0)!important;
}

/* OR remains purple: a neutral bridge between the two distinct paths. */
.gfr-map-or-divider span{
  background:linear-gradient(145deg,#8b6cff,#6d42df)!important;
  box-shadow:0 0 0 4px rgba(139,108,255,.18),0 0 25px rgba(139,108,255,.28),0 7px 0 rgba(65,42,139,.20)!important;
}

/* Luminous frame system: every major window gets a crisp inner rim + soft aura. */
.gfr-world-map,
.gfr-map-stage,
.gfr-map-hover-preview,
.gfr-map-summary-card,
.gfr-map-global-card,
.allocation-shell,
.allocation-picker,
.allocation-summary,
.country-card,
.round-panel,
.flow-card,
.method-grid article,
.intent-banner,
.pilot-impact-card,
.future-comparison,
.glass{
  outline:1px solid rgba(255,255,255,.74)!important;
  outline-offset:-5px!important;
}
.gfr-world-map{
  box-shadow:0 0 0 3px rgba(43,218,210,.22),0 0 38px rgba(79,140,255,.20),0 22px 48px rgba(64,74,94,.14)!important;
}
.gfr-map-hover-preview{
  box-shadow:0 0 0 3px rgba(155,92,255,.16),0 0 26px rgba(155,92,255,.22),0 12px 30px rgba(64,74,94,.13)!important;
}
.gfr-map-summary-card{
  box-shadow:0 0 0 3px rgba(43,218,210,.16),0 0 26px rgba(43,218,210,.22),0 12px 30px rgba(64,74,94,.13)!important;
}
.country-card{
  box-shadow:0 0 0 2px rgba(79,140,255,.10),0 0 22px rgba(79,140,255,.12),0 12px 30px rgba(64,74,94,.12)!important;
}
.country-card[data-region="Africa"]{box-shadow:0 0 0 2px rgba(108,219,69,.13),0 0 24px rgba(108,219,69,.16),0 12px 30px rgba(64,74,94,.12)!important}
.country-card[data-region="Asia"]{box-shadow:0 0 0 2px rgba(155,92,255,.13),0 0 24px rgba(155,92,255,.16),0 12px 30px rgba(64,74,94,.12)!important}
.country-card[data-region="Americas"]{box-shadow:0 0 0 2px rgba(255,154,47,.13),0 0 24px rgba(255,154,47,.16),0 12px 30px rgba(64,74,94,.12)!important}

/* Keep hover/selection luminous without changing the semantic base color. */
#country-allocation .allocation-country:hover{filter:brightness(1.02);transform:translateY(-2px)}
#country-allocation .allocation-country:has(input:checked){
  border-color:#45d99a!important;
  box-shadow:0 0 0 4px rgba(69,217,154,.18),0 0 30px rgba(69,217,154,.28),0 12px 28px rgba(64,74,94,.13)!important;
}

/* v31 — all-continent navigation + respectful geographic framing */
.gfr-continent-respect-note,.network-continent-note{
  margin:14px 0 0!important;padding:13px 16px!important;border:2px solid rgba(95,196,255,.42)!important;border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(237,250,255,.86))!important;
  color:#17375f!important;font-weight:800!important;line-height:1.48!important;
  box-shadow:0 0 0 4px rgba(95,196,255,.10),0 10px 28px rgba(34,110,184,.10)!important
}
.gfr-region-controls button[data-map-region="africa"]{border-color:#6cdb45!important;background:#edffe8!important}
.gfr-region-controls button[data-map-region="asia"]{border-color:#9b5cff!important;background:#f3ebff!important}
.gfr-region-controls button[data-map-region="europe"]{border-color:#2f6fd6!important;background:#e8f0ff!important}
.gfr-region-controls button[data-map-region="north-america"]{border-color:#ff9a2f!important;background:#fff2df!important}
.gfr-region-controls button[data-map-region="south-america"]{border-color:#ffb44d!important;background:#fff6df!important}
.gfr-region-controls button[data-map-region="oceania"]{border-color:#35dccf!important;background:#e6fffc!important}
.gfr-region-controls button[data-map-region="antarctica"]{border-color:#9bdcf6!important;background:#f1fbff!important}
.gfr-region-controls button[data-map-region="world"]{border-color:#35c6c8!important;background:#eaffff!important}
.gfr-region-controls button.active{background:#3ee3dd!important;border-color:#ffffff!important;color:#083865!important}
@media(max-width:760px){
  .gfr-region-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gfr-region-controls button:first-child{grid-column:1/-1!important}
  .gfr-continent-respect-note,.network-continent-note{font-size:13px!important}
}

/* v34 merge patch — preserves v33 and adds selected/basket-ready clarity + shared logo. */
.brand-logo-image{width:54px!important;height:54px!important;display:block!important;flex:0 0 auto!important;border-radius:20px!important;object-fit:contain!important;filter:drop-shadow(0 6px 0 rgba(16,33,61,.16))!important}
.gfr-map-count-stack{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:3px!important;min-width:0!important}.gfr-map-count-stack>strong{white-space:nowrap!important}
#gfrMapAvailableCount{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:4px 9px!important;border-radius:999px!important;background:linear-gradient(145deg,#fff0f7 0%,#ffd7e8 100%)!important;border:1.5px solid #f49abc!important;color:#8a2454!important;font-size:11px!important;line-height:1.15!important;font-weight:1000!important;text-align:center!important;box-shadow:0 3px 8px rgba(174,40,99,.10)!important}
.gfr-country-circle.has-basket.is-selected.is-ready-selected{background:linear-gradient(145deg,#ff5caf 0%,#ef3d8f 52%,#c91f6d 100%)!important;border-color:#fff1f8!important;color:#fff!important;box-shadow:0 7px 0 rgba(145,22,77,.24),0 0 0 6px rgba(255,92,175,.30),0 14px 28px rgba(184,30,103,.25)!important}
.gfr-country-circle.has-basket.is-selected.is-ready-selected .gfr-country-flag,.gfr-country-circle.has-basket.is-selected.is-ready-selected .gfr-country-name{color:#fff!important;text-shadow:0 2px 5px rgba(112,13,57,.42)!important}
.gfr-map-dot-key.is-ready-selected{background:linear-gradient(145deg,#ff5caf 0%,#ef3d8f 52%,#c91f6d 100%)!important;border-color:#fff1f8!important;box-shadow:0 0 0 3px rgba(255,92,175,.22)!important}
.allocation-country.is-basket-ready:has(input:checked){border-color:#ef3d8f!important;box-shadow:0 0 0 4px rgba(239,61,143,.12),0 10px 22px rgba(80,97,119,.15)!important}.allocation-country.is-basket-ready:has(input:checked) .choice-check{background:#d72b79!important;color:#fff!important}
.gfr-country-selected-label{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;min-width:68px!important;padding:4px 9px 5px!important;border:2px solid rgba(255,255,255,.94)!important;border-radius:999px!important;font-weight:1000!important;line-height:1!important;letter-spacing:.02em!important;text-transform:uppercase!important;box-shadow:0 4px 11px rgba(6,31,77,.22)!important}
.gfr-country-selected-label b{display:block!important;font-size:10px!important;line-height:1!important;font-weight:1000!important;letter-spacing:.055em!important;white-space:nowrap!important}.gfr-country-selected-label small{display:block!important;margin-top:3px!important;font-size:10px!important;line-height:1.12!important;font-weight:1000!important;letter-spacing:.01em!important;text-transform:none!important;opacity:1!important;white-space:nowrap!important}
.gfr-country-circle.is-selected:not(.is-ready-selected) .gfr-country-selected-label{background:rgba(255,255,255,.96)!important;color:#187346!important}.gfr-country-circle.has-basket.is-selected.is-ready-selected .gfr-country-selected-label{background:rgba(255,255,255,.97)!important;color:#a7185c!important;min-width:78px!important;padding:5px 10px 6px!important}
@media(max-width:700px){.brand-logo-image{width:50px!important;height:50px!important;border-radius:18px!important}#gfrMapAvailableCount{font-size:10px!important;max-width:185px!important}}


/* v35 — compact map flow + visible future payment action.
   The payment control is intentionally disabled until verification/payment setup is complete. */
.gfr-map-choice-left>.gfr-selected-percent-bridge{
  width:100%!important;
  max-width:1040px!important;
  margin:12px auto 0!important;
}
.gfr-map-payment-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:5px!important;
  margin-top:12px!important;
}
.gfr-map-payment-cta{
  width:100%!important;
  min-height:50px!important;
  border:3px solid #ffffff!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,#24cda7 0%,#30bfe2 55%,#4f8cff 100%)!important;
  color:#0b2454!important;
  font-size:17px!important;
  line-height:1.1!important;
  font-weight:1000!important;
  box-shadow:0 7px 0 rgba(35,102,151,.18),0 12px 24px rgba(47,128,176,.18)!important;
  opacity:.72!important;
  cursor:not-allowed!important;
}
.gfr-map-payment-wrap small{
  display:block!important;
  color:#315781!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-align:center!important;
}
@media(max-width:980px){
  .gfr-map-choice-left>.gfr-selected-percent-bridge{margin-top:10px!important}
}

/* =========================================================
   v37 — prevent WOW label / impact text overlap on long totals
   Only affects the selected-country WOW summary row.
   ========================================================= */
.gfr-map-impact-wow-main{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:initial!important;
  column-gap:12px!important;
}
.gfr-map-impact-wow-main strong{
  flex:none!important;
  white-space:nowrap!important;
}
#gfrMapImpactFood{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  font-size:clamp(18px,1.45vw,25px)!important;
  line-height:1.12!important;
  text-align:center!important;
}
@media(max-width:760px){
  .gfr-map-impact-wow-main{
    grid-template-columns:1fr!important;
    row-gap:7px!important;
  }
}

/* v38 — Percentage controls: one consistent visual language site-wide.
   UX basis: reduce arbitrary color coding, keep equal visual weight for equal choices,
   and communicate the selected state with more than color alone. */
:root{
  --gfr-percent-bg:#F7FBFF;
  --gfr-percent-border:#A9C9E8;
  --gfr-percent-text:#17324A;
  --gfr-percent-hover:#E8F5FF;
  --gfr-percent-active:#5C7CFA;
  --gfr-percent-active-2:#4F8CFF;
  --gfr-percent-focus:#2BDAD2;
}

/* Main selected-country percentage row */
#country-allocation .share-presets{
  gap:12px!important;
  margin:14px 0 20px!important;
  align-items:stretch!important;
}
#country-allocation .share-presets button,
#country-allocation .share-presets button[data-share="1"],
#country-allocation .share-presets button[data-share="100"]{
  min-height:58px!important;
  padding:11px 12px!important;
  margin:0!important;
  border:2px solid var(--gfr-percent-border)!important;
  border-radius:18px!important;
  background:var(--gfr-percent-bg)!important;
  color:var(--gfr-percent-text)!important;
  box-shadow:0 4px 0 rgba(23,50,74,.10)!important;
  font-weight:900!important;
  letter-spacing:0!important;
  transform:none!important;
}
#country-allocation .share-presets button:hover{
  background:var(--gfr-percent-hover)!important;
  border-color:#78AEDD!important;
  color:var(--gfr-percent-text)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 5px 0 rgba(23,50,74,.11)!important;
}
#country-allocation .share-presets button.active,
#country-allocation .share-presets button[data-share="1"].active,
#country-allocation .share-presets button[data-share="100"].active{
  background:linear-gradient(180deg,var(--gfr-percent-active-2),var(--gfr-percent-active))!important;
  color:#fff!important;
  border:3px solid #17324A!important;
  box-shadow:0 0 0 4px rgba(43,218,210,.22),0 6px 0 rgba(23,50,74,.18)!important;
  transform:translateY(-2px)!important;
}

/* Direct Whole-World percentage row */
#country-allocation .global-direct-presets{
  gap:12px!important;
  margin:18px 0 16px!important;
  align-items:stretch!important;
}
#country-allocation .global-direct-presets button,
#country-allocation .global-direct-presets button[data-global-share="1"],
#country-allocation .global-direct-presets button[data-global-share="100"]{
  min-height:58px!important;
  padding:11px 12px!important;
  margin:0!important;
  border:2px solid var(--gfr-percent-border)!important;
  border-radius:18px!important;
  background:var(--gfr-percent-bg)!important;
  color:var(--gfr-percent-text)!important;
  box-shadow:0 4px 0 rgba(23,50,74,.10)!important;
  font-weight:900!important;
  letter-spacing:0!important;
  transform:none!important;
}
#country-allocation .global-direct-presets button:hover{
  background:var(--gfr-percent-hover)!important;
  border-color:#78AEDD!important;
  color:var(--gfr-percent-text)!important;
  transform:translateY(-1px)!important;
}
#country-allocation .global-direct-presets button.active,
#country-allocation .global-direct-presets button[data-global-share="1"].active,
#country-allocation .global-direct-presets button[data-global-share="100"].active{
  background:linear-gradient(180deg,var(--gfr-percent-active-2),var(--gfr-percent-active))!important;
  color:#fff!important;
  border:3px solid #17324A!important;
  box-shadow:0 0 0 4px rgba(43,218,210,.22),0 6px 0 rgba(23,50,74,.18)!important;
  transform:translateY(-2px)!important;
}

/* Percentage controls inside the map-side Whole-World card */
.gfr-map-global-presets{
  gap:8px!important;
  margin:14px 0 12px!important;
  align-items:stretch!important;
}
.gfr-map-global-presets button{
  min-height:46px!important;
  padding:9px 8px!important;
  margin:0!important;
  border:2px solid rgba(255,255,255,.78)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.94)!important;
  color:#17324A!important;
  box-shadow:0 3px 0 rgba(23,50,74,.16)!important;
  font-weight:900!important;
  transform:none!important;
}
.gfr-map-global-presets button:hover{
  background:#E8F5FF!important;
  color:#17324A!important;
  transform:translateY(-1px)!important;
}
.gfr-map-global-presets button.active{
  background:linear-gradient(180deg,var(--gfr-percent-active-2),var(--gfr-percent-active))!important;
  color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:0 0 0 3px rgba(43,218,210,.28),0 4px 0 rgba(23,50,74,.22)!important;
  transform:translateY(-1px)!important;
}

/* Keyboard focus: same meaning everywhere, independent of color. */
#country-allocation .share-presets button:focus-visible,
#country-allocation .global-direct-presets button:focus-visible,
.gfr-map-global-presets button:focus-visible{
  outline:4px solid var(--gfr-percent-focus)!important;
  outline-offset:3px!important;
}

/* Keep spacing calm and proportional on narrow screens. */
@media(max-width:760px){
  #country-allocation .share-presets,
  #country-allocation .global-direct-presets{gap:8px!important;margin:12px 0 16px!important}
  #country-allocation .share-presets button,
  #country-allocation .global-direct-presets button{min-height:52px!important;padding:9px 6px!important}
  .gfr-map-global-presets{gap:6px!important;margin:12px 0 10px!important}
}

/* =========================================================
   v39 — move the percentage decision into the unused map-column space
   and place it immediately before the future payment action.
   ========================================================= */
.gfr-map-choice-left>.gfr-selected-percent-bridge{display:none!important}
.gfr-map-percent-payment-panel{
  width:100%!important;
  margin:14px 0 0!important;
  padding:16px 18px 14px!important;
  border:3px solid rgba(255,255,255,.88)!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(234,248,255,.94))!important;
  box-shadow:0 12px 26px rgba(22,94,145,.16)!important;
}
.gfr-map-percent-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:8px!important;
}
.gfr-map-percent-head>div{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}
.gfr-map-percent-kicker{font-size:11px!important;line-height:1!important;font-weight:1000!important;letter-spacing:.08em!important;color:#267d82!important}
.gfr-map-percent-head strong{font-size:16px!important;line-height:1.2!important;color:#0b2454!important;font-weight:1000!important}
#gfrMapSelectedShareLabel{flex:0 0 auto!important;font-size:24px!important;line-height:1!important;color:#4f64e8!important;font-weight:1000!important}
#country-allocation .gfr-map-share-presets{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:7px!important;
  margin:10px 0!important;
  overflow:visible!important;
}
#country-allocation .gfr-map-share-presets button,
#country-allocation .gfr-map-share-presets button[data-share="1"],
#country-allocation .gfr-map-share-presets button[data-share="100"]{
  min-height:42px!important;
  padding:7px 3px!important;
  border-radius:13px!important;
  font-size:14px!important;
  box-shadow:0 3px 0 rgba(23,50,74,.10)!important;
}
#country-allocation .gfr-map-share-presets button.active,
#country-allocation .gfr-map-share-presets button[data-share="1"].active,
#country-allocation .gfr-map-share-presets button[data-share="100"].active{
  box-shadow:0 0 0 3px rgba(43,218,210,.22),0 4px 0 rgba(23,50,74,.18)!important;
}
.gfr-map-percent-split{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:8px 0 10px!important;
}
.gfr-map-percent-split span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:34px!important;
  padding:6px 9px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#17324a!important;
  border:1.5px solid rgba(23,50,74,.18)!important;
}
.gfr-map-percent-split span:first-child{background:rgba(112,216,64,.24)!important}
.gfr-map-percent-split span:last-child{background:rgba(125,94,238,.17)!important}
.gfr-map-percent-split b{font-size:14px!important}
.gfr-map-percent-payment-panel .gfr-map-payment-wrap{margin-top:8px!important}
@media(max-width:980px){
  .gfr-map-percent-payment-panel{padding:14px!important;border-radius:22px!important}
  #country-allocation .gfr-map-share-presets{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  #country-allocation .gfr-map-share-presets button:last-child{grid-column:auto!important}
}
@media(max-width:600px){
  .gfr-map-percent-head{align-items:flex-start!important}
  .gfr-map-percent-head strong{font-size:14px!important}
  #gfrMapSelectedShareLabel{font-size:21px!important}
  #country-allocation .gfr-map-share-presets{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .gfr-map-percent-split{grid-template-columns:1fr!important}
}

/* =========================================================
   v40 — one payment path + senior-readable typography
   Keep the pre-payment control near the map as the single
   selected-country payment entry point. The detailed section
   remains a calculator/preview, not a second payment action.
   ========================================================= */
#country-allocation .selected-country-funding .allocation-fund{
  display:none!important;
}
#country-allocation .selected-country-funding>.small-note{
  margin-top:18px!important;
  padding:12px 16px!important;
  border-radius:14px!important;
  background:#F3F9FC!important;
  color:#3E5565!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:800!important;
  text-align:center!important;
}

/* Readability floor: compact social-app rhythm, without tiny helper text. */
body{
  font-size:20px!important;
  line-height:1.55!important;
}
.site-header nav a{
  font-size:17px!important;
  line-height:1.25!important;
}

/* Main funding controls */
#country-allocation .selected-country-funding .selected-coverage,
#country-allocation .selected-country-funding .share-control,
#country-allocation .pool-simple-copy{
  font-size:18px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
#country-allocation .share-control b{
  font-size:22px!important;
}
#country-allocation .share-presets button,
#country-allocation .global-direct-presets button{
  font-size:19px!important;
  line-height:1.15!important;
  min-height:58px!important;
}
#country-allocation .path-block span{
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
#country-allocation .path-block strong{
  font-size:30px!important;
  line-height:1.1!important;
}
#country-allocation .allocation-contribution span{
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
#country-allocation .allocation-contribution strong{
  font-size:30px!important;
}
#country-allocation .allocation-breakdown>div{
  font-size:17px!important;
  line-height:1.4!important;
}
#country-allocation .allocation-breakdown small{
  font-size:16px!important;
  line-height:1.45!important;
}

/* Compact percentage panel before payment — readable at a glance. */
.gfr-map-percent-kicker{
  font-size:14px!important;
  line-height:1.15!important;
}
.gfr-map-percent-head strong{
  font-size:19px!important;
  line-height:1.3!important;
}
#gfrMapSelectedShareLabel{
  font-size:27px!important;
}
#country-allocation .gfr-map-share-presets button,
#country-allocation .gfr-map-share-presets button[data-share="1"],
#country-allocation .gfr-map-share-presets button[data-share="100"]{
  min-height:50px!important;
  padding:9px 6px!important;
  font-size:17px!important;
  line-height:1.1!important;
}
.gfr-map-percent-split span{
  min-height:42px!important;
  padding:8px 11px!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.gfr-map-percent-split b{
  font-size:17px!important;
}
.gfr-map-payment-cta{
  min-height:58px!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.gfr-map-payment-note{
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:800!important;
}

/* Persistent right-side donor guide: never use micro type. */
.impact-side-note .eyebrow{
  font-size:21px!important;
  line-height:1.15!important;
}
.impact-side-lead,
.impact-side-percent,
.impact-side-caution{
  font-size:18px!important;
  line-height:1.45!important;
}
.impact-side-paths span,
.impact-side-split span{
  font-size:17px!important;
  line-height:1.3!important;
}
.impact-side-note>a{
  font-size:17px!important;
  line-height:1.2!important;
}

/* Distribution/network micro labels */
.gfr-distribution-org-kicker{
  font-size:14px!important;
}
.gfr-distribution-org-head h4{
  font-size:24px!important;
  line-height:1.12!important;
}
.gfr-distribution-org-count,
.gfr-distribution-org-note{
  font-size:15px!important;
  line-height:1.4!important;
}
.gfr-distribution-org-grid>*{
  font-size:15px!important;
  line-height:1.25!important;
}
.gfr-distribution-org-grid small,
.gfr-distribution-org-grid .status,
.gfr-distribution-org-grid [class*="status"]{
  font-size:13px!important;
  line-height:1.25!important;
}

/* Mobile/tablet: remain readable while keeping the UI compact. */
@media(max-width:980px){
  body{font-size:19px!important}
  .site-header nav a{font-size:16px!important}
  #country-allocation .gfr-map-share-presets button,
  #country-allocation .gfr-map-share-presets button[data-share="1"],
  #country-allocation .gfr-map-share-presets button[data-share="100"]{font-size:16px!important;min-height:48px!important}
  .gfr-map-percent-head strong{font-size:18px!important}
  .gfr-map-percent-kicker{font-size:13px!important}
  .gfr-map-percent-split span{font-size:15px!important}
  .impact-side-note .eyebrow{font-size:19px!important}
  .impact-side-lead,.impact-side-percent,.impact-side-caution{font-size:17px!important}
  .impact-side-paths span,.impact-side-split span{font-size:16px!important}
  .impact-side-note>a{font-size:16px!important}
}
@media(max-width:600px){
  body{font-size:18px!important}
  #country-allocation .share-presets button,
  #country-allocation .global-direct-presets button{font-size:17px!important;min-height:54px!important}
  #country-allocation .gfr-map-share-presets button,
  #country-allocation .gfr-map-share-presets button[data-share="1"],
  #country-allocation .gfr-map-share-presets button[data-share="100"]{font-size:15px!important;min-height:46px!important}
  .gfr-map-percent-head strong{font-size:17px!important}
  #gfrMapSelectedShareLabel{font-size:24px!important}
  .gfr-map-percent-split span{font-size:15px!important}
  .gfr-map-payment-cta{font-size:18px!important}
  .gfr-map-payment-note{font-size:14px!important}
  .impact-side-note .eyebrow{font-size:18px!important}
  .impact-side-lead,.impact-side-percent,.impact-side-caution{font-size:16px!important}
  .impact-side-paths span,.impact-side-split span{font-size:16px!important}
  .impact-side-note>a{font-size:16px!important}
}

/* v41 — single selected-country funding flow.
   The compact map-side percentage/payment control is the only visible flow;
   keep the legacy detailed calculator in the DOM for existing JS state syncing. */
#country-allocation .selected-country-funding{display:none!important;}

/* V42 — selected percentage: gold animated state only */
@keyframes gfrSelectedPercentGold {
  0% {
    background-position: 0% 50%;
    box-shadow: 0 0 0 3px rgba(255, 205, 74, .34), 0 5px 0 rgba(139, 92, 0, .18);
  }
  50% {
    background-position: 100% 50%;
    box-shadow: 0 0 0 5px rgba(255, 222, 105, .48), 0 8px 18px rgba(184, 126, 0, .22);
  }
  100% {
    background-position: 0% 50%;
    box-shadow: 0 0 0 3px rgba(255, 205, 74, .34), 0 5px 0 rgba(139, 92, 0, .18);
  }
}

/* Selected-country percentage controls — keep all unselected colors unchanged. */
#country-allocation .share-presets button.active,
.gfr-map-percent-payment-panel .share-presets button.active,
.gfr-map-share-presets button.active {
  background: linear-gradient(110deg, #E7A91A 0%, #FFD766 34%, #FFF0A6 50%, #FFD766 66%, #E7A91A 100%) !important;
  background-size: 220% 220% !important;
  color: #17202A !important;
  border-color: #8A6500 !important;
  animation: gfrSelectedPercentGold 1.8s ease-in-out infinite !important;
  transform: translateY(-2px) !important;
}

/* Accessible reduced-motion fallback: same gold selection, no movement. */
@media (prefers-reduced-motion: reduce) {
  #country-allocation .share-presets button.active,
  .gfr-map-percent-payment-panel .share-presets button.active,
  .gfr-map-share-presets button.active {
    animation: none !important;
    background: #FFD766 !important;
  }
}


/* =========================================================
   V43 — Ghana readability + progressive gold percentage scale
   Requested scope: percentage colors/animation and Ghana text legibility only.
   ========================================================= */

/* Ghana: keep every budget/quantity statement on a clean readable line. */
#country-allocation .allocation-country.is-ghana .country-quick-impact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  width:100%!important;
  padding:8px!important;
}
#country-allocation .allocation-country.is-ghana .country-quick-impact>span{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  justify-content:flex-start!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.35!important;
  text-align:left!important;
  border-radius:14px!important;
}
#country-allocation .allocation-country.is-ghana .country-quick-impact .country-wow{
  width:max-content!important;
  justify-content:center!important;
}

/* Ghana map hover: no squeezed one-line text or overlapping glyphs. */
.gfr-map-basket-hover:has(.gfr-basket-hover-impact span:nth-child(3)){
  max-width:340px!important;
}
.gfr-basket-hover-price{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.gfr-basket-hover-impact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  text-align:center!important;
}
.gfr-basket-hover-impact b,
.gfr-basket-hover-impact span{
  display:block!important;
  width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.28!important;
}

/* Gold scale: 1% is intentionally the lightest gold; intensity rises with commitment. */
#country-allocation .share-presets button[data-share="1"],
.gfr-map-percent-payment-panel .share-presets button[data-share="1"]{
  background:linear-gradient(180deg,#FFFDF4,#FFF4C6)!important;
  border-color:#DFC986!important;
  color:#493A12!important;
}
#country-allocation .share-presets button[data-share="5"],
.gfr-map-percent-payment-panel .share-presets button[data-share="5"]{
  background:linear-gradient(180deg,#FFF9DF,#FFEBA2)!important;
  border-color:#D8BC62!important;
  color:#49370A!important;
}
#country-allocation .share-presets button[data-share="10"],
.gfr-map-percent-payment-panel .share-presets button[data-share="10"]{
  background:linear-gradient(180deg,#FFF4C8,#FFE17A)!important;
  border-color:#CAA33A!important;
  color:#432F00!important;
}
#country-allocation .share-presets button[data-share="25"],
.gfr-map-percent-payment-panel .share-presets button[data-share="25"]{
  background:linear-gradient(180deg,#FFE99B,#FFD34E)!important;
  border-color:#B98C12!important;
  color:#382700!important;
}
#country-allocation .share-presets button[data-share="50"],
.gfr-map-percent-payment-panel .share-presets button[data-share="50"]{
  background:linear-gradient(180deg,#FFDE69,#F7BC27)!important;
  border-color:#9E7300!important;
  color:#302100!important;
}
#country-allocation .share-presets button[data-share="75"],
.gfr-map-percent-payment-panel .share-presets button[data-share="75"]{
  background:linear-gradient(180deg,#FFD44C,#EFA817)!important;
  border-color:#855E00!important;
  color:#241800!important;
}
#country-allocation .share-presets button[data-share="100"],
.gfr-map-percent-payment-panel .share-presets button[data-share="100"]{
  background:linear-gradient(125deg,#C78700 0%,#F5BC24 22%,#FFF0A0 45%,#FFD34E 62%,#B97800 100%)!important;
  background-size:220% 220%!important;
  border-color:#6F4A00!important;
  color:#1E1500!important;
  box-shadow:0 5px 0 rgba(100,63,0,.22),inset 0 1px 0 rgba(255,255,255,.72)!important;
}

/* Same progressive gold language for the direct Whole-World percentage control. */
#country-allocation .global-direct-presets button[data-global-share="1"],.gfr-map-global-presets button[data-map-global-share="1"]{background:linear-gradient(180deg,#FFFDF4,#FFF4C6)!important;color:#493A12!important}
#country-allocation .global-direct-presets button[data-global-share="5"],.gfr-map-global-presets button[data-map-global-share="5"]{background:linear-gradient(180deg,#FFF9DF,#FFEBA2)!important;color:#49370A!important}
#country-allocation .global-direct-presets button[data-global-share="10"],.gfr-map-global-presets button[data-map-global-share="10"]{background:linear-gradient(180deg,#FFF4C8,#FFE17A)!important;color:#432F00!important}
#country-allocation .global-direct-presets button[data-global-share="25"],.gfr-map-global-presets button[data-map-global-share="25"]{background:linear-gradient(180deg,#FFE99B,#FFD34E)!important;color:#382700!important}
#country-allocation .global-direct-presets button[data-global-share="50"],.gfr-map-global-presets button[data-map-global-share="50"]{background:linear-gradient(180deg,#FFDE69,#F7BC27)!important;color:#302100!important}
#country-allocation .global-direct-presets button[data-global-share="75"],.gfr-map-global-presets button[data-map-global-share="75"]{background:linear-gradient(180deg,#FFD44C,#EFA817)!important;color:#241800!important}
#country-allocation .global-direct-presets button[data-global-share="100"],.gfr-map-global-presets button[data-map-global-share="100"]{background:linear-gradient(125deg,#C78700,#F5BC24 24%,#FFF0A0 48%,#FFD34E 68%,#B97800)!important;background-size:220% 220%!important;color:#1E1500!important}

/* Selected percentages stay unmistakable; selected 1% is restrained, 100% gets the premium motion. */
@keyframes gfrGoldSelectedSoft{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 3px rgba(226,183,66,.20),0 4px 0 rgba(90,61,0,.15)}
  50%{filter:brightness(1.05);box-shadow:0 0 0 4px rgba(240,198,75,.30),0 6px 12px rgba(119,79,0,.16)}
}
@keyframes gfrGold100Sweep{
  0%{background-position:0% 50%;transform:translateY(-2px) scale(1)}
  35%{background-position:100% 50%;transform:translateY(-3px) scale(1.025)}
  70%{background-position:35% 50%;transform:translateY(-2px) scale(1.01)}
  100%{background-position:0% 50%;transform:translateY(-2px) scale(1)}
}

#country-allocation .share-presets button.active,
.gfr-map-percent-payment-panel .share-presets button.active{
  border:3px solid #6F4A00!important;
  color:#1E1500!important;
  box-shadow:0 0 0 4px rgba(255,211,78,.35),0 6px 0 rgba(100,63,0,.18)!important;
  animation:gfrGoldSelectedSoft 1.7s ease-in-out infinite!important;
}
#country-allocation .share-presets button[data-share="1"].active,
.gfr-map-percent-payment-panel .share-presets button[data-share="1"].active{
  background:linear-gradient(180deg,#FFFDF6,#FFEAA0)!important;
  animation:gfrGoldSelectedSoft 2.2s ease-in-out infinite!important;
}
#country-allocation .share-presets button[data-share="100"].active,
.gfr-map-percent-payment-panel .share-presets button[data-share="100"].active{
  background:linear-gradient(115deg,#A96800 0%,#E6A311 18%,#FFD95B 34%,#FFF7BF 49%,#F7C12B 64%,#B87300 82%,#FFD95B 100%)!important;
  background-size:320% 320%!important;
  border-color:#583900!important;
  box-shadow:0 0 0 4px rgba(255,215,91,.48),0 8px 22px rgba(137,88,0,.28),inset 0 1px 0 rgba(255,255,255,.8)!important;
  animation:gfrGold100Sweep 1.25s cubic-bezier(.4,0,.2,1) infinite!important;
}

/* Direct Whole-World selected endpoints follow the same hierarchy. */
#country-allocation .global-direct-presets button.active,
.gfr-map-global-presets button.active{border-color:#6F4A00!important;color:#1E1500!important;animation:gfrGoldSelectedSoft 1.7s ease-in-out infinite!important}
#country-allocation .global-direct-presets button[data-global-share="1"].active,
.gfr-map-global-presets button[data-map-global-share="1"].active{animation:gfrGoldSelectedSoft 2.2s ease-in-out infinite!important}
#country-allocation .global-direct-presets button[data-global-share="100"].active,
.gfr-map-global-presets button[data-map-global-share="100"].active{background:linear-gradient(115deg,#A96800,#E6A311 18%,#FFD95B 34%,#FFF7BF 49%,#F7C12B 64%,#B87300 82%,#FFD95B)!important;background-size:320% 320%!important;animation:gfrGold100Sweep 1.25s cubic-bezier(.4,0,.2,1) infinite!important}

@media (prefers-reduced-motion: reduce){
  #country-allocation .share-presets button.active,
  .gfr-map-percent-payment-panel .share-presets button.active,
  #country-allocation .global-direct-presets button.active,
  .gfr-map-global-presets button.active{animation:none!important;transform:none!important}
}

/* V44 — basket arrow visibility only.
   Keep the WOW hover card untouched; move the orange basket button to the
   outer right edge of the country marker so the hover card can never cover it. */
.gfr-country-basket-arrow{
  left:auto!important;
  right:-24px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:96!important;
}
.gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
.gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{
  animation:gfrBasketArrowSideBlink .82s ease-in-out infinite alternate!important;
}
.gfr-country-basket-arrow:hover,
.gfr-country-basket-arrow:focus-visible{
  animation:none!important;
  transform:translateY(-50%) translateX(5px) scale(1.14)!important;
}
@keyframes gfrBasketArrowSideBlink{
  from{transform:translateY(-50%) translateX(0) scale(1);filter:brightness(1)}
  to{transform:translateY(-50%) translateX(6px) scale(1.10);filter:brightness(1.10)}
}
@media (prefers-reduced-motion:reduce){
  .gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
  .gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{animation:none!important}
}

/* =========================================================
   V45 — donor-first basket hover geometry
   Scope: basket hover card + orange evidence arrow positioning only.
   The information card stays above the country bubble; the action button
   sits immediately below it, so neither can cover the other's content.
   ========================================================= */
.gfr-country-basket-arrow{
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:-22px!important;
  transform:translate(-50%,0)!important;
  z-index:96!important;
}
.gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
.gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{
  animation:gfrBasketArrowBelowBlink .82s ease-in-out infinite alternate!important;
}
.gfr-country-basket-arrow:hover,
.gfr-country-basket-arrow:focus-visible{
  animation:none!important;
  transform:translate(-50%,4px) scale(1.14)!important;
}
@keyframes gfrBasketArrowBelowBlink{
  from{transform:translate(-50%,0) scale(1);filter:brightness(1)}
  to{transform:translate(-50%,4px) scale(1.08);filter:brightness(1.10)}
}
/* Keep the hover information visually independent from the action button. */
.gfr-country-basket-arrow-label{
  z-index:97!important;
  pointer-events:none!important;
}
@media (prefers-reduced-motion:reduce){
  .gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
  .gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{animation:none!important}
}

/* =========================================================
   V46 — basket hover clearance + arrow reliability geometry only.
   Donor-first spacing: the evidence card always clears the country circle,
   while the orange action remains immediately below the same marker.
   ========================================================= */
.gfr-country-basket-arrow-label{
  top:auto!important;
  bottom:calc(100% + 14px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:98!important;
}
.gfr-country-basket-arrow{
  top:auto!important;
  bottom:-28px!important;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%,0)!important;
  z-index:99!important;
}
.gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
.gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{
  animation:gfrBasketArrowV46 .82s ease-in-out infinite alternate!important;
}
.gfr-country-basket-arrow:hover,
.gfr-country-basket-arrow:focus-visible{
  animation:none!important;
  transform:translate(-50%,3px) scale(1.14)!important;
}
@keyframes gfrBasketArrowV46{
  from{transform:translate(-50%,0) scale(1);filter:brightness(1)}
  to{transform:translate(-50%,3px) scale(1.08);filter:brightness(1.10)}
}
/* Slightly wider long-budget cards, but never let text spill into the action. */
.gfr-country-basket-arrow-label .gfr-basket-hover-impact{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media (max-width:700px){
  .gfr-country-basket-arrow-label{
    bottom:calc(100% + 10px)!important;
    max-width:min(260px,72vw)!important;
  }
  .gfr-country-basket-arrow{bottom:-26px!important}
}
@media (prefers-reduced-motion:reduce){
  .gfr-country-anchor-wrap:hover .gfr-country-basket-arrow,
  .gfr-country-anchor-wrap:focus-within .gfr-country-basket-arrow{animation:none!important}
}

/* =========================================================
   V48 — senior-readable typography pass.
   Scope: typography/readability only. Preserve all existing colors,
   calculations, map behavior, spacing logic, basket arrows and data.
   Goal: no micro-type; readable at a glance for older donors without
   forcing horizontal overflow or breaking card geometry.
   ========================================================= */

/* Global reading baseline */
html{font-size:18px!important}
body{font-size:22px!important;line-height:1.62!important;text-rendering:optimizeLegibility!important;-webkit-font-smoothing:antialiased!important}
p,li,dd,dt{font-size:19px!important;line-height:1.58!important}
small,.small-note,.fx-note,.dialog-status,.status-ladder small,footer{font-size:16px!important;line-height:1.48!important}
button,input,select,textarea{font-size:18px!important;line-height:1.28!important}
label{font-size:18px!important;line-height:1.4!important}

/* Header and navigation */
.brand{font-size:24px!important;line-height:1.2!important}
.site-header nav a,nav a{font-size:18px!important;line-height:1.25!important;padding-top:12px!important;padding-bottom:12px!important}

/* Section hierarchy */
.eyebrow,.section-heading .eyebrow{font-size:17px!important;line-height:1.3!important}
.section-heading>p:last-child,.hero-text{font-size:21px!important;line-height:1.58!important}
.section-heading h2{line-height:1.08!important}
.flow-card p,.method-grid p,.country-card p,.local-impact-step p,.pilot-impact-copy p,.future-comparison p,.intent-banner>p,.purchasing-power-note p,.allocation-promise p,.thanks-card p{font-size:20px!important;line-height:1.58!important}
.flow-card h3,.method-grid h3,.country-card h3,.local-impact-step h3{line-height:1.22!important}
.stats-strip span,.metrics span,.impact-metrics span,.pilot-impact-metrics span{font-size:17px!important;line-height:1.35!important}

/* Buttons and links should read like mainstream social-app controls. */
.primary-btn,.secondary-btn,.details-btn,.form-submit,.filter,.allocation-fund{font-size:20px!important;line-height:1.2!important;min-height:58px!important}

/* Selected-country summary and pre-payment control */
.gfr-map-summary-head{font-size:17px!important;line-height:1.25!important}
.gfr-map-summary-row{font-size:18px!important;line-height:1.35!important}
.gfr-map-summary-row strong{font-size:22px!important;line-height:1.15!important}
.gfr-map-summary-actions button{font-size:17px!important;min-height:46px!important}
.gfr-map-percent-kicker{font-size:15px!important;line-height:1.2!important}
.gfr-map-percent-head strong{font-size:21px!important;line-height:1.28!important}
#gfrMapSelectedShareLabel{font-size:31px!important;line-height:1!important}
#country-allocation .gfr-map-share-presets button,
#country-allocation .gfr-map-share-presets button[data-share="1"],
#country-allocation .gfr-map-share-presets button[data-share="100"]{font-size:19px!important;min-height:54px!important;padding:10px 8px!important}
.gfr-map-percent-split span{font-size:17px!important;line-height:1.3!important;min-height:46px!important}
.gfr-map-percent-split b{font-size:19px!important}
.gfr-map-payment-cta{font-size:20px!important;min-height:60px!important}
.gfr-map-payment-note{font-size:16px!important;line-height:1.4!important}

/* Persistent donor guide: eliminate small print while keeping its footprint sane. */
.impact-side-note .eyebrow{font-size:20px!important;line-height:1.2!important}
.impact-side-lead,.impact-side-percent,.impact-side-caution,.impact-side-vision{font-size:18px!important;line-height:1.48!important}
.impact-side-paths span,.impact-side-split span{font-size:17px!important;line-height:1.3!important}
.impact-side-note>a{font-size:18px!important;line-height:1.25!important}

/* Map controls / legend */
.gfr-map-head h3{font-size:31px!important;line-height:1.1!important}
.gfr-map-head>div>p:not(.eyebrow){font-size:18px!important;line-height:1.45!important}
.gfr-map-key span{font-size:15px!important;line-height:1.25!important}
.gfr-region-controls button{font-size:16px!important;line-height:1.2!important;min-height:42px!important}
.gfr-zoom-controls button,.gfr-zoom-controls span{font-size:16px!important;line-height:1.2!important}

/* Country markers: modest increase only, to preserve geographic spacing. */
.gfr-country-circle .gfr-country-code{font-size:15px!important;line-height:1!important}
.gfr-country-circle .gfr-country-name{font-size:12px!important;line-height:1.08!important}
.gfr-country-selected-label b{font-size:12px!important;line-height:1.05!important}
.gfr-country-selected-label small{font-size:12px!important;line-height:1.12!important}
.gfr-country-selected-label{padding:5px 10px 6px!important}

/* Basket hover cards: bigger type with enough width so Ghana and other long
   evidence lines remain legible without covering controls. */
.gfr-country-basket-arrow-label{max-width:min(360px,82vw)!important}
.gfr-basket-hover-price{font-size:14px!important;line-height:1.3!important}
.gfr-basket-hover-impact{font-size:14px!important;line-height:1.3!important;gap:5px!important}
.gfr-basket-hover-impact b,.gfr-basket-hover-impact span{font-size:14px!important;line-height:1.3!important}
.gfr-country-basket-arrow{font-size:22px!important}

/* Distribution network: status text must not be microcopy. */
.gfr-distribution-org-kicker{font-size:15px!important;line-height:1.25!important}
.gfr-distribution-org-head h4{font-size:27px!important;line-height:1.12!important}
.gfr-distribution-org-count,.gfr-distribution-org-note{font-size:16px!important;line-height:1.4!important}
.gfr-distribution-org-grid>*{font-size:16px!important;line-height:1.25!important}
.gfr-distribution-org-grid small,.gfr-distribution-org-grid .status,.gfr-distribution-org-grid [class*="status"]{font-size:14px!important;line-height:1.25!important}

/* Forms / volunteer / verification pages */
.research-form input,.research-form select,.research-form textarea{font-size:18px!important;line-height:1.4!important;min-height:50px!important}
.research-form label span,.checkbox-line span,.radio-line span,.safeguard-grid p{font-size:17px!important;line-height:1.5!important}
.document-list li{font-size:19px!important;line-height:1.5!important}

/* Tablet: preserve the larger reading floor without widening cards. */
@media(max-width:980px){
  html{font-size:17px!important}
  body{font-size:20px!important}
  p,li,dd,dt{font-size:18px!important}
  small,.small-note,.fx-note,.dialog-status,.status-ladder small,footer{font-size:15px!important}
  .site-header nav a,nav a{font-size:17px!important}
  #country-allocation .gfr-map-share-presets button,
  #country-allocation .gfr-map-share-presets button[data-share="1"],
  #country-allocation .gfr-map-share-presets button[data-share="100"]{font-size:17px!important;min-height:50px!important}
  .gfr-map-percent-head strong{font-size:19px!important}
  #gfrMapSelectedShareLabel{font-size:27px!important}
  .gfr-map-percent-split span{font-size:16px!important}
}

/* Phones: 17px is the minimum body reading floor; controls stay >=16px. */
@media(max-width:600px){
  html{font-size:16px!important}
  body{font-size:18px!important;line-height:1.55!important}
  p,li,dd,dt{font-size:17px!important;line-height:1.52!important}
  small,.small-note,.fx-note,.dialog-status,.status-ladder small,footer{font-size:15px!important}
  button,input,select,textarea,label{font-size:17px!important}
  .gfr-map-head h3{font-size:27px!important}
  .gfr-map-head>div>p:not(.eyebrow){font-size:16px!important}
  .gfr-map-key span{font-size:13px!important}
  .gfr-region-controls button{font-size:14px!important;min-height:40px!important}
  .gfr-zoom-controls button,.gfr-zoom-controls span{font-size:14px!important}
  .gfr-map-summary-head{font-size:15px!important}
  .gfr-map-summary-row{font-size:16px!important}
  .gfr-map-summary-row strong{font-size:19px!important}
  #country-allocation .gfr-map-share-presets button,
  #country-allocation .gfr-map-share-presets button[data-share="1"],
  #country-allocation .gfr-map-share-presets button[data-share="100"]{font-size:16px!important;min-height:48px!important}
  .gfr-map-percent-head strong{font-size:18px!important}
  #gfrMapSelectedShareLabel{font-size:25px!important}
  .gfr-map-percent-split span{font-size:15px!important}
  .gfr-map-payment-cta{font-size:18px!important}
  .gfr-map-payment-note{font-size:15px!important}
  .impact-side-note .eyebrow{font-size:18px!important}
  .impact-side-lead,.impact-side-percent,.impact-side-caution,.impact-side-vision{font-size:16px!important}
  .impact-side-paths span,.impact-side-split span{font-size:16px!important}
  .impact-side-note>a{font-size:16px!important}
  .gfr-country-basket-arrow-label{max-width:min(300px,86vw)!important}
  .gfr-basket-hover-price,.gfr-basket-hover-impact,.gfr-basket-hover-impact b,.gfr-basket-hover-impact span{font-size:13px!important}
}

/* v49 — OR emphasis only: a distinct light-cyan signal color */
.gfr-map-or-divider span{
  background:linear-gradient(145deg,#dffbff 0%,#9eeeff 52%,#69dff4 100%)!important;
  color:#07344a!important;
  border-color:#f4feff!important;
  box-shadow:0 8px 0 rgba(26,151,181,.24),0 15px 32px rgba(79,215,239,.30)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.8)!important;
}


/* =========================================================
   v50 — LIGHT SEMANTIC WORLD MAP
   Source of truth: the live site's bright turquoise / mint /
   purple / blue palette. Countries are NEVER randomly colored.
   ========================================================= */
.gfr-world-map{
  background:linear-gradient(155deg,#ffffff 0%,#f5fcff 48%,#f5f0ff 100%)!important;
  color:#0b2454!important;
  border:3px solid rgba(255,255,255,.98)!important;
  box-shadow:0 0 0 3px rgba(43,218,210,.20),0 22px 54px rgba(58,104,170,.16)!important;
}
.gfr-world-map::before{background:none!important}
.gfr-map-head h3,.gfr-map-head p:last-child{color:#0b2454!important}
.gfr-map-head .eyebrow{color:#4f49cc!important}
.gfr-map-key span{
  color:#0b2454!important;background:#fff!important;border:2px solid #b8d9ef!important;
  box-shadow:0 6px 16px rgba(56,95,145,.10)!important
}
.gfr-map-line-key{display:inline-block;width:21px;height:12px;border-radius:5px;background:#dff7e9;border:2px solid rgba(11,36,84,.50)}
.gfr-map-line-key.is-hover{background:#f1eaff;border-color:#6d42df;box-shadow:0 0 0 3px rgba(109,66,223,.13)}
.gfr-map-line-key.is-selected{background:#e8f1ff;border-color:#0057ff;box-shadow:0 0 0 3px rgba(0,87,255,.12)}
.gfr-map-basket-key{background:linear-gradient(145deg,#ff6f91,#ef3d8f)!important;color:#fff!important;border-color:#fff!important}
.gfr-map-stage{
  background:linear-gradient(180deg,#18c5e8 0%,#2dccdf 70%,#57d9df 100%)!important;
  border:3px solid rgba(255,255,255,.96)!important;
  box-shadow:0 0 0 3px rgba(43,218,210,.18),inset 0 0 70px rgba(51,102,180,.12),0 16px 34px rgba(57,104,167,.14)!important;
  overflow:hidden!important
}
.gfr-maplibre-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#20c8e8!important;font-family:Nunito,"Segoe UI",Arial,sans-serif!important}
.gfr-maplibre-map .maplibregl-canvas{outline:none!important}
.gfr-maplibre-map .maplibregl-ctrl-attrib{font:800 10px/1.25 Nunito,"Segoe UI",Arial,sans-serif!important;background:rgba(255,255,255,.88)!important;color:#0b2454!important;border-radius:10px 0 0 0!important;padding:4px 7px!important}
.gfr-maplibre-map .maplibregl-ctrl-attrib a{color:#4f49cc!important}
.gfr-map-pointer-tooltip{position:absolute;z-index:14;pointer-events:none;max-width:210px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.97);border:2px solid #6d42df;box-shadow:0 9px 24px rgba(61,68,143,.18);color:#0b2454}
.gfr-map-pointer-tooltip strong,.gfr-map-pointer-tooltip span{display:block}.gfr-map-pointer-tooltip strong{font-size:13px;line-height:1.15}.gfr-map-pointer-tooltip span{margin-top:2px;color:#315781;font-size:10px;font-weight:900}
.gfr-map-search-row{position:relative!important;margin:0 0 10px!important;z-index:20!important}
.gfr-map-search{display:flex!important;align-items:center!important;gap:9px!important;max-width:480px!important;padding:9px 13px!important;border:2px solid #b8d9ef!important;border-radius:999px!important;background:#fff!important;color:#4f49cc!important;box-shadow:0 8px 22px rgba(57,104,167,.10)!important}
.gfr-map-search input{width:100%!important;border:0!important;outline:0!important;background:transparent!important;color:#0b2454!important;font:900 14px/1.2 Nunito,"Segoe UI",Arial,sans-serif!important}
.gfr-map-search input::placeholder{color:#5d7193!important;opacity:1!important}
.gfr-map-search-results{position:absolute!important;left:0!important;top:calc(100% + 7px)!important;width:min(480px,100%)!important;padding:7px!important;border-radius:18px!important;background:#fff!important;border:2px solid #b8d9ef!important;box-shadow:0 18px 40px rgba(52,75,128,.18)!important;z-index:30!important}
.gfr-map-search-results button{display:flex!important;justify-content:space-between!important;gap:12px!important;width:100%!important;border:0!important;border-radius:12px!important;background:#fff!important;color:#0b2454!important;padding:9px 11px!important;text-align:left!important;cursor:pointer!important}
.gfr-map-search-results button:hover,.gfr-map-search-results button:focus-visible{background:#eef9ff!important;outline:2px solid #2bdad2!important}.gfr-map-search-results small{color:#5d7193!important}
.gfr-map-hover-preview,.gfr-map-summary-card{background:linear-gradient(145deg,#ffffff,#eefbff)!important;color:#0b2454!important;border-color:rgba(255,255,255,.96)!important}
.gfr-hover-preview-card.is-compact{background:linear-gradient(145deg,#ffffff,#f2ecff)!important;color:#0b2454!important;border:2px solid #c8b8ff!important;box-shadow:0 9px 22px rgba(70,68,145,.12)!important}
.gfr-hover-preview-card.is-compact .gfr-hover-country strong,.gfr-hover-preview-empty strong,.gfr-hover-preview-empty p{color:#0b2454!important}
.gfr-hover-map-status{display:inline-flex!important;margin:6px 0!important;padding:5px 8px!important;border-radius:999px!important;background:#e7fbf3!important;color:#17623b!important;font-weight:1000!important;font-size:10px!important;border:1px solid #9de7bf!important}
.gfr-hover-wow{display:inline-flex!important;align-items:center!important;width:max-content!important;margin-top:6px!important;padding:6px 9px!important;border-radius:999px!important;background:linear-gradient(145deg,#ffe670,#ffc84b)!important;color:#4f3400!important;border:2px solid #fff4b5!important;font-weight:1000!important;box-shadow:0 5px 14px rgba(184,126,0,.15)!important}
.gfr-map-load-error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:5px;padding:30px;background:#e9fbff;color:#0b2454;font-weight:900}.gfr-map-load-error span{font-size:12px;color:#47617f}
/* One neutral land color. Hover/selected states communicate interaction; country identity never changes fill randomly. */
@media(max-width:760px){.gfr-map-pointer-tooltip{display:none!important}.gfr-map-search{max-width:none!important}.gfr-map-search-results{width:100%!important}}
@media(prefers-reduced-motion:reduce){.gfr-map-pointer-tooltip{transition:none!important}}

/* =========================================================
   v51 — LIVE-SITE PALETTE + GOLD AVAILABLE BASKETS + HOVER-ONLY WOW
   User-requested map behavior: no random country colors.
   ========================================================= */
/* Available Basket uses the same premium gold language as the percentage animation. */
.gfr-map-basket-key{
  background:linear-gradient(115deg,#A96800 0%,#E6A311 18%,#FFD95B 34%,#FFF7BF 49%,#F7C12B 64%,#B87300 82%,#FFD95B 100%)!important;
  color:#1E1500!important;
  border-color:#6F4A00!important;
  box-shadow:0 0 0 3px rgba(255,215,91,.28)!important;
}

/* The ordinary pointer tooltip remains subtle for countries without a basket. */
.gfr-map-pointer-tooltip{
  transform-origin:0 0!important;
  transition:opacity .12s ease,transform .14s ease!important;
}

/* WOW donor bubble: only JS hover can reveal it; there is no persistent map bubble. */
.gfr-map-pointer-tooltip.is-wow-basket{
  --gfr-wow-scale:1;
  width:min(330px,calc(100vw - 42px))!important;
  max-width:330px!important;
  padding:13px 14px 14px!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#FFFDF4 0%,#FFF1B0 52%,#FFD34E 100%)!important;
  border:3px solid #8A6500!important;
  color:#17202A!important;
  box-shadow:0 8px 0 rgba(139,92,0,.18),0 18px 38px rgba(103,74,0,.22),0 0 0 5px rgba(255,215,102,.24)!important;
  transform:scale(var(--gfr-wow-scale))!important;
  z-index:40!important;
}
.gfr-map-pointer-tooltip.is-wow-basket::before{
  content:""!important;
  position:absolute!important;
  left:-13px!important;
  top:23px!important;
  width:22px!important;
  height:22px!important;
  background:#FFF2B3!important;
  border-left:3px solid #8A6500!important;
  border-bottom:3px solid #8A6500!important;
  transform:rotate(45deg)!important;
  border-radius:0 0 0 5px!important;
}
.gfr-pointer-wow-country{display:grid!important;grid-template-columns:auto 1fr!important;gap:3px 8px!important;align-items:center!important;margin-bottom:9px!important}
.gfr-pointer-wow-country>span{grid-row:1/3!important;font-size:29px!important;line-height:1!important}
.gfr-pointer-wow-country strong{font-size:20px!important;line-height:1.05!important;font-weight:1000!important;color:#17202A!important}
.gfr-pointer-wow-country em{font-style:normal!important;font-size:10px!important;line-height:1.1!important;letter-spacing:.08em!important;font-weight:1000!important;color:#6F4A00!important}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-price{
  display:block!important;margin:0 0 8px!important;padding:7px 9px!important;border-radius:12px!important;background:#fff9dc!important;border:2px solid #D6A719!important;color:#4B3600!important;font-size:12px!important;line-height:1.25!important;font-weight:1000!important;text-align:center!important
}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact{display:grid!important;gap:5px!important;text-align:center!important}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact b{
  display:block!important;width:max-content!important;max-width:100%!important;margin:0 auto 2px!important;padding:5px 10px!important;border-radius:999px!important;background:#78D64B!important;border:2px solid #35A56A!important;color:#17202A!important;font-size:17px!important;line-height:1!important;font-weight:1000!important
}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact span{display:block!important;padding:4px 7px!important;border-radius:10px!important;background:rgba(255,255,255,.76)!important;color:#17202A!important;font-size:12px!important;line-height:1.28!important;font-weight:900!important}

/* The side preview may show status, but WOW itself belongs exclusively to the hover bubble. */
.gfr-map-hover-preview .gfr-hover-wow{display:none!important}

@media(max-width:760px){
  /* There is no mouse hover on touch devices; prevent a stray WOW bubble from becoming persistent. */
  .gfr-map-pointer-tooltip.is-wow-basket{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .gfr-map-pointer-tooltip{transition:none!important}
}


/* =========================================================
   v52 — UNIFORM WORLD LAND + 80+ READABILITY PASS
   24 Aug 2026
   =========================================================
   Cartographic rule:
   • Every country/territory WITHOUT an available basket uses the exact same
     neutral mint fill. No continent-based, country-based, or random fills.
   • Available Basket remains the only gold semantic state.

   Readability rule:
   • Raise the visual floor across the complete live-site UI so small copy,
     figures, labels, controls, evidence rows and donor calculations remain
     readable for older visitors and low-vision users.
   ========================================================= */

:root{
  --gfr-v52-land:#bfeee4;
  --gfr-v52-reading:20px;
  --gfr-v52-small:17px;
  --gfr-v52-control:18px;
}

/* Global reading floor. Heading sizes already scale larger, so this primarily
   fixes the historically tiny donor details and numbers. */
html{font-size:18px!important}
body{font-size:var(--gfr-v52-reading)!important;line-height:1.62!important}
p,li,dd,dt,blockquote,figcaption{font-size:20px!important;line-height:1.62!important}
small,.small-note,.fx-note,.dialog-status,footer,.status-ladder small{font-size:var(--gfr-v52-small)!important;line-height:1.5!important}
button,input,select,textarea,label{font-size:var(--gfr-v52-control)!important;line-height:1.35!important}
nav,.site-header nav,.site-header nav a,nav a{font-size:18px!important;line-height:1.3!important}
.eyebrow{font-size:16px!important;line-height:1.3!important}
.status{font-size:15px!important;line-height:1.25!important}
.hero-text{font-size:22px!important;line-height:1.65!important}
.round-label,.progress-meta{font-size:17px!important}
.round-number{font-size:44px!important}
.stats-strip strong{font-size:38px!important}.stats-strip span{font-size:17px!important}
.flow-number{font-size:16px!important}.flow-card p{font-size:20px!important}
.impact-metrics strong{font-size:28px!important}.impact-metrics span{font-size:17px!important}
.country-code{font-size:16px!important}.country-card h3{font-size:28px!important}
.metrics strong{font-size:22px!important}.metrics span{font-size:16px!important}
.country-evidence>strong{font-size:18px!important}.evidence-row{font-size:17px!important}.country-evidence p{font-size:16px!important;line-height:1.55!important}
.allocation-country b{font-size:17px!important}.allocation-country small{font-size:16px!important;line-height:1.4!important}
.allocation-method-note{font-size:17px!important;line-height:1.55!important}
.allocation-summary>p:not(.eyebrow):not(.small-note){font-size:18px!important}
.share-control{font-size:18px!important}.share-presets button{font-size:17px!important;min-height:44px!important}
.allocation-contribution span{font-size:17px!important}.allocation-contribution strong{font-size:28px!important}
.allocation-breakdown>div{font-size:17px!important}.allocation-breakdown small{font-size:16px!important}
.allocation-fund{font-size:18px!important;min-height:50px!important}
.allocation-promise strong{font-size:18px!important}.allocation-promise p{font-size:17px!important;line-height:1.55!important}

/* The map's ordinary countries all read as one geographic layer. */
.gfr-map-line-key{background:var(--gfr-v52-land)!important}

/* Map chrome and donor-facing numbers. */
.gfr-map-head h3{font-size:34px!important}
.gfr-map-head>div>p:not(.eyebrow){font-size:20px!important}
.gfr-map-key span{font-size:17px!important;min-height:38px!important;display:inline-flex!important;align-items:center!important}
.gfr-map-search input{font-size:18px!important;min-height:32px!important}
.gfr-map-search-results button{font-size:18px!important;min-height:48px!important}
.gfr-map-search-results small{font-size:16px!important}
.gfr-map-pointer-tooltip strong{font-size:18px!important}.gfr-map-pointer-tooltip span{font-size:16px!important}
.gfr-hover-map-status{font-size:15px!important}

/* Country labels remain scale-aware but are no longer tiny at the first
   visible zoom level. MapLibre's JS text-size is raised separately below. */
.gfr-maplibre-map .maplibregl-ctrl-attrib{font-size:13px!important}

/* WOW basket keeps its existing proportions, but all donor facts are easy to
   read. It still appears ONLY from desktop mouse hover. */
.gfr-pointer-wow-country strong{font-size:23px!important}
.gfr-pointer-wow-country em{font-size:14px!important}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-price{font-size:16px!important}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact b{font-size:20px!important}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact span{font-size:16px!important;line-height:1.38!important}

/* Explicitly override old compact donor-allocation rules that used 8–11px. */
#country-allocation .allocation-country b{font-size:17px!important}
#country-allocation .allocation-country small{font-size:16px!important}
#country-allocation .allocation-method-note{font-size:17px!important}
#country-allocation .progress-meta{font-size:16px!important}
#country-allocation .allocation-total{font-size:38px!important}
#country-allocation .allocation-selected-block>p:not(.eyebrow){font-size:17px!important}
#country-allocation .share-control{font-size:17px!important}
#country-allocation .share-presets button{font-size:16px!important}
#country-allocation .allocation-contribution span{font-size:17px!important}
#country-allocation .allocation-contribution strong{font-size:27px!important}
#country-allocation .allocation-breakdown>div{font-size:16px!important}
#country-allocation .allocation-breakdown small{font-size:15px!important}
#country-allocation .allocation-fund{font-size:17px!important}
#country-allocation .small-note{font-size:15px!important}
#country-allocation .allocation-promise strong{font-size:17px!important}
#country-allocation .allocation-promise p{font-size:16px!important}

/* Keep large typography useful on smaller screens without reverting to tiny
   type. */
@media(max-width:980px){
  html{font-size:17px!important}
  body{font-size:19px!important}
  p,li,dd,dt{font-size:18px!important}
  small,.small-note,.fx-note,.dialog-status,footer{font-size:16px!important}
}
@media(max-width:600px){
  html{font-size:16px!important}
  body{font-size:18px!important;line-height:1.56!important}
  p,li,dd,dt{font-size:17px!important;line-height:1.54!important}
  small,.small-note,.fx-note,.dialog-status,footer{font-size:15px!important}
  button,input,select,textarea,label{font-size:17px!important}
}

/* === v53 · precision single-click selection === */
.gfr-map-line-key.is-selected{
  background:#d9d5ff!important;
  border-color:#4f46e5!important;
  border-width:3px!important;
  box-shadow:0 0 0 3px rgba(79,70,229,.14)!important;
}

/* =========================================================
   v54 — REFERENCE-IMAGE SELECTED COUNTRY CALLOUT
   24 Aug 2026
   =========================================================
   Selection is drawn on the real country polygon: royal violet fill,
   bright white geographic edge, violet outer glow, and a compact SELECTED
   pill connected to the actual border. The pill is deliberately outside
   the country so it does not cover the country name or donor facts.
   ========================================================= */
.gfr-selected-map-callout{
  position:relative!important;
  pointer-events:none!important;
  transform:translateZ(0)!important;
  filter:drop-shadow(0 5px 9px rgba(67,23,131,.24))!important;
  z-index:28!important;
}
.gfr-selected-map-callout span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  min-height:48px!important;
  padding:8px 18px 9px!important;
  border-radius:999px!important;
  border:3px solid rgba(255,255,255,.98)!important;
  background:linear-gradient(180deg,#9c58f7 0%,#7c34df 100%)!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-shadow:0 2px 3px rgba(55,15,118,.26)!important;
  box-shadow:0 0 0 3px rgba(151,78,244,.42),0 8px 18px rgba(70,24,137,.24)!important;
}
.gfr-maplibre-map .maplibregl-marker:has(.gfr-selected-map-callout){z-index:28!important}

/* Keep the legend semantically identical to the selected polygon. */
.gfr-map-line-key.is-selected{
  background:linear-gradient(180deg,#9c58f7 0%,#7c34df 100%)!important;
  border:3px solid #fff!important;
  box-shadow:0 0 0 3px rgba(151,78,244,.42),0 4px 10px rgba(70,24,137,.18)!important;
}

@media(max-width:760px){
  .gfr-selected-map-callout span{
    min-width:110px!important;
    min-height:42px!important;
    padding:7px 14px 8px!important;
    font-size:17px!important;
  }
}

/* v55 fix — selected labels live inside their polygons; never render floating stacked pills. */
.gfr-selected-map-callout{display:none!important}


/* v56 — donor-visible selected-country list and collision-safe WOW bubble */
.gfr-map-selected-list{
  display:flex!important;flex-wrap:wrap!important;gap:9px!important;align-items:center!important;
  margin:0 0 14px!important;padding:12px!important;border-radius:18px!important;
  background:linear-gradient(135deg,#F8FBFF,#F1ECFF)!important;border:2px solid rgba(109,66,223,.20)!important;
}
.gfr-map-selected-chip{
  display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:42px!important;
  padding:7px 11px!important;border-radius:999px!important;background:#fff!important;border:2px solid #8B5CF6!important;
  box-shadow:0 4px 12px rgba(109,66,223,.12)!important;color:#17202A!important;
}
.gfr-map-selected-flag{font-size:24px!important;line-height:1!important}.gfr-map-selected-chip strong{font-size:17px!important;line-height:1.1!important;font-weight:1000!important}
.gfr-map-selected-empty{font-size:16px!important;line-height:1.3!important;font-weight:900!important;color:#667085!important}
.gfr-pointer-wow-country{grid-template-columns:auto minmax(0,1fr) auto!important}
.gfr-pointer-wow-country>span{grid-row:1/4!important}
.gfr-pointer-selected-badge{
  grid-column:2/4!important;justify-self:start!important;display:inline-flex!important;align-items:center!important;
  min-height:27px!important;padding:4px 10px!important;margin-top:3px!important;border-radius:999px!important;
  background:linear-gradient(135deg,#9B5CF6,#6D42DF)!important;color:#fff!important;border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:0 4px 10px rgba(109,66,223,.24)!important;font-size:14px!important;line-height:1!important;font-weight:1000!important;letter-spacing:.08em!important;
}
/* The arrow follows whichever side of the cursor the smart-positioner chooses. */
.gfr-map-pointer-tooltip.is-wow-basket.is-flipped-x::before{left:auto!important;right:-13px!important;transform:rotate(225deg)!important}
.gfr-map-pointer-tooltip.is-wow-basket.is-flipped-y::before{top:auto!important;bottom:23px!important}
.gfr-map-pointer-tooltip.is-wow-basket.is-flipped-x.is-flipped-y::before{left:auto!important;right:-13px!important;top:auto!important;bottom:23px!important;transform:rotate(225deg)!important}
@media(max-width:760px){.gfr-map-selected-chip{min-height:40px!important}.gfr-map-selected-chip strong{font-size:16px!important}.gfr-map-selected-flag{font-size:22px!important}}


/* =========================================================
   v57 — MATCH CURRENT LIVE-SITE BRAND
   Functional map upgrades stay intact; visual language is restored
   to the current site's turquoise / white / mint / royal-purple / gold.
   ========================================================= */

.gfr-world-map{
  max-width:1720px!important;
  padding:18px!important;
  border:0!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 10% 20%,rgba(255,92,192,.30),transparent 22%),
    radial-gradient(circle at 84% 12%,rgba(142,91,255,.34),transparent 26%),
    linear-gradient(135deg,#16c9f4 0%,#22cfe5 43%,#64d7ed 72%,#a75bf0 100%)!important;
  color:#0b2454!important;
  box-shadow:0 0 0 3px rgba(43,218,210,.22),0 0 38px rgba(79,140,255,.20),0 22px 48px rgba(64,74,94,.14)!important;
}
.gfr-world-map::before{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
             linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
}
.gfr-map-head .eyebrow{
  color:#07366d!important;background:#7ef7cf!important;padding:7px 11px!important;
  border-radius:999px!important;display:inline-flex!important;width:max-content!important;
}
.gfr-map-head h3{
  color:#ffffff!important;
  text-shadow:0 4px 0 rgba(46,72,167,.22),0 8px 24px rgba(43,55,143,.22)!important;
}
.gfr-map-head>div>p:not(.eyebrow){
  color:#07366d!important;background:rgba(255,255,255,.82)!important;padding:10px 14px!important;
  border-radius:18px!important;box-shadow:0 4px 0 rgba(32,113,173,.10)!important;
}

/* Live-site candy pills, not technical-looking map legend chips. */
.gfr-map-key span{
  background:#ffffff!important;color:#0b2454!important;border:3px solid #2bdad2!important;
  box-shadow:0 6px 0 rgba(42,154,192,.14)!important;text-shadow:none!important;
}
.gfr-map-key span:nth-child(2){border-color:#a25af0!important;background:#f6ebff!important}
.gfr-map-key span:nth-child(3){border-color:#e8b725!important;background:#fff7cf!important}
.gfr-map-key span:nth-child(4){border-color:#8b5cf6!important;background:#f1e9ff!important}
.gfr-map-line-key{
  background:#b7ece4!important;border:2px solid #315781!important;
}
.gfr-map-line-key.is-selected{
  background:linear-gradient(180deg,#9c58f7 0%,#7c34df 100%)!important;
  border:3px solid #fff!important;
  box-shadow:0 0 0 3px rgba(151,78,244,.42)!important;
}
.gfr-map-ready-key{
  display:inline-block;width:21px;height:12px;border-radius:5px;
  background:linear-gradient(100deg,#8d4fe9 0 48%,#ffd95b 52% 100%);
  border:2px solid #6d42df;
}
.gfr-map-basket-key{
  display:inline-grid!important;place-items:center!important;min-width:25px!important;height:25px!important;
  border-radius:8px!important;
  background:linear-gradient(115deg,#A96800 0%,#E6A311 18%,#FFD95B 34%,#FFF7BF 49%,#F7C12B 64%,#B87300 82%,#FFD95B 100%)!important;
  color:#1E1500!important;border:2px solid #6F4A00!important;
}

/* Map itself = same bright turquoise ocean and mint land as the current site. */
.gfr-map-stage{
  height:790px!important;min-height:790px!important;
  border:3px solid rgba(255,255,255,.82)!important;border-radius:30px!important;
  background:#10bde5!important;
  box-shadow:inset 0 0 90px rgba(29,66,168,.22),0 16px 36px rgba(31,76,145,.18)!important;
}
.gfr-maplibre-map{background:linear-gradient(180deg,#0dc5ed 0%,#21c9e7 58%,#3ed2df 100%)!important}
.gfr-maplibre-map::after{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:1!important;
  background:radial-gradient(circle at 50% 43%,transparent 48%,rgba(75,57,194,.09) 100%)!important;
}
.gfr-maplibre-map .maplibregl-canvas{z-index:2!important}

/* Region / zoom controls reuse the exact bright control family. */
.gfr-region-controls button,.gfr-zoom-controls button{
  background:#ffffff!important;color:#0b2454!important;border:3px solid #4fb8ee!important;
  box-shadow:0 6px 0 rgba(29,102,169,.15)!important;text-shadow:none!important;
}
.gfr-region-controls button[data-map-region="africa"]{border-color:#6cdb45!important;background:#edffe8!important}
.gfr-region-controls button[data-map-region="asia"]{border-color:#9b5cff!important;background:#f3ebff!important}
.gfr-region-controls button[data-map-region="europe"]{border-color:#2f6fd6!important;background:#e8f0ff!important}
.gfr-region-controls button[data-map-region="north-america"]{border-color:#ff9a2f!important;background:#fff2df!important}
.gfr-region-controls button[data-map-region="south-america"]{border-color:#ffb44d!important;background:#fff6df!important}
.gfr-region-controls button[data-map-region="oceania"]{border-color:#35dccf!important;background:#e6fffc!important}
.gfr-region-controls button[data-map-region="antarctica"]{border-color:#9bdcf6!important;background:#f1fbff!important}
.gfr-region-controls button[data-map-region="world"]{border-color:#35c6c8!important;background:#eaffff!important}
.gfr-region-controls button.active{
  background:#3ee3dd!important;border-color:#ffffff!important;color:#083865!important;
  box-shadow:0 0 0 5px rgba(255,255,255,.34),0 8px 0 rgba(18,140,171,.18)!important;
}
#gfrMapZoomLevel{
  color:#0b2454!important;background:#ffffff!important;border-radius:999px!important;padding:9px 12px!important;
  box-shadow:0 5px 0 rgba(29,102,169,.14)!important;
}

/* Search: same white/cyan pill style as the rest of the live UI. */
.gfr-map-search{
  max-width:540px!important;background:#fff!important;color:#0b2454!important;
  border:3px solid #4fb8ee!important;box-shadow:0 6px 0 rgba(29,102,169,.14)!important;
}
.gfr-map-search input{color:#0b2454!important}
.gfr-map-search input::placeholder{color:#527090!important}
.gfr-map-search-results{
  background:#fff!important;border:3px solid #4fb8ee!important;box-shadow:0 10px 0 rgba(29,102,169,.12),0 18px 38px rgba(31,76,145,.17)!important;
}
.gfr-map-search-results button:hover,.gfr-map-search-results button:focus-visible{background:#eaffff!important;outline:2px solid #2bdad2!important}

/* Side/support cards match the live turquoise / purple windows. */
.gfr-map-hover-preview{
  background:linear-gradient(145deg,#e8fbff,#f2e9ff)!important;
  border:3px solid rgba(255,255,255,.86)!important;
  box-shadow:0 0 0 3px rgba(155,92,255,.16),0 0 26px rgba(155,92,255,.22),0 12px 30px rgba(64,74,94,.13)!important;
}
.gfr-map-summary-card{
  background:linear-gradient(160deg,#f7ffff,#e5f8ff)!important;
  border:3px solid rgba(255,255,255,.86)!important;
  box-shadow:0 0 0 3px rgba(43,218,210,.16),0 0 26px rgba(43,218,210,.22),0 12px 30px rgba(64,74,94,.13)!important;
}
.gfr-map-global-card{
  background:linear-gradient(150deg,#7552ea 0%,#9b58ef 58%,#4d98ef 100%)!important;
  color:#fff!important;border:3px solid rgba(255,255,255,.86)!important;
}
.gfr-map-global-card .eyebrow,.gfr-map-global-card h4,.gfr-map-global-card>p:not(.eyebrow){color:#fff!important}

/* Selected-country list visually belongs to YOUR COUNTRIES, not a separate product. */
.gfr-map-selected-list{
  background:linear-gradient(135deg,#f7ffff,#edf8ff)!important;
  border:2px solid #63cdd9!important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.72)!important;
}
.gfr-map-selected-chip{
  background:#ffffff!important;border:2px solid #8b5cf6!important;color:#0b2454!important;
  box-shadow:0 4px 0 rgba(109,66,223,.13),0 6px 14px rgba(68,82,145,.10)!important;
}
.gfr-map-selected-chip strong{color:#0b2454!important}

/* Selected annotation = royal purple already used by the live site's OR / direct path. */
.gfr-pointer-selected-badge{
  background:linear-gradient(145deg,#8b6cff,#6d42df)!important;color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:0 0 0 3px rgba(139,108,255,.20),0 5px 0 rgba(65,42,139,.16)!important;
}

/* WOW bubble: keep premium gold, but give it the rounder current-site card language. */
.gfr-map-pointer-tooltip.is-wow-basket{
  background:linear-gradient(145deg,#fffdf4 0%,#fff2b8 50%,#ffd958 100%)!important;
  border:3px solid #8A6500!important;border-radius:24px!important;
  box-shadow:0 8px 0 rgba(139,92,0,.18),0 18px 38px rgba(103,74,0,.22),0 0 0 5px rgba(255,215,102,.24)!important;
}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact b{
  background:linear-gradient(180deg,#9cf06f,#68d64d)!important;border-color:#35a56a!important;color:#0b2454!important;
}
.gfr-map-pointer-tooltip.is-wow-basket .gfr-basket-hover-impact span{
  background:rgba(255,255,255,.82)!important;color:#0b2454!important;
}

/* Small normal hover tooltip uses the same cyan/purple frame family. */
.gfr-map-pointer-tooltip:not(.is-wow-basket){
  background:rgba(255,255,255,.97)!important;border:3px solid #6d42df!important;color:#0b2454!important;
  box-shadow:0 6px 0 rgba(109,66,223,.13),0 12px 24px rgba(61,68,143,.16)!important;
}

/* OR bridge is the current site's purple bridge, not an unrelated blue. */
.gfr-map-or-divider span{
  background:linear-gradient(145deg,#8b6cff,#6d42df)!important;color:#083865!important;
  box-shadow:0 0 0 4px rgba(139,108,255,.18),0 0 25px rgba(139,108,255,.28),0 7px 0 rgba(65,42,139,.20)!important;
}

/* Trust / note strips keep the translucent white live-site treatment. */
.gfr-map-trust-ribbon{
  background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(234,252,255,.78),rgba(244,232,255,.82))!important;
  border:3px solid rgba(255,255,255,.84)!important;
}
.gfr-map-trust-ribbon strong{color:#0b2454!important}.gfr-map-trust-ribbon small{color:#315781!important}
.gfr-map-footnote,.gfr-continent-respect-note{
  color:#0b2454!important;background:rgba(255,255,255,.82)!important;border-color:rgba(95,196,255,.42)!important;
}

/* Mobile keeps the same visual language. */
@media(max-width:1250px){.gfr-map-stage{height:720px!important;min-height:720px!important}}
@media(max-width:760px){.gfr-map-stage{height:620px!important;min-height:620px!important}}

/* =========================================================
   v58 — GREEN OR + WIDE COUNTRY BRUSH SELECTION
   ========================================================= */

/* The OR bridge is now white type on the site's vivid green. */
.gfr-map-or-divider span{
  background:linear-gradient(145deg,#64df55 0%,#39c96a 52%,#21b987 100%)!important;
  color:#ffffff!important;
  border:3px solid #ffffff!important;
  text-shadow:0 2px 0 rgba(6,67,56,.25),0 4px 12px rgba(6,67,56,.20)!important;
  box-shadow:
    0 0 0 4px rgba(73,215,114,.24),
    0 0 28px rgba(65,217,127,.34),
    0 7px 0 rgba(23,134,90,.20)!important;
}

/* Donor instruction — visible but compact, docked inside the map rather than covering countries. */
.gfr-map-brush-hint{
  position:absolute!important;
  z-index:18!important;
  left:18px!important;
  bottom:18px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  max-width:min(390px,calc(100% - 36px))!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  border:3px solid #58d5cc!important;
  color:#0b2454!important;
  box-shadow:0 8px 0 rgba(33,144,159,.13),0 16px 30px rgba(23,91,145,.16)!important;
  pointer-events:none!important;
}
.gfr-map-brush-hint .gfr-map-brush-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#ecfff8,#c8f9ea)!important;
  border:2px solid #45cda5!important;
  font-size:24px!important;
}
.gfr-map-brush-hint>span:nth-child(2){
  display:flex!important;
  flex-direction:column!important;
  line-height:1.08!important;
}
.gfr-map-brush-hint strong{
  font-size:18px!important;
  font-weight:1000!important;
  color:#0b2454!important;
}
.gfr-map-brush-hint small{
  margin-top:3px!important;
  font-size:14px!important;
  font-weight:850!important;
  color:#315781!important;
}
.gfr-map-brush-hint>b{
  margin-left:auto!important;
  white-space:nowrap!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#eaf8ff!important;
  border:2px solid #4fb8ee!important;
  color:#0b2454!important;
  font-size:13px!important;
  font-weight:1000!important;
}
.gfr-map-brush-hint.is-active{
  border-color:#53d76e!important;
  box-shadow:0 0 0 5px rgba(83,215,110,.17),0 8px 0 rgba(33,144,95,.13),0 16px 30px rgba(23,91,145,.16)!important;
}
.gfr-map-brush-hint.is-active>b{
  background:#dbffd9!important;
  border-color:#53d76e!important;
  color:#14753c!important;
}

/* Wide painter-style brush cursor. */
.gfr-map-brush-cursor{
  --gfr-brush-size:88px;
  position:absolute!important;
  z-index:17!important;
  width:var(--gfr-brush-size)!important;
  height:var(--gfr-brush-size)!important;
  margin-left:calc(var(--gfr-brush-size) / -2)!important;
  margin-top:calc(var(--gfr-brush-size) / -2)!important;
  border-radius:50%!important;
  border:4px solid rgba(255,255,255,.96)!important;
  background:rgba(83,215,110,.22)!important;
  box-shadow:
    0 0 0 4px rgba(45,185,123,.76),
    inset 0 0 0 3px rgba(255,255,255,.38),
    0 0 22px rgba(45,185,123,.38)!important;
  transform:translate3d(0,0,0)!important;
  pointer-events:none!important;
  opacity:0!important;
  transition:opacity .12s ease!important;
}
.gfr-world-map.is-brush-mode .gfr-maplibre-map .maplibregl-canvas,
.gfr-world-map.is-brush-mode .gfr-map-stage{
  cursor:crosshair!important;
}
.gfr-world-map.is-brush-mode .gfr-map-pointer-tooltip{
  display:none!important;
}

@media(max-width:760px){
  .gfr-map-brush-hint{
    left:10px!important;bottom:10px!important;
    padding:8px 9px!important;gap:8px!important;
  }
  .gfr-map-brush-hint strong{font-size:16px!important}
  .gfr-map-brush-hint small{font-size:12px!important}
  .gfr-map-brush-hint>b{font-size:11px!important;padding:5px 7px!important}
}


/* v59 — dedicated brush button. No other visual system changes. */
#gfrMapBrushToggle{
  background:#ffffff!important;
  color:#0b2454!important;
  border:3px solid #53d76e!important;
  box-shadow:0 6px 0 rgba(33,144,95,.14)!important;
  white-space:nowrap!important;
}
#gfrMapBrushToggle:hover,
#gfrMapBrushToggle:focus-visible{
  background:#eaffea!important;
  outline:none!important;
  box-shadow:0 0 0 4px rgba(83,215,110,.18),0 6px 0 rgba(33,144,95,.14)!important;
}
#gfrMapBrushToggle.active,
#gfrMapBrushToggle[aria-pressed="true"]{
  background:linear-gradient(145deg,#64df55 0%,#39c96a 52%,#21b987 100%)!important;
  color:#ffffff!important;
  border-color:#ffffff!important;
  text-shadow:0 2px 0 rgba(6,67,56,.22)!important;
  box-shadow:0 0 0 4px rgba(73,215,114,.23),0 6px 0 rgba(23,134,90,.18)!important;
}

/* v60: only move/emphasize the existing brush control at the top */
.gfr-brush-top-cta{position:relative;z-index:9;display:flex;justify-content:flex-start;margin:10px 0 13px}
.gfr-brush-top-cta #gfrMapBrushToggle{
 display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:12px!important;
 width:min(590px,100%)!important;min-height:74px!important;padding:10px 14px!important;border-radius:22px!important;
 border:4px solid #fff!important;background:linear-gradient(110deg,#7cf26b,#4ddd71 48%,#26c995)!important;
 color:#083865!important;text-align:left!important;cursor:pointer!important;
 box-shadow:0 0 0 4px rgba(55,211,117,.28),0 8px 0 rgba(18,137,95,.20),0 15px 30px rgba(26,105,121,.18)!important;
 animation:gfrBrushInvite 2.2s ease-in-out infinite!important
}
.gfr-brush-top-cta #gfrMapBrushToggle:hover,.gfr-brush-top-cta #gfrMapBrushToggle:focus-visible{
 transform:translateY(-3px) scale(1.018)!important;animation:none!important;
 box-shadow:0 0 0 6px rgba(255,255,255,.32),0 0 0 10px rgba(55,211,117,.20),0 10px 0 rgba(18,137,95,.20),0 20px 34px rgba(26,105,121,.22)!important
}
.gfr-brush-top-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff;border:3px solid #20bd83;font-size:28px;box-shadow:0 4px 0 rgba(13,111,82,.12)}
.gfr-brush-copy{display:flex;flex-direction:column;gap:2px}
.gfr-brush-copy strong{font-size:22px;line-height:1.05;color:#083865}
.gfr-brush-copy small{font-size:15px;line-height:1.2;font-weight:850;color:#174e67}
.gfr-brush-top-cta #gfrMapBrushState{min-width:62px;padding:9px 11px;border-radius:999px;background:#fff;border:3px solid #3cb7ed;color:#0b2454;text-align:center;font-size:17px}
.gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"]{background:linear-gradient(110deg,#58e75c,#2acb75 50%,#13b991)!important;animation:none!important}
.gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] #gfrMapBrushState{background:#0b2454;color:#fff;border-color:#fff}
@keyframes gfrBrushInvite{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.gfr-brush-top-cta #gfrMapBrushToggle{animation:none!important}}


/* v61 — ONLY requested brush-state and selected-list refinements */

/* OFF = red, ON = green. */
.gfr-brush-top-cta #gfrMapBrushToggle{
  background:linear-gradient(110deg,#ff7a72 0%,#f15f5f 52%,#dc4f62 100%)!important;
  border-color:#ffffff!important;
  box-shadow:
    0 0 0 4px rgba(239,82,82,.22),
    0 8px 0 rgba(151,45,55,.18),
    0 15px 30px rgba(120,49,58,.15)!important;
}
.gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"]{
  background:linear-gradient(110deg,#58e75c 0%,#2acb75 50%,#13b991 100%)!important;
  box-shadow:
    0 0 0 4px rgba(55,211,117,.28),
    0 8px 0 rgba(18,137,95,.20),
    0 15px 30px rgba(26,105,121,.18)!important;
}

/* Large, immediate ON confirmation beside the button. */
.gfr-brush-top-cta{
  align-items:center!important;
  gap:20px!important;
  flex-wrap:wrap!important;
}
.gfr-brush-live-message{
  display:inline-block!important;
  min-width:0!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#ffffff!important;
  text-shadow:
    0 3px 0 rgba(13,91,66,.22),
    0 5px 16px rgba(10,90,73,.24)!important;
}
.gfr-brush-live-message:empty{
  display:none!important;
}

/* Selected countries: one horizontal row instead of many vertical rows. */
.gfr-map-selected-list{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  max-width:100%!important;
  padding:10px 10px 12px!important;
  scroll-behavior:smooth!important;
  scrollbar-width:thin!important;
}
.gfr-map-selected-chip{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.gfr-map-selected-list::-webkit-scrollbar{
  height:10px!important;
}
.gfr-map-selected-list::-webkit-scrollbar-thumb{
  background:#8b5cf6!important;
  border-radius:999px!important;
}
.gfr-map-selected-list::-webkit-scrollbar-track{
  background:#e9f8fb!important;
  border-radius:999px!important;
}

@media(max-width:760px){
  .gfr-brush-live-message{font-size:24px!important}
}


/* v66 — map fullscreen only */
#gfrWorldMap{position:relative!important}
.gfr-map-fullscreen-btn{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:30!important;
  width:56px!important;
  height:56px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  border:3px solid #ffffff!important;
  background:rgba(255,255,255,.97)!important;
  color:#0b2454!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:1000!important;
  cursor:pointer!important;
  box-shadow:0 7px 0 rgba(38,111,166,.16),0 12px 28px rgba(25,82,140,.18)!important;
}
.gfr-map-fullscreen-btn:hover,
.gfr-map-fullscreen-btn:focus-visible{
  transform:translateY(-2px)!important;
  outline:none!important;
  box-shadow:0 0 0 5px rgba(255,255,255,.28),0 8px 0 rgba(38,111,166,.16),0 16px 30px rgba(25,82,140,.20)!important;
}
#gfrWorldMap:fullscreen,
#gfrWorldMap.gfr-map-fullscreen-fallback{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
  background:#10bde5!important;
}
#gfrWorldMap:fullscreen .gfr-maplibre-map,
#gfrWorldMap.gfr-map-fullscreen-fallback .gfr-maplibre-map{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  border-radius:0!important;
}
#gfrWorldMap.gfr-map-fullscreen-fallback{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
}
body.gfr-map-fullscreen-body-lock{overflow:hidden!important}

@media(max-width:760px){
  .gfr-map-fullscreen-btn{
    top:10px!important;
    right:10px!important;
    width:50px!important;
    height:50px!important;
    border-radius:14px!important;
    font-size:27px!important;
  }
}


/* v71 — exact mouse-anchor speech-bubble tip only.
   The bubble follows pointer movement; its tip stays attached to the pointer coordinate. */
.gfr-map-pointer-tooltip{
  --gfr-tip-x:20px;
  --gfr-tip-y:20px;
}
.gfr-map-pointer-tooltip::before,
.gfr-map-pointer-tooltip::after{
  content:""!important;
  position:absolute!important;
  width:0!important;
  height:0!important;
  pointer-events:none!important;
  z-index:3!important;
}

/* Right of pointer: tip projects left toward the mouse. */
.gfr-map-pointer-tooltip.is-tip-right::before{
  left:-17px!important;
  top:calc(var(--gfr-tip-y) - 13px)!important;
  border-top:13px solid transparent!important;
  border-bottom:13px solid transparent!important;
  border-right:18px solid currentColor!important;
}
.gfr-map-pointer-tooltip.is-tip-right::after{
  left:-12px!important;
  top:calc(var(--gfr-tip-y) - 10px)!important;
  border-top:10px solid transparent!important;
  border-bottom:10px solid transparent!important;
  border-right:14px solid #fff7cf!important;
}

/* Left of pointer: tip projects right toward the mouse. */
.gfr-map-pointer-tooltip.is-tip-left::before{
  right:-17px!important;
  top:calc(var(--gfr-tip-y) - 13px)!important;
  border-top:13px solid transparent!important;
  border-bottom:13px solid transparent!important;
  border-left:18px solid currentColor!important;
}
.gfr-map-pointer-tooltip.is-tip-left::after{
  right:-12px!important;
  top:calc(var(--gfr-tip-y) - 10px)!important;
  border-top:10px solid transparent!important;
  border-bottom:10px solid transparent!important;
  border-left:14px solid #fff7cf!important;
}

/* Above pointer. */
.gfr-map-pointer-tooltip.is-tip-top::before{
  left:calc(var(--gfr-tip-x) - 13px)!important;
  bottom:-17px!important;
  border-left:13px solid transparent!important;
  border-right:13px solid transparent!important;
  border-top:18px solid currentColor!important;
}
.gfr-map-pointer-tooltip.is-tip-top::after{
  left:calc(var(--gfr-tip-x) - 10px)!important;
  bottom:-12px!important;
  border-left:10px solid transparent!important;
  border-right:10px solid transparent!important;
  border-top:14px solid #fff7cf!important;
}

/* Below pointer. */
.gfr-map-pointer-tooltip.is-tip-bottom::before{
  left:calc(var(--gfr-tip-x) - 13px)!important;
  top:-17px!important;
  border-left:13px solid transparent!important;
  border-right:13px solid transparent!important;
  border-bottom:18px solid currentColor!important;
}
.gfr-map-pointer-tooltip.is-tip-bottom::after{
  left:calc(var(--gfr-tip-x) - 10px)!important;
  top:-12px!important;
  border-left:10px solid transparent!important;
  border-right:10px solid transparent!important;
  border-bottom:14px solid #fff7cf!important;
}

/* Non-basket bubbles keep their existing white surface. */
.gfr-map-pointer-tooltip:not(.is-wow-basket).is-tip-right::after{border-right-color:#fff!important}
.gfr-map-pointer-tooltip:not(.is-wow-basket).is-tip-left::after{border-left-color:#fff!important}
.gfr-map-pointer-tooltip:not(.is-wow-basket).is-tip-top::after{border-top-color:#fff!important}
.gfr-map-pointer-tooltip:not(.is-wow-basket).is-tip-bottom::after{border-bottom-color:#fff!important}


/* =========================================================
   v72 — Cursor-anchored country bubble only
   ========================================================= */

/* Position via transform so pointermove does not trigger page layout. */
.gfr-map-pointer-tooltip{
  left:0!important;
  top:0!important;
  pointer-events:auto!important;
  transform:
    translate3d(var(--gfr-bubble-x,0px),var(--gfr-bubble-y,0px),0)
    scale(var(--gfr-wow-scale,1))!important;
  transform-origin:0 0!important;
  will-change:transform!important;
  transition:opacity .15s ease,filter .15s ease!important;
}
.gfr-map-pointer-tooltip.is-opening{
  opacity:0!important;
}
.gfr-map-pointer-tooltip.is-open{
  opacity:1!important;
}
.gfr-map-pointer-tooltip.is-closing{
  opacity:0!important;
  filter:blur(1px)!important;
}

/* Every non-basket country uses a complete Coming Soon card, not a tiny tooltip. */
.gfr-map-pointer-tooltip.is-coming-soon{
  width:min(300px,calc(100vw - 42px))!important;
  max-width:300px!important;
  padding:14px!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#252c3d 0%,#151b2a 100%)!important;
  border:3px solid #646f86!important;
  color:#ffffff!important;
  box-shadow:0 10px 0 rgba(7,12,24,.20),0 20px 38px rgba(4,9,21,.34)!important;
}
.gfr-pointer-coming-country{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:7px 10px!important;
  margin-bottom:9px!important;
}
.gfr-pointer-coming-country>span{
  margin:0!important;
  font-size:28px!important;
}
.gfr-pointer-coming-country strong{
  color:#ffffff!important;
  font-size:20px!important;
  line-height:1.08!important;
}
.gfr-pointer-coming-label{
  display:inline-block!important;
  margin:0 0 7px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#111827!important;
  border:2px solid #7b8497!important;
  color:#d8dee9!important;
  font-size:13px!important;
  letter-spacing:.06em!important;
}
.gfr-pointer-coming-copy{
  color:#d5dbea!important;
  font-size:15px!important;
  line-height:1.35!important;
}

/* Open Basket retains the existing evidence/modal system. */
.gfr-map-open-basket-btn{
  display:block!important;
  width:100%!important;
  min-height:48px!important;
  margin-top:10px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  border:3px solid #ffffff!important;
  background:linear-gradient(145deg,#FFD84D 0%,#FF9F43 100%)!important;
  color:#10213d!important;
  font:1000 16px/1 Nunito,Arial,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 5px 0 rgba(143,85,13,.18),0 9px 20px rgba(69,74,121,.18)!important;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease!important;
}
.gfr-map-open-basket-btn:hover,
.gfr-map-open-basket-btn:focus-visible{
  transform:translateY(-2px) scale(1.025)!important;
  filter:brightness(1.05)!important;
  box-shadow:0 7px 0 rgba(143,85,13,.18),0 14px 24px rgba(69,74,121,.22)!important;
  outline:4px solid rgba(255,216,77,.30)!important;
}
.gfr-map-open-basket-btn.is-coming-soon-btn{
  background:linear-gradient(145deg,#202737,#111827)!important;
  border-color:#687286!important;
  color:#9ca7ba!important;
  cursor:not-allowed!important;
  box-shadow:inset 0 0 14px rgba(0,0,0,.28),0 5px 0 rgba(0,0,0,.18)!important;
}
.gfr-map-open-basket-btn.is-coming-soon-btn:hover{
  transform:none!important;
  filter:none!important;
  outline:none!important;
}

/* Tip fill follows the card surface for each orientation. */
.gfr-map-pointer-tooltip.is-coming-soon.is-tip-right::after{border-right-color:#1d2433!important}
.gfr-map-pointer-tooltip.is-coming-soon.is-tip-left::after{border-left-color:#1d2433!important}
.gfr-map-pointer-tooltip.is-coming-soon.is-tip-top::after{border-top-color:#1d2433!important}
.gfr-map-pointer-tooltip.is-coming-soon.is-tip-bottom::after{border-bottom-color:#1d2433!important}

/* Safe bridge from the exact pointer coordinate to the bubble edge.
   It is interactive but visually minimal, so tiny countries remain easy to use. */
.gfr-hover-safe-bridge{
  position:absolute!important;
  inset:0!important;
  z-index:39!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.gfr-hover-safe-bridge::before{
  content:""!important;
  position:absolute!important;
  left:var(--gfr-bridge-x)!important;
  top:var(--gfr-bridge-y)!important;
  width:var(--gfr-bridge-length)!important;
  height:28px!important;
  margin-top:-14px!important;
  transform-origin:0 50%!important;
  transform:rotate(var(--gfr-bridge-angle))!important;
  background:transparent!important;
  pointer-events:auto!important;
}
.gfr-hover-root{
  position:absolute!important;
  left:var(--gfr-bridge-x)!important;
  top:var(--gfr-bridge-y)!important;
  width:8px!important;height:8px!important;
  margin:-4px 0 0 -4px!important;
  border-radius:50%!important;
  background:#2ebc72!important;
  border:2px solid #ffffff!important;
  box-shadow:0 0 0 3px rgba(46,188,114,.18)!important;
  pointer-events:none!important;
}
.gfr-hover-stem{
  position:absolute!important;
  left:var(--gfr-bridge-x)!important;
  top:var(--gfr-bridge-y)!important;
  width:var(--gfr-bridge-length)!important;
  height:4px!important;
  margin-top:-2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#23945d,#47cf82)!important;
  transform-origin:0 50%!important;
  transform:rotate(var(--gfr-bridge-angle)) scaleX(1)!important;
  pointer-events:none!important;
  transition:transform .22s ease,opacity .18s ease!important;
}
.gfr-hover-leaf{
  position:absolute!important;
  left:var(--gfr-bridge-x)!important;
  top:var(--gfr-bridge-y)!important;
  width:13px!important;height:7px!important;
  border-radius:100% 0 100% 0!important;
  background:#47cf82!important;
  pointer-events:none!important;
}
.gfr-hover-leaf-a{
  transform:translate(24px,-10px) rotate(var(--gfr-bridge-angle))!important;
}
.gfr-hover-leaf-b{
  transform:translate(46px,5px) rotate(calc(var(--gfr-bridge-angle) + 180deg))!important;
}
.gfr-hover-flower{
  position:absolute!important;
  left:var(--gfr-flower-x)!important;
  top:var(--gfr-flower-y)!important;
  width:14px!important;height:14px!important;
  margin:-7px 0 0 -7px!important;
  border-radius:50%!important;
  background:#FFD34E!important;
  border:3px solid #ffffff!important;
  box-shadow:
    0 -7px 0 -2px #8b5cf6,
    0 7px 0 -2px #8b5cf6,
    -7px 0 0 -2px #8b5cf6,
    7px 0 0 -2px #8b5cf6!important;
  pointer-events:none!important;
}
.gfr-hover-direction-arrow{
  position:absolute!important;
  left:var(--gfr-arrow-x)!important;
  top:var(--gfr-arrow-y)!important;
  width:34px!important;height:34px!important;
  margin:-17px 0 0 -17px!important;
  color:#ffffff!important;
  font:1000 29px/34px Arial,sans-serif!important;
  text-align:center!important;
  text-shadow:0 2px 0 rgba(16,33,61,.72),0 0 5px rgba(16,33,61,.45)!important;
  pointer-events:none!important;
  transform:rotate(var(--gfr-arrow-angle)) scale(.76)!important;
  animation:gfrV72ArrowSizePulse .85s ease-in-out infinite alternate!important;
}
@keyframes gfrV72ArrowSizePulse{
  from{transform:rotate(var(--gfr-arrow-angle)) scale(.72)}
  to{transform:rotate(var(--gfr-arrow-angle)) scale(1.22)}
}

/* Reverse-close: card folds inward, then bridge visually retracts. */
.gfr-hover-safe-bridge.is-closing .gfr-hover-stem{
  transform:rotate(var(--gfr-bridge-angle)) scaleX(.02)!important;
  opacity:.1!important;
}
.gfr-hover-safe-bridge.is-closing .gfr-hover-root,
.gfr-hover-safe-bridge.is-closing .gfr-hover-leaf,
.gfr-hover-safe-bridge.is-closing .gfr-hover-flower,
.gfr-hover-safe-bridge.is-closing .gfr-hover-direction-arrow{
  opacity:0!important;
  transition:opacity .16s ease!important;
}

/* The legacy mobile rule keeps mouse-hover UI out of touch-only layouts. */
@media(max-width:760px){
  .gfr-hover-safe-bridge{display:none!important}
}

/* Reduced-motion preference: keep all information/interaction, remove motion. */
@media(prefers-reduced-motion:reduce){
  .gfr-map-pointer-tooltip,
  .gfr-hover-stem,
  .gfr-hover-direction-arrow{
    transition:none!important;
    animation:none!important;
  }
  .gfr-hover-direction-arrow{
    transform:rotate(var(--gfr-arrow-angle)) scale(1)!important;
  }
}


/* v72 precision pass — real DOM safe corridor + exact tip reach. */
.gfr-hover-safe-bridge::before{display:none!important}
.gfr-hover-hit-corridor{
  position:absolute!important;
  left:var(--gfr-bridge-x)!important;
  top:var(--gfr-bridge-y)!important;
  width:var(--gfr-bridge-length)!important;
  height:34px!important;
  margin-top:-17px!important;
  transform-origin:0 50%!important;
  transform:rotate(var(--gfr-bridge-angle))!important;
  background:transparent!important;
  pointer-events:auto!important;
  z-index:1!important;
}
.gfr-hover-root{
  opacity:0!important;
  transform:scale(.12)!important;
  transition:opacity .12s ease,transform .16s ease!important;
}
.gfr-hover-stem{
  opacity:0!important;
  transform:rotate(var(--gfr-bridge-angle)) scaleX(.02)!important;
  transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .12s ease!important;
}
.gfr-hover-leaf,
.gfr-hover-flower{
  opacity:0!important;
  transition:opacity .15s .12s ease,transform .20s .12s ease!important;
}
.gfr-hover-direction-arrow{
  opacity:0!important;
}
.gfr-hover-safe-bridge.is-open .gfr-hover-root{
  opacity:1!important;
  transform:scale(1)!important;
}
.gfr-hover-safe-bridge.is-open .gfr-hover-stem{
  opacity:1!important;
  transform:rotate(var(--gfr-bridge-angle)) scaleX(1)!important;
}
.gfr-hover-safe-bridge.is-open .gfr-hover-leaf,
.gfr-hover-safe-bridge.is-open .gfr-hover-flower{
  opacity:1!important;
}
.gfr-hover-safe-bridge.is-open .gfr-hover-direction-arrow{
  opacity:1!important;
}


/* =========================================================
   v73 — exact close speech-tip + map gestures through bubble
   Scope: country bubble interaction only.
   ========================================================= */

/* Plant/stem/flower/outer arrow removed completely. */
.gfr-hover-safe-bridge{
  display:none!important;
}

/* The visual card must not block map drag or map wheel.
   Only the actual OPEN BASKET control captures pointer interaction. */
.gfr-map-pointer-tooltip{
  pointer-events:none!important;
}
.gfr-map-pointer-tooltip .gfr-map-open-basket-btn{
  pointer-events:auto!important;
  touch-action:none!important;
}

/* Small inward arrow lives inside the card next to the speech-tip side.
   It never blocks pointer/map input. */
.gfr-bubble-entry-arrow{
  position:absolute!important;
  z-index:6!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.90)!important;
  border:2px solid currentColor!important;
  color:#6d42df!important;
  font:1000 22px/1 Arial,sans-serif!important;
  box-shadow:0 4px 10px rgba(54,43,112,.16)!important;
  pointer-events:none!important;
  transform-origin:50% 50%!important;
  animation:gfrBubbleEntryArrowPulse .9s ease-in-out infinite alternate!important;
}
.gfr-map-pointer-tooltip.is-tip-right .gfr-bubble-entry-arrow{
  left:6px!important;
  top:calc(var(--gfr-tip-y) - 15px)!important;
  transform:rotate(0deg) scale(.82)!important;
}
.gfr-map-pointer-tooltip.is-tip-left .gfr-bubble-entry-arrow{
  right:6px!important;
  top:calc(var(--gfr-tip-y) - 15px)!important;
  transform:rotate(180deg) scale(.82)!important;
}
.gfr-map-pointer-tooltip.is-tip-top .gfr-bubble-entry-arrow{
  left:calc(var(--gfr-tip-x) - 15px)!important;
  bottom:6px!important;
  transform:rotate(-90deg) scale(.82)!important;
}
.gfr-map-pointer-tooltip.is-tip-bottom .gfr-bubble-entry-arrow{
  left:calc(var(--gfr-tip-x) - 15px)!important;
  top:6px!important;
  transform:rotate(90deg) scale(.82)!important;
}
@keyframes gfrBubbleEntryArrowPulse{
  from{scale:.88}
  to{scale:1.08}
}

/* Make room for the internal guidance arrow without changing any data/copy. */
.gfr-map-pointer-tooltip.is-tip-right{padding-left:42px!important}
.gfr-map-pointer-tooltip.is-tip-left{padding-right:42px!important}
.gfr-map-pointer-tooltip.is-tip-top{padding-bottom:42px!important}
.gfr-map-pointer-tooltip.is-tip-bottom{padding-top:42px!important}

@media(prefers-reduced-motion:reduce){
  .gfr-bubble-entry-arrow{animation:none!important}
}


/* =========================================================
   v74 — Available Basket coordinate fix + larger hover bridge arrow only
   ========================================================= */

/* Large arrow button: overlaps the speech tip so the mouse has an easy,
   continuous target from a tiny country into its bubble. */
.gfr-bubble-entry-arrow{
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  font-size:34px!important;
  line-height:52px!important;
  border-width:3px!important;
  pointer-events:auto!important;
  cursor:default!important;
  touch-action:none!important;
  z-index:10!important;
  animation:gfrBubbleEntryArrowPulseV74 .82s ease-in-out infinite alternate!important;
}

/* Put roughly half the circle outside the card, directly over the tip corridor. */
.gfr-map-pointer-tooltip.is-tip-right .gfr-bubble-entry-arrow{
  left:-25px!important;
  top:calc(var(--gfr-tip-y) - 26px)!important;
}
.gfr-map-pointer-tooltip.is-tip-left .gfr-bubble-entry-arrow{
  right:-25px!important;
  top:calc(var(--gfr-tip-y) - 26px)!important;
}
.gfr-map-pointer-tooltip.is-tip-top .gfr-bubble-entry-arrow{
  left:calc(var(--gfr-tip-x) - 26px)!important;
  bottom:-25px!important;
}
.gfr-map-pointer-tooltip.is-tip-bottom .gfr-bubble-entry-arrow{
  left:calc(var(--gfr-tip-x) - 26px)!important;
  top:-25px!important;
}

/* Keep the arrow visually pointing INTO the card. */
.gfr-map-pointer-tooltip.is-tip-right .gfr-bubble-entry-arrow{transform:rotate(0deg)!important}
.gfr-map-pointer-tooltip.is-tip-left .gfr-bubble-entry-arrow{transform:rotate(180deg)!important}
.gfr-map-pointer-tooltip.is-tip-top .gfr-bubble-entry-arrow{transform:rotate(-90deg)!important}
.gfr-map-pointer-tooltip.is-tip-bottom .gfr-bubble-entry-arrow{transform:rotate(90deg)!important}

@keyframes gfrBubbleEntryArrowPulseV74{
  from{scale:.90}
  to{scale:1.08}
}

@media(prefers-reduced-motion:reduce){
  .gfr-bubble-entry-arrow{animation:none!important}
}


/* v75 — no visual redesign. Keep the v74 arrow exactly as-is.
   This marker only documents that WOW positioning now uses one
   shell-local coordinate system and easy map-click dismissal. */


/* =========================================================
   v76 — SURGICAL WOW POSITION FIX
   Root cause:
   an older higher-specificity `.gfr-map-pointer-tooltip.is-wow-basket`
   rule still forced `transform: scale(...) !important`, overriding the
   cursor-position `translate3d(...)` used by the newer bubble engine.
   Coming Soon never matched that rule, so it positioned correctly.
   ========================================================= */
.gfr-map-pointer-tooltip.is-wow-basket{
  left:0!important;
  top:0!important;
  transform:
    translate3d(var(--gfr-bubble-x,0px),var(--gfr-bubble-y,0px),0)
    scale(var(--gfr-wow-scale,1))!important;
  transform-origin:0 0!important;
  will-change:transform!important;
}


/* =========================================================
   v77 — donor-first vertical map cards
   Only the country-bubble presentation/interaction is changed.
   ========================================================= */

/* No arrow / plant / speech-tip bridge in the final donor-facing system. */
.gfr-bubble-entry-arrow,
.gfr-hover-safe-bridge{
  display:none!important;
}

/* Available Basket cards are permanently visible while their country is
   inside the visible map. This layer never blocks map interaction except
   on the cards themselves. */
.gfr-ready-basket-layer{
  position:absolute!important;
  inset:0!important;
  z-index:24!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.gfr-ready-basket-card{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:232px!important;
  max-width:calc(100% - 20px)!important;
  padding:12px!important;
  border:3px solid #8A6500!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#fffdf4 0%,#fff2b8 50%,#ffd958 100%)!important;
  color:#0b2454!important;
  box-shadow:0 7px 0 rgba(139,92,0,.18),0 15px 28px rgba(80,57,0,.20),0 0 0 4px rgba(255,215,102,.20)!important;
  transform:translate3d(var(--gfr-ready-x,0px),var(--gfr-ready-y,0px),0)!important;
  transform-origin:center!important;
  pointer-events:auto!important;
  touch-action:none!important;
  transition:box-shadow .16s ease,filter .16s ease,opacity .16s ease!important;
  will-change:transform!important;
}
.gfr-ready-basket-card[hidden]{display:none!important}
.gfr-ready-basket-card:hover,
.gfr-ready-basket-card:focus-within,
.gfr-ready-basket-card.is-country-hovered{
  filter:brightness(1.025)!important;
  box-shadow:0 9px 0 rgba(139,92,0,.19),0 21px 34px rgba(80,57,0,.25),0 0 0 6px rgba(255,215,102,.24)!important;
}
.gfr-ready-card-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:7px 9px!important;
  align-items:start!important;
  margin-bottom:8px!important;
}
.gfr-ready-card-flag{
  grid-row:1/3!important;
  font-size:23px!important;
  line-height:1!important;
}
.gfr-ready-card-head>div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.gfr-ready-card-head strong{
  font-size:20px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  color:#0b2454!important;
}
.gfr-ready-card-head em{
  font-style:normal!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.055em!important;
  color:#6d4c00!important;
}
.gfr-ready-card-selected{
  grid-column:1/-1!important;
  justify-self:start!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#8b5cf6!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
  box-shadow:0 3px 0 rgba(94,52,180,.16)!important;
}
.gfr-ready-basket-card .gfr-basket-hover-price{
  display:block!important;
  margin:6px 0 7px!important;
  padding:7px 8px!important;
  border:2px solid #d49b00!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.63)!important;
  color:#0b2454!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:1000!important;
  text-align:center!important;
}
.gfr-ready-basket-card .gfr-basket-hover-impact{
  display:grid!important;
  gap:6px!important;
}
.gfr-ready-basket-card .gfr-basket-hover-impact b{
  justify-self:center!important;
  padding:4px 12px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#9cf06f,#68d64d)!important;
  border:2px solid #35a56a!important;
  color:#0b2454!important;
  font-size:18px!important;
  line-height:1!important;
}
.gfr-ready-basket-card .gfr-basket-hover-impact span{
  display:block!important;
  padding:6px 8px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.77)!important;
  color:#0b2454!important;
  font-size:13px!important;
  line-height:1.23!important;
  font-weight:900!important;
}
.gfr-ready-card-open{
  width:100%!important;
  min-height:48px!important;
  margin-top:9px!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#FFD84D,#FF9F43)!important;
  color:#10213d!important;
  font:1000 15px/1 Nunito,Arial,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 5px 0 rgba(143,85,13,.18),0 9px 18px rgba(69,74,121,.16)!important;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease!important;
}
.gfr-ready-card-open:hover,
.gfr-ready-card-open:focus-visible{
  transform:translateY(-2px) scale(1.02)!important;
  filter:brightness(1.05)!important;
  outline:4px solid rgba(255,216,77,.28)!important;
  box-shadow:0 7px 0 rgba(143,85,13,.18),0 13px 23px rgba(69,74,121,.21)!important;
}

/* Hover-only countries use the SAME vertical card footprint in a dark
   Coming Soon treatment. It does not follow the pointer once opened. */
.gfr-map-pointer-tooltip.is-coming-soon{
  width:232px!important;
  max-width:calc(100% - 20px)!important;
  min-height:0!important;
  padding:12px!important;
  border-radius:22px!important;
  border:3px solid #59657b!important;
  background:linear-gradient(145deg,#252c3d,#151b2a)!important;
  box-shadow:0 7px 0 rgba(7,12,24,.22),0 15px 28px rgba(4,9,21,.31)!important;
  color:#fff!important;
  pointer-events:none!important;
}
/* Remove legacy speech triangles: the new cards are simple vertical panels. */
.gfr-map-pointer-tooltip.is-coming-soon::before,
.gfr-map-pointer-tooltip.is-coming-soon::after{
  display:none!important;
}
.gfr-map-pointer-tooltip.is-coming-soon .gfr-pointer-coming-country strong{
  font-size:20px!important;
}
.gfr-map-pointer-tooltip.is-coming-soon .gfr-pointer-coming-label{
  margin-top:4px!important;
}
.gfr-map-pointer-tooltip.is-coming-soon .gfr-map-open-basket-btn{
  min-height:48px!important;
  pointer-events:none!important;
}

/* Mobile: do not cover a small map with six geographic cards.
   Keep every ready basket permanently visible in a single horizontal
   in-map tray that is easy to swipe and tap. */
@media(max-width:760px){
  .gfr-ready-basket-layer.is-mobile-tray{
    inset:auto 8px 8px 8px!important;
    display:flex!important;
    gap:10px!important;
    align-items:stretch!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 4px 12px!important;
    pointer-events:auto!important;
    scrollbar-width:thin!important;
    scroll-snap-type:x proximity!important;
  }
  .gfr-ready-basket-layer.is-mobile-tray .gfr-ready-basket-card{
    position:relative!important;
    flex:0 0 min(82vw,268px)!important;
    width:min(82vw,268px)!important;
    max-width:none!important;
    transform:none!important;
    scroll-snap-align:start!important;
  }
  .gfr-map-pointer-tooltip.is-coming-soon{
    width:min(78vw,250px)!important;
  }
}


/* =========================================================
   v78 — ADAPTIVE BASKET CARDS
   Surgical override of v77 persistent basket presentation only.
   Mini is persistent; Expanded is one-at-a-time on hover/focus/tap.
   ========================================================= */

/* No legacy arrow/plant/tip elements in this engine. */
.gfr-bubble-entry-arrow,.gfr-hover-safe-bridge{display:none!important}

.gfr-ready-basket-card{
  width:clamp(132px,10.3vw,164px)!important;
  min-height:84px!important;
  padding:8px!important;
  border-radius:17px!important;
  transition:width .22s ease,min-height .22s ease,padding .22s ease,box-shadow .18s ease,filter .18s ease!important;
  overflow:visible!important;
}
.gfr-ready-basket-layer[data-zoom-density="compact"] .gfr-ready-basket-card{
  width:clamp(126px,9.6vw,154px)!important;
}
.gfr-ready-basket-layer[data-zoom-density="normal"] .gfr-ready-basket-card{
  width:clamp(140px,11vw,174px)!important;
}
.gfr-ready-basket-layer[data-zoom-density="near"] .gfr-ready-basket-card{
  width:clamp(150px,12vw,188px)!important;
}
.gfr-ready-basket-card.is-expanded{
  width:clamp(224px,16vw,258px)!important;
  min-height:0!important;
  padding:12px!important;
  z-index:40!important;
  filter:brightness(1.025)!important;
  box-shadow:0 9px 0 rgba(139,92,0,.19),0 21px 34px rgba(80,57,0,.25),0 0 0 6px rgba(255,215,102,.24)!important;
}

.gfr-ready-card-head{
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:4px 6px!important;
  margin-bottom:5px!important;
}
.gfr-ready-card-flag{font-size:15px!important;grid-row:1/3!important}
.gfr-ready-card-head strong{
  font-size:15px!important;
  line-height:1.02!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.gfr-ready-card-head em{font-size:8.5px!important;letter-spacing:.045em!important}
.gfr-ready-card-selected{
  grid-column:1/-1!important;
  padding:2px 6px!important;
  font-size:8.5px!important;
}
.gfr-ready-basket-card.is-expanded .gfr-ready-card-flag{font-size:22px!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-card-head strong{font-size:20px!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-card-head em{font-size:12px!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-card-selected{padding:4px 9px!important;font-size:12px!important}

.gfr-ready-mini-price{
  display:block!important;
  margin:5px 0 6px!important;
  padding:5px 6px!important;
  border:2px solid #d49b00!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.70)!important;
  color:#0b2454!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.gfr-ready-expanded-details{display:none!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-mini-price{display:none!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-expanded-details{display:block!important}

.gfr-ready-card-open{
  min-height:44px!important;
  margin-top:4px!important;
  padding:7px 8px!important;
  font-size:12px!important;
}
.gfr-ready-open-full{display:none!important}
.gfr-ready-open-mini{display:inline!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-card-open{
  min-height:48px!important;
  margin-top:9px!important;
  padding:10px 14px!important;
  font-size:15px!important;
}
.gfr-ready-basket-card.is-expanded .gfr-ready-open-full{display:inline!important}
.gfr-ready-basket-card.is-expanded .gfr-ready-open-mini{display:none!important}

/* Expanded full-detail content remains exactly the existing basket information. */
.gfr-ready-basket-card.is-expanded .gfr-basket-hover-price{display:block!important}
.gfr-ready-basket-card.is-expanded .gfr-basket-hover-impact{display:grid!important}

/* Mini is recognition, not reading. */
.gfr-ready-basket-card:not(.is-expanded) .gfr-basket-hover-price,
.gfr-ready-basket-card:not(.is-expanded) .gfr-basket-hover-impact{display:none!important}

/* Coming Soon: same vertical family, dark/muted, interaction-only. */
.gfr-map-pointer-tooltip.is-coming-soon{
  width:clamp(210px,15vw,238px)!important;
  max-width:calc(100% - 20px)!important;
}

/* Mobile: persistent mini rail; one tap-expanded card can grow without page overflow. */
@media(max-width:760px){
  .gfr-ready-basket-layer.is-mobile-tray .gfr-ready-basket-card{
    flex:0 0 min(48vw,178px)!important;
    width:min(48vw,178px)!important;
    min-height:88px!important;
  }
  .gfr-ready-basket-layer.is-mobile-tray .gfr-ready-basket-card.is-expanded{
    flex-basis:min(84vw,310px)!important;
    width:min(84vw,310px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .gfr-ready-basket-card{transition:none!important}
}


/* v78 density scalability: preserve Basket visibility as the network grows. */
.gfr-ready-basket-layer[data-volume-density="dense"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(118px,8.8vw,142px)!important;
}
.gfr-ready-basket-layer[data-volume-density="dense"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head em{
  font-size:7.5px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(104px,7.6vw,126px)!important;
  min-height:72px!important;
  padding:6px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-flag{display:none!important}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head strong{font-size:13px!important}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head em{font-size:7px!important}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-mini-price{font-size:11px!important;padding:4px!important}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-open{min-height:44px!important;font-size:11px!important}

@media(max-width:760px){
  .gfr-ready-basket-card{touch-action:pan-x!important}
  .gfr-ready-card-open{touch-action:manipulation!important}
}

/* =========================================================
   v79 — ADAPTIVE BASKET CARDS PRECISION PASS
   Scope: Adaptive Basket Cards only.
   The Mini state is a dedicated recognition layout, not a scaled Full card.
   Physical card dimensions switch immediately so collision measurements are
   deterministic; only content/visual emphasis animates.
   ========================================================= */

/* Stable physical geometry: never measure a card mid width/height transition. */
.gfr-ready-basket-card{
  transition:box-shadow .18s ease,filter .18s ease,opacity .16s ease!important;
}

/* TRUE MINI — world-first, readable, compact. */
.gfr-ready-basket-card:not(.is-expanded){
  width:clamp(122px,9.1vw,148px)!important;
  min-height:0!important;
  padding:6px!important;
  border-width:2px!important;
  border-radius:14px!important;
  box-shadow:0 4px 0 rgba(139,92,0,.16),0 9px 18px rgba(80,57,0,.15),0 0 0 3px rgba(255,215,102,.16)!important;
}
.gfr-ready-basket-layer[data-zoom-density="compact"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(118px,8.7vw,142px)!important;
}
.gfr-ready-basket-layer[data-zoom-density="normal"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(126px,9.5vw,154px)!important;
}
.gfr-ready-basket-layer[data-zoom-density="near"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(134px,10vw,162px)!important;
}

.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head{
  position:relative!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:2px 5px!important;
  margin:0 0 3px!important;
  align-items:center!important;
}
.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-flag{
  grid-row:1/3!important;
  font-size:13px!important;
}
.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head strong{
  font-size:14px!important;
  line-height:1.02!important;
  -webkit-line-clamp:2!important;
}
.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head em{
  font-size:7.8px!important;
  line-height:1!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Selected is secondary information and must not increase Mini height. */
.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-selected{
  position:absolute!important;
  right:3px!important;
  top:3px!important;
  grid-column:auto!important;
  padding:2px 5px!important;
  font-size:7.5px!important;
  line-height:1!important;
  z-index:2!important;
}
.gfr-ready-basket-card:not(.is-expanded):has(.gfr-ready-card-selected) .gfr-ready-card-head>div{
  padding-right:38px!important;
}

.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-mini-price{
  margin:3px 0 4px!important;
  padding:4px 5px!important;
  border-width:1.5px!important;
  border-radius:8px!important;
  font-size:11.5px!important;
  line-height:1!important;
}
.gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-open{
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
  padding:7px 8px!important;
  border-width:2px!important;
  font-size:12.5px!important;
  line-height:1!important;
}

/* Expanded returns to the existing full-detail visual language. */
.gfr-ready-basket-card.is-expanded{
  width:clamp(226px,16vw,258px)!important;
  padding:12px!important;
  border-width:3px!important;
  border-radius:22px!important;
}
.gfr-ready-basket-card.is-expanded .gfr-ready-expanded-details{
  display:block!important;
  animation:gfrAdaptiveDetailsIn .20s ease both!important;
}
@keyframes gfrAdaptiveDetailsIn{
  from{opacity:0;transform:translateY(-3px)}
  to{opacity:1;transform:translateY(0)}
}

/* Future density: compact content before shrinking typography into unreadability. */
.gfr-ready-basket-layer[data-volume-density="dense"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(112px,8.2vw,132px)!important;
}
.gfr-ready-basket-layer[data-volume-density="dense"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head em{
  font-size:7.5px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded){
  width:clamp(102px,7.3vw,118px)!important;
  padding:5px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-flag{
  display:none!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head strong{
  font-size:12px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-head em{
  display:block!important;
  font-size:7.5px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-mini-price{
  font-size:10.5px!important;
  padding:3px!important;
}
.gfr-ready-basket-layer[data-volume-density="micro"] .gfr-ready-basket-card:not(.is-expanded) .gfr-ready-card-open{
  min-height:44px!important;
  height:44px!important;
  font-size:11px!important;
}

/* Mobile: compact persistent rail; expanded remains one card at a time. */
@media(max-width:760px){
  .gfr-ready-basket-layer.is-mobile-tray .gfr-ready-basket-card:not(.is-expanded){
    flex:0 0 min(43vw,164px)!important;
    width:min(43vw,164px)!important;
    min-height:0!important;
  }
  .gfr-ready-basket-layer.is-mobile-tray .gfr-ready-basket-card.is-expanded{
    flex:0 0 min(86vw,310px)!important;
    width:min(86vw,310px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .gfr-ready-basket-card.is-expanded .gfr-ready-expanded-details{animation:none!important}
}


/* =========================================================
   v80 — BASKET PINS
   Surgical replacement of Adaptive Mini/Expanded cards only.
   Persistent small pin -> CLICK -> existing full WOW bubble.
   Hover deliberately has no tooltip, expansion, pulse, or movement.
   ========================================================= */
.gfr-ready-basket-layer{
  position:absolute!important;
  inset:0!important;
  z-index:16!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.gfr-ready-basket-layer.is-mobile-tray{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  overflow:visible!important;
  padding:0!important;
  pointer-events:none!important;
}
.gfr-ready-basket-card.gfr-basket-pin{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:translate3d(var(--gfr-ready-x,0px),var(--gfr-ready-y,0px),0)!important;
  transition:none!important;
  filter:none!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  touch-action:none!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  outline:none!important;
}
.gfr-ready-basket-card.gfr-basket-pin:hover,
.gfr-ready-basket-card.gfr-basket-pin:focus,
.gfr-ready-basket-card.gfr-basket-pin:focus-within,
.gfr-ready-basket-card.gfr-basket-pin.is-country-hovered{
  transform:translate3d(var(--gfr-ready-x,0px),var(--gfr-ready-y,0px),0)!important;
  filter:none!important;
  box-shadow:none!important;
}
.gfr-basket-pin-visual{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#FFD84D,#FF9F43)!important;
  border:2px solid #ffffff!important;
  box-shadow:0 3px 0 rgba(143,85,13,.18),0 5px 11px rgba(70,55,15,.20)!important;
  font-size:16px!important;
  line-height:1!important;
  pointer-events:none!important;
}
.gfr-ready-basket-card.gfr-basket-pin:focus-visible .gfr-basket-pin-visual{
  outline:3px solid #6d42df!important;
  outline-offset:2px!important;
}
/* Absolutely no hover-only visual effect. */
.gfr-ready-basket-card.gfr-basket-pin:hover .gfr-basket-pin-visual{
  transform:none!important;
  filter:none!important;
}
@media(max-width:760px){
  .gfr-ready-basket-layer.is-mobile-tray .gfr-ready-basket-card.gfr-basket-pin{
    position:absolute!important;
    flex:none!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    transform:translate3d(var(--gfr-ready-x,0px),var(--gfr-ready-y,0px),0)!important;
    scroll-snap-align:none!important;
  }
  .gfr-basket-pin-visual{
    width:30px!important;
    height:30px!important;
    font-size:17px!important;
  }
}

/* =========================================================
   v81 — same persistent Basket Pin for EVERY map unit.
   Gold = Basket/Pilot available. Gray = Coming Soon.
   Geometry, hit area, icon and hover behavior are identical.
   ========================================================= */
.gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin .gfr-basket-pin-visual{
  background:linear-gradient(145deg,#ff9bd5,#e85aa8)!important;
  border:2px solid #ffffff!important;
  box-shadow:0 3px 0 rgba(154,45,108,.18),0 5px 11px rgba(111,35,82,.20)!important;
  color:#ffffff!important;
  filter:none!important;
}
/* Hover remains deliberately inert for both gold and gray pins. */
.gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin:hover .gfr-basket-pin-visual{
  transform:none!important;
  filter:none!important;
}
.gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin:focus-visible .gfr-basket-pin-visual{
  outline:3px solid #6d42df!important;
  outline-offset:2px!important;
}


/* =========================================================
   v83 — geographic Pin anchoring + uninterrupted Brush Mode only
   ========================================================= */

/* The painter cursor is visually above all country Pins / map overlays. */
.gfr-world-map.is-brush-mode .gfr-map-brush-cursor{
  z-index:9999!important;
}

/* While Brush Mode is active, decorative/interactive country overlays must
   never intercept the pointer before it reaches the MapLibre canvas. */
.gfr-world-map.is-brush-mode .gfr-ready-basket-layer,
.gfr-world-map.is-brush-mode .gfr-ready-basket-card,
.gfr-world-map.is-brush-mode .gfr-map-pointer-tooltip{
  pointer-events:none!important;
}

/* Keep every Basket Pin centered on its geography with no hover displacement. */
.gfr-ready-basket-card.gfr-basket-pin{
  transition:none!important;
}


/* v84 — explicit manual SELECT + uninterrupted sampled Brush painting */
.gfr-world-map.is-brush-painting .gfr-ready-basket-layer,
.gfr-world-map.is-brush-painting .gfr-ready-basket-card,
.gfr-world-map.is-brush-painting .gfr-map-pointer-tooltip,
.gfr-world-map.is-brush-painting .gfr-map-open-basket-btn,
.gfr-world-map.is-brush-painting .gfr-map-explicit-select-btn{
  pointer-events:none!important;
  user-select:none!important;
}

.gfr-map-explicit-select-btn{
  width:100%;
  min-height:48px;
  margin-top:10px;
  border:2px solid #fff;
  border-radius:16px;
  background:linear-gradient(145deg,#9b63ff,#7446e8);
  box-shadow:0 4px 0 rgba(72,40,145,.22),0 7px 16px rgba(63,39,121,.20);
  color:#fff;
  font:900 clamp(18px,1.35vw,24px)/1.05 inherit;
  letter-spacing:.035em;
  cursor:pointer;
  touch-action:manipulation;
}
.gfr-map-explicit-select-btn:hover,
.gfr-map-explicit-select-btn:focus-visible{
  transform:translateY(-1px) scale(1.015);
  box-shadow:0 5px 0 rgba(72,40,145,.24),0 9px 20px rgba(63,39,121,.24);
  outline:none;
}
.gfr-map-explicit-select-btn.is-selected{
  background:linear-gradient(145deg,#7e4cf1,#6335cf);
}


/* =========================================================
   v85 — ocean-safe brush + frontmost country bubble
   ========================================================= */

/* A clicked country bubble is the active interaction surface. Keep it above
   every persistent basket pin so nearby country buttons can never cover it. */
#gfrMapPointerTooltip.gfr-map-pointer-tooltip{
  z-index:120!important;
}
#gfrMapPointerTooltip.gfr-map-pointer-tooltip.is-wow-basket,
#gfrMapPointerTooltip.gfr-map-pointer-tooltip.is-coming-soon{
  z-index:120!important;
  pointer-events:auto!important;
}

/* Coming Soon's disabled Basket action stays disabled, while the explicit
   purple SELECT action remains fully clickable. */
#gfrMapPointerTooltip.is-coming-soon .gfr-map-open-basket-btn.is-coming-soon-btn{
  pointer-events:none!important;
}
#gfrMapPointerTooltip.is-coming-soon .gfr-map-explicit-select-btn{
  pointer-events:auto!important;
  position:relative!important;
  z-index:2!important;
}

/* The same explicit SELECT action in a WOW/available bubble is always live. */
#gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn{
  pointer-events:auto!important;
  position:relative!important;
  z-index:2!important;
}

/* During an actual brush stroke, v84's painting rule still wins and makes
   the whole bubble/pin layer inert until mouse release. */
.gfr-world-map.is-brush-painting #gfrMapPointerTooltip.gfr-map-pointer-tooltip{
  pointer-events:none!important;
}


/* =========================================================
   v86 — requested only: bubble header readability + Brush Clear
   ========================================================= */

/* Country name and AVAILABLE BASKET get independent rows. This prevents
   Philippines / Madagascar (and longer names) from painting over the status. */
#gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:8px!important;
  row-gap:3px!important;
  align-items:start!important;
}
#gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country>span{
  grid-column:1!important;
  grid-row:1 / 4!important;
  align-self:start!important;
}
#gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country>strong{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.08!important;
}
#gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country>em{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  line-height:1.12!important;
}
#gfrMapPointerTooltip.is-wow-basket .gfr-pointer-selected-badge{
  grid-column:2!important;
  grid-row:3!important;
  justify-self:start!important;
}

/* CLEAR sits immediately to the right of Brush Select without changing the
   existing Brush control itself. */
.gfr-brush-clear-btn{
  flex:0 0 auto!important;
  min-height:58px!important;
  padding:0 22px!important;
  border:3px solid #ffffff!important;
  border-radius:18px!important;
  background:#ffffff!important;
  color:#0b2454!important;
  box-shadow:0 6px 0 rgba(29,102,169,.14),0 0 0 3px rgba(75,200,223,.18)!important;
  font:1000 19px/1 inherit!important;
  cursor:pointer!important;
}
.gfr-brush-clear-btn:hover,
.gfr-brush-clear-btn:focus-visible{
  transform:translateY(-2px)!important;
  outline:none!important;
  box-shadow:0 8px 0 rgba(29,102,169,.14),0 0 0 5px rgba(75,200,223,.22)!important;
}
@media(max-width:760px){
  .gfr-brush-clear-btn{min-height:50px!important;padding:0 16px!important;font-size:17px!important}
}


/* v87 — requested only: right-button map dragging */
.gfr-world-map.is-right-panning,
.gfr-world-map.is-right-panning *{
  cursor:grabbing!important;
  user-select:none!important;
}

/* v93 — master-supplier procurement backbone (isolated addition) */
.gfr-procurement-backbone{max-width:1220px;margin:auto;padding:78px 32px}
.gfr-procurement-status{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:22px;overflow:hidden;margin:28px 0 18px}
.gfr-procurement-status>div{padding:22px 20px;background:rgba(255,255,255,.035);min-height:112px}
.gfr-procurement-status strong,.gfr-procurement-status span{display:block}
.gfr-procurement-status strong{font-size:clamp(22px,2.5vw,32px);letter-spacing:-.03em;color:var(--text)}
.gfr-procurement-status span{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}
.gfr-procurement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.gfr-procurement-card{border-radius:18px;padding:24px}
.gfr-procurement-card>span{font-weight:800;color:var(--green);font-size:12px;letter-spacing:.12em}
.gfr-procurement-card h3{font-size:23px;margin:8px 0 10px}
.gfr-procurement-card p{color:var(--muted);line-height:1.6;margin:0}
.gfr-neutral-route{margin-top:18px;border-radius:20px;padding:24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center;border-color:rgba(79,227,154,.26)}
.gfr-neutral-route h3{font-size:25px;margin:7px 0 0}
.gfr-neutral-route p:last-child{color:var(--muted);line-height:1.65;margin:0}
.gfr-procurement-candidate-note{color:var(--muted);line-height:1.6;margin:18px 4px 0;font-size:13px}
@media(max-width:900px){.gfr-procurement-status{grid-template-columns:1fr 1fr}.gfr-neutral-route{grid-template-columns:1fr}}
@media(max-width:620px){.gfr-procurement-backbone{padding-left:18px;padding-right:18px}.gfr-procurement-status,.gfr-procurement-grid{grid-template-columns:1fr}.gfr-procurement-status>div{min-height:0}.gfr-neutral-route{padding:20px}}
\n\n/* =========================================================
   v98 — selected AVAILABLE country: exact vertical rising beam
   One thin line rises from the top edge of the existing Basket Pin toward
   the top of the visible map. Pure overlay: no selection/pin semantics change.
   ========================================================= */
.gfr-selected-available-light-layer{
  position:absolute;
  inset:0;
  z-index:15;
  pointer-events:none;
  overflow:hidden;
}
.gfr-selected-available-light{
  position:absolute;
  left:0;
  top:0;
  width:2px;
  height:var(--gfr-light-h,0px);
  transform:translate3d(calc(var(--gfr-light-x,0px) - 1px),var(--gfr-light-top,0px),0);
  border-radius:999px;
  background:linear-gradient(to top,rgba(85,61,210,.72),rgba(85,61,210,.34) 72%,rgba(85,61,210,0));
  box-shadow:0 0 4px rgba(109,66,223,.34);
  opacity:.9;
  overflow:hidden;
  contain:layout paint style;
  will-change:transform;
}
.gfr-selected-available-light::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:2px;
  height:44px;
  border-radius:999px;
  background:linear-gradient(to top,rgba(255,255,255,0),rgba(255,255,255,.98) 48%,rgba(219,211,255,.96) 68%,rgba(255,255,255,0));
  box-shadow:0 0 5px rgba(255,255,255,.92),0 0 9px rgba(126,99,255,.62);
  transform:translate3d(0,calc(var(--gfr-light-h,0px) - 44px),0);
  animation:gfrSelectedAvailableLightRise 1.45s linear infinite;
  will-change:transform,opacity;
}
@keyframes gfrSelectedAvailableLightRise{
  0%{transform:translate3d(0,calc(var(--gfr-light-h,0px) - 44px),0);opacity:0}
  12%{opacity:1}
  84%{opacity:1}
  100%{transform:translate3d(0,-44px,0);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .gfr-selected-available-light::after{animation:none;opacity:0}
}


/* v99 — selected destinations split by basket status.
   Basket-ready stays unmistakably gold; not-yet-ready remains royal purple.
   No pricing, basket, legal, verification, or allocation logic is changed. */
.gfr-map-selected-list{
  flex-direction:column!important;
  align-items:stretch!important;
  overflow:visible!important;
  white-space:normal!important;
  gap:10px!important;
}
.gfr-map-selected-group{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.gfr-map-selected-group-title{
  display:block!important;
  margin:0 0 7px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:1000!important;
  letter-spacing:.045em!important;
  color:#0b2454!important;
}
.gfr-map-selected-group-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 2px 8px!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
  -webkit-overflow-scrolling:touch!important;
}
.gfr-map-selected-group-row::-webkit-scrollbar{height:9px!important}
.gfr-map-selected-group-row::-webkit-scrollbar-track{background:#e9f8fb!important;border-radius:999px!important}
.gfr-map-selected-group-row::-webkit-scrollbar-thumb{background:#8b5cf6!important;border-radius:999px!important}
.gfr-map-selected-group.is-basket-ready .gfr-map-selected-group-row::-webkit-scrollbar-thumb{background:#d79a00!important}
.gfr-map-selected-chip.is-basket-ready{
  background:linear-gradient(145deg,#fff9d9,#ffd34e)!important;
  border-color:#d79a00!important;
  color:#0b2454!important;
  box-shadow:0 4px 0 rgba(170,112,0,.15),0 6px 14px rgba(170,112,0,.12)!important;
}
.gfr-map-selected-chip.is-basket-pending{
  background:#fff!important;
  border-color:#8b5cf6!important;
  color:#0b2454!important;
}
@media(max-width:760px){
  .gfr-map-selected-list{gap:8px!important;padding:9px!important}
  .gfr-map-selected-group-title{font-size:12px!important}
  .gfr-map-selected-group-row{gap:7px!important;padding-bottom:7px!important}
}

/* 04 Sep 2026 — color-vision accessibility toggle. Visual/state layer only. */
.gfr-colorblind-toggle{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  min-height:52px!important;padding:10px 20px!important;border:3px solid #0d2f66!important;border-radius:999px!important;
  background:linear-gradient(180deg,#0b7cf2,#0867e8)!important;color:#fff!important;
  box-shadow:0 5px 0 rgba(13,47,102,.20)!important;font-weight:1000!important;font-size:17px!important;line-height:1.1!important;
  cursor:pointer!important;white-space:nowrap!important;
}
.gfr-colorblind-toggle:hover{transform:translateY(-1px)!important;box-shadow:0 6px 0 rgba(13,47,102,.22)!important}
.gfr-colorblind-toggle:focus-visible{outline:4px solid #ffbf00!important;outline-offset:3px!important}
.gfr-colorblind-eye{display:inline-grid!important;place-items:center!important;width:26px!important;height:20px!important;font-size:24px!important;line-height:1!important;color:#fff!important}
.gfr-colorblind-toggle[aria-pressed="false"]{background:#fff!important;color:#0d2f66!important;border-color:#0d2f66!important;box-shadow:0 4px 0 rgba(13,47,102,.12)!important}
.gfr-colorblind-toggle[aria-pressed="false"] .gfr-colorblind-eye{color:#0d2f66!important}

/* The mode does not rely on hue alone: active/selected controls gain a dark outline. */
body.gfr-colorblind-mode{
  --green:#5C5C5C!important;
  --amber:#B4B4B4!important;
  --amber-bg:rgba(180,180,180,.18)!important;
  --gfr-africa:#757575!important;
  --gfr-asia:#676767!important;
  --gfr-americas:#AAAAAA!important;
  --gfr-world:#8A8A8A!important;
  --gfr-world-blue:#5C5C5C!important;
  --gfr-proof:#676767!important;
  --gfr-percent-active:#5C5C5C!important;
  --gfr-percent-active-2:#6C6C6C!important;
  --gfr-percent-focus:#BFBFBF!important;
}
body.gfr-colorblind-mode :where(button.active,[aria-pressed="true"],.is-selected,.selected,.allocation-country:has(input:checked)){
}
body.gfr-colorblind-mode :where(.status-unverified,.gfr-map-awaiting-key){
}
body.gfr-colorblind-mode :where(.status-progress,.gfr-map-ready-key){
}
body.gfr-colorblind-mode :where(a,button):focus-visible{
  outline-color:#BFBFBF!important;
}

@media(max-width:980px){
  .gfr-colorblind-toggle{min-height:48px!important;padding:8px 14px!important;font-size:15px!important}
}
@media(max-width:760px){
  .gfr-colorblind-toggle{width:100%!important;max-width:260px!important}
}


/* ==========================================================================
   04 Sep 2026 — research-backed color-vision accessibility mode v2
   Only presentation changes while the toggle is ON. Layout, copy, calculations,
   country data, donation logic and all ordinary-mode styling remain untouched.

   Design rule: do not depend on red/green or hue alone. The active mode uses a
   compact high-separation blue / amber / rose palette, stronger luminance
   contrast, and redundant borders/outlines/patterns for semantic states.
   ========================================================================== */
body.gfr-colorblind-mode{
  --gfr-ink:#1F1F1F!important;
  --gfr-ink-soft:#353535!important;
  --gfr-paper:#FBFBFB!important;
  --gfr-paper-sky:#F5F5F5!important;
  --gfr-purple:#3A3A3A!important;
  --gfr-purple-soft:#ECECEC!important;
  --gfr-green:#5E5E5E!important;
  --gfr-green-soft:#ECECEC!important;
  --gfr-sky:#A4A4A4!important;
  --gfr-sky-soft:#F4F4F4!important;
  --gfr-blue:#3A3A3A!important;
  --gfr-blue-soft:#ECECEC!important;
  --gfr-turquoise:#5E5E5E!important;
  --gfr-turquoise-soft:#F4F4F4!important;
  --green:#5E5E5E!important;
  --amber:#ACACAC!important;
  --amber-bg:rgba(172,172,172,.20)!important;
  --gfr-africa:#5E5E5E!important;
  --gfr-asia:#3A3A3A!important;
  --gfr-americas:#ACACAC!important;
  --gfr-world:#5E5E5E!important;
  --gfr-world-blue:#3A3A3A!important;
  --gfr-proof:#6C6C6C!important;
  --gfr-percent-active:#3A3A3A!important;
  --gfr-percent-active-2:#5E5E5E!important;
  --gfr-percent-focus:#ACACAC!important;
  --gfr-v52-land:#ECECEC!important;
}

/* Primary semantic surfaces: blue = selected/global action; amber = basket-ready;
   rose = hover/attention. These roles are reinforced by border style and labels. */
body.gfr-colorblind-mode .site-header{
  border-bottom-color:#5E5E5E!important;
}
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map{
  background:#F4F4F4!important;
}
body.gfr-colorblind-mode .gfr-map-line-key{
  background:#ECECEC!important;
}

body.gfr-colorblind-mode :where(.filter,.gfr-map-region-filter,.gfr-map-key span){
  background:#FFFFFF!important;
  color:#1F1F1F!important;
  border-color:#1F1F1F!important;
}
body.gfr-colorblind-mode :where(.filter.active,.gfr-map-region-filter.active,[data-map-global-share].active){
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#1F1F1F!important;
}

/* Basket-ready uses amber plus a visible stripe texture, so the meaning survives
   when hue discrimination is poor or the page is viewed in greyscale. */
body.gfr-colorblind-mode :where(.gfr-map-ready-key,.is-basket-ready,.basket-ready,.gfr-map-selected-chip.is-basket-ready){
  background:#202020!important;
  color:#1F1F1F!important;
}
body.gfr-colorblind-mode :where(.status-unverified,.gfr-map-awaiting-key){
  background:#FFFFFF!important;
  color:#1F1F1F!important;
}
body.gfr-colorblind-mode :where(.status-progress){
  background:#F4F4F4!important;
  color:#1F1F1F!important;
}

/* Selected state is never colour-only: dark fill + white inner ring + dark outer ring. */
body.gfr-colorblind-mode :where(button.active,[aria-pressed="true"],.is-selected,.selected,.allocation-country:has(input:checked)){
}
body.gfr-colorblind-mode #country-allocation .allocation-country:has(input:checked){
  background:#ECECEC!important;
}
body.gfr-colorblind-mode input[type=checkbox],
body.gfr-colorblind-mode input[type=radio],
body.gfr-colorblind-mode input[type=range]{
  accent-color:#3A3A3A!important;
}

/* Replace the old region-by-hue card treatment while the mode is ON. Region names
   remain in text; cards use one neutral readable surface instead of hue dependence. */
body.gfr-colorblind-mode #country-allocation .allocation-country[data-region]{
  background:#FFFFFF!important;
  border-color:#616161!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-country[data-region]:has(input:checked){
  background:#ECECEC!important;
  border-color:#3A3A3A!important;
}

/* Global/OR/pool surfaces become discriminable by luminance and border, not by
   purple-vs-green distinctions. No dimensions or positioning are changed. */
body.gfr-colorblind-mode .gfr-map-global-choice .gfr-map-global-card{
  background:#F2F2F2!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button.active,
body.gfr-colorblind-mode .gfr-map-global-cta{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#1F1F1F!important;
}
body.gfr-colorblind-mode .gfr-map-or-divider span{
  background:#FFFFFF!important;
  color:#1F1F1F!important;
}

/* Side-note paths and percentage controls keep their existing wording and shape;
   colour is simplified to a two-accent scheme. */
body.gfr-colorblind-mode .impact-side-paths span:first-child{
  background:#ECECEC!important;
  color:#1F1F1F!important;
  border-color:#3A3A3A!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child{
  background:#F2F2F2!important;
  color:#1F1F1F!important;
  border-color:#565656!important;
}
body.gfr-colorblind-mode .impact-side-percent{
  background:#F4F4F4!important;
  color:#1F1F1F!important;
  border-color:#5E5E5E!important;
}

/* Keyboard focus remains distinct on every palette colour. */
body.gfr-colorblind-mode :where(a,button,input,select,textarea):focus-visible{
}

/* ==========================================================================\n   04 Sep 2026 — colorblind palette v3: screenshot-matched refinement only.\n   No geometry, copy, data, logic, sizing or ordinary-mode presentation changes.\n   The semantic states keep redundant borders/outlines from v2; only ON-mode\n   colors are refined to the supplied visual reference.\n   ========================================================================== */
body.gfr-colorblind-mode{
  --gfr-ink:#181818!important;
  --gfr-ink-soft:#404040!important;
  --gfr-paper:#F9F9F9!important;
  --gfr-paper-sky:#F4F4F4!important;
  --gfr-purple:#646464!important;
  --gfr-purple-soft:#ECECEC!important;
  --gfr-green:#A5A5A5!important;
  --gfr-green-soft:#F4F4F4!important;
  --gfr-sky:#D4D4D4!important;
  --gfr-sky-soft:#F5F5F5!important;
  --gfr-blue:#535353!important;
  --gfr-blue-soft:#E8E8E8!important;
  --gfr-turquoise:#767676!important;
  --gfr-turquoise-soft:#F3F3F3!important;
  --green:#A5A5A5!important;
  --amber:#ABABAB!important;
  --amber-bg:rgba(171,171,171,.20)!important;
  --gfr-africa:#767676!important;
  --gfr-asia:#646464!important;
  --gfr-americas:#ABABAB!important;
  --gfr-world:#767676!important;
  --gfr-world-blue:#535353!important;
  --gfr-proof:#646464!important;
  --gfr-percent-active:#535353!important;
  --gfr-percent-active-2:#767676!important;
  --gfr-percent-focus:#ABABAB!important;
  --gfr-v52-land:#DEDEDE!important;
}

body.gfr-colorblind-mode .site-header{
  border-bottom-color:#535353!important;
}
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map{
  background:#6A6A6A!important;
}
body.gfr-colorblind-mode .gfr-map-line-key{
  background:#E8E8E8!important;
  border-color:#181818!important;
}

/* Persistent map pins: the reference uses blue for ordinary/coming-soon pins and amber for basket-ready. */
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin .gfr-basket-pin-visual{
  background:#D9D9D9!important;
  border-color:#FFFFFF!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual{
  background:#D9D9D9!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:focus-visible .gfr-basket-pin-visual{
  outline-color:#181818!important;
}

/* Keep region/filter text and shape unchanged; refine only the ON colors. */
body.gfr-colorblind-mode :where(.filter,.gfr-map-region-filter,.gfr-map-key span){
  background:#FAFAFA!important;
  color:#181818!important;
  border-color:#7C7C7C!important;
}
body.gfr-colorblind-mode :where(.filter.active,.gfr-map-region-filter.active,[data-map-global-share].active){
  background:#535353!important;
  color:#FFFFFF!important;
  border-color:#181818!important;
}

/* Basket-ready remains amber and non-color cues remain intact. */
body.gfr-colorblind-mode :where(.gfr-map-ready-key,.is-basket-ready,.basket-ready,.gfr-map-selected-chip.is-basket-ready){
  background:#202020!important;
  color:#181818!important;
  border-color:#5E5E5E!important;
}
body.gfr-colorblind-mode :where(.status-unverified,.gfr-map-awaiting-key){
  background:#FFFFFF!important;
  color:#181818!important;
  border-color:#535353!important;
}
body.gfr-colorblind-mode :where(.status-progress){
  background:#F5F5F5!important;
  color:#181818!important;
  border-color:#767676!important;
}

/* Global card: bright blue family from the supplied reference, not the very dark v2 card. */
body.gfr-colorblind-mode .gfr-map-global-choice .gfr-map-global-card{
  background:#F2F2F2!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button.active{
  background:#ABABAB!important;
  color:#181818!important;
  border-color:#5E5E5E!important;
}
body.gfr-colorblind-mode .gfr-map-global-cta{
  background:#535353!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-or-divider span{
  background:#F2F2F2!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}

/* Right-side donor guide: preserve the five clearly different screenshot colors. */
body.gfr-colorblind-mode .impact-side-paths span:first-child{
  background:#535353!important;
  color:#FFFFFF!important;
  border-color:#181818!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child{
  background:#ABABAB!important;
  color:#181818!important;
  border-color:#181818!important;
}
body.gfr-colorblind-mode .impact-side-percent{
  background:#D4D4D4!important;
  color:#181818!important;
  border-color:#181818!important;
}
body.gfr-colorblind-mode .impact-side-split span:first-child{
  background:#A5A5A5!important;
  color:#181818!important;
  border-color:#181818!important;
}
body.gfr-colorblind-mode .impact-side-split span:last-child{
  background:#646464!important;
  color:#FFFFFF!important;
  border-color:#181818!important;
}

/* ON toggle follows the same blue used by the reference. */
body.gfr-colorblind-mode .gfr-colorblind-toggle{
  background:#F2F2F2!important;
  color:#FFFFFF!important;
  border-color:#181818!important;
}
body.gfr-colorblind-mode :where(a,button,input,select,textarea):focus-visible{
  outline-color:#ABABAB!important;
}

/* ==========================================================================
   04 Sep 2026 — universal CVD palette v4 (Colorblind mode ON only).
   Purpose: make the entire accessibility mode robust for protan/deutan/tritan
   deficiencies and remain interpretable with monochromacy by using luminance,
   borders, text, and patterns in addition to hue. Ordinary mode is untouched.
   ========================================================================== */
body.gfr-colorblind-mode{
  --gfr-ink:#171717!important;
  --gfr-ink-soft:#474747!important;
  --gfr-paper:#FFFFFF!important;
  --gfr-paper-sky:#F3F3F3!important;
  --gfr-blue:#3A3A3A!important;
  --gfr-blue-soft:#E8E8E8!important;
  --gfr-turquoise:#636363!important;
  --gfr-turquoise-soft:#F0F0F0!important;
  --gfr-purple:#3A3A3A!important;
  --gfr-purple-soft:#E8E8E8!important;
  --gfr-green:#636363!important;
  --gfr-green-soft:#F0F0F0!important;
  --green:#636363!important;
  --amber:#ACACAC!important;
  --amber-bg:rgba(172,172,172,.24)!important;
  --gfr-africa:#636363!important;
  --gfr-asia:#3A3A3A!important;
  --gfr-americas:#ACACAC!important;
  --gfr-world:#636363!important;
  --gfr-world-blue:#3A3A3A!important;
  --gfr-proof:#3A3A3A!important;
  --gfr-percent-active:#3A3A3A!important;
  --gfr-percent-active-2:#636363!important;
  --gfr-percent-focus:#ACACAC!important;
  --gfr-v52-land:#E1E1E1!important;
  color:#171717!important;
  background:#F3F3F3!important;
}

/* Stable, high-luminance surfaces across the full site. */
body.gfr-colorblind-mode :where(.glass,article,section,dialog,.modal,.panel,.card):not(.gfr-map-global-card){
  border-color:#4F4F4F;
}
body.gfr-colorblind-mode :where(.eyebrow,.badge,.pill,.chip,.tag,[class*="status-"]){
  color:#171717!important;
  border-color:#3A3A3A!important;
}
body.gfr-colorblind-mode :where(a){
  color:#3A3A3A;
}
body.gfr-colorblind-mode :where(button,input,select,textarea){
  border-color:#474747;
}

/* Primary / selected state = dark blue + white inset outline, not hue alone. */
body.gfr-colorblind-mode :where(button.active,[aria-pressed="true"],.is-selected,.selected,.allocation-country:has(input:checked),.gfr-map-selected-chip){
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}

/* Basket / ready state = amber + diagonal texture + dark border. */
body.gfr-colorblind-mode :where(.gfr-map-ready-key,.is-basket-ready,.basket-ready,.gfr-map-selected-chip.is-basket-ready,.gfr-ready-basket-card:not(.is-coming-soon-pin)){
  background:#202020!important;
  color:#171717!important;
  border-color:#424242!important;
}

/* Waiting / neutral state = grayscale/light blue with explicit border. */
body.gfr-colorblind-mode :where(.status-unverified,.gfr-map-awaiting-key,.is-coming-soon,.is-coming-soon-pin){
  background:#FAFAFA!important;
  color:#171717!important;
  border-color:#4F4F4F!important;
}
body.gfr-colorblind-mode :where(.status-progress,.is-progress){
  background:#E8E8E8!important;
  color:#171717!important;
  border-color:#3A3A3A!important;
}

/* Replace green/purple semantic blocks with blue/amber/grayscale in accessibility mode. */
body.gfr-colorblind-mode .impact-side-paths span:first-child,
body.gfr-colorblind-mode .impact-side-split span:first-child{
  background:#636363!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child,
body.gfr-colorblind-mode .impact-side-split span:last-child{
  background:#ACACAC!important;
  color:#171717!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .impact-side-percent{
  background:#E8E8E8!important;
  color:#171717!important;
  border-color:#171717!important;
}

/* Strong keyboard focus works even with complete colour loss. */
body.gfr-colorblind-mode :where(a,button,input,select,textarea,[tabindex]):focus-visible{
}

/* v4 map pin refinement: high-contrast blue / amber / white / charcoal only. */
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map{
  background:#636363!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin .gfr-basket-pin-visual{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual{
  background:#D9D9D9!important;
  color:#171717!important;
}
body.gfr-colorblind-mode .gfr-map-global-choice .gfr-map-global-card{
  background:#3A3A3A!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button.active{
  background:#ACACAC!important;
  color:#171717!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .gfr-map-global-cta{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-or-divider span{
  background:#FFFFFF!important;
  color:#171717!important;
}


/* ==========================================================================\n   05 Sep 2026 — universal colour-vision review v5 (Colorblind mode ON only).\n   Colour-only refinement. No geometry, copy, data, sizing, interaction, or\n   ordinary-mode presentation changes.\n\n   Palette roles were reduced to luminance-separated, CVD-resilient colours:\n   ink #071A2B; selected #004488; information #0077BB; ready #DDAA33;\n   neutral land/surfaces #D9E2E8/#EDF4F8; white #FFFFFF. Semantic states\n   retain borders/patterns so meaning is never carried by hue alone.\n   ========================================================================== */
body.gfr-colorblind-mode{
  --gfr-ink:#171717!important;
  --gfr-ink-soft:#474747!important;
  --gfr-paper:#FFFFFF!important;
  --gfr-paper-sky:#F3F3F3!important;
  --gfr-blue:#3A3A3A!important;
  --gfr-blue-soft:#E1E1E1!important;
  --gfr-turquoise:#636363!important;
  --gfr-turquoise-soft:#F3F3F3!important;
  --gfr-purple:#3A3A3A!important;
  --gfr-purple-soft:#E1E1E1!important;
  --gfr-green:#636363!important;
  --gfr-green-soft:#F3F3F3!important;
  --green:#636363!important;
  --amber:#ACACAC!important;
  --amber-bg:rgba(172,172,172,.24)!important;
  --gfr-africa:#636363!important;
  --gfr-asia:#3A3A3A!important;
  --gfr-americas:#ACACAC!important;
  --gfr-world:#636363!important;
  --gfr-world-blue:#3A3A3A!important;
  --gfr-proof:#3A3A3A!important;
  --gfr-percent-active:#3A3A3A!important;
  --gfr-percent-active-2:#636363!important;
  --gfr-percent-focus:#ACACAC!important;
  --gfr-v52-land:#E1E1E1!important;
}

/* Neutral surfaces: high lightness, dark text. */
body.gfr-colorblind-mode :where(.glass,article,section,dialog,.modal,.panel,.card):not(.gfr-map-global-card):not(.gfr-ready-basket-card){
  color:#171717!important;
  border-color:#474747!important;
}

/* Text links remain readable even if hue perception is absent. */
body.gfr-colorblind-mode a:not(.gfr-map-global-cta){
  color:#3A3A3A!important;
  text-decoration-color:#171717!important;
}

/* Informational labels / pills. */
body.gfr-colorblind-mode :where(.eyebrow,.badge,.pill,.chip,.tag,[class*="status-"]){
  color:#171717!important;
  border-color:#474747!important;
}

/* Selected / pressed: dark luminance + white text + double outline. */
body.gfr-colorblind-mode :where(button.active,[aria-pressed="true"],.is-selected,.selected,.allocation-country:has(input:checked),.gfr-map-selected-chip){
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}

/* Basket-ready: high-luminance amber PLUS texture, never colour alone. */
body.gfr-colorblind-mode :where(.gfr-map-ready-key,.is-basket-ready,.basket-ready,.gfr-map-selected-chip.is-basket-ready,.gfr-ready-basket-card:not(.is-coming-soon-pin)){
  background:#202020!important;
  color:#171717!important;
  border-color:#424242!important;
}

/* Waiting / not verified: nearly white neutral. */
body.gfr-colorblind-mode :where(.status-unverified,.gfr-map-awaiting-key,.is-coming-soon,.is-coming-soon-pin){
  background:#FFFFFF!important;
  color:#171717!important;
  border-color:#4F4F4F!important;
}

/* In progress / informational: pale blue-gray with dark border. */
body.gfr-colorblind-mode :where(.status-progress,.is-progress){
  background:#E1E1E1!important;
  color:#171717!important;
  border-color:#3A3A3A!important;
}

/* The right-side semantic split: dark blue / amber / pale neutral. */
body.gfr-colorblind-mode .impact-side-paths span:first-child,
body.gfr-colorblind-mode .impact-side-split span:first-child{
  background:#636363!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child,
body.gfr-colorblind-mode .impact-side-split span:last-child{
  background:#ACACAC!important;
  color:#171717!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .impact-side-percent{
  background:#F3F3F3!important;
  color:#171717!important;
  border-color:#171717!important;
}

/* Map palette: every state has a luminance + border cue. */
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map{
  background:#636363!important;
}
body.gfr-colorblind-mode .gfr-map-line-key{
  background:#F3F3F3!important;
  border-color:#171717!important;
  color:#171717!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin .gfr-basket-pin-visual{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual{
  background:#D9D9D9!important;
  color:#171717!important;
}

/* Global-round card and percentage controls. */
body.gfr-colorblind-mode .gfr-map-global-choice .gfr-map-global-card{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button{
  background:#F7F7F7!important;
  color:#171717!important;
  border-color:#474747!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button.active{
  background:#ACACAC!important;
  color:#171717!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .gfr-map-global-cta{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-or-divider span{
  background:#FFFFFF!important;
  color:#171717!important;
  border-color:#171717!important;
}

/* Toggle itself: state is explicit in text and does not depend on hue. */
body.gfr-colorblind-mode .gfr-colorblind-toggle{
  background:#3A3A3A!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}

/* Inputs and keyboard focus: luminance-first, independent of colour discrimination. */
body.gfr-colorblind-mode :where(button,input,select,textarea){
  border-color:#474747!important;
}
body.gfr-colorblind-mode input[type=checkbox],
body.gfr-colorblind-mode input[type=radio],
body.gfr-colorblind-mode input[type=range]{
  accent-color:#3A3A3A!important;
}
body.gfr-colorblind-mode :where(a,button,input,select,textarea,[tabindex]):focus-visible{
}

/* ========================================================================== 
   05 Sep 2026 — hue-independent Colorblind Mode refinement.
   Scope: ONLY presentation colors/cues while Colorblind Mode is ON.
   No layout, sizing, copy, data, map geometry, selection logic, or ordinary-mode
   presentation is changed. Semantic states remain readable even if hue cannot
   be perceived, by using large luminance differences + borders + text/patterns.
   ========================================================================== */
body.gfr-colorblind-mode{
  --gfr-ink:#111111!important;
  --gfr-ink-soft:#353535!important;
  --gfr-paper:#FFFFFF!important;
  --gfr-paper-sky:#F7F7F7!important;
  --gfr-blue:#111111!important;
  --gfr-blue-soft:#E8E8E8!important;
  --gfr-turquoise:#656565!important;
  --gfr-turquoise-soft:#F7F7F7!important;
  --gfr-purple:#111111!important;
  --gfr-purple-soft:#E8E8E8!important;
  --gfr-green:#656565!important;
  --gfr-green-soft:#F7F7F7!important;
  --green:#656565!important;
  --amber:#D4D4D4!important;
  --amber-bg:rgba(212,212,212,.28)!important;
  --gfr-africa:#656565!important;
  --gfr-asia:#111111!important;
  --gfr-americas:#D4D4D4!important;
  --gfr-world:#656565!important;
  --gfr-world-blue:#111111!important;
  --gfr-proof:#111111!important;
  --gfr-percent-active:#111111!important;
  --gfr-percent-active-2:#656565!important;
  --gfr-percent-focus:#D4D4D4!important;
  --gfr-v52-land:#F7F7F7!important;
  color:#111111!important;
}

/* Core surfaces and text: hue-independent readability. */
body.gfr-colorblind-mode .site-header{
  background:#FFFFFF!important;
  color:#111111!important;
  border-bottom-color:#111111!important;
}
body.gfr-colorblind-mode :where(.glass,article,section,dialog,.modal,.panel,.card):not(.gfr-map-global-card):not(.gfr-ready-basket-card){
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode a:not(.gfr-map-global-cta){
  color:#111111!important;
}
body.gfr-colorblind-mode :where(.eyebrow,.badge,.pill,.chip,.tag,[class*="status-"]){
  color:#111111!important;
  border-color:#353535!important;
}

/* Region/filter controls: no region is identified by hue alone. */
body.gfr-colorblind-mode :where(.filter,.gfr-map-region-filter,.gfr-map-key span){
  background:#F7F7F7!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode :where(.filter.active,.gfr-map-region-filter.active,[data-map-global-share].active){
  background:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}

/* Selected / pressed: near-black vs white, with double outline. */
body.gfr-colorblind-mode :where(button.active,[aria-pressed="true"],.is-selected,.selected,.allocation-country:has(input:checked),.gfr-map-selected-chip){
  background:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}

/* Basket-ready: bright gold + stripe texture; hue is optional, not required. */
body.gfr-colorblind-mode :where(.gfr-map-ready-key,.is-basket-ready,.basket-ready,.gfr-map-selected-chip.is-basket-ready,.gfr-ready-basket-card:not(.is-coming-soon-pin)){
  background:#202020!important;
  color:#111111!important;
  border-color:#111111!important;
}

/* Waiting / not verified = plain white. In-progress = mid-light neutral. */
body.gfr-colorblind-mode :where(.status-unverified,.gfr-map-awaiting-key,.is-coming-soon,.is-coming-soon-pin){
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode :where(.status-progress,.is-progress){
  background:#DFDFDF!important;
  color:#111111!important;
  border-color:#353535!important;
}

/* Right-side split: dark / gold / light neutral, with explicit text retained. */
body.gfr-colorblind-mode .impact-side-paths span:first-child,
body.gfr-colorblind-mode .impact-side-split span:first-child{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child,
body.gfr-colorblind-mode .impact-side-split span:last-child{
  background:#D4D4D4!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .impact-side-percent{
  background:#F7F7F7!important;
  color:#111111!important;
  border-color:#111111!important;
}

/* Brush: OFF and ON no longer depend on red vs green. */
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle{
  background:#F2F2F2!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle .gfr-brush-top-icon{
  background:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle .gfr-brush-copy strong,
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle .gfr-brush-copy small{
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushState{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"]{
  background:#F2F2F2!important;
  color:#FFFFFF!important;
  border-color:#D4D4D4!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] .gfr-brush-top-icon{
  background:#D4D4D4!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] .gfr-brush-copy strong,
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] .gfr-brush-copy small{
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] #gfrMapBrushState{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#D4D4D4!important;
}

/* Map semantic palette: medium-neutral ocean, near-white land, gold ready,
   near-black selected. This remains separable in grayscale. */
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map{
  background:#656565!important;
}
body.gfr-colorblind-mode .gfr-map-line-key{
  background:#FFFFFF!important;
  border-color:#111111!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin .gfr-basket-pin-visual{
  background:#FFFFFF!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual{
  background:#D9D9D9!important;
  color:#111111!important;
}

/* World-round card: strong dark/light structure rather than hue distinction. */
body.gfr-colorblind-mode .gfr-map-global-choice .gfr-map-global-card{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button{
  background:#FBFBFB!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button.active{
  background:#D4D4D4!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-global-cta{
  background:#111111!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-or-divider span{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#111111!important;
}

/* Toggle: text already says ON/OFF; high contrast makes state readable without hue. */
body.gfr-colorblind-mode .gfr-colorblind-toggle{
  background:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-colorblind-toggle .gfr-colorblind-eye{
  color:#D4D4D4!important;
}

/* Forms and focus: black/white focus halo, independent of color vision. */
body.gfr-colorblind-mode :where(button,input,select,textarea){
  border-color:#353535!important;
}
body.gfr-colorblind-mode input[type=checkbox],
body.gfr-colorblind-mode input[type=radio],
body.gfr-colorblind-mode input[type=range]{
  accent-color:#111111!important;
}
body.gfr-colorblind-mode :where(a,button,input,select,textarea,[tabindex]):focus-visible{
}

/* ========================================================================== 
   05 Sep 2026 — Colorblind Mode screenshot cleanup v9.
   Scope: ONLY colors / visual-state cues while Colorblind Mode is ON.
   No copy, layout, sizing, map geometry, country data, interaction, selection,
   verification, payment, or ordinary-mode presentation is changed.
   The remaining hue-dependent greens / purples / cyans visible in the supplied
   screenshots are replaced by a luminance-first neutral + gold system.
   ========================================================================== */

/* Country network cards: country identity is not encoded by hue. */
body.gfr-colorblind-mode .country-card,
body.gfr-colorblind-mode .country-card:nth-child(n),
body.gfr-colorblind-mode .country-card[data-region]{
  background:#F6F6F6!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .country-card:hover{
  background:#FFFFFF!important;
}
body.gfr-colorblind-mode .country-card .metrics div{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#656565!important;
}
body.gfr-colorblind-mode .country-card .status,
body.gfr-colorblind-mode .country-card .status-unverified{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .country-card .status-progress,
body.gfr-colorblind-mode .country-card .pilot-summary{
  background:#DFDFDF!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .country-card .pilot-summary *,
body.gfr-colorblind-mode .country-card .country-evidence *,
body.gfr-colorblind-mode .country-card .evidence-confirmed{
  color:#111111!important;
}
body.gfr-colorblind-mode .country-card .details-btn{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#353535!important;
}

/* Distribution verification panel: pending / verified do not require cyan/green. */
body.gfr-colorblind-mode .gfr-distribution-org-panel{
  background:#F6F6F6!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .gfr-distribution-org-kicker,
body.gfr-colorblind-mode .gfr-distribution-org-head h4,
body.gfr-colorblind-mode .gfr-distribution-org-note{
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-distribution-org-count{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .gfr-dist-org-row,
body.gfr-colorblind-mode .gfr-dist-org-row.is-verified{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#656565!important;
}
body.gfr-colorblind-mode .gfr-dist-org-row.is-verified{
}
body.gfr-colorblind-mode .gfr-dist-org-badge.is-pending{
  background:#FFFFFF!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-dist-org-badge.is-verified{
  background:#111111!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-dist-org-status small{
  color:#111111!important;
}

/* Map summary: remove residual pink / purple / green semantic colors. */
body.gfr-colorblind-mode #gfrMapAvailableCount{
  background:#F2F2F2!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-summary-head strong{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .gfr-map-price-row,
body.gfr-colorblind-mode .gfr-map-price-row span,
body.gfr-colorblind-mode .gfr-map-price-row strong{
  color:#111111!important;
  border-color:#656565!important;
}
body.gfr-colorblind-mode .gfr-map-price-row.is-pool{
  background:#D9D9D9!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-price-row.is-total{
  background:#353535!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-price-row.is-total span,
body.gfr-colorblind-mode .gfr-map-price-row.is-total strong{
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode #gfrMapChooseAll{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapClear{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .gfr-map-summary-note,
body.gfr-colorblind-mode .gfr-map-local-references,
body.gfr-colorblind-mode .gfr-map-local-references *{
  color:#111111!important;
  border-color:#656565!important;
}

/* Selected-country percentage split: dark = selected countries, gold = pool. */
body.gfr-colorblind-mode .gfr-map-percent-split span:first-child{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-percent-split span:last-child{
  background:#D9D9D9!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-payment-cta,
body.gfr-colorblind-mode .gfr-map-payment-cta:disabled{
  background:#DFDFDF!important;
  color:#353535!important;
  border-color:#656565!important;
}

/* Detailed allocation summary: eliminate residual cyan/green/purple blocks. */
body.gfr-colorblind-mode #country-allocation .allocation-contribution:not(.allocation-pool):not(.allocation-grand-total){
  background:#FFFFFF!important;
  color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-pool{
  background:#D9D9D9!important;
  color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-grand-total{
  background:#353535!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-grand-total span,
body.gfr-colorblind-mode #country-allocation .allocation-grand-total strong{
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-contribution span,
body.gfr-colorblind-mode #country-allocation .allocation-contribution strong,
body.gfr-colorblind-mode #country-allocation .allocation-pool span,
body.gfr-colorblind-mode #country-allocation .allocation-pool strong{
  color:inherit!important;
}
body.gfr-colorblind-mode #country-allocation .path-selected{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .path-selected *{
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode #country-allocation .path-pool{
  background:#D9D9D9!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .path-pool *{
  color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-promise{
  background:#F6F6F6!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-promise strong,
body.gfr-colorblind-mode #country-allocation .allocation-promise p{
  color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-fund,
body.gfr-colorblind-mode #country-allocation .allocation-fund:disabled{
  background:#DFDFDF!important;
  color:#353535!important;
  border-color:#656565!important;
}

/* Keep ordinary informational blocks neutral in Colorblind Mode. */
body.gfr-colorblind-mode .gfr-project-posts,
body.gfr-colorblind-mode .gfr-project-post,
body.gfr-colorblind-mode .transparency-section,
body.gfr-colorblind-mode .intent-banner,
body.gfr-colorblind-mode .purchasing-power-note{
  background:#F6F6F6!important;
  color:#111111!important;
  border-color:#353535!important;
}
body.gfr-colorblind-mode .gfr-project-post *,
body.gfr-colorblind-mode .transparency-section *,
body.gfr-colorblind-mode .intent-banner *,
body.gfr-colorblind-mode .purchasing-power-note *{
  color:#111111!important;
}

/* Existing country-selection rows may still inherit continent colors. */
body.gfr-colorblind-mode #country-allocation .allocation-country,
body.gfr-colorblind-mode #country-allocation .allocation-country:nth-child(n){
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#656565!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-country:has(input:checked){
  background:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-country:has(input:checked) *{
  color:#FFFFFF!important;
}


/* v10 — colorblind-mode cleanup from screenshot review only.
   No layout, content, behavior, map data, sizing, spacing, or interaction changes. */

/* Brand logo: in Colorblind Mode, do not rely on the cyan/blue hue at all.
   Preserve the exact logo artwork while rendering it as high-contrast luminance. */
body.gfr-colorblind-mode .brand-logo-image{
  background:#FFFFFF!important;
}

/* Footer: remove the remaining cyan strip visible in screenshots. */
body.gfr-colorblind-mode footer{
  background:#F6F6F6!important;
  color:#111111!important;
}
body.gfr-colorblind-mode footer span,
body.gfr-colorblind-mode footer a{
  color:#111111!important;
}
body.gfr-colorblind-mode footer a{
}

/* LIVE COUNTRY MAP pill: remove residual aqua/green. */
body.gfr-colorblind-mode .gfr-map-head .eyebrow{
  background:#FFFFFF!important;
  color:#111111!important;
}

/* Region filters: remove continent-specific green/purple/blue/orange/turquoise hues.
   State remains distinguishable through dark/light contrast and border treatment. */
body.gfr-colorblind-mode .filter-row .filter,
body.gfr-colorblind-mode .gfr-map-region-filter{
  background:#FFFFFF!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .filter-row .filter.active,
body.gfr-colorblind-mode .gfr-map-region-filter.active{
  background:#353535!important;
  color:#FFFFFF!important;
}

/* Map legend chips visible in the screenshot: eliminate residual turquoise/purple borders. */
body.gfr-colorblind-mode .gfr-map-key span,
body.gfr-colorblind-mode .gfr-map-line-key{
  background:#FFFFFF!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-key .gfr-map-ready-key,
body.gfr-colorblind-mode .gfr-map-key .is-basket-ready{
  background:#D9D9D9!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-key .gfr-map-selected-key,
body.gfr-colorblind-mode .gfr-map-key .selected{
  background:#353535!important;
  color:#FFFFFF!important;
}

/* Any generic pills/badges still inheriting aqua/green in the screenshots become neutral,
   except semantic ready/selected states already overridden above. */
body.gfr-colorblind-mode :where(.badge,.pill,.chip,.tag):not(.gfr-map-ready-key):not(.is-basket-ready):not(.selected):not(.active){
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#656565!important;
}

/* ==========================================================================
   v11 — colorblind-mode complete visible-color cleanup from screenshot audit.
   Scope: Colorblind Mode presentation only. No layout, copy, data, behavior,
   sizing, spacing, map geometry, or normal-mode rules are changed.

   Hue-independent warm palette:
   ink #171717 | ivory #FFF9E8 | warm white #FFFDF7 | gold #E3B341 |
   pale gold #F7E8B1 | sand #E9DCC4 | neutral slate #626B70.
   Meaning never depends on hue alone: dark/light, borders, double outlines,
   and patterns remain redundant cues.
   ========================================================================== */

/* Map region controls seen in the screenshot: remove all continent hue coding. */
body.gfr-colorblind-mode .gfr-region-controls button{
  background:#FDFDFD!important;
  color:#171717!important;
}
body.gfr-colorblind-mode .gfr-region-controls button.active{
  background:#171717!important;
  color:#FFFFFF!important;
}

/* Basket map pins: the native color emoji contains blue/cyan pixels on some OSes.
   In Colorblind Mode the complete rendered glyph is converted to a warm,
   high-luminance/ink treatment. Shape remains exactly the same. */
body.gfr-colorblind-mode .gfr-basket-pin-visual{
  background:#F9F9F9!important;
  color:#171717!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual{
  background:#D9D9D9!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin.is-coming-soon-pin .gfr-basket-pin-visual{
  background:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:focus-visible .gfr-basket-pin-visual{
}

/* The basket emoji in the legend is also a native full-color glyph. */
body.gfr-colorblind-mode .gfr-map-basket-key{
  background:#D9D9D9!important;
}

/* Warm, non-depressing neutral surfaces replace the last cold gray blocks. */
body.gfr-colorblind-mode .gfr-world-map,
body.gfr-colorblind-mode .gfr-map-choice-left,
body.gfr-colorblind-mode .gfr-map-main{
  background-color:#DDDDDD!important;
}
body.gfr-colorblind-mode .gfr-map-head > div:first-child > p:not(.eyebrow),
body.gfr-colorblind-mode .gfr-map-search,
body.gfr-colorblind-mode .gfr-map-key span,
body.gfr-colorblind-mode .gfr-map-line-key{
  background-color:#FDFDFD!important;
  color:#171717!important;
}

/* Side choice panel stays visually lively through gold + ink rather than
   blue/green/red/purple hue differences. */
body.gfr-colorblind-mode .impact-side-paths span:first-child,
body.gfr-colorblind-mode .impact-side-split span:first-child{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child,
body.gfr-colorblind-mode .impact-side-split span:last-child,
body.gfr-colorblind-mode .gfr-map-percent-split span:last-child,
body.gfr-colorblind-mode #country-allocation .path-pool{
  background:#D9D9D9!important;
  color:#171717!important;
  border-color:#171717!important;
}

/* Colorblind toggle itself: no blue dependency. */
body.gfr-colorblind-mode .gfr-colorblind-toggle{
  background:#171717!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}
body.gfr-colorblind-mode .gfr-colorblind-eye{
  color:#B5B5B5!important;
}

/* Remaining cold accent borders on map controls become warm/ink. */
body.gfr-colorblind-mode .gfr-map-search,
body.gfr-colorblind-mode .gfr-zoom-controls button,
body.gfr-colorblind-mode #gfrMapZoomLevel{
  border-color:#696969!important;
}
body.gfr-colorblind-mode .gfr-zoom-controls button:not(#gfrMapReset){
  background:#FDFDFD!important;
  color:#171717!important;
}
body.gfr-colorblind-mode #gfrMapReset{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#171717!important;
}

/* The map itself uses luminance + pattern. Avoid blue/cyan dependence while
   keeping the page warmer than grayscale-only. */
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map .maplibregl-map,
body.gfr-colorblind-mode .gfr-world-map canvas{
  background-color:#CACACA!important;
}

/* Generic color-coded filter row used farther down the page. */
body.gfr-colorblind-mode .filter-row .filter{
  background:#FDFDFD!important;
  color:#171717!important;
}
body.gfr-colorblind-mode .filter-row .filter.active{
  background:#171717!important;
  color:#FFFFFF!important;
}

/* Keep all Colorblind Mode semantic accent text out of residual blue/green.
   Links remain identifiable by underline, not hue. */
body.gfr-colorblind-mode a:not(.gfr-map-global-cta){
  color:#171717!important;
  text-decoration-color:#171717!important;
}
body.gfr-colorblind-mode :where(.eyebrow,.gfr-distribution-org-kicker,.country-card .country-code){
  color:#171717!important;
}


/* 05 Sep 2026 — Colorblind Mode: monochrome color-only final pass.
   Only colour rendering changes while the mode is ON. No size, spacing, shape,
   border width/style, shadow geometry, layout, content, data or interaction changes. */
body.gfr-colorblind-mode{
  --gfr-ink:#111111!important;
  --gfr-ink-soft:#333333!important;
  --gfr-paper:#FFFFFF!important;
  --gfr-paper-sky:#F4F4F4!important;
  --gfr-blue:#111111!important;
  --gfr-blue-soft:#E6E6E6!important;
  --gfr-turquoise:#666666!important;
  --gfr-turquoise-soft:#F4F4F4!important;
  --gfr-purple:#333333!important;
  --gfr-purple-soft:#E6E6E6!important;
  --gfr-green:#666666!important;
  --gfr-green-soft:#F4F4F4!important;
  --green:#666666!important;
  --amber:#D9D9D9!important;
  --amber-bg:#EEEEEE!important;
  --gfr-africa:#777777!important;
  --gfr-asia:#222222!important;
  --gfr-americas:#BBBBBB!important;
  --gfr-world:#666666!important;
  --gfr-world-blue:#111111!important;
  --gfr-proof:#111111!important;
  --gfr-percent-active:#111111!important;
  --gfr-percent-active-2:#666666!important;
  --gfr-percent-focus:#D9D9D9!important;
  --gfr-v52-land:#F7F7F7!important;
  color:#111111!important;
}
body.gfr-colorblind-mode .brand-logo-image,
body.gfr-colorblind-mode .gfr-basket-pin-visual,
body.gfr-colorblind-mode .gfr-map-basket-key{
  filter:grayscale(1)!important;
}
body.gfr-colorblind-mode img:not(.brand-logo-image){filter:grayscale(1)!important;}
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map,
body.gfr-colorblind-mode .gfr-world-map .maplibregl-map,
body.gfr-colorblind-mode .gfr-world-map canvas{background-color:#666666!important;}
body.gfr-colorblind-mode :where(.gfr-map-ready-key,.is-basket-ready,.basket-ready,.gfr-map-selected-chip.is-basket-ready,.gfr-ready-basket-card:not(.is-coming-soon-pin)){
  background:#D9D9D9!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child,
body.gfr-colorblind-mode .impact-side-split span:last-child,
body.gfr-colorblind-mode .gfr-map-percent-split span:last-child,
body.gfr-colorblind-mode #country-allocation .path-pool{
  background:#D9D9D9!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode :where(button.active,[aria-pressed="true"],.is-selected,.selected,.allocation-country:has(input:checked),.gfr-map-selected-chip){
  background:#202020!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-colorblind-toggle{background:#111111!important;color:#FFFFFF!important;border-color:#111111!important;}
body.gfr-colorblind-mode .gfr-colorblind-eye{color:#D9D9D9!important;}
body.gfr-colorblind-mode footer{background:#F2F2F2!important;color:#111111!important;border-top-color:#111111!important;}

/* 05 Sep 2026 — Colorblind Mode screenshot-audit hard monochrome pass.
   COLOR ONLY: no layout, sizing, spacing, geometry, text, data or behavior changes. */
body.gfr-colorblind-mode img,
body.gfr-colorblind-mode svg,
body.gfr-colorblind-mode canvas,
body.gfr-colorblind-mode video,
body.gfr-colorblind-mode .gfr-basket-pin-visual,
body.gfr-colorblind-mode .gfr-map-basket-key,
body.gfr-colorblind-mode .brand-logo-image{
  filter:grayscale(1)!important;
}

/* Remove residual coloured backgrounds/borders/text from the visible app surface.
   Existing component-specific monochrome state rules below/above still carry state contrast. */
body.gfr-colorblind-mode :where(
  .gfr-map-shell,.gfr-map-main,.gfr-map-head,.gfr-map-choice-left,.gfr-map-choice-right,
  .gfr-map-choice-panel,.gfr-world-round-card,.gfr-distribution-network,
  .gfr-selected-summary,.allocation-panel,.impact-side-card,.impact-side-inner,
  .country-card,.transparency-section,.gfr-project-posts,.gfr-project-post,
  .intent-banner,.purchasing-power-note
){
  border-color:#222222!important;
}

/* Native emoji glyphs can contain saturated OS-rendered pixels. Where they are inside
   known Colorblind controls, force the rendered element itself to monochrome. */
body.gfr-colorblind-mode :where(
  .gfr-colorblind-eye,.gfr-basket-pin-visual,.gfr-map-basket-key,
  .gfr-map-ready-key,.gfr-map-selected-key
){
  filter:grayscale(1)!important;
}

/* 05 Sep 2026 — Colorblind Mode exhaustive screenshot cleanup v15.
   COLOR ONLY. No geometry, spacing, sizing, layout, content, data or behavior changes.
   This final block intentionally sits last so no older colorblind rule can reintroduce hue. */
body.gfr-colorblind-mode{
  font-variant-emoji:text!important;
}

/* Region controls: remove residual continent hue borders/fills. */
body.gfr-colorblind-mode .gfr-region-controls button{
  background-color:#F7F7F7!important;
  color:#111111!important;
  border-color:#222222!important;
  outline-color:#222222!important;
}
body.gfr-colorblind-mode .gfr-region-controls button.active{
  background-color:#202020!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
  outline-color:#111111!important;
}

/* Map legend: every key is monochrome, including borders that previously retained cyan/purple/gold. */
body.gfr-colorblind-mode .gfr-map-key span{
  background-color:#F7F7F7!important;
  color:#111111!important;
  border-color:#222222!important;
  outline-color:#222222!important;
}
body.gfr-colorblind-mode .gfr-map-key .gfr-map-line-key,
body.gfr-colorblind-mode .gfr-map-key .gfr-map-basket-key,
body.gfr-colorblind-mode .gfr-map-key .gfr-map-ready-key{
  background-color:#E1E1E1!important;
  color:#111111!important;
  border-color:#222222!important;
  outline-color:#222222!important;
}
body.gfr-colorblind-mode .gfr-map-key .gfr-map-line-key.is-selected,
body.gfr-colorblind-mode .gfr-map-key .gfr-map-selected-key,
body.gfr-colorblind-mode .gfr-map-key .selected{
  background-color:#202020!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
  outline-color:#111111!important;
}

/* Map search/zoom/OR/card accents seen in the screenshot. */
body.gfr-colorblind-mode .gfr-map-search,
body.gfr-colorblind-mode .gfr-map-search input,
body.gfr-colorblind-mode .gfr-zoom-controls button,
body.gfr-colorblind-mode #gfrMapZoomLevel,
body.gfr-colorblind-mode .gfr-map-or-divider span{
  background-color:#F7F7F7!important;
  color:#111111!important;
  border-color:#222222!important;
  outline-color:#222222!important;
}
body.gfr-colorblind-mode #gfrMapReset,
body.gfr-colorblind-mode .gfr-map-global-card,
body.gfr-colorblind-mode .gfr-map-global-cta{
  background-color:#303030!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
  outline-color:#111111!important;
}

/* Percent controls and progress pills: no green/blue/gold remnants. */
body.gfr-colorblind-mode .gfr-map-global-presets button,
body.gfr-colorblind-mode .global-direct-presets button{
  background-color:#F7F7F7!important;
  color:#111111!important;
  border-color:#222222!important;
  outline-color:#222222!important;
}
body.gfr-colorblind-mode .gfr-map-global-presets button.active,
body.gfr-colorblind-mode .global-direct-presets button.active,
body.gfr-colorblind-mode .gfr-map-global-presets button[aria-pressed="true"],
body.gfr-colorblind-mode .global-direct-presets button[aria-pressed="true"]{
  background-color:#202020!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
  outline-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-global-preview,
body.gfr-colorblind-mode .gfr-map-global-preview em,
body.gfr-colorblind-mode .actual-progress-pill,
body.gfr-colorblind-mode .world-preview-label{
  background-color:#F1F1F1!important;
  color:#111111!important;
  border-color:#222222!important;
}

/* Right-side choice note: remove every remaining semantic hue. */
body.gfr-colorblind-mode .impact-side-note{
  background-color:#F3F3F3!important;
  color:#111111!important;
  border-color:#222222!important;
}
body.gfr-colorblind-mode .impact-side-paths span:first-child,
body.gfr-colorblind-mode .impact-side-split span:first-child{
  background-color:#303030!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
  outline-color:#111111!important;
}
body.gfr-colorblind-mode .impact-side-paths span:last-child,
body.gfr-colorblind-mode .impact-side-split span:last-child,
body.gfr-colorblind-mode .impact-side-percent,
body.gfr-colorblind-mode .impact-side-note > a{
  background-color:#F1F1F1!important;
  color:#111111!important;
  border-color:#222222!important;
  outline-color:#222222!important;
}

/* Selected-country summary and allocation surfaces visible lower on the page. */
body.gfr-colorblind-mode .gfr-selected-summary,
body.gfr-colorblind-mode .allocation-panel,
body.gfr-colorblind-mode .allocation-picker,
body.gfr-colorblind-mode .global-direct-card{
  background-color:#F3F3F3!important;
  color:#111111!important;
  border-color:#222222!important;
}
body.gfr-colorblind-mode .allocation-country,
body.gfr-colorblind-mode .gfr-map-selected-chip,
body.gfr-colorblind-mode .status,
body.gfr-colorblind-mode .badge,
body.gfr-colorblind-mode .pill,
body.gfr-colorblind-mode .chip,
body.gfr-colorblind-mode .tag{
  border-color:#222222!important;
  outline-color:#222222!important;
}

/* Footer and residual site-level accents. */
body.gfr-colorblind-mode footer,
body.gfr-colorblind-mode .site-footer{
  background-color:#F1F1F1!important;
  color:#111111!important;
  border-color:#222222!important;
}
body.gfr-colorblind-mode a,
body.gfr-colorblind-mode .eyebrow,
body.gfr-colorblind-mode .country-code,
body.gfr-colorblind-mode .gfr-distribution-org-kicker{
  text-decoration-color:#111111!important;
}

/* Native color glyphs/media can bypass CSS color properties. Convert only their colour rendering. */
body.gfr-colorblind-mode :where(
  .brand-logo-image,
  .gfr-basket-pin-visual,
  .gfr-map-basket-key,
  .gfr-map-global-cta span,
  .gfr-region-controls button,
  .impact-side-paths span,
  .allocation-toolbar strong,
  .eyebrow,
  img,svg,canvas,video
){
  filter:grayscale(1)!important;
}

/* Pseudo-element colour residues. */
body.gfr-colorblind-mode *::before,
body.gfr-colorblind-mode *::after{
  border-color:#222222!important;
  outline-color:#222222!important;
  text-decoration-color:#111111!important;
}

/* 05 Sep 2026 — Colorblind Mode essential readability contrast pass.
   COLOR ONLY. No layout, sizing, spacing, geometry, content, data, animation or behavior changes.
   Purpose: prevent low-contrast text/numbers and light-on-light rendering in Colorblind Mode. */
body.gfr-colorblind-mode :where(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,label,legend,summary,
  strong,b,em,small,output,.number,.amount,.price,.percent,.percentage,.count,
  .value,.metric,.total,.subtotal,.caption,.note,.helper,.meta,.description,
  .gfr-map-summary-note,.gfr-map-local-references,.gfr-map-price-row,
  .gfr-map-global-preview,.actual-progress-pill,.world-preview-label,
  .impact-side-note,.impact-side-percent,.allocation-contribution,
  .allocation-promise,.gfr-selected-summary,.allocation-panel,.allocation-picker,
  .global-direct-card,.country-card,.transparency-section,.gfr-project-post,
  .intent-banner,.purchasing-power-note
){
  color:#111111!important;
}

/* Form/control text and placeholders must stay legible on pale surfaces. */
body.gfr-colorblind-mode :where(input,select,textarea){
  color:#111111!important;
  background-color:#FFFFFF!important;
  border-color:#222222!important;
}
body.gfr-colorblind-mode :where(input,textarea)::placeholder{
  color:#444444!important;
}

/* Preserve white text anywhere Colorblind Mode deliberately uses a dark state/surface. */
body.gfr-colorblind-mode :where(
  .gfr-colorblind-toggle,
  #gfrMapReset,
  .gfr-map-global-cta,
  .gfr-region-controls button.active,
  .filter-row .filter.active,
  .gfr-map-region-filter.active,
  .gfr-map-global-presets button.active,
  .global-direct-presets button.active,
  .gfr-map-global-presets button[aria-pressed="true"],
  .global-direct-presets button[aria-pressed="true"],
  button.active,
  [aria-pressed="true"],
  .is-selected,
  .selected,
  .gfr-map-selected-chip,
  .gfr-map-price-row.is-total,
  #country-allocation .allocation-grand-total,
  #country-allocation .path-selected,
  #country-allocation .allocation-country:has(input:checked),
  .gfr-dist-org-badge.is-verified,
  .impact-side-paths span:first-child,
  .impact-side-split span:first-child,
  #gfrMapChooseAll
),
body.gfr-colorblind-mode :where(
  .gfr-colorblind-toggle,
  #gfrMapReset,
  .gfr-map-global-cta,
  .gfr-region-controls button.active,
  .filter-row .filter.active,
  .gfr-map-region-filter.active,
  .gfr-map-global-presets button.active,
  .global-direct-presets button.active,
  .gfr-map-global-presets button[aria-pressed="true"],
  .global-direct-presets button[aria-pressed="true"],
  button.active,
  [aria-pressed="true"],
  .is-selected,
  .selected,
  .gfr-map-selected-chip,
  .gfr-map-price-row.is-total,
  #country-allocation .allocation-grand-total,
  #country-allocation .path-selected,
  #country-allocation .allocation-country:has(input:checked),
  .gfr-dist-org-badge.is-verified,
  .impact-side-paths span:first-child,
  .impact-side-split span:first-child,
  #gfrMapChooseAll
) :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,small,label,output,a){
  color:#FFFFFF!important;
}

/* Disabled actions remain visibly disabled while keeping strong text contrast. */
body.gfr-colorblind-mode :where(.gfr-map-payment-cta:disabled,#country-allocation .allocation-fund:disabled){
  background-color:#DFDFDF!important;
  color:#353535!important;
  border-color:#656565!important;
}

/* Requested Blind Mode color-only corrections — no other properties changed. */
body.gfr-colorblind-mode .gfr-map-trust-ribbon > div:nth-child(3){
  background-color:#111111!important;
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-trust-ribbon > div:nth-child(3) :where(span,strong,small){
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode #gfrMapSelectedShareLabel{
  color:#111111!important;
}

/* Requested Blind Mode readability fix — country names only; color only. */
body.gfr-colorblind-mode .gfr-map-selected-chip strong{
  color:#111111!important;
}

/* Requested Blind Mode micro-fixes only: country initials black; heart glyph plain white. */
body.gfr-colorblind-mode .gfr-map-selected-flag{
  color:#111111!important;
  font-variant-emoji:text!important;
}
body.gfr-colorblind-mode .gfr-map-trust-ribbon > div:nth-child(3) > span{
  color:#FFFFFF!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2",sans-serif!important;
  font-variant-emoji:text!important;
  filter:none!important;
  background:none!important;
}

/* v22 — Blind Mode interactive-state readability only.
   Color-only overrides: keep text/numbers readable after controls are activated. */
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"]{
  background-color:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] .gfr-brush-top-icon{
  background-color:#FFFFFF!important;
  color:#111111!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] .gfr-brush-copy strong,
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] .gfr-brush-copy small{
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-brush-top-cta #gfrMapBrushToggle[aria-pressed="true"] #gfrMapBrushState{
  background-color:#FFFFFF!important;
  color:#111111!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-brush-live-message{
  color:#111111!important;
}

/* Activated clickable controls: dark surface + white content.
   Country chips/cards are intentionally excluded because their dedicated
   light-surface rules require black country text/initials. */
body.gfr-colorblind-mode button:is(.active,[aria-pressed="true"]):not(.gfr-map-selected-chip):not(:disabled),
body.gfr-colorblind-mode [role="button"]:is(.active,[aria-pressed="true"]):not(.gfr-map-selected-chip):not(:disabled){
  background-color:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode button:is(.active,[aria-pressed="true"]):not(.gfr-map-selected-chip):not(:disabled) :where(span,strong,b,em,small,label,output),
body.gfr-colorblind-mode [role="button"]:is(.active,[aria-pressed="true"]):not(.gfr-map-selected-chip):not(:disabled) :where(span,strong,b,em,small,label,output){
  color:#FFFFFF!important;
}

/* Keep disabled controls readable after any interaction. */
body.gfr-colorblind-mode button:disabled,
body.gfr-colorblind-mode [role="button"][aria-disabled="true"]{
  background-color:#DFDFDF!important;
  color:#353535!important;
  border-color:#656565!important;
}
body.gfr-colorblind-mode button:disabled :where(span,strong,b,em,small,label,output),
body.gfr-colorblind-mode [role="button"][aria-disabled="true"] :where(span,strong,b,em,small,label,output){
  color:#353535!important;
}

/* 05 Sep 2026 — Colorblind Mode readability correction.
   COLOR ONLY: keep the Global World Round heading readable on its deliberately dark card. */
body.gfr-colorblind-mode .gfr-map-global-card > h4{
  color:#FFFFFF!important;
}


/* ==========================================================================
   05 Sep 2026 - baseline accessibility hardening requested by site owner.
   Accessibility-only changes: no content, layout dimensions, data, map logic,
   colorblind palette, payment logic or ordinary interaction logic changed.
   ========================================================================== */
.gfr-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.gfr-core-skip-link{
  position:fixed!important;
  left:12px!important;
  top:12px!important;
  z-index:2147483647!important;
  transform:translateY(-180%)!important;
  padding:10px 14px!important;
  background:#111!important;
  color:#fff!important;
  border:2px solid #fff!important;
  border-radius:8px!important;
  font-weight:900!important;
}
.gfr-core-skip-link:focus{
  transform:translateY(0)!important;
}
/* Visible focus in both ordinary and colorblind presentation. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid currentColor!important;
  outline-offset:3px!important;
  scroll-margin-top:110px!important;
}
/* Active choices are not communicated by hue alone. */
:where(
  .share-presets button.active,
  .global-direct-presets button.active,
  [data-map-global-share].active,
  [data-map-region].active,
  button[aria-pressed="true"]
):not(:disabled){
  box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor!important;
}
/* Preserve the already-approved monochrome treatment while retaining a non-color state cue. */
body.gfr-colorblind-mode :where(
  .share-presets button.active,
  .global-direct-presets button.active,
  [data-map-global-share].active,
  [data-map-region].active,
  button[aria-pressed="true"]
):not(:disabled){
  box-shadow:0 0 0 2px #fff,0 0 0 4px #111!important;
}


/* Slack button: monochrome only while Colorblind Mode is ON. */
body.gfr-colorblind-mode a[href^="https://join.slack.com/"]{
  --gfr-slack-border:#111111;
  --gfr-slack-bg:#111111;
  --gfr-slack-fg:#FFFFFF;
  --gfr-slack-shadow:rgba(0,0,0,.22);
}
body.gfr-colorblind-mode a[href^="https://join.slack.com/"] svg rect{
  fill:#FFFFFF!important;
}
body.gfr-colorblind-mode a[href^="https://join.slack.com/"] strong,
body.gfr-colorblind-mode a[href^="https://join.slack.com/"] small{
  color:#FFFFFF!important;
}

/* Requested Colorblind Mode round-label color correction only. */
body.gfr-colorblind-mode .round-flow .flow-number{
  color:#111111!important;
}


/* 06 Sep 2026 — requested Colorblind Mode palette correction only.
   Scope: colors/filters ONLY while Colorblind Mode is ON.
   No layout, sizing, spacing, text, data, map geometry or interaction changes.
   Palette target: black + white, with #FFD34E orange reserved for basket-ready states. */
body.gfr-colorblind-mode .gfr-world-map canvas,
body.gfr-colorblind-mode .gfr-map-stage canvas{
  filter:none!important;
}
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map,
body.gfr-colorblind-mode .gfr-world-map .maplibregl-map,
body.gfr-colorblind-mode .gfr-world-map canvas{
  background-color:#111111!important;
}
body.gfr-colorblind-mode :where(
  .gfr-map-ready-key,
  .is-basket-ready,
  .basket-ready,
  .gfr-map-selected-chip.is-basket-ready,
  .gfr-ready-basket-card:not(.is-coming-soon-pin)
){
  background:#FFD34E!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual,
body.gfr-colorblind-mode .gfr-map-basket-key{
  background:#FFD34E!important;
  color:#111111!important;
  border-color:#111111!important;
}

/* 06 Sep 2026 — Colorblind Mode text-contrast safety pass only.
   Scope: text color ONLY. Prevent black-on-black and white-on-white on the
   existing monochrome surfaces; no layout, content, data, geometry, behavior,
   background, border, map, basket, or non-Colorblind styling changes. */
body.gfr-colorblind-mode :where(
  .gfr-colorblind-toggle,
  a[href^="https://join.slack.com/"],
  #gfrMapReset,
  .gfr-map-global-card,
  .gfr-map-global-cta,
  .gfr-region-controls button.active,
  .filter-row .filter.active,
  .gfr-map-region-filter.active,
  .gfr-map-global-presets button.active,
  .global-direct-presets button.active,
  .gfr-map-global-presets button[aria-pressed="true"],
  .global-direct-presets button[aria-pressed="true"],
  button.active:not(:disabled),
  button[aria-pressed="true"]:not(:disabled),
  [role="button"].active:not([aria-disabled="true"]),
  [role="button"][aria-pressed="true"]:not([aria-disabled="true"]),
  .gfr-map-price-row.is-total,
  #country-allocation .allocation-grand-total,
  #country-allocation .path-selected,
  .gfr-dist-org-badge.is-verified,
  .impact-side-paths span:first-child,
  .impact-side-split span:first-child,
  #gfrMapChooseAll,
  .gfr-map-trust-ribbon > div:nth-child(3)
) :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,small,label,legend,summary,output,a){
  color:#FFFFFF!important;
}

body.gfr-colorblind-mode :where(
  input,select,textarea,
  .gfr-map-search,
  .gfr-map-global-preview,
  .actual-progress-pill,
  .world-preview-label,
  .gfr-selected-summary,
  .allocation-panel,
  .allocation-picker,
  .global-direct-card,
  .allocation-country:not(:has(input:checked)),
  .gfr-map-selected-chip,
  .status,.badge,.pill,.chip,.tag,
  .gfr-map-ready-key,
  .is-basket-ready,
  .basket-ready,
  .gfr-map-selected-chip.is-basket-ready,
  .gfr-ready-basket-card:not(.is-coming-soon-pin)
) :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,small,label,legend,summary,output,a){
  color:#111111!important;
}

/* 06 Sep 2026 — requested map-only Colorblind grayscale correction. */
body.gfr-colorblind-mode #gfrMapPointerTooltip.gfr-map-pointer-tooltip.is-wow-basket{
  background:linear-gradient(145deg,#F8F8F8 0%,#E6E6E6 50%,#CFCFCF 100%)!important;
  border-color:#353535!important;
  color:#111111!important;
  box-shadow:0 8px 0 rgba(0,0,0,.18),0 18px 38px rgba(0,0,0,.22),0 0 0 5px rgba(255,255,255,.24)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country>strong{
  color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country>em{
  color:#353535!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-pointer-wow-country>span,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-basket-hover-impact>b,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-basket-hover-impact>span{
  filter:grayscale(1)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-pointer-selected-badge{
  background:#353535!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.14),0 5px 0 rgba(0,0,0,.16)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-basket-hover-price{
  background:#F5F5F5!important;
  border-color:#656565!important;
  color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-basket-hover-impact>b{
  background:#D9D9D9!important;
  border-color:#353535!important;
  color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-basket-hover-impact>span{
  background:rgba(255,255,255,.86)!important;
  color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-open-basket-btn{
  background:linear-gradient(145deg,#F3F3F3 0%,#BDBDBD 100%)!important;
  border-color:#353535!important;
  color:#111111!important;
  box-shadow:0 5px 0 rgba(0,0,0,.18),0 9px 20px rgba(0,0,0,.18)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-open-basket-btn:hover,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-open-basket-btn:focus-visible{
  outline-color:rgba(53,53,53,.30)!important;
  box-shadow:0 7px 0 rgba(0,0,0,.18),0 14px 24px rgba(0,0,0,.22)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn{
  background:linear-gradient(145deg,#4A4A4A,#202020)!important;
  border-color:#FFFFFF!important;
  color:#FFFFFF!important;
  box-shadow:0 4px 0 rgba(0,0,0,.22),0 7px 16px rgba(0,0,0,.20)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn:hover,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn:focus-visible{
  box-shadow:0 5px 0 rgba(0,0,0,.24),0 9px 20px rgba(0,0,0,.24)!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn.is-selected{
  background:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-right::after{
  border-right-color:#E6E6E6!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-left::after{
  border-left-color:#E6E6E6!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-top::after{
  border-top-color:#E6E6E6!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-bottom::after{
  border-bottom-color:#E6E6E6!important;
}


/* 06 Sep 2026 — requested active-basket pin reference image in both display modes.
   Uses the user-supplied cropped basket appearance; geometry and behavior stay unchanged. */
.gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual,
body.gfr-colorblind-mode .gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual{
  background:center/contain no-repeat url("assets/colorblind-active-basket-reference.png")!important;
  border-color:transparent!important;
  color:transparent!important;
  font-size:0!important;
  filter:none!important;
  box-shadow:none!important;
}
.gfr-ready-basket-card.gfr-basket-pin:not(.is-coming-soon-pin) .gfr-basket-pin-visual::before{
  content:none!important;
}

/* 06 Sep 2026 — requested Colorblind Mode AVAILABLE BASKET balloon color only. */
body.gfr-colorblind-mode #gfrMapPointerTooltip.gfr-map-pointer-tooltip.is-wow-basket{
  background:#FFD34E!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-right::after{
  border-right-color:#FFD34E!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-left::after{
  border-left-color:#FFD34E!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-top::after{
  border-top-color:#FFD34E!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-bottom::after{
  border-bottom-color:#FFD34E!important;
}

/* 06 Sep 2026 — requested Colorblind Mode Coming Soon bubble text readability only. */
body.gfr-colorblind-mode #gfrMapPointerTooltip.gfr-map-pointer-tooltip.is-coming-soon,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-coming-soon .gfr-pointer-coming-country strong,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-coming-soon .gfr-pointer-coming-label,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-coming-soon .gfr-pointer-coming-copy,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-coming-soon .gfr-map-open-basket-btn.is-coming-soon-btn{
  color:#FFFFFF!important;
}

/* 06 Sep 2026 — Colorblind Mode map text contrast only.
   Scope: text blocks in the dark LIVE COUNTRY MAP header only. */
body.gfr-colorblind-mode .gfr-map-head h3{
  color:#FFFFFF!important;
  background:#111111!important;
  text-shadow:none!important;
  box-decoration-break:clone!important;
  -webkit-box-decoration-break:clone!important;
}
body.gfr-colorblind-mode .gfr-map-head>div>p:not(.eyebrow){
  color:#FFFFFF!important;
  background:#111111!important;
  border-color:#FFFFFF!important;
  box-shadow:none!important;
}

/* ========================================================================== 
   06 Sep 2026 — professional Colorblind Mode semantic palette.
   Scope is deliberately limited to colors while Colorblind Mode is ON.
   No copy, layout, sizing, spacing, geometry, data, interaction, or ordinary-mode
   presentation is changed.

   Semantic palette:
   primary/selected blue #0072B2 | light available blue #DDEEF8
   basket-ready orange #E69F00 | selected+ready cue yellow #F0E442
   deep navy #0B1F33 | ink #111111 | white #FFFFFF
   ========================================================================== */
body.gfr-colorblind-mode{
  --gfr-cb-primary:#0072B2!important;
  --gfr-cb-primary-light:#DDEEF8!important;
  --gfr-cb-basket:#E69F00!important;
  --gfr-cb-ready-cue:#F0E442!important;
  --gfr-cb-navy:#0B1F33!important;
  --gfr-cb-ink:#111111!important;
  --gfr-cb-paper:#FFFFFF!important;
}

/* Selected / active interactive states use one consistent high-contrast blue. */
body.gfr-colorblind-mode button:is(.active,[aria-pressed="true"]):not(:disabled),
body.gfr-colorblind-mode [role="button"]:is(.active,[aria-pressed="true"]):not([aria-disabled="true"]),
body.gfr-colorblind-mode .filter-row .filter.active,
body.gfr-colorblind-mode .gfr-map-region-filter.active,
body.gfr-colorblind-mode .gfr-region-controls button.active,
body.gfr-colorblind-mode .gfr-map-global-presets button.active,
body.gfr-colorblind-mode .global-direct-presets button.active,
body.gfr-colorblind-mode #country-allocation .allocation-country:has(input:checked),
body.gfr-colorblind-mode #country-allocation .path-selected,
body.gfr-colorblind-mode .gfr-map-selected-chip:not(.is-basket-ready){
  background-color:#0072B2!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode button:is(.active,[aria-pressed="true"]):not(:disabled) :where(span,strong,b,em,small,label,output),
body.gfr-colorblind-mode [role="button"]:is(.active,[aria-pressed="true"]):not([aria-disabled="true"]) :where(span,strong,b,em,small,label,output),
body.gfr-colorblind-mode #country-allocation .allocation-country:has(input:checked) *,
body.gfr-colorblind-mode #country-allocation .path-selected *,
body.gfr-colorblind-mode .gfr-map-selected-chip:not(.is-basket-ready) *{
  color:#FFFFFF!important;
}

/* Basket-ready remains a separate warm signal, always with dark text. */
body.gfr-colorblind-mode :where(
  .gfr-map-ready-key,
  .is-basket-ready,
  .basket-ready,
  .gfr-ready-basket-card:not(.is-coming-soon-pin)
){
  background-color:#E69F00!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode :where(
  .gfr-map-ready-key,
  .is-basket-ready,
  .basket-ready,
  .gfr-ready-basket-card:not(.is-coming-soon-pin)
) :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,small,label,legend,summary,output,a){
  color:#111111!important;
}

/* Selected + basket-ready: blue selected state with a yellow readiness edge.
   Existing text and SELECTED labeling remain redundant non-color cues. */
body.gfr-colorblind-mode .gfr-map-selected-chip.is-basket-ready{
  background-color:#0072B2!important;
  color:#111111!important;
  border-color:#F0E442!important;
}
body.gfr-colorblind-mode .gfr-map-selected-chip.is-basket-ready *{
  color:#111111!important;
}

/* Map legend mirrors the exact semantic states used on the map. */
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(1){
  background:#DDEEF8!important;
  color:#111111!important;
  border-color:#0072B2!important;
}
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(2){
  background:#0072B2!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(3){
  background:#E69F00!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(4){
  background:#0072B2!important;
  color:#FFFFFF!important;
  border-color:#F0E442!important;
}
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(1) *,
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(3) *{color:#111111!important;}
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(2) *,
body.gfr-colorblind-mode .gfr-map-key > span:nth-child(4) *{color:#FFFFFF!important;}
body.gfr-colorblind-mode .gfr-map-line-key{
  background:#DDEEF8!important;
  border-color:#0072B2!important;
}
body.gfr-colorblind-mode .gfr-map-line-key.is-selected{
  background:#0072B2!important;
  border-color:#FFFFFF!important;
}
body.gfr-colorblind-mode .gfr-map-basket-key{
  background:#E69F00!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode .gfr-map-ready-key{
  background:#0072B2!important;
  border-color:#F0E442!important;
}

/* The available-basket balloon stays warm but uses the tested orange rather than
   an arbitrary yellow-orange. Text remains dark for strong luminance contrast. */
body.gfr-colorblind-mode #gfrMapPointerTooltip.gfr-map-pointer-tooltip.is-wow-basket{
  background:#E69F00!important;
  color:#111111!important;
  border-color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,small,label,output){
  color:#111111!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-right::after{border-right-color:#E69F00!important;}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-left::after{border-left-color:#E69F00!important;}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-top::after{border-top-color:#E69F00!important;}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket.is-tip-bottom::after{border-bottom-color:#E69F00!important;}

/* Keep the map's dark surrounding field intentional and strongly separated from
   the light available-country fill. */
body.gfr-colorblind-mode .gfr-map-stage,
body.gfr-colorblind-mode .gfr-world-map,
body.gfr-colorblind-mode .gfr-world-map .maplibregl-map,
body.gfr-colorblind-mode .gfr-world-map canvas{
  background-color:#0B1F33!important;
}

/* Precision corrections inside the orange basket card: preserve white text on
   dark selected controls while keeping ordinary orange-card text black. */
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-pointer-selected-badge,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-pointer-selected-badge *,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-explicit-select-btn *{
  color:#FFFFFF!important;
}
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-open-basket-btn,
body.gfr-colorblind-mode #gfrMapPointerTooltip.is-wow-basket .gfr-map-open-basket-btn *{
  color:#111111!important;
}

/* Mirror selected + basket-ready semantics in the detailed country selector. */
body.gfr-colorblind-mode #country-allocation .allocation-country.is-basket-ready:has(input:checked){
  background-color:#0072B2!important;
  color:#FFFFFF!important;
  border-color:#F0E442!important;
}
body.gfr-colorblind-mode #country-allocation .allocation-country.is-basket-ready:has(input:checked) *{
  color:#FFFFFF!important;
}

/* Requested footer-only correction: email + Accessibility statement are black. */
footer a[href^="mailto:amirworlddevelop@gmail.com"],
footer a[href="accessibility.html"]{
  color:#000000!important;
}
