:root {
  --ink:#172235;
  --muted:#5d6672;
  --paper:#fff;
  --mist:#f4f7f2;
  --sand:#f1eee6;
  --green:#2f8734;
  --green-dark:#205f28;
  --green-soft:#e7f1e5;
  --navy:#111c2c;
  --line:#dbe4d8;
  --shadow:0 22px 60px rgba(17,28,44,.13);
  --content:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.container{width:min(calc(100% - 48px),var(--content));margin-inline:auto}
.section{padding:104px 0}
.section-mist{background:var(--mist)}
.section-sand{background:var(--sand)}
.section-dark{background:var(--navy);color:#fff}
.eyebrow{margin:0 0 14px;color:var(--green);font-size:12px;font-weight:850;letter-spacing:.15em;line-height:1.3;text-transform:uppercase}
.section-dark .eyebrow,.hero .eyebrow{color:#9bd69e}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.035em;line-height:1.04}
h1{font-size:clamp(46px,5.5vw,78px)}
h2{margin-bottom:20px;font-size:clamp(34px,4vw,57px)}
h3{margin-bottom:12px;font-size:clamp(22px,2vw,29px)}
.lede{max-width:790px;color:var(--muted);font-size:clamp(18px,1.6vw,22px);line-height:1.52}
.section-dark .lede{color:rgba(255,255,255,.75)}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid transparent;border-radius:7px;background:var(--green);color:#fff;font-weight:760;text-decoration:none;transition:background .18s ease,transform .18s ease}
.button:hover,.button:focus-visible{background:var(--green-dark);transform:translateY(-1px)}
.button-light{border-color:rgba(255,255,255,.58);background:rgba(17,28,44,.18)}
.button-secondary{border-color:rgba(23,34,53,.18);background:#fff;color:var(--ink)}
.text-link{color:var(--green-dark);font-weight:780;text-underline-offset:5px}
.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid rgba(23,34,53,.09);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.header-inner{display:flex;min-height:106px;align-items:center;justify-content:space-between;gap:28px}
.brand{display:block;width:238px;flex:0 0 auto}.brand img{width:100%;height:auto}
.primary-nav{display:flex;align-items:center;gap:clamp(14px,1.7vw,28px)}
.nav-link,.nav-trigger{border:0;background:none;color:#2b374a;font-size:15px;font-weight:680;text-decoration:none;white-space:nowrap}
.nav-link:hover,.nav-link:focus-visible,.nav-trigger:hover,.nav-trigger:focus-visible,.nav-link.active{color:var(--green)}
.nav-item{position:relative}.nav-trigger{display:inline-flex;align-items:center;gap:7px;padding:16px 0;cursor:pointer}.nav-trigger::after{content:"";width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translateY(-2px)}
.dropdown{position:absolute;top:calc(100% - 4px);left:-24px;display:grid;width:min(440px,calc(100vw - 32px));padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}
.dropdown a{padding:11px 12px;border-radius:8px;color:var(--ink);font-size:14px;font-weight:650;line-height:1.25;text-decoration:none}.dropdown a:hover,.dropdown a:focus-visible{background:var(--green-soft);color:var(--green-dark)}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown,.nav-item.open .dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}
.nav-cta{padding:10px 14px;border-radius:6px;background:var(--green);color:#fff}.nav-cta:hover,.nav-cta:focus-visible{background:var(--green-dark);color:#fff}
.menu-button{display:none;width:46px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer}.menu-button span,.menu-button::before,.menu-button::after{content:"";display:block;width:21px;height:2px;margin:5px auto;background:currentColor}
.hero{position:relative;display:grid;min-height:min(760px,calc(100vh - 92px));place-items:center;overflow:hidden;background:var(--navy) url('hero-poster.jpg') center/cover no-repeat;color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(7,16,27,.42),rgba(7,16,27,.80))}
.hero-content{position:relative;z-index:2;width:min(calc(100% - 48px),1020px);padding:112px 0 100px;text-align:center}
.hero h1{max-width:990px;margin:0 auto 24px;text-wrap:balance}.hero-copy{max-width:850px;margin:0 auto;color:rgba(255,255,255,.9);font-size:clamp(19px,1.7vw,24px);line-height:1.5}.hero .button-row{justify-content:center}
.hero-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 21px;margin:37px 0 0;padding:0;color:rgba(255,255,255,.74);font-size:11px;font-weight:790;letter-spacing:.11em;list-style:none;text-transform:uppercase}.hero-proof li+li::before{content:"·";margin-right:21px;color:#8fd193}
.intro-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:end}.intro-grid h2{margin-bottom:0}
.decision-visual-strip{display:grid;grid-template-columns:1.06fr .94fr 1fr;gap:12px;margin-top:48px}.decision-visual-strip figure{position:relative;height:clamp(230px,22vw,330px);margin:0;overflow:hidden;border-radius:12px;background:var(--navy)}.decision-visual-strip img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.decision-visual-strip figure:hover img{transform:scale(1.025)}.decision-visual-strip figure::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(180deg,transparent,rgba(7,16,27,.86))}.decision-visual-strip figcaption{position:absolute;z-index:2;right:24px;bottom:22px;left:24px;color:#fff}.decision-visual-strip strong,.decision-visual-strip span{display:block}.decision-visual-strip strong{font-size:20px;letter-spacing:-.02em}.decision-visual-strip span{margin-top:2px;color:rgba(255,255,255,.76);font-size:13px}
.layers{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.layer{min-height:330px;padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.layer-number{display:block;margin-bottom:55px;color:var(--green);font-size:12px;font-weight:850;letter-spacing:.12em}.layer h3{font-size:24px}.layer p{margin-bottom:17px;color:var(--muted);font-size:15px}.layer ul{margin:0;padding-left:18px;color:#4f5966;font-size:14px}.layer li+li{margin-top:6px}
.chain{overflow:hidden;background:var(--navy);color:#fff}.chain-inner{display:grid;grid-template-columns:.64fr 1.36fr;gap:58px;align-items:center}.chain-copy p{color:rgba(255,255,255,.74)}.chain-body{display:grid;gap:18px}.chain-visual{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;min-height:170px;padding:24px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}.chain-node{position:relative;display:flex;min-height:110px;align-items:flex-end;justify-content:center;padding:16px 8px;border:1px solid rgba(166,220,169,.34);border-radius:10px;background:rgba(255,255,255,.045);text-align:center}.chain-node span{position:relative;z-index:2;font-size:12px;font-weight:790;line-height:1.15}.chain-node i{position:absolute;display:block}.chain-node--map i{width:26px;height:22px;border:2px solid #91d596;border-radius:50% 55% 45% 60%;background:rgba(145,213,150,.12)}.chain-node--map i:nth-of-type(1){top:22px;left:19%}.chain-node--map i:nth-of-type(2){top:33px;left:47%}.chain-node--map i:nth-of-type(3){top:18px;right:13%}.chain-node--field i{top:25px;width:3px;height:45px;background:#91d596;transform:rotate(18deg)}.chain-node--field i:nth-of-type(1){left:30%}.chain-node--field i:nth-of-type(2){left:49%}.chain-node--field i:nth-of-type(3){left:68%}.chain-node--hub i{top:29px;width:27px;height:27px;border:2px solid #91d596;background:rgba(145,213,150,.12)}.chain-node--hub i:nth-of-type(1){left:17%}.chain-node--hub i:nth-of-type(2){left:40%}.chain-node--hub i:nth-of-type(3){left:63%}.chain-node--plant i:nth-of-type(1){top:29px;left:27%;width:48%;height:38px;border:2px solid #91d596;border-top-width:8px}.chain-node--plant i:nth-of-type(2){top:18px;right:26%;width:7px;height:49px;background:#91d596}.chain-node--plant i:nth-of-type(3){top:8px;right:22%;width:14px;height:14px;border:2px solid rgba(145,213,150,.8);border-radius:50%}.chain-link{display:grid;justify-items:center;gap:2px;padding:0 8px;color:#91d596}.chain-link::after{content:"→";font-size:21px}.chain-link b{font-size:10px;letter-spacing:.1em}.chain-link span{display:none}
.chain-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.17)}.chain-step{min-height:230px;padding:27px 22px;border-right:1px solid rgba(255,255,255,.17)}.chain-step:last-child{border-right:0}.chain-step strong{display:block;margin-bottom:54px;color:#91d596;font-size:12px;letter-spacing:.12em}.chain-step span{font-weight:750}.chain-step p{margin:12px 0 0;color:rgba(255,255,255,.66);font-size:14px}
.map-section{overflow:hidden;background:#183027;color:#fff}.map-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:48px;align-items:center}.map-number{display:block;color:#9dd24f;font-size:clamp(70px,8vw,118px);font-weight:850;letter-spacing:-.08em;line-height:.85}.map-copy p{color:rgba(255,255,255,.72)}
.map-stage{position:relative}.map-stage img{width:100%;filter:grayscale(1) sepia(.25) hue-rotate(60deg) saturate(.82) brightness(1.12);opacity:.92}.map-marker{position:absolute;width:16px;height:16px;border:3px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(47,135,52,.34)}.map-marker span{position:absolute;top:-8px;left:20px;padding:4px 7px;border-radius:4px;background:rgba(17,28,44,.9);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;white-space:nowrap}.zambia{left:54.5%;top:66%}.malawi{left:57%;top:64%}.zimbabwe{left:55.2%;top:71.5%}
.heading-row{display:flex;align-items:end;justify-content:space-between;gap:38px;margin-bottom:44px}.heading-row h2{max-width:790px;margin-bottom:0}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:282px;padding:30px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.service-card:hover,.service-card:focus-visible{border-color:#9ac29c;box-shadow:0 14px 34px rgba(23,34,53,.08);transform:translateY(-3px)}.service-tag{display:block;margin-bottom:47px;color:var(--green);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.service-card p{margin-bottom:25px;color:var(--muted);font-size:15px}.service-arrow{position:absolute;right:30px;bottom:26px;color:var(--green-dark);font-size:21px}
.breadth{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}.feedstock-spectrum{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:26px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#eef5ec,#fff);box-shadow:0 18px 45px rgba(17,28,44,.08)}.spectrum-core{grid-column:1/-1;padding:32px;border-radius:11px;background:#183027;color:#fff}.spectrum-core span,.spectrum-core strong,.spectrum-route span,.spectrum-route small{display:block}.spectrum-core span{color:#9bd69e;font-size:11px;font-weight:820;letter-spacing:.12em;text-transform:uppercase}.spectrum-core strong{margin-top:7px;font-size:clamp(24px,2.5vw,34px);line-height:1.05}.spectrum-route{min-height:112px;padding:21px;border:1px solid #c8dbc5;border-radius:10px;background:#fff}.spectrum-route span{color:var(--green-dark);font-weight:790}.spectrum-route small{margin-top:10px;color:var(--muted);font-size:13px}.breadth-copy p{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;padding:0;list-style:none}.chips li{padding:7px 10px;border:1px solid #bfd5bd;border-radius:999px;background:#f5faf4;color:#34563b;font-size:13px;font-weight:700}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.experience-card{padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.04)}.experience-card .meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:47px;color:#93d397;font-size:11px;font-weight:820;letter-spacing:.09em;text-transform:uppercase}.experience-card h3{font-size:25px}.experience-card p{color:rgba(255,255,255,.72);font-size:15px}.experience-card strong{display:block;margin-top:20px;color:#fff;font-size:13px}
.rrs-teaser{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:18px;background:linear-gradient(125deg,#213321,#17291e);color:#fff;box-shadow:var(--shadow)}.rrs-copy{display:flex;max-width:940px;min-height:430px;flex-direction:column;justify-content:center;padding:clamp(44px,7vw,90px)}.rrs-copy p{max-width:780px;color:rgba(255,255,255,.76)}.rrs-scope{margin-top:18px;color:#acd8ae;font-size:12px;font-weight:780;letter-spacing:.08em;text-transform:uppercase}
.insights{display:grid;grid-template-columns:.9fr 1.1fr;gap:68px;align-items:center}.insights-media{overflow:hidden;border-radius:14px;box-shadow:var(--shadow)}.insights-copy p{color:var(--muted)}
.final-cta{padding:84px 0;background:var(--green-dark);color:#fff}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.final-cta h2{max-width:790px;margin-bottom:0}
.site-footer{padding:52px 0 28px;background:#101925;color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:58px}.footer-logo{width:220px;padding:12px;border-radius:8px;background:#fff}.site-footer p,.site-footer a{color:rgba(255,255,255,.7)}.site-footer a{text-decoration:none}.site-footer h3{font-size:16px;letter-spacing:0}.footer-links{display:grid;gap:8px}.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.52);font-size:13px}
@media(max-width:1120px){.header-inner{min-height:92px}.brand{width:205px}.primary-nav{gap:14px}.nav-link,.nav-trigger{font-size:14px}.nav-cta{display:none}.layers{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.chain-inner{grid-template-columns:1fr}.chain-steps{grid-template-columns:repeat(2,1fr)}.chain-step:nth-child(2){border-right:0}.chain-step:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.17)}}
@media(max-width:860px){.container{width:min(calc(100% - 32px),var(--content))}.section{padding:78px 0}.header-inner{min-height:80px}.brand{width:185px}.menu-button{display:block}.primary-nav{position:fixed;inset:80px 0 auto;display:none;max-height:calc(100vh - 80px);padding:18px 16px 28px;overflow-y:auto;border-top:1px solid var(--line);background:#fff;box-shadow:0 20px 30px rgba(17,28,44,.1)}.primary-nav.open{display:grid}.nav-link,.nav-trigger{width:100%;padding:11px 10px;text-align:left}.dropdown{position:static;display:none;width:100%;padding:4px 8px 10px 16px;border:0;box-shadow:none;opacity:1;pointer-events:auto;transform:none}.nav-item.open .dropdown{display:grid}.hero{min-height:690px}.hero-content{width:min(calc(100% - 32px),800px);padding:94px 0 82px}.intro-grid,.map-layout,.breadth,.rrs-teaser,.insights{grid-template-columns:1fr}.decision-visual-strip{grid-template-columns:1fr 1fr}.decision-visual-strip figure:first-child{grid-column:1/-1}.chain-visual{grid-template-columns:1fr auto 1fr}.chain-node:nth-of-type(n+3),.chain-link:nth-of-type(n+4){display:none}.map-copy{text-align:center}.map-stage{max-width:820px;margin-inline:auto}.experience-grid{grid-template-columns:1fr}.final-cta-inner{display:block}.final-cta .button{margin-top:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:720px){.hero-video{display:none}.hero{background-image:linear-gradient(180deg,rgba(7,16,27,.18),rgba(7,16,27,.36)),url('hero-poster.jpg')}}
@media(max-width:560px){body{font-size:15px}.section{padding:64px 0}h1{font-size:clamp(35px,9.7vw,43px);line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(32px,10vw,43px)}.hero{min-height:650px}.hero-content{padding-top:70px}.hero-copy{font-size:18px;line-height:1.44}.hero-proof{display:grid;gap:8px}.hero-proof li+li::before{display:none}.button-row{display:grid}.button{width:100%}.decision-visual-strip{grid-template-columns:1fr}.decision-visual-strip figure,.decision-visual-strip figure:first-child{grid-column:auto;height:230px}.layers,.services-grid,.chain-steps{grid-template-columns:1fr}.layer{min-height:auto}.layer-number,.service-tag,.chain-step strong{margin-bottom:27px}.chain-visual{display:none}.chain-step{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.heading-row{display:block}.heading-row .text-link{display:inline-block;margin-top:18px}.feedstock-spectrum{grid-template-columns:1fr;padding:17px}.spectrum-core{grid-column:auto}.map-marker span{display:none}.rrs-teaser{border-radius:12px}.rrs-copy{padding:42px 25px}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Preserve approved light-heading contrast against WordPress theme heading rules. */
.hero h1,.chain h2,.section-dark h2,.section-dark h3,.map-section h2,.rrs-teaser h2,.final-cta h2,.site-footer h3{color:#fff!important}
/* Match the 2026 additions to the existing Projects pin language in the map legend. */
.map-marker{width:18px;height:26px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(-50%,-100%)}
.map-marker::before{content:"";position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50% 50% 50% 0;background:#56625a;transform:rotate(-45deg);box-shadow:0 1px 2px rgba(17,28,44,.18)}
.map-marker::after{content:"";position:absolute;top:5px;left:5px;width:8px;height:8px;border-radius:50%;background:#dfe7df}
.map-marker span{top:-1px;left:23px;padding:0;border-radius:0;background:transparent;color:#4e5a53;font-size:9px;font-weight:700;letter-spacing:0;text-shadow:0 1px 1px rgba(255,255,255,.9)}
.zambia{left:56%;top:68.2%}.zambia span{top:-10px;right:23px;left:auto}.malawi{left:58.1%;top:68.7%}.malawi span{top:-8px}.zimbabwe{left:56.4%;top:73.3%}.zimbabwe span{top:8px}
