:root {
  --navy:#041426;
  --navy-2:#092a4e;
  --blue:#37a2ff;
  --blue-light:#76c4ff;
  --white:#fff;
  --paper:#f5f7fa;
  --ink:#0b1b33;
  --muted:#5f6d80;
  --line:rgba(11,27,51,.12);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.site-header{
  position:absolute;z-index:30;top:0;left:0;width:100%;height:90px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 max(28px,calc((100vw - var(--max))/2));color:#fff
}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{width:47px;height:47px;color:var(--blue-light)}
.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}
.brand-copy{display:grid;gap:2px;letter-spacing:.14em}
.brand-copy strong{font-family:"Playfair Display",serif;font-size:21px;font-weight:500}
.brand-copy small{font-size:12px;letter-spacing:.44em;color:var(--blue-light)}
.main-nav{display:flex;gap:32px}
.main-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.13em;opacity:.9;position:relative;padding:12px 0}
.main-nav a:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--blue-light);transition:.25s}
.main-nav a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;padding:10px}
.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:6px 0}
.hero{position:relative;min-height:720px;color:#fff;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-image{position:absolute;inset:0;background:url('assets/hero-earth.jpg') center right/cover no-repeat;transform:scale(1.02)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,38,.98) 0%,rgba(4,20,38,.88) 37%,rgba(4,20,38,.23) 68%,rgba(4,20,38,.03) 100%)}
.hero-inner{position:relative;z-index:5;width:min(var(--max),calc(100% - 56px));margin:0 auto;padding-top:85px}
.kicker{text-transform:uppercase;letter-spacing:.26em;font-size:11px;color:var(--blue-light);margin:0 0 22px}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,76px);line-height:1.04;font-weight:500;max-width:640px;margin:0}
.accent-line{width:52px;height:2px;background:var(--blue);margin:28px 0 24px}
.lead{max-width:505px;font-size:16px;line-height:1.75;color:rgba(255,255,255,.86);margin:0 0 32px}
.hero-actions,.contact-actions{display:flex;gap:16px;flex-wrap:wrap}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 27px;border-radius:2px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--blue);color:#fff}
.button-outline{border:1px solid rgba(255,255,255,.78);color:#fff}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(28px,calc((100vw - var(--max))/2));background:#fff}
.pillars article{padding:54px 34px 48px;border-right:1px solid var(--line)}
.pillars article:last-child{border-right:0}
.pillar-number{font-size:11px;letter-spacing:.14em;color:var(--blue)}
.pillars h2{font-family:"Playfair Display",serif;font-size:24px;font-weight:500;margin:27px 0 15px}
.pillars p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:430px}
.split-image{background-position:center;background-size:cover}
.forest{background-image:url('assets/forest.jpg')}
.energy{background-image:url('assets/energy.jpg')}
.split-copy{padding:76px max(45px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}
.split-copy.dark{background:linear-gradient(125deg,var(--navy),var(--navy-2));color:#fff;padding-left:70px;padding-right:max(28px,calc((100vw - var(--max))/2))}
.split-copy.light{background:#fff;padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:70px}
.section-label{margin:0 0 18px;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700;color:var(--blue)}
.split-copy h2,.impact h2,.contact h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(32px,4vw,48px);line-height:1.22;margin:0 0 22px}
.split-copy p:not(.section-label){font-size:14px;line-height:1.75;color:var(--muted);max-width:570px;margin:0 0 24px}
.split-copy.dark p:not(.section-label){color:rgba(255,255,255,.73)}
.text-link{text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700;color:var(--blue)}
.text-link span{margin-left:8px}
.impact{padding:82px max(28px,calc((100vw - var(--max))/2));background:linear-gradient(rgba(4,20,38,.92),rgba(4,20,38,.95)),url('assets/forest.jpg') center/cover;color:#fff;text-align:center}
.section-label.pale{color:var(--blue-light)}
.impact h2{max-width:850px;margin:0 auto 52px}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14)}
.impact-grid div{background:rgba(4,20,38,.66);padding:31px 26px}
.impact-grid strong,.impact-grid span{display:block}
.impact-grid strong{font-size:15px;margin-bottom:10px}
.impact-grid span{font-size:12px;line-height:1.6;color:rgba(255,255,255,.67)}
.contact{padding:88px max(28px,calc((100vw - var(--max))/2));text-align:center}
.contact h2{max-width:850px;margin:0 auto}
.contact>p:not(.section-label){max-width:690px;margin:22px auto 28px;line-height:1.7;color:var(--muted)}
.contact-actions{justify-content:center;align-items:center}
.phone{color:#1d6fae;font-weight:600}
footer{padding:30px max(28px,calc((100vw - var(--max))/2));background:#020d18;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-brand{display:grid;gap:6px}
.footer-brand strong{letter-spacing:.12em}
.footer-brand span,.footer-links a{font-size:12px;color:rgba(255,255,255,.56)}
.footer-links{display:flex;gap:24px}
@media(max-width:900px){
  .menu-toggle{display:block;z-index:32}
  .main-nav{position:absolute;top:0;right:0;width:min(330px,82vw);height:100vh;background:var(--navy);padding:100px 36px;flex-direction:column;transform:translateX(100%);transition:.25s}
  .main-nav.open{transform:translateX(0)}
  .hero-image{background-position:62% center}
  .pillars{grid-template-columns:1fr 1fr}
  .pillars article:nth-child(2){border-right:0}
  .pillars article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .split{grid-template-columns:1fr}
  .split-image{min-height:320px}
  .reverse .split-copy{order:2}
  .reverse .split-image{order:1}
  .split-copy.dark,.split-copy.light{padding:65px 34px}
  .impact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .brand-copy strong{font-size:17px}
  .brand-mark{width:40px;height:40px}
  .hero{min-height:690px}
  .hero-image{background-position:68% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(4,20,38,.98),rgba(4,20,38,.76))}
  .hero-inner{width:calc(100% - 38px)}
  .hero h1{font-size:43px}
  .lead{font-size:15px}
  .button{width:100%}
  .pillars{grid-template-columns:1fr;padding:0 22px}
  .pillars article{border-right:0;border-bottom:1px solid var(--line);padding:42px 8px}
  .impact-grid{grid-template-columns:1fr}
  .contact{padding:68px 22px}
  footer{flex-direction:column;align-items:flex-start}
  .footer-links{flex-wrap:wrap}
}
