:root{--navy:#082d50;--navy2:#062541;--green:#128b40;--green2:#0b783a;--gold:#ffb900;--text:#102b43;--muted:#61727d;--line:#dfe7e2;--pale:#f4f8f5;--pale2:#eaf5e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--text);font-size:16px;line-height:1.6;background:#fff}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}img{max-width:100%}.topbar{background:var(--navy);color:#dbe8f1;font-size:12px;padding:7px 5.5vw;display:flex;justify-content:space-between;gap:20px}.topbar div{display:flex;gap:14px}.topbar a:hover{color:var(--gold)}.header{height:80px;padding:0 5.5vw;display:flex;align-items:center;gap:24px;position:sticky;top:0;background:#fff;z-index:1000;border-bottom:1px solid #e6edf0}.brand{display:flex;align-items:center;flex:0 1 235px;min-width:0}.brand img{display:block;width:225px;max-width:100%;height:auto;max-height:66px;object-fit:contain;background:transparent}.header nav{margin-left:auto;display:flex;align-items:center;gap:19px;font-size:14px;font-weight:700;color:#274258}.header nav a:hover{color:var(--green)}.quote{background:var(--gold);color:var(--text);padding:12px 15px;border-radius:7px;font-size:14px;font-weight:800;white-space:nowrap}.quote b{font-size:16px}.menu{display:none;appearance:none;-webkit-appearance:none;flex:0 0 48px;width:48px;height:48px;padding:0;margin:0;border:1px solid #cfdbe2;border-radius:8px;background:#fff;position:relative;z-index:1100;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.menu span{position:absolute;left:10px;width:28px;height:3px;border-radius:3px;background:var(--navy);transition:transform .2s ease,opacity .2s ease}.menu span:nth-child(1){top:14px}.menu span:nth-child(2){top:22px}.menu span:nth-child(3){top:30px}.menu.is-open span:nth-child(1){top:22px;transform:rotate(45deg)}.menu.is-open span:nth-child(2){opacity:0}.menu.is-open span:nth-child(3){top:22px;transform:rotate(-45deg)}.hero{min-height:565px;padding:70px 5.5vw;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;background:linear-gradient(120deg,#f7fbfd,#eff8f1)}.eyebrow{font-size:11px;letter-spacing:2px;color:#b07800;font-weight:800;margin-bottom:13px}.hero h1,h2{font-family:Manrope,sans-serif;line-height:1.05;letter-spacing:-1.7px}.hero h1{font-size:clamp(44px,5vw,60px);margin:0 0 19px}.hero h1 span,h2 span{color:var(--green)}.hero-copy>p{font-size:18px;color:var(--muted);max-width:630px}.actions{display:flex;gap:11px;margin:27px 0}.btn{display:inline-flex;justify-content:center;align-items:center;padding:13px 18px;border-radius:7px;font-size:15px;font-weight:800;border:0;cursor:pointer}.btn:disabled{opacity:.65;cursor:wait}.yellow{background:var(--gold);color:var(--text)}.outline{border:1px solid #bfcbd5;color:var(--navy);background:transparent}.hero-points{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:#486270}.hero-visual{height:410px;border-radius:21px;position:relative;overflow:hidden;background:url("rooftop-residential.jpg") center/cover;box-shadow:0 20px 55px #082d5020}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff1,#fff0 60%,#0001)}.hero-badge{position:absolute;z-index:2;left:20px;top:20px;background:#fff;border-radius:14px;padding:15px 18px;display:flex;gap:11px;align-items:center;box-shadow:0 8px 22px #0002}.hero-badge strong{font:800 34px Manrope;color:var(--green2)}.hero-badge span{font-size:12px;font-weight:800}.hero-card{position:absolute;z-index:2;right:16px;bottom:16px;background:#fff;border-radius:9px;padding:13px 16px;display:flex;flex-direction:column;box-shadow:0 8px 20px #0002}.hero-card b{font-size:14px}.hero-card small{font-size:11px;color:#6b7a83}.quick-services{padding:20px 5.5vw;background:var(--pale);display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.service-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.service-image{height:150px;background-position:center;background-size:cover}.residential{background-image:url("rooftop-residential.jpg")}.industrial{background-image:url("industrial-rooftop.jpg")}.ground{background-image:url("ground-solar.jpg")}.agri{background-image:url("ground-solar.jpg");background-position:center 60%}.pump{background-image:url("agri-pump.webp")}.service-body{position:relative;padding:18px}.service-icon{position:absolute;right:16px;top:-25px;width:49px;height:49px;border-radius:50%;border:4px solid #fff;background:#0b9846;color:#fff;display:grid;place-items:center;font-size:17px}.service-body h3{font:800 20px Manrope;margin:0 0 2px}.service-body small{font-size:11px;letter-spacing:1px;color:#62727c}.service-body p{font-size:15px;color:#68777e;min-height:60px}.service-body a,.card-copy a{font-size:13px;color:#0b833d;font-weight:800}.section{padding:88px 5.5vw}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:40px}.heading-wrap{flex:1}.section-head h2{font-size:clamp(36px,4vw,46px);margin:0;max-width:820px}.section-head>.lead,.section-head>p{max-width:500px;color:#64747e;font-size:16px}.about-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:55px}.about-copy h3{font:800 24px Manrope}.about-copy p{font-size:16px;color:#63737d}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stats div{background:var(--pale2);border-radius:11px;padding:25px}.stats strong{display:block;font:800 28px Manrope;color:var(--green2)}.stats span{font-size:12px;color:#61726a}.solar-section{background:var(--pale)}.centered{text-align:center}.centered h2{margin-left:auto;margin-right:auto}.solar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.solar-grid article{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.large-image{height:245px;background-size:cover;background-position:center}.card-copy{padding:22px}.card-copy h3{font:800 20px Manrope;margin:0 0 7px}.card-copy p,.card-copy li{font-size:15px;color:#68777f}.card-copy ul{padding-left:18px;line-height:1.8}.government{background:var(--navy);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}.government .eyebrow{color:#f5b727}.government h2{font-size:43px}.government p{color:#c6d4dd;font-size:15px}.gov-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.gov-grid article{padding:22px;border:1px solid #ffffff20;border-radius:11px;background:#ffffff08}.gov-grid b{font:800 18px Manrope;color:#ffc000}.gov-grid h3{font:800 18px Manrope;margin:8px 0}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cap-grid article{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.cap-image{height:230px;background-size:cover;background-position:center}.cap-copy{padding:20px}.cap-copy h3{font:800 21px Manrope;margin:0}.cap-copy p,.cap-copy li{font-size:15px;color:#68777f}.cap-copy ul{padding-left:18px}.automation{margin:0 5.5vw;display:grid;grid-template-columns:.85fr 1.15fr;min-height:340px;background:#062f51;color:#fff;border-radius:16px;overflow:hidden}.automation-visual{background:radial-gradient(circle at 35% 35%,#19557a 0,#0a385b 38%,#052844 100%);display:grid;place-items:center;position:relative}.control-panel{width:230px;height:165px;border:4px solid #f5b600;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 0 45px #ffbf0020}.control-panel span{font:800 42px Manrope;color:#ffb600}.control-panel small{font-size:9px;letter-spacing:2px;color:#ffcc4c}.control-panel i{position:absolute;width:8px;height:8px;border-radius:50%;background:#26c267;right:18px}.control-panel i:nth-of-type(1){top:20px}.control-panel i:nth-of-type(2){top:43px;background:#ffc000}.control-panel i:nth-of-type(3){top:66px}.automation-copy{padding:42px 48px}.automation-copy .eyebrow{color:#ffbd1c}.automation-copy h2{font-size:38px;margin:0 0 13px}.automation-copy p{font-size:16px;color:#c8d5de}.automation-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 22px;padding-left:18px;font-size:14px;color:#e4ecf0;line-height:1.5}.why{background:#f6f8f5}.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.why-grid div{background:#fff;border-top:3px solid #e4a800;padding:22px}.why-grid b{font-size:10px;color:#b57900}.why-grid h3{font:800 17px Manrope;margin:10px 0 4px}.why-grid p{font-size:14px;color:#68777e}.director{padding:60px 12vw;background:#eaf4e4;display:grid;grid-template-columns:140px 1fr;gap:30px;align-items:center}.director-avatar{width:140px;height:140px;border-radius:50%;background:var(--navy);color:var(--gold);border:8px solid #d3e5c5;display:grid;place-items:center;font:800 38px Manrope}.director h2{font-size:42px;margin:0}.director>div>strong{color:#b47b00}.director p{font-size:15px;color:#62736c}.director-links{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;font-weight:800;color:var(--navy)}.contact{margin:70px 5.5vw;background:var(--navy);color:#fff;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:58px 7%}.contact h2{font-size:43px;margin:0}.contact-copy>p{font-size:16px;color:#c6d4dd}.contact-line{margin-top:17px}.contact-line small{display:block;color:#ffbd1b;font-size:10px;letter-spacing:1px}.contact-line a{font-size:14px;font-weight:800}.contact form{background:#fff;color:#17384f;border-radius:12px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact label{font-size:11px;font-weight:800}.contact input,.contact select,.contact textarea{width:100%;margin-top:5px;padding:11px;border:1px solid #d5dfe5;border-radius:7px;font:inherit;font-size:15px}.contact textarea{resize:vertical}.full{grid-column:1/-1}.form-note{text-align:center;color:#7c8991;font-size:11px}.form-message{display:none}.form-message.success,.form-message.error{display:block;grid-column:1/-1;padding:11px 13px;border-radius:7px;font-size:13px;font-weight:700}.form-message.success{background:#e8f7e9;color:#0b7438}.form-message.error{background:#fff0ef;color:#b3261e}.offices{padding:0 5.5vw 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.offices article{padding:22px;border:1px solid var(--line);border-radius:11px}.offices h3{font:800 21px Manrope;margin:0}.offices p{font-size:14px;color:#65757d}.offices a{font-size:12px;color:#b17800;font-weight:800}footer{background:#061f39;color:#cbd7df;padding:35px 5.5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center}footer img{width:260px;max-height:92px;object-fit:contain;display:block;background:transparent}footer p{text-align:center;font-size:13px}.footer-links{display:flex;justify-content:end;gap:16px;font-size:12px}.footer-links a:hover{color:#ffbe16}footer small{grid-column:1/-1;text-align:center;border-top:1px solid #ffffff18;padding-top:16px;font-size:11px;color:#81919b}.floating-actions{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;flex-direction:column;gap:9px}.floating-actions a{width:61px;height:61px;border-radius:50%;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 9px 25px #0004;transition:.2s}.floating-actions a:hover{transform:scale(1.08)}.floating-actions .wa{background:#18b957}.floating-actions .wa img{width:38px;height:38px}.floating-actions .call{background:#116bd5;color:#fff;font-size:26px}

@media(max-width:1100px){
  .header{height:82px;padding:0 28px;gap:18px}
  .brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 72px)}
  .brand img{width:220px;max-width:100%;max-height:68px}
  .header nav,.quote{display:none}
  .menu{display:flex;margin-left:auto}
  .header nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:8px 28px 18px;background:#fff;border-top:1px solid #e6edf0;border-bottom:1px solid #dce5ea;box-shadow:0 14px 30px rgba(8,45,80,.16);flex-direction:column;gap:0;z-index:1050}
  .header nav.is-open a{display:block;padding:14px 0;font-size:16px;font-weight:700;color:#17384f;border-bottom:1px solid #eef2f4}
  .header nav.is-open a:last-child{border-bottom:0}
  .hero{grid-template-columns:1fr}.hero-visual{height:390px}.quick-services{grid-template-columns:repeat(2,1fr)}.government{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(2,1fr)}.offices{grid-template-columns:1fr 1fr}
}

@media(max-width:750px){
  .topbar{display:none}
  .header{height:74px;padding:8px 14px;gap:0;position:sticky;top:0;overflow:visible}
  .brand{display:flex;align-items:center;flex:0 1 auto;width:calc(100% - 68px);max-width:calc(100% - 68px);min-width:0;height:58px}
  .brand img{display:block;width:205px;max-width:100%;max-height:58px;height:auto;object-fit:contain;object-position:left center}
  .menu{display:flex !important;position:absolute;right:12px;top:13px;flex:0 0 48px;width:48px;height:48px;margin:0;align-items:center;justify-content:center;visibility:visible !important;opacity:1 !important;z-index:2001}
  .menu span{display:block !important;visibility:visible !important;opacity:1 !important}
  .menu.is-open span:nth-child(2){opacity:0 !important}
  .header nav{display:none !important}
  .header nav.is-open{display:flex !important;position:absolute;top:74px;left:0;right:0;width:100%;margin:0;padding:8px 18px 18px;max-height:calc(100vh - 74px);overflow:auto;-webkit-overflow-scrolling:touch}
  .header nav.is-open a{font-size:16px;padding:15px 0}
  .hero{padding:48px 5vw;min-height:0}.hero h1{font-size:40px}.hero-copy>p{font-size:16px}.actions{flex-direction:column}.actions .btn{width:100%;min-height:50px}.hero-visual{height:300px}.hero-points{font-size:13px;gap:13px}.quick-services,.solar-grid,.cap-grid,.offices{grid-template-columns:1fr}.service-image{height:190px}.section{padding:64px 5vw}.section-head{display:block;margin-bottom:32px}.section-head h2{font-size:34px;line-height:1.06}.section-head>.lead,.section-head>p{max-width:none;margin:18px 0 0;font-size:16px}.about-grid{grid-template-columns:1fr;gap:28px}.stats{grid-template-columns:1fr 1fr}.stats div{padding:20px}.large-image{height:215px}.government{padding:64px 5vw}.government h2{font-size:36px}.gov-grid{grid-template-columns:1fr}.cap-image{height:210px}.automation{margin:0 5vw;grid-template-columns:1fr}.automation-visual{height:240px}.automation-copy{padding:31px 25px}.automation-copy h2{font-size:34px}.automation-copy ul{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.director{grid-template-columns:1fr;text-align:center;padding:55px 8vw}.director-avatar{margin:auto}.director-links{justify-content:center}.contact{grid-template-columns:1fr;margin:45px 5vw;padding:42px 7%}.contact h2{font-size:36px}.contact form{grid-template-columns:1fr}.full{grid-column:auto}.floating-actions{right:12px;bottom:13px}.floating-actions a{width:55px;height:55px}.floating-actions .wa img{width:33px;height:33px}footer{display:block;text-align:center}footer img{width:220px;max-height:80px;margin:0 auto}.footer-links{justify-content:center;flex-wrap:wrap;margin:15px 0}
}

@media(max-width:380px){
  .header{padding-left:10px;padding-right:10px}
  .brand{width:calc(100% - 62px);max-width:calc(100% - 62px)}
  .brand img{width:180px}
  .menu{right:8px;top:14px;width:46px;height:46px;flex-basis:46px}
  .hero h1{font-size:36px}
}
