
: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}
}
