:root{
    --dark:#122316;
    --darker:#0c1a10;
    --dark-line:rgba(245,241,230,0.12);
    --cream:#f7f3e8;
    --cream-2:#ffffff;
    --gold:#ecb63f;
    --gold-dark:#d99a1f;
    --text-light:#f5f1e6;
    --text-light-muted:#b9c2ab;
    --text-dark:#1a2b1c;
    --text-muted:#5b6259;
    --energy:#ecb63f;
    --health:#e0735c;
    --climate:#4f9d5c;
    --cities:#4ba3c7;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--text-dark);
    background:var(--cream);
  }
  h1,h2,h3,.brand{font-family:'Poppins',sans-serif;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 40px;}

  header{
    background:var(--cream); border-bottom:1px solid rgba(0,0,0,0.06);
    position:relative; z-index:10;
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 40px; max-width:1180px; margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:10px; font-weight:700; font-size:15px; letter-spacing:.02em;}
  .brand img{width:30px; height:30px;}
  .navlinks{display:flex; gap:30px; font-size:14px; font-weight:500; color:#33402f;}
  .navlinks a.active{color:var(--gold-dark); border-bottom:2px solid var(--gold-dark); padding-bottom:4px;}
  .cta-pill{
    background:var(--dark); color:var(--text-light); padding:10px 20px; border-radius:24px;
    font-size:13.5px; font-weight:600;
  }
  @media (max-width:900px){ .navlinks{display:none;} }

  .hero{
    background:radial-gradient(ellipse at 78% 45%, #1a3020 0%, var(--dark) 55%, var(--darker) 100%);
    color:var(--text-light);
    padding:70px 40px 56px;
  }
  .hero-inner{
    max-width:1180px; margin:0 auto; display:grid;
    grid-template-columns:1fr 1fr; gap:40px; align-items:center;
  }
  .eyebrow{
    font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold); margin-bottom:16px;
  }
  .hero h1{
    font-size:44px; line-height:1.14; font-weight:700; letter-spacing:-0.01em;
    margin-bottom:20px;
  }
  .hero p.lead{
    font-size:15.5px; line-height:1.65; color:var(--text-light-muted); max-width:440px; margin-bottom:30px;
  }
  .btn-row{display:flex; gap:14px; margin-bottom:36px; flex-wrap:wrap;}
  .btn{
    padding:13px 24px; border-radius:28px; font-size:14px; font-weight:600; cursor:pointer;
    display:inline-block;
  }
  .btn-gold{background:var(--gold); color:#2a1c04;}
  .btn-outline{background:transparent; color:var(--text-light); border:1px solid rgba(245,241,230,0.35);}
  .legend{display:flex; gap:24px; flex-wrap:wrap; font-size:12.5px; color:var(--text-light-muted);}
  .legend span{display:inline-flex; align-items:center; gap:7px;}
  .legend i{width:8px; height:8px; border-radius:50%; display:inline-block;}

  .map-wrap{position:relative;}
  .pin-label{
    position:absolute; font-size:11.5px; line-height:1.3; max-width:150px;
  }
  .pin-label .title{font-weight:600; color:var(--text-light); display:flex; align-items:center; gap:7px;}
  .pin-label .sub{color:var(--text-light-muted); margin-left:15px; font-size:11px;}
  .pin-label i{width:7px; height:7px; border-radius:50%; display:inline-block; flex:none;}

  .section{padding:80px 40px;}
  .section-cream{background:var(--cream);}
  .kicker{
    font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    color:var(--gold-dark); margin-bottom:14px;
  }
  .section h2{font-size:32px; font-weight:700; line-height:1.2; letter-spacing:-0.01em; max-width:620px;}
  .section p.desc{font-size:15px; color:var(--text-muted); line-height:1.65; max-width:560px; margin-top:16px;}

  .steps{
    display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:56px;
    max-width:1100px;
  }
  .step .num{font-size:12px; font-weight:700; color:var(--gold-dark); letter-spacing:.06em; margin-bottom:14px;}
  .step .badge{
    width:40px; height:40px; border-radius:50%; background:var(--dark); color:var(--gold);
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px;
    margin-bottom:16px;
  }
  .step h3{font-size:16px; font-weight:600; margin-bottom:6px;}
  .step .tag{font-size:10.5px; font-weight:700; letter-spacing:.08em; color:var(--gold-dark); margin-bottom:8px; display:block;}
  .step .stext{font-size:13px; color:var(--text-muted); line-height:1.55;}
  @media (max-width:900px){ .steps{grid-template-columns:repeat(2,1fr);} }

  /* gallery */
  .gallery-wrap{margin-top:64px; max-width:1100px;}
  .gallery-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:10px;}
  .gallery-head h3{font-size:18px; font-weight:600;}
  .gallery-head span{font-size:12.5px; color:var(--text-muted);}
  .gallery{
    position:relative; overflow:hidden; border-radius:16px;
  }
  .gallery-track{
    display:flex; transition:transform .6s cubic-bezier(.65,0,.35,1);
  }
  .gallery-slide{
    flex:0 0 100%; position:relative; aspect-ratio:16/8.6;
  }
  .gallery-slide img{width:100%; height:100%; object-fit:cover; display:block;}
  .gallery-caption{
    position:absolute; left:0; right:0; bottom:0;
    background:linear-gradient(to top, rgba(12,26,16,0.85), rgba(12,26,16,0));
    color:var(--text-light); padding:26px 24px 16px; font-size:13px;
  }
  .gallery-caption b{display:block; font-size:14.5px; margin-bottom:3px;}
  .gallery-nav{
    position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%;
    background:rgba(12,26,16,0.55); color:#fff; border:1px solid rgba(255,255,255,0.35);
    display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; user-select:none;
    backdrop-filter:blur(2px);
  }
  .gallery-prev{left:14px;}
  .gallery-next{right:14px;}
  .gallery-dots{display:flex; gap:8px; justify-content:center; margin-top:16px;}
  .gallery-dots button{
    width:7px; height:7px; border-radius:50%; border:none; background:#d8d2c0; cursor:pointer; padding:0;
  }
  .gallery-dots button.active{background:var(--gold-dark); width:20px; border-radius:4px;}
  @media (max-width:700px){ .gallery-slide{aspect-ratio:4/5;} }
  .stat-band{
    background:var(--gold); padding:44px 40px; display:grid; grid-template-columns:repeat(4,1fr);
    text-align:center; gap:20px;
  }
  .stat-band .num{font-size:34px; font-weight:800; color:#2a1c04; font-family:'Poppins',sans-serif;}
  .stat-band .lbl{font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#4a3608; margin-top:6px;}
  @media (max-width:800px){ .stat-band{grid-template-columns:repeat(2,1fr);} }

  .flagship{
    background:var(--dark); color:var(--text-light); padding:80px 40px;
  }
  .flagship-inner{
    max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center;
  }
  .flagship h2{font-size:30px; font-weight:700; line-height:1.25; margin-bottom:18px; color:var(--text-light);}
  .flagship p{font-size:14.5px; color:var(--text-light-muted); line-height:1.7; margin-bottom:26px;}
  .flagship-img{
    background:var(--gold); border-radius:20px; padding:10px; position:relative;
  }
  .flagship-img .inner{
    background:linear-gradient(135deg,#1c3322,#0d1912); border-radius:14px; aspect-ratio:16/11;
    display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative;
  }
  .flagship-img svg{width:56%; opacity:0.85;}
  @media (max-width:900px){ .flagship-inner{grid-template-columns:1fr;} }

  .reach-cards{
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:52px; max-width:1100px;
  }
  .reach-card{
    background:var(--cream-2); border:1px solid rgba(0,0,0,0.06); border-radius:14px; padding:26px 22px;
  }
  .reach-card .num{font-size:26px; font-weight:800; font-family:'Poppins',sans-serif;}
  .reach-card .lbl{font-size:12px; color:var(--text-muted); margin-top:6px;}
  @media (max-width:800px){ .reach-cards{grid-template-columns:repeat(2,1fr);} }

  footer{background:var(--dark); color:var(--text-light-muted); padding:60px 40px 0;}
  .footer-inner{
    max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
    padding-bottom:44px;
  }
  .footer-brand{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--text-light); font-size:15px; margin-bottom:14px;}
  .footer-brand img{width:26px; height:26px;}
  .footer-inner p{font-size:13px; line-height:1.6; max-width:230px;}
  .footer-col h4{font-size:13px; font-weight:600; color:var(--text-light); margin-bottom:14px;}
  .footer-col a{display:block; font-size:13px; margin-bottom:10px; color:var(--text-light-muted);}
  .footer-bottom{
    border-top:1px solid var(--dark-line); padding:20px 0; display:flex; justify-content:space-between;
    font-size:12px; flex-wrap:wrap; gap:8px;
  }
  @media (max-width:800px){ .footer-inner{grid-template-columns:1fr 1fr;} }


/* Homepage mobile layout */
.home-hero{padding-left:0;padding-right:0}
@media (max-width: 900px){
  .home-hero .hero-inner{grid-template-columns:1fr;gap:24px}
  .home-hero .map-wrap{max-width:560px;margin:0 auto;width:100%}
  .home-hero .hero-inner{padding-left:28px;padding-right:28px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
  .stat-band{grid-template-columns:repeat(2,minmax(0,1fr));padding:36px 24px}
  .flagship-inner{grid-template-columns:1fr;gap:34px}
  .reach-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (max-width: 600px){
  .home-hero{padding-top:48px;padding-bottom:36px}
  .home-hero .hero-inner{padding-left:18px;padding-right:18px}
  .home-hero .hero h1{font-size:34px;line-height:1.12}
  .home-hero .hero p.lead{font-size:15px}
  .home-hero .map-wrap{min-height:310px}
  .home-hero .map-wrap svg{height:auto;max-height:360px}
  .pin-label{font-size:10px;max-width:115px}
  .pin-label .sub{font-size:9px}
  .section{padding:56px 0}
  .section h2{font-size:28px}
  .steps{grid-template-columns:1fr;gap:26px}
  .gallery-wrap{margin-top:44px}
  .gallery-head{align-items:flex-start;flex-direction:column}
  .gallery-slide{aspect-ratio:4/3}
  .gallery-caption{padding:32px 14px 12px;font-size:12px}
  .gallery-nav{width:34px;height:34px}
  .gallery-prev{left:8px}.gallery-next{right:8px}
  .stat-band{grid-template-columns:1fr 1fr;padding:30px 14px;gap:24px 10px}
  .stat-band .num{font-size:28px}
  .stat-band .lbl{font-size:9px;line-height:1.35}
  .flagship{padding:56px 0}
  .flagship h2{font-size:28px}
  .flagship-img{padding:6px;border-radius:14px}
  .reach-cards{grid-template-columns:1fr;gap:12px;margin-top:32px}
}
@media (max-width: 380px){.stat-band{grid-template-columns:1fr}.home-hero .hero h1{font-size:30px}}
