:root {
  --g950:#071a0b; --g900:#0d2b12; --g800:#164d1f; --g700:#1a6325;
  --g600:#237a2d; --g500:#2e8b39; --g400:#3aad47; --g300:#5cc96a;
  --g200:#a8e6b0; --g100:#d4f5d8; --g50:#edfaf0;
  --b950:#04101e; --b900:#0a1f3d; --b800:#10376b; --b700:#154d8f;
  --b600:#1565c0; --b500:#1976d2; --b400:#2196f3; --b300:#64b5f6;
  --b200:#bbdefb; --b100:#e3f2fd; --b50:#f0f8ff;
  --n900:#0d1a10; --n800:#1a2b1d; --n700:#2d3d30; --n600:#3d5141;
  --n500:#5a7260; --n400:#7a9480; --n300:#a8bdb0; --n200:#d0ddd5;
  --n100:#eaf0ec; --n50:#f4f8f5; --white:#ffffff;
  --nav-bg:#0a1f3d;
  --fd:'Syne',sans-serif;
  --fb:'DM Sans',sans-serif;
  --section-pad:96px 48px;
  --container-max:1160px;
}

/* ── RESET & BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);font-size:16px;line-height:1.6;color:var(--n900);background:var(--white);-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;transition:color 0.15s;}
svg{display:block;flex-shrink:0;}
ul[role="list"]{list-style:none;padding:0;}

/* ── SKIP LINK (accessibility) ── */
.skip-link{position:absolute;top:-40px;left:0;background:var(--b600);color:#fff;padding:8px 16px;z-index:9999;border-radius:0 0 8px 0;font-size:14px;}
.skip-link:focus{top:0;}

/* ── NAV ── */
.nav{background:var(--nav-bg);padding:0 48px;display:flex;align-items:center;height:68px;border-bottom:1px solid rgba(255,255,255,0.07);position:sticky;top:0;z-index:100;transition:box-shadow 0.2s;}
.nav.scrolled{box-shadow:0 2px 24px rgba(0,0,0,0.3);}
/*.nav-logo{width: 240px;height: 60px;text-decoration: none;display: flex;align-items: center;gap: 8px;padding: 10px;}*/
.nav-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-right: auto;
  text-decoration: none;
  width: 240px;
  height: 60px;
}
.nav img{max-width:100%;height:100%;display: block;}
.nav-spacer{flex:1;}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none;padding:0;}
.nav-links a{font-size:13.5px;color:#a8c4e0;text-decoration:none;padding:7px 14px;border-radius:5px;transition:all 0.15s;}
.nav-links a:hover,.nav-links a.active{color:var(--white);background:rgba(255,255,255,0.08);}
.nav-cta{background:var(--g500)!important;color:var(--white)!important;font-weight:500;padding:9px 22px!important;border-radius:8px!important;}
.nav-cta:hover{background:var(--g400)!important;}
.nav-cart{display:flex;align-items:center;gap:6px;color:#a8c4e0;text-decoration:none;padding:7px 12px;border-radius:5px;font-size:13.5px;position:relative;margin-left:8px;}
.nav-cart:hover{color:var(--white);background:rgba(255,255,255,0.08);}
.cart-badge{position:absolute;top:2px;right:4px;width:16px;height:16px;background:var(--b400);border-radius:50%;font-size:9px;font-weight:700;color:var(--white);display:flex;align-items:center;justify-content:center;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.nav-hamburger span{display:block;width:22px;height:2px;background:#a8c4e0;border-radius:2px;transition:all 0.25s;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fb);font-size:14px;font-weight:500;padding:12px 24px;border-radius:8px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:all 0.15s;white-space:nowrap;line-height:1;}
.btn-g{background:var(--g500);color:var(--white);border-color:var(--g500);}
.btn-g:hover{background:var(--g400);border-color:var(--g400);color:var(--white);}
.btn-b{background:var(--b600);color:var(--white);border-color:var(--b600);}
.btn-b:hover{background:var(--b500);border-color:var(--b500);color:var(--white);}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,0.3);color:var(--white);}
.btn-ghost:hover{border-color:rgba(255,255,255,0.7);color:var(--white);}
.btn-outline-g{background:transparent;border-color:var(--g400);color:var(--g600);}
.btn-outline-g:hover{background:var(--g50);}
.btn-outline-b{background:transparent;border-color:var(--b400);color:var(--b600);}
.btn-outline-b:hover{background:var(--b50);}
.btn-lg{padding:15px 32px;font-size:15px;}
.btn-sm{padding:8px 16px;font-size:13px;}

/* ── LAYOUT ── */
.s{padding:var(--section-pad);}
.s-tint{background:var(--n50);}
.con{max-width:var(--container-max);margin:0 auto;}
.section-header{margin-bottom:48px;}
.section-header--center{text-align:center;}
.section-header--center .lead{margin:0 auto;}
.section-header--split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}

/* ── TYPOGRAPHY ── */
.eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px;display:block;}
.eyebrow-g{color:var(--g500);}
.eyebrow-b{color:var(--b600);}
.h2{font-family:var(--fd);font-size:38px;font-weight:700;line-height:1.15;letter-spacing:-0.5px;color:var(--n900);margin-bottom:16px;}
.h2.light{color:var(--white);}
.lead{font-size:17px;font-weight:300;line-height:1.75;color:var(--n600);max-width:560px;}
.lead.light{color:var(--n300);}

/* ── TAGS ── */
.tag{display:inline-block;font-size:11px;font-weight:500;letter-spacing:0.5px;padding:3px 10px;border-radius:20px;}
.tag-g{background:var(--g100);color:var(--g700);}
.tag-b{background:var(--b100);color:var(--b700);}

/* ── FLASH MESSAGES ── */
.flash-messages{position:fixed;top:72px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:380px;}
.flash{padding:12px 16px;border-radius:8px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 4px 16px rgba(0,0,0,0.12);}
.flash--success{background:#d4f5d8;color:#1a6325;border:1px solid #a8e6b0;}
.flash--error{background:#fde8e8;color:#b91c1c;border:1px solid #fca5a5;}
.flash--info{background:var(--b100);color:var(--b700);border:1px solid var(--b200);}
.flash-close{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;color:inherit;opacity:0.6;}
.flash-close:hover{opacity:1;}

/* ── HERO ── */
.hero{background:#071a0b;min-height:88vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;overflow:hidden;}
/* Full-bleed solar farm photo behind everything */
.hero::after{content:'';position:absolute;inset:0;background-image:url('/static/solar_farm.jpg');background-size:cover;background-position:center;z-index:0;}
/* Dark gradient overlay — heavier on left so text stays readable, fades to lighter on right */
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,11,0.88) 0%,rgba(7,26,11,0.55) 55%,rgba(7,26,11,0.25) 100%);z-index:1;}
.hero-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.022) 1px,transparent 1px);background-size:52px 52px;pointer-events:none;z-index:2;}
.hero-left{padding:80px 56px 80px 48px;position:relative;z-index:3;}
.hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--g400);margin-bottom:24px;display:flex;align-items:center;gap:10px;}
.hero-eyebrow::before{content:'';width:24px;height:1px;background:var(--g400);}
.hero-h1{font-family:var(--fd);font-size:58px;font-weight:800;line-height:1.08;letter-spacing:-1.5px;margin-bottom:24px;display:flex;flex-direction:column;gap:4px;}
.hero-green{color:var(--g400);}
.hero-blue{color:var(--b300);}
.hero-white{color:var(--white);}
.hero-sub{font-size:17px;font-weight:300;color:var(--n300);line-height:1.75;margin-bottom:36px;max-width:480px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px;}
.hero-stats{display:flex;gap:40px;align-items:center;}
.hero-stat{}
.stat-num{font-family:var(--fd);font-size:30px;font-weight:800;color:var(--white);}
.stat-lbl{font-size:12px;color:var(--n400);margin-top:3px;}
.stat-div{width:1px;height:40px;background:rgba(255,255,255,0.1);}
.hero-right{position:relative;z-index:2;height:100%;min-height:88vh;display:flex;align-items:center;justify-content:center;}
.hero-photo-panel{display:flex;align-items:center;justify-content:center;padding:40px;}
.hero-photo{width:100%;height:auto;object-fit:contain;opacity:0.85;max-width: 700px;}

/* ── DIVISION CARDS ── */
.divisions{display:grid;grid-template-columns:1fr 1fr;}
.div-card{padding:56px 48px;position:relative;overflow:hidden;cursor:pointer;transition:filter 0.2s;text-decoration:none;}
.div-card.solar{background:linear-gradient(135deg,var(--b900),var(--b950));}
.div-card.recycling{background:linear-gradient(135deg,var(--g900),var(--g950));}
.div-card:hover{filter:brightness(1.1);}
.div-accent{position:absolute;top:0;left:0;width:4px;height:100%;}
.solar .div-accent{background:var(--b400);}
.recycling .div-accent{background:var(--g400);}
.div-num{font-family:var(--fd);font-size:72px;font-weight:800;position:absolute;top:28px;right:36px;opacity:0.07;color:var(--white);line-height:1;user-select:none;}
.div-tag{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;display:block;}
.solar .div-tag{color:var(--b300);}
.recycling .div-tag{color:var(--g300);}
.div-title{font-family:var(--fd);font-size:25px;font-weight:700;color:var(--white);margin-bottom:12px;line-height:1.2;}
.div-body{font-size:15px;color:var(--n300);line-height:1.7;margin-bottom:22px;max-width:380px;}
.div-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;}
.div-badge{font-size:11px;padding:3px 10px;border-radius:20px;background:rgba(255,255,255,0.07);color:var(--n300);}
.div-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;text-decoration:none;transition:gap 0.15s;}
.solar .div-link{color:var(--b300);}
.recycling .div-link{color:var(--g300);}
.div-card:hover .div-link{gap:13px;}

/* ── USP SECTION ── */
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--n100);border-radius:16px;overflow:hidden;margin-top:56px;}
.usp-item{padding:36px 28px;border-right:1px solid var(--n100);}
.usp-item:last-child{border-right:none;}
.usp-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.usp-icon--blue{background:var(--b100);}
.usp-icon--green{background:var(--g100);}
.usp-title{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--n900);margin-bottom:8px;}
.usp-body{font-size:14px;color:var(--n500);line-height:1.65;}

/* ── PRODUCT GRID ── */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.product-card{background:var(--white);border:1px solid var(--n100);border-radius:14px;overflow:hidden;transition:all 0.2s;}
.product-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.09);transform:translateY(-2px);}
.product-card-link{display:block;text-decoration:none;}
.product-img{height:180px;background:linear-gradient(135deg,var(--b200),var(--b100));overflow:hidden;}
.product-img img{width:100%;height:100%;object-fit:contain;padding:16px;}
.product-img--ph{display:flex;align-items:center;justify-content:center;position:relative;}
.product-img--ph::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(255,255,255,0.3) 12px,rgba(255,255,255,0.3) 13px);}
.product-img--ph span{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--b700);position:relative;z-index:1;background:rgba(255,255,255,0.75);padding:4px 10px;border-radius:20px;}
.product-card-body{padding:20px;}
.product-name{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--n900);margin:8px 0 4px;}
.product-name a{text-decoration:none;color:inherit;}
.product-name a:hover{color:var(--b600);}
.product-desc{font-size:13px;color:var(--n500);line-height:1.55;margin-bottom:14px;}
.product-footer{display:flex;align-items:center;justify-content:space-between;}
.product-price{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--b600);}
.product-price-vat{font-size:12px;color:var(--n400);font-family:var(--fb);font-weight:400;}
.btn-add-cart{background:var(--b600);color:var(--white);border:none;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--fb);text-decoration:none;display:inline-block;transition:background 0.15s;}
.btn-add-cart:hover{background:var(--b500);}

/* ── CASE STUDY GRID ── */
.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.cs-card{border-radius:14px;overflow:hidden;border:1px solid var(--n100);background:var(--white);transition:all 0.2s;}
.cs-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.09);transform:translateY(-2px);}
.cs-card-img-link{display:block;text-decoration:none;}
.cs-img{height:210px;overflow:hidden;}
.cs-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s;}
.cs-card:hover .cs-img img{transform:scale(1.03);}
.cs-img--ph{display:flex;align-items:center;justify-content:center;position:relative;}
.cs-img--ph::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 14px,rgba(255,255,255,0.25) 14px,rgba(255,255,255,0.25) 15px);}
.cs-img--ph span{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;position:relative;z-index:1;background:rgba(255,255,255,0.72);padding:4px 10px;border-radius:20px;}
.cs-img--blue{background:linear-gradient(135deg,var(--b200),var(--b100));}
.cs-img--blue span{color:var(--b700);}
.cs-img--green{background:linear-gradient(135deg,var(--g200),var(--g100));}
.cs-img--green span{color:var(--g700);}
.cs-body{padding:24px;}
.cs-title{font-family:var(--fd);font-size:19px;font-weight:700;color:var(--n900);margin:10px 0 8px;line-height:1.3;}
.cs-title a{text-decoration:none;color:inherit;}
.cs-title a:hover{color:var(--g600);}
.cs-excerpt{font-size:14px;color:var(--n500);line-height:1.65;margin-bottom:14px;}
.cs-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--g600);text-decoration:none;}
.cs-link:hover{color:var(--g400);}

/* ── TESTIMONIALS ── */
.testi-trust{display:flex;gap:32px;align-items:center;background:var(--n50);border:1px solid var(--n100);border-radius:14px;padding:24px 28px;flex-shrink:0;}
.testi-trust-stat{text-align:center;}
.testi-trust-num{font-family:var(--fd);font-size:26px;font-weight:800;color:var(--n900);line-height:1;}
.testi-trust-lbl{font-size:11px;color:var(--n400);margin-top:4px;}
.testi-trust-div{width:1px;height:36px;background:var(--n200);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.testi-card{background:var(--white);border:1px solid var(--n100);border-radius:0 0 14px 14px;padding:28px;display:flex;flex-direction:column;gap:18px;}
.testi-card--blue{border-top:3px solid var(--b400);}
.testi-card--green{border-top:3px solid var(--g400);}
.testi-card-top{display:flex;justify-content:space-between;align-items:flex-start;}
.stars{display:flex;gap:2px;}
.testi-quote{font-size:15px;color:var(--n700);line-height:1.75;font-style:italic;flex:1;}
.testi-quote p::before{content:'\201C';font-size:20px;color:var(--n300);line-height:0;vertical-align:-6px;margin-right:2px;}
.testi-quote p::after{content:'\201D';font-size:20px;color:var(--n300);line-height:0;vertical-align:-6px;margin-left:2px;}
.testi-divider{height:1px;background:var(--n100);}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:13px;font-weight:700;flex-shrink:0;}
.testi-avatar--b{background:var(--b100);color:var(--b700);}
.testi-avatar--g{background:var(--g100);color:var(--g700);}
.testi-name{font-family:var(--fd);font-size:14px;font-weight:700;color:var(--n900);}
.testi-role{font-size:12px;color:var(--n400);margin-top:2px;}

/* ── CTA BAND ── */
.cta-band{background:linear-gradient(135deg,var(--b900) 0%,var(--g900) 100%);padding:var(--section-pad);}
.cta-inner{display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center;}
.cta-btns{display:flex;flex-direction:column;gap:12px;flex-shrink:0;}

/* ── BREADCRUMB ── */
.bc{padding:13px 48px;background:var(--n50);border-bottom:1px solid var(--n100);display:flex;align-items:center;gap:8px;font-size:13px;color:var(--n400);}
.bc a{color:var(--n400);text-decoration:none;}
.bc a:hover{color:var(--b600);}
.bc-sep{color:var(--n300);}
.bc-cur{color:var(--n700);font-weight:500;}

/* ── FOOTER ── */
.footer{background:var(--g950);padding:80px 48px 36px;}
.footer-inner{max-width:var(--container-max);margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.footer-logo{height: 120px;;width:auto;margin-bottom:16px;}
.footer-tagline{font-size:14px;color:var(--n400);line-height:1.65;max-width:230px;}
.footer-col-title{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--n500);margin-bottom:16px;}
.footer-links{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-links a{color:var(--n400);text-decoration:none;font-size:14px;transition:color 0.15s;}
.footer-links a:hover{color:var(--g300);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.07);padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--n600);}
.footer-bottom-links{display:flex;gap:20px;}
.footer-bottom-links a{color:var(--n500);text-decoration:none;font-size:12px;}
.footer-bottom-links a:hover{color:var(--n300);}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media(max-width:1024px){
  :root{--section-pad:72px 32px;}
  .hero{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-left{padding:64px 32px;}
  .hero-h1{font-size:48px;}
  .divisions{grid-template-columns:1fr;}
  .usp-grid{grid-template-columns:1fr 1fr;}
  .usp-item:nth-child(2){border-right:none;}
  .usp-item:nth-child(3){border-top:1px solid var(--n100);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .cta-inner{grid-template-columns:1fr;gap:32px;}
  .cta-btns{flex-direction:row;}
  .testi-trust{flex-wrap:wrap;}
}
@media(max-width:768px){
  :root{--section-pad:56px 20px;}
  .nav{padding:0 20px;}
  .nav-links{display:none;top:68px;left:0;right:0;background:var(--nav-bg);flex-direction:column;padding:16px 20px 24px;gap:4px;border-bottom:1px solid rgba(255,255,255,0.07);font-size: 13px;font-weight: 600;letter-spacing: .14em;text-transform: uppercase;text-decoration: none;transition: color var(--g500);position: relative;}
  .nav-links.open{display: flex;flex-direction: column;position: fixed;top: 67px;left: 0;right: 0;padding: 24px;gap: 20px;}
  .nav-hamburger{display:flex;}
  .hero-h1{font-size:38px;}
  .product-grid{grid-template-columns:1fr 1fr;}
  .cs-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .usp-grid{grid-template-columns:1fr;border-radius:0;}
  .usp-item{border-right:none;border-bottom:1px solid var(--n100);}
  .section-header--split{flex-direction:column;align-items:flex-start;}
  .h2{font-size:28px;}
  .footer-grid{grid-template-columns:1fr;}
  .bc{padding:12px 20px;}
  .nav-logo{width: 150px; padding:10px;}
  .nav img{width: 100%; height: auto;}
}
@media(max-width:480px){
  .hero-h1{font-size:32px;}
  .hero-btns{flex-direction:row;}
  .product-grid{grid-template-columns:1fr;}
  .cta-btns{flex-direction:column;}
  .hero-stats{gap:10px;flex-direction: column;align-items: flex-start;}
  .stat-div{display:none;}
}
