@charset "UTF-8";
:where([hidden]){display:none!important}
:root{color-scheme:light;--ink:#074579;--blue:#0b5c98;--blue-dark:#04365c;--paper:#f4f7fb;--white:#fff;--yellow:#ffcf00;--muted:#425a70;--line:rgba(7,69,121,.19);--panel:#eaf1f8;--pad:clamp(22px,5.5vw,84px);--max:1200px;--section:clamp(72px,9vw,126px);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--yellow);color:var(--blue-dark)}
.shell{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 18px;background:var(--yellow);color:var(--blue-dark);transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid #002846;outline-offset:4px}
.site-header{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;min-width:0;align-items:center;gap:12px;color:var(--ink);font-size:.95rem;font-weight:850;letter-spacing:-.04em}.brand-logo{display:block;flex:0 0 auto;width:60px;height:60px;object-fit:contain}.brand-name{white-space:nowrap}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);font-size:.8rem;font-weight:750}.main-nav>a:not(.nav-cta):hover,.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.nav-cta{padding:12px 16px;border-radius:8px;background:var(--ink);color:var(--white)}.nav-cta:hover{background:var(--blue-dark);color:var(--yellow)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.menu-toggle span{display:block;width:19px;height:2px;margin:4px auto;background:var(--ink)}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:.66rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;font-size:.58rem;letter-spacing:0}
.hero{position:relative;overflow:hidden;padding:clamp(52px,7vw,94px) 0 22px;background:var(--ink);color:var(--paper)}.hero::before{position:absolute;top:0;right:0;width:40%;height:100%;background:var(--blue-dark);clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);content:"";opacity:.76}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(36px,7vw,100px)}.hero h1{margin:0;font-size:clamp(4rem,9vw,8.2rem);font-weight:850;line-height:.84;letter-spacing:-.05em}.hero h1 em,.contact h2 em{color:var(--yellow);font-style:normal}.hero .eyebrow{color:var(--yellow)}.hero-lede{max-width:490px;margin:28px 0 22px;color:#e3edf6;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.65}.button{min-height:52px;display:inline-flex;align-items:center;gap:22px;padding:0 19px;border-radius:8px;font-size:.83rem;font-weight:850;transition:transform .2s ease,box-shadow .2s ease}.button-primary{background:var(--yellow);color:var(--blue-dark)}.button-primary:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.2)}.hero-note{margin:13px 0 0;color:#d2e0ec;font-size:.75rem}
.hero-photo{position:relative;min-width:0;min-height:clamp(340px,38vw,480px);margin:0;overflow:hidden;border:2px solid rgba(255,207,0,.7);border-radius:22px;background:var(--blue-dark);box-shadow:0 24px 58px rgba(0,0,0,.24)}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero-photo::after{position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(3,36,65,.88));content:"";pointer-events:none}.hero-photo figcaption{position:absolute;z-index:1;right:22px;bottom:22px;left:22px;color:var(--white);text-shadow:0 1px 5px rgba(0,0,0,.5)}.hero-photo figcaption span{display:block;margin-bottom:6px;color:var(--yellow);font-size:.63rem;font-weight:850;letter-spacing:.14em}.hero-photo figcaption strong{font-size:clamp(1rem,1.9vw,1.35rem);letter-spacing:-.035em}
.hero-foot{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:22px;color:var(--yellow);font-size:.61rem;font-weight:850;letter-spacing:.12em}.hero-foot span:last-child{color:#e3edf6}
.services{padding:var(--section) 0;background:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px 32px;margin-bottom:40px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.section-heading h2{margin:0;font-size:clamp(3rem,6.8vw,5.8rem);line-height:.9;letter-spacing:-.08em}.section-heading h2 em{color:var(--blue);font-style:normal}.heading-aside{max-width:365px;margin:0 0 5px;padding-left:19px;border-left:3px solid var(--yellow);color:var(--muted);font-size:.86rem;line-height:1.65}
.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:42px minmax(220px,.9fr) minmax(230px,1.1fr) auto;align-items:center;gap:clamp(14px,2.4vw,32px);padding:27px 4px;border-bottom:1px solid var(--line)}.service-number{align-self:start;padding-top:5px;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.08em}.service-label{display:block;margin-bottom:8px;color:var(--blue);font-size:.61rem;font-weight:850;letter-spacing:.14em}.service-title{min-width:0;overflow-wrap:anywhere}.service-title h3{margin:0;font-size:clamp(1.25rem,2.2vw,1.9rem);line-height:1.08;letter-spacing:-.055em}.service-row>p{max-width:390px;margin:0;color:#344e66;font-size:.86rem;line-height:1.6}.service-link,.area-link{width:fit-content;padding:10px 0;color:var(--ink);font-size:.76rem;font-weight:850;text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:4px}.service-link span,.area-link span{padding-left:7px;color:var(--blue)}.service-link:hover,.area-link:hover{color:var(--blue-dark)}
.gallery{padding:var(--section) 0;background:var(--panel)}.gallery-heading{margin-bottom:34px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-photo{position:relative;min-width:0;aspect-ratio:4/3;margin:0;overflow:hidden;border:1px solid rgba(7,69,121,.12);border-radius:16px;background:#d9e3ed;box-shadow:0 14px 36px rgba(7,45,79,.14)}.work-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .45s ease}.work-photo:hover img{transform:scale(1.025)}.work-photo::after{position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(3,36,65,.9));content:"";pointer-events:none}.work-photo figcaption{position:absolute;z-index:1;right:17px;bottom:15px;left:17px;color:var(--white);font-size:.82rem;font-weight:850;text-shadow:0 1px 4px rgba(0,0,0,.5)}.work-photo figcaption span{display:block;margin-top:3px;color:#eaf1f8;font-size:.7rem;font-weight:600}.work-photo-ac img{object-position:center 48%}.work-photo-electric img{object-position:center 43%}.work-photo-solar-system img{object-position:center 56%}.work-photo-solar-panel img{object-position:center 65%}.work-photo-lighting img{object-position:center 52%}
.service-area{padding:clamp(54px,7vw,90px) 0;background:var(--panel)}.area-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 32px}.area-layout>.eyebrow{grid-column:1/-1;align-self:start;margin:0}.area-layout>div{min-width:0}.area-layout h2{margin:0;color:var(--ink);font-size:clamp(3.2rem,7vw,6rem);line-height:.88;letter-spacing:-.085em}.area-layout h2 em{color:var(--blue);font-style:normal}.area-layout>div>p{margin:20px 0 0;color:var(--muted);font-size:.87rem}.area-link{align-self:end;margin-bottom:5px;white-space:nowrap}
.contact{padding:clamp(70px,9vw,112px) 0;background:var(--blue-dark);color:var(--paper)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.65fr);gap:clamp(36px,8vw,110px);align-items:center}.contact .eyebrow{color:var(--yellow)}.contact h2{margin:0;font-size:clamp(3.4rem,7vw,6.4rem);line-height:.9;letter-spacing:-.085em}.contact-layout>div:first-child>p:not(.eyebrow){max-width:500px;margin:22px 0 0;color:#e1ebf4;font-size:.91rem}.contact-card{padding:24px;border:1px solid rgba(255,255,255,.38);border-left:4px solid var(--yellow);border-radius:12px;background:rgba(255,255,255,.06)}.contact-card>span{color:var(--yellow);font-size:.62rem;font-weight:850;letter-spacing:.14em}.contact-card strong{display:block;margin-top:12px;color:var(--white);font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.15;letter-spacing:-.04em}.contact-card>a{display:inline-flex;align-items:center;gap:16px;margin-top:18px;padding:12px 14px;border-radius:7px;background:var(--yellow);color:var(--blue-dark);font-size:.8rem;font-weight:850}.contact-card>a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.2)}
.site-footer{padding:19px 0;background:#032947;color:var(--white);border-top:3px solid var(--yellow)}.footer-layout{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}.footer-layout>p,.footer-layout>span{margin:0;color:#e1ebf4;font-size:.7rem}.footer-layout>span{margin-left:auto}.site-footer .brand{color:var(--white)}.site-footer .brand-logo{width:70px;height:70px}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr .85fr;gap:28px}.hero h1{font-size:clamp(3.8rem,9vw,6.5rem)}.service-row{grid-template-columns:34px minmax(175px,.9fr) minmax(190px,1fr)}.service-link{grid-column:2/4;margin-top:-5px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-layout{gap:20px}}
@media(max-width:680px){html{scroll-padding-top:66px}.header-inner{min-height:68px}.brand{gap:8px;font-size:.88rem}.brand-logo{width:48px;height:48px}.menu-toggle{display:block}.main-nav{position:absolute;top:100%;right:0;left:0;display:none;align-items:stretch;gap:0;padding:8px var(--pad) 20px;background:var(--white);border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a{padding:13px 0;border-top:1px solid var(--line)}.main-nav .nav-cta{margin-top:8px;padding:12px;text-align:center}.hero{padding-top:42px}.hero::before{top:auto;bottom:0;width:76%;height:48%;clip-path:polygon(35% 0,100% 0,100% 100%,0 100%)}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(4.2rem,17vw,6.4rem)}.hero-photo{min-height:0;aspect-ratio:1.18}.hero-photo img{object-position:center 42%}.hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.56rem}.hero-foot span:last-child{grid-column:1/-1}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.section-heading .eyebrow{grid-column:auto}.section-heading h2{font-size:clamp(3.1rem,12vw,4.8rem)}.heading-aside{max-width:480px}.service-row{grid-template-columns:30px 1fr;gap:9px 13px;padding:21px 8px}.service-number{grid-row:1/3}.service-title h3{font-size:1.5rem}.service-row>p{grid-column:2}.service-link{grid-column:2;margin:0}.gallery-heading{margin-bottom:27px}.photo-grid{gap:13px}.work-photo{border-radius:12px}.work-photo figcaption{right:12px;bottom:12px;left:12px;font-size:.74rem}.work-photo figcaption span{font-size:.64rem}.area-layout{grid-template-columns:1fr;gap:20px}.area-layout>.eyebrow{margin:0}.area-layout h2{font-size:clamp(3.4rem,14vw,5rem)}.area-link{grid-column:auto;align-self:start}.contact-layout{grid-template-columns:1fr;gap:28px}.contact h2{font-size:clamp(3.5rem,14vw,5.5rem)}.footer-layout{align-items:flex-start;flex-direction:column;gap:9px}.footer-layout>span{margin:0}.site-footer .brand-logo{width:56px;height:56px}}
@media(max-width:430px){.photo-grid{grid-template-columns:1fr}.work-photo{aspect-ratio:1.2}.hero-photo figcaption{right:17px;bottom:17px;left:17px}.brand-name{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
