@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#182c2d;background:#F4F0E7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.utility{height:34px;background:#153d3f;color:#d5e1de;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;font-size:.77rem;letter-spacing:.07em;text-transform:uppercase}header{height:84px;background:#F4F0E7;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.mark{display:grid;place-items:center;width:45px;height:45px;background:#18484a;color:#fff;font-family:Manrope,sans-serif;font-weight:800;font-size:1.24rem;letter-spacing:-.12em;padding-right:4px}.brandwords{font-family:Manrope,sans-serif;font-size:.98rem;font-weight:800;letter-spacing:.075em}.brandwords small{font-weight:400;color:#b48b59}nav{display:flex;align-items:center;gap:25px;font-size:.85rem;font-weight:600}nav>a:hover,nav>a.active{color:#9e7342}.navcta{background:#183f40;color:white!important;padding:14px 18px}.menu{display:none}.hero{min-height:590px;display:flex;align-items:center;color:#fff;background:#173c3e;background-image:linear-gradient(90deg,rgba(13,42,43,.93) 0%,rgba(13,42,43,.78) 45%,rgba(13,42,43,.2) 100%),url('/assets/hero.png');background-position:center;background-size:cover}.hero.builders{background-image:linear-gradient(90deg,rgba(18,47,48,.94) 0%,rgba(18,47,48,.75) 48%,rgba(18,47,48,.35) 100%),url('/assets/hero.png')}.hero-inner{padding:90px 4.5%;max-width:900px}.eyebrow{font-size:.78rem;letter-spacing:.18em;font-weight:700;color:#bc955f;text-transform:uppercase}.hero h1,.contact h1{font-family:Manrope,sans-serif;font-size:clamp(2.7rem,5.4vw,5.6rem);line-height:1.06;letter-spacing:-.055em;max-width:830px;margin:24px 0}.lead{font-size:1.14rem;line-height:1.65;max-width:700px;color:#e1eae7}.actions{display:flex;gap:28px;align-items:center;margin-top:37px}.button{display:inline-flex;justify-content:space-between;gap:35px;padding:19px 24px;background:#bd9058;color:#152f2e;font-weight:700;font-size:.92rem}.button:hover{background:#d6ad78}.textlink{border-bottom:1px solid #d9e2dd;padding-bottom:7px;font-weight:600}.service-wrap{padding:105px 4.5% 120px}.section-heading{display:flex;justify-content:space-between;gap:10%;align-items:start;margin-bottom:50px}.section-heading h2,.process h2,.region h2,.closing h2{font:700 clamp(2rem,3.5vw,3.7rem)/1.15 Manrope,sans-serif;letter-spacing:-.045em;margin:0;max-width:690px}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service{background:#F4F0E7;min-height:320px;padding:36px 38px;display:flex;flex-direction:column;border-top:4px solid #bd9058;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-5px);box-shadow:0 18px 30px #183f401a}.small{color:#9c794e;font-size:.75rem;font-weight:700;letter-spacing:.2em}.service h3{font:700 2rem Manrope,sans-serif;letter-spacing:-.04em;margin:27px 0 6px}.service p{color:#5b6968;line-height:1.65;font-size:1.02rem;max-width:520px}.service strong{margin-top:auto;padding-top:20px;font-size:.89rem;color:#245253;display:flex;justify-content:space-between}.process{background:#e8ebe5;padding:100px 4.5%;display:grid;grid-template-columns:1fr 1fr;gap:13%}.process p:not(.eyebrow){line-height:1.8;font-size:1.12rem;color:#465c5b}.under{display:inline-block;margin-top:24px;border-bottom:1px solid #163f40;padding-bottom:8px;font-weight:700}.region{padding:100px 4.5%;text-align:center}.region h2{margin:15px auto 28px}.region>p:not(.eyebrow){font-size:1.1rem;line-height:1.7}.muted{color:#687574;font-size:.9rem!important}.closing{background:#173f41;color:#fff;text-align:center;padding:90px 4.5%}.closing h2{margin:auto}.closing p{color:#d5e2dd;font-size:1.1rem}.light{margin-top:20px}footer{background:#102e30;color:#e6eeeb;padding:65px 4.5% 35px;display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:35px}footer>div{display:flex;flex-direction:column;align-items:start;gap:13px}footer p{color:#b5c9c5;max-width:310px;line-height:1.6}footer strong{color:#bc955f;text-transform:uppercase;font-size:.78rem;letter-spacing:.14em;margin-bottom:10px}footer a:not(.brand){font-size:.91rem}footer>small{grid-column:1/-1;border-top:1px solid #345253;padding-top:26px;color:#a9bfba}.footbrand .mark{background:#bd9058;color:#153d3f}.contact{min-height:70vh;padding:100px 5%;max-width:1050px;margin:auto}.contact h1{color:#173f41}.contact>p:not(.eyebrow){font-size:1.15rem;line-height:1.7;max-width:700px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:55px 0}.contact-grid a{padding:34px;background:#F4F0E7;border-top:4px solid #bd9058;display:flex;flex-direction:column;gap:15px}.contact-grid span{font-size:.8rem;letter-spacing:.16em;color:#8a714f}.contact-grid strong{font-size:1.3rem;overflow-wrap:anywhere}@media(max-width:1100px){nav{gap:12px;font-size:.76rem}}@media(max-width:850px){.menu{display:block;border:0;background:none;font-weight:700;color:#173f41}header nav{display:none;position:absolute;top:84px;left:0;right:0;background:#F4F0E7;padding:22px 5%;flex-direction:column;align-items:stretch;font-size:1rem;box-shadow:0 14px 20px #0002}.navopen nav{display:flex}.hero{min-height:560px;background-position:60% center}.hero-inner{padding:65px 5%}.section-heading,.process{display:block}.process>div+div{margin-top:35px}.services{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}}@media(max-width:560px){.utility{font-size:.63rem}.utility a{display:none}header{height:72px}.brandwords{font-size:.75rem}.mark{width:38px;height:38px}header nav{top:72px}.hero{min-height:570px;background-position:68% center}.hero h1{font-size:2.65rem}.lead{font-size:1rem}.actions{align-items:stretch;flex-direction:column;gap:23px}.textlink{align-self:start}.service-wrap,.process,.region{padding:70px 5%}.service{padding:28px;min-height:300px}.service h3{font-size:1.7rem}footer{grid-template-columns:1fr}footer>small{grid-column:1}.contact{padding:75px 5%}}
.faq{padding:90px 4.5%;background:#F4F0E7}.faq h2{font:700 clamp(2rem,3vw,3rem)/1.2 Manrope,sans-serif;letter-spacing:-.04em;margin:15px 0 35px}.faq>div{border-top:1px solid #ccd7d2;padding:22px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.faq h3{font:700 1.2rem Manrope,sans-serif;margin:0}.faq p{line-height:1.65;margin:0;color:#4f6260}@media(max-width:700px){.faq>div{display:block}.faq p{margin-top:12px}}

/* New page sections keep the original forest, cream, and brass visual language. */
body{font-size:1rem}.hero{background-image:linear-gradient(90deg,rgba(13,42,43,.93) 0%,rgba(13,42,43,.76) 44%,rgba(13,42,43,.14) 100%),var(--hero-image);background-position:center;background-size:cover}.hero.builders,.hero.about{background-image:linear-gradient(90deg,rgba(18,47,48,.92) 0%,rgba(18,47,48,.74) 47%,rgba(18,47,48,.16) 100%),var(--hero-image)}.hero.electrical{background-image:linear-gradient(90deg,rgba(13,42,43,.92) 0%,rgba(13,42,43,.76) 44%,rgba(13,42,43,.14) 100%),var(--hero-image)}.hero h1{max-width:860px}.intro{padding:100px 4.5%;max-width:1060px}.intro h2,.detail h2,.credentials h2,.photo-copy h2,.logo-feature h2{font:700 clamp(2rem,3.6vw,3.65rem)/1.14 Manrope,sans-serif;letter-spacing:-.045em;margin:16px 0 22px}.intro p:not(.eyebrow),.photo-copy p:not(.eyebrow),.logo-feature p:not(.eyebrow){font-size:1.12rem;line-height:1.75;color:#435756}.logo-feature{display:grid;grid-template-columns:minmax(280px,.85fr) 1fr;gap:8%;padding:85px 4.5%;align-items:center;background:#F4F0E7}.logo-feature img{width:100%;max-width:630px;display:block;box-shadow:0 10px 36px #183f4014}.photo-block{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:#e8ebe5}.photo-block.reverse .photo{order:2}.photo{position:relative;min-height:470px;overflow:hidden}.photo img{position:absolute;width:100%;height:100%;object-fit:cover}.photo small{position:absolute;bottom:16px;left:18px;background:#F4F0E7e8;color:#234646;padding:7px 11px;font-size:.75rem}.photo-copy{align-self:center;padding:70px clamp(28px,7vw,115px)}.detail{padding:100px 4.5%;background:#F4F0E7}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.detail article{padding:30px;background:#F4F0E7;border-top:3px solid #bc955f}.detail h3{font:700 1.25rem Manrope,sans-serif}.detail p{line-height:1.7;color:#4a5d5b}.credentials{background:#173f41;color:white;padding:85px 4.5%}.credentials h2{max-width:820px}.credentials>p:not(.eyebrow){max-width:780px;color:#d9e6e1;line-height:1.7;font-size:1.08rem}.credential-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.credential-list span{border:1px solid #688483;padding:13px 18px;background:#214c4d;color:#f2f5ee;font-weight:600}.area-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:50px 0}.area-cards article{background:#F4F0E7;border-top:4px solid #bd9058;padding:34px;display:flex;flex-direction:column;align-items:flex-start}.area-cards h2{font:700 1.7rem Manrope,sans-serif;margin:5px 0}.area-cards p:not(.eyebrow){line-height:1.6;min-height:55px}.area-cards .button{margin:15px 0 0}.area-cards .under{margin-top:22px}.contact .muted a{text-decoration:underline}.contact{max-width:1250px}.contact h1{max-width:1000px}.service-wrap{padding-top:75px;padding-bottom:90px}footer>div>div{margin-top:12px;display:flex;flex-direction:column;gap:6px}footer>div>div span{font-size:.84rem;line-height:1.5;color:#b5c9c5}footer .copyright span{display:block;margin-top:7px}.utility{font-size:.75rem;letter-spacing:.04em}.region p{max-width:930px;margin-left:auto;margin-right:auto}a:focus-visible,button:focus-visible{outline:3px solid #bd9058;outline-offset:3px}
@media(max-width:1100px){nav{gap:10px;font-size:.73rem}header{padding:0 3%}.brandwords{font-size:.85rem}}
@media(max-width:850px){.logo-feature,.photo-block{grid-template-columns:1fr}.photo-block.reverse .photo{order:0}.logo-feature{gap:30px}.photo{min-height:380px}.photo-copy{padding:55px 5%}.detail-grid{grid-template-columns:1fr 1fr}.hero{background-position:61% center}}
@media(max-width:700px){.area-cards{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.intro,.detail,.credentials{padding:70px 5%}.logo-feature{padding:60px 5%}.utility{letter-spacing:0}.utility a{font-size:.62rem}}
@media(max-width:560px){.hero{background-position:65% center}.hero-inner{background:linear-gradient(90deg,#123b3cbb,transparent)}.utility span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.utility a{display:none}.photo{min-height:280px}.credential-list span{width:100%}.logo-feature img{max-width:100%}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-brand-card .brand-crop{position:relative;display:block;width:min(100%,310px);aspect-ratio:1024/704;overflow:hidden;margin:-18px 0 -28px}
.home-brand-card .brand-crop img{position:absolute;top:0;left:0;width:200%;max-width:none;height:auto;display:block}
.home-brand-card .brand-crop.network img{left:-100%}
.home-brand-card p{margin-top:12px}

.financing-hero{padding:105px 4.5% 100px;background:#173f41;color:#f4f0e7}
.financing-hero h1{font:700 clamp(2.7rem,5vw,5rem)/1.08 Manrope,sans-serif;letter-spacing:-.055em;max-width:850px;margin:20px 0}
.financing-hero>p:not(.eyebrow):not(.finance-note){font-size:1.17rem;line-height:1.7;max-width:760px;color:#e0e9e3}
.financing-hero .finance-note{font-size:.88rem;line-height:1.5;color:#c8d9d4;margin-top:25px}
.finance-steps{padding:95px 4.5%;display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;background:#F4F0E7}
.finance-steps h2,.finance-end h2{font:700 clamp(2rem,3.5vw,3.5rem)/1.16 Manrope,sans-serif;letter-spacing:-.045em;margin:15px 0}
.finance-steps ol{list-style:none;counter-reset:finance;margin:0;padding:0}
.finance-steps li{counter-increment:finance;border-top:1px solid #c6d1ca;padding:25px 0 24px 65px;position:relative}
.finance-steps li:before{content:counter(finance,decimal-leading-zero);position:absolute;left:0;top:24px;color:#a77b46;font:700 1.25rem Manrope,sans-serif}
.finance-steps li strong{font:700 1.25rem Manrope,sans-serif}
.finance-steps li p{line-height:1.7;color:#435756;margin:8px 0 0}
.finance-end{background:#e5eae4;padding:75px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:35px}
.finance-end p:not(.eyebrow){line-height:1.6;color:#435756;max-width:650px}
.finance-end .button{flex:none}
.finance-disclosure{padding:28px 4.5%;margin:0;background:#F4F0E7;color:#576967;line-height:1.6;font-size:.87rem}
@media(max-width:850px){.finance-steps{grid-template-columns:1fr;gap:30px}.finance-end{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.financing-hero,.finance-steps{padding:70px 5%}.finance-end{padding:60px 5%}.finance-end .button{width:100%}.finance-disclosure{padding:25px 5%}}

/* Combined company identity and project-specific content. */
.site-logo{display:block;width:245px;max-height:70px;object-fit:contain;object-position:left center}.footbrand .site-logo{background:#f6f2e6;border-radius:3px;padding:5px;width:255px}.photo small{display:none}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}.equipment-grid article{background:#F4F0E7;border-top:3px solid #bc955f;padding:26px;display:flex;flex-direction:column}.equipment-grid h3{font:700 1.25rem Manrope,sans-serif;margin:0 0 12px}.equipment-grid p{color:#4a5d5b;line-height:1.7;flex:1}.equipment-grid img{width:100%;height:220px;object-fit:cover;margin-top:14px}.credential-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1050px}.credential{border:1px solid #688483;padding:16px 18px;background:#214c4d;color:#f2f5ee;display:flex;align-items:center;gap:12px;min-height:72px}.credential .brand-name{font:800 1.3rem Manrope,sans-serif;letter-spacing:-.03em;min-width:175px}.credential span:last-child{font-size:.88rem;line-height:1.4}.credential-list .credential span{border:0;padding:0;background:none;width:auto;font-weight:400}@media(max-width:1100px){.site-logo{width:190px}.credential .brand-name{min-width:135px}}@media(max-width:850px){.equipment-grid{grid-template-columns:1fr 1fr}.credential-list{grid-template-columns:1fr}}@media(max-width:600px){.site-logo{width:205px;max-height:55px}.equipment-grid{grid-template-columns:1fr}.credential .brand-name{min-width:115px;font-size:1.12rem}.credential{padding:14px}.equipment-grid img{height:235px}}
.credential .brand-name img{width:145px;max-height:42px;object-fit:contain;background:#F4F0E7;padding:5px;border-radius:2px;vertical-align:middle}
.footbrand .site-logo{background:transparent;border-radius:0;padding:0;filter:brightness(0) invert(1)}
.service h3{margin-top:8px}
.logo-feature{display:block;padding:70px 4.5%}.logo-feature>div{max-width:800px}.logo-feature h2{margin-top:0}@media(max-width:700px){.logo-feature{padding:65px 5%}}
@media(max-width:700px){.hero.backup{--hero-image:url('/assets/backup-thunderstorm-mobile.png');background-position:center center}}
.review-intro{padding:100px 4.5% 70px;background:#173f41;color:#fff}.review-intro h1{font:700 clamp(2.7rem,5vw,5rem)/1.08 Manrope,sans-serif;letter-spacing:-.05em;margin:15px 0 24px}.review-intro p:not(.eyebrow){font-size:1.12rem;line-height:1.75;max-width:750px;color:#dce8e3}.reviews-section{padding:85px 4.5% 95px;background:#F4F0E7}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.reviews-heading h2{font:700 clamp(2rem,3.6vw,3.5rem)/1.14 Manrope,sans-serif;letter-spacing:-.045em;margin:12px 0 0}.reviews-heading .under{white-space:nowrap;margin:0 0 8px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{background:#fff;margin:0;padding:33px;display:flex;flex-direction:column;min-height:255px;border-top:3px solid #bd9058}.review-card p{font:600 1.08rem/1.65 'DM Sans',sans-serif;color:#263e3e;margin:0}.review-card footer{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:none;color:#4a5d5b;padding:28px 0 0;margin-top:auto;font-size:.88rem}.review-card footer strong{color:#183f40;text-transform:none;font:700 .95rem 'DM Sans',sans-serif;letter-spacing:0;margin:0}.review-links{background:#e8ebe5;padding:68px 4.5%;text-align:center}.review-links h2{font:700 clamp(1.7rem,3vw,2.7rem)/1.2 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 15px}.review-links p{color:#435756;line-height:1.7}.review-links a{text-decoration:underline;text-underline-offset:5px;font-weight:700}
@media(max-width:1000px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.review-intro,.reviews-section,.review-links{padding-left:5%;padding-right:5%}.reviews-heading{display:block}.reviews-heading .under{margin-top:22px}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}}
.pro-proof{background:#e8ebe5;padding:72px 4.5%;border-top:1px solid #d2d9d2}.pro-proof h2{font:700 clamp(2rem,3.6vw,3.5rem)/1.14 Manrope,sans-serif;letter-spacing:-.045em;margin:12px 0 18px}.pro-proof p:not(.eyebrow){font-size:1.12rem;line-height:1.7;color:#435756;max-width:750px}.pro-proof strong{color:#173f41}.pro-reviews{background:#eee9df}.review-card footer small{font-size:.78rem;color:#667977;margin-top:8px}.review-card footer span{line-height:1.4}
@media(max-width:700px){.pro-proof{padding:65px 5%}}

/* Compact navigation for every screen size. */
.site-menu{position:relative;flex:none}
.site-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;background:#173f41;color:#F4F0E7;border:1px solid #173f41;padding:14px 20px;font-weight:700;font-size:1rem;border-radius:3px;min-height:48px}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary:hover{background:#245253}
.site-menu summary:focus-visible,.site-menu nav a:focus-visible{outline:3px solid #bd9058;outline-offset:3px}
header .site-menu nav{display:none;position:absolute;top:calc(100% + 12px);left:auto;right:0;width:290px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 150px);overflow-y:auto;background:#F4F0E7;border:1px solid #d5cec1;border-top:3px solid #bd9058;border-radius:3px;padding:10px;flex-direction:column;align-items:stretch;gap:0;font-size:.96rem;box-shadow:0 14px 32px #102e3030}
header .site-menu[open] nav{display:flex}
.site-menu nav a{display:block;padding:11px 15px;border-radius:2px;line-height:1.35}
.site-menu nav a:hover,.site-menu nav a.active{background:#e5eae4;color:#173f41}
.site-menu nav .navcta{margin-top:8px;text-align:center}
@media(max-width:560px){header .brand .site-logo{width:min(205px,53vw)}.site-menu summary{padding:12px 15px;gap:10px}.site-menu nav{max-height:calc(100dvh - 128px)}}

.credential .cisco-partner img{width:100px;height:100px;max-height:none;object-fit:cover;object-position:center;padding:0;background:#fff;border-radius:3px}

.review-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.review-grid:has(> :nth-child(4):last-child){grid-template-columns:1fr}}

.credential .eg4-partner img{width:145px;height:42px;max-height:42px;object-fit:cover;object-position:center;padding:0;background:#fff;border-radius:2px}

.credential .ecoflow-partner img{width:145px;height:42px;max-height:42px;object-fit:cover;object-position:center;padding:0;background:#fff;border-radius:2px}

.credential .nice-partner img{width:100px;height:100px;max-height:none;object-fit:contain;padding:0;background:transparent;border-radius:2px}

.credential .tesla-partner img{width:145px;height:150px;max-height:none;object-fit:contain;padding:0;background:#fff;border-radius:2px}
