/* UX-led visual system. Existing content and accessible native controls retained. */
:root{--ink:#152439;--muted:#596473;--paper:#fff;--white:#fff;--line:#e4e8ee;--gold:#2165df;--sage:#dbe8fc;--navy:#112e59;--max:1240px}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:#fff}button,input,select,textarea{font-family:inherit}h1,h2,h3{letter-spacing:-.045em}h2{font-weight:650;line-height:1.12}.container{width:min(var(--max),calc(100% - 96px))}.button{background:#2165df;color:#fff;border-radius:999px;padding:16px 25px;font-size:.9rem;min-height:50px;box-shadow:none}.button:hover{background:#1353c3;transform:translateY(-1px)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#2165df}.button-small{background:#2165df;padding:12px 21px;min-height:44px}.site-header{background:#fffffff5;backdrop-filter:blur(16px);border-bottom:1px solid #e9edf2}.header-inner{min-height:82px}.logo,.logo img{width:138px}.nav{gap:33px}.nav>a:not(.button){font-size:.85rem;font-weight:550}.eyebrow{color:#5b6b83;font-size:.66rem;letter-spacing:.14em;margin-bottom:17px}.section{padding-block:92px}.section-heading{margin-bottom:34px}.section-heading h2{font-size:clamp(2rem,3.2vw,3rem)}.text-link{color:#2165df;font-size:.9rem;font-weight:600}.section-heading p{font-size:1rem;line-height:1.75}.topline{display:none}
.home-hero{height:620px;position:relative;background:#172b44;color:white;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(7,20,41,.88) 0%,rgba(7,20,41,.65) 36%,rgba(7,20,41,.07) 77%),linear-gradient(0deg,rgba(8,25,40,.3),transparent 50%)}.hero-content{padding-top:95px}.hero-location{font-size:.63rem;letter-spacing:.19em;font-weight:600;color:#ccd9ee;display:block;margin-bottom:25px}.hero-content h1{font-size:clamp(3.1rem,4.7vw,4.7rem);line-height:1.055;font-weight:650;letter-spacing:-.05em;margin-bottom:23px;max-width:740px}.hero-content h1 span{color:#adc9ff}.hero-content>p{font-size:1.05rem;line-height:1.7;max-width:470px;color:#e1e8f1}.hero-button{background:white;color:#172b44;margin-top:17px;gap:35px}.hero-button:hover{background:#e6edfa}.hero-secondary{margin-left:25px;color:white;font-size:.83rem;text-decoration:none;border-bottom:1px solid #ffffff80;padding-bottom:4px}.image-caption{position:absolute;bottom:70px;right:25px;font-size:.55rem;color:#ffffffa8}
.finder-wrap{position:relative;margin-top:-54px;z-index:2;background:white;border:1px solid #e4e8f0;border-radius:22px;padding:27px 32px 18px;box-shadow:0 16px 50px #12376713;scroll-margin-top:105px}.finder-heading{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:18px}.finder-heading h2{font-size:1.2rem;letter-spacing:-.025em;margin:0}.finder-heading>span{font-size:.75rem;color:#697487}.project-finder{display:grid;grid-template-columns:1fr 1fr auto;gap:0;align-items:center;border:1px solid #dbe1e9;border-radius:12px;padding:7px;background:#fcfdff}.project-finder>div{padding:4px 20px}.project-finder>div:nth-child(2){border-left:1px solid #dbe1e9}.project-finder label{display:block;font-size:.7rem;font-weight:650;margin-bottom:2px}.project-finder select{background:transparent;border:0;width:100%;padding:5px 20px 5px 0;color:#596473;font-size:16px;min-height:32px;cursor:pointer}.project-finder .button{border-radius:8px;padding:19px 27px;min-height:64px}.finder-note{font-size:.68rem;color:#697487;margin:13px 0 0;text-align:center}.confidence-strip{display:grid;grid-template-columns:repeat(3,1fr);padding-block:37px;gap:35px;border-bottom:1px solid #e9edf3}.confidence-strip>div{display:flex;align-items:center;gap:15px}.confidence-strip>div>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#2165df;font-size:1.2rem;flex-shrink:0}.confidence-strip p{margin:0}.confidence-strip strong{font-size:.77rem;display:block;font-weight:600}.confidence-strip small{font-size:.7rem;color:#6a7687;display:block;margin-top:3px}.visual-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.visual-service{display:block;text-decoration:none;border-radius:17px;overflow:hidden;background:#f6f7f9;transition:box-shadow .2s,transform .2s}.visual-service:hover{transform:translateY(-4px);box-shadow:0 12px 35px #172b4414}.service-photo{height:265px;background-size:cover;background-repeat:no-repeat}.photo-light{background-image:url('/assets/lighting.jpg');background-position:center}.photo-ev{background-image:url('/assets/ev-charging.jpg');background-position:center}.photo-repair{background-image:url('/assets/home-hero.png');background-position:85% center}.visual-service-copy{padding:25px 25px 23px}.visual-service-copy>span{font-size:.68rem;font-weight:600;color:#52657d}.visual-service-copy h3{font-size:1.6rem;line-height:1.13;margin:12px 0 13px;max-width:280px;font-weight:650}.visual-service-copy p{color:#657084;font-size:.87rem;line-height:1.65}.visual-service-copy b{font-size:.8rem;color:#2165df;font-weight:600;display:flex;justify-content:space-between}.asset-note{font-size:.58rem;color:#727d8d;margin-top:12px}.project-pills{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px}.project-pills>span{font-size:.78rem;color:#657084;margin-right:8px}.project-pills a{font-size:.76rem;border:1px solid #dfe5ed;border-radius:999px;padding:10px 16px;text-decoration:none}.project-pills a:hover{background:#f0f5fc;border-color:#a5bde3}.how-section{background:#f5f7fa;border:0}.steps{gap:50px;margin-top:40px}.step-no{border:0;background:#e7effd;color:#2165df;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;padding:0;font-size:.8rem;margin-bottom:24px}.steps h3{font-size:1.4rem;font-weight:600;max-width:300px}.steps p{font-size:.95rem;max-width:330px}.how-bottom{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-top:40px;border-top:1px solid #e0e7ef;padding-top:25px}.how-bottom p{font-size:.73rem;color:#66748a;margin:0;max-width:490px}.area-section{grid-template-columns:.85fr 1.15fr;gap:90px}.area-section h2{font-size:3rem}.area-section p{font-size:1rem}.area-panel{background:#f7f9fc;border-radius:20px;padding:32px}.area-panel-label{font-size:.61rem;font-weight:700;letter-spacing:.15em;color:#6d7c92}.area-panel .area-links{margin-top:15px;gap:0 28px}.area-links a{border-color:#dfe5ee;font-size:.9rem;padding:15px 0}.area-links a:hover{color:#2165df}.area-panel>p{font-size:.69rem;margin:20px 0 0;color:#68758a}.guides-section{background:#f5f7fa}.guide-card{border:0;border-radius:15px;background:white;transition:box-shadow .2s}.guide-card:hover{box-shadow:0 9px 24px #112e5910}.guide-art{height:170px;background:#e9eff9;color:#2165df}.guide-art b{color:#2165df20;font-family:inherit;font-weight:600;font-size:10rem;top:-39px;right:25px}.art-1{background:#edf1f2;color:#426371}.art-1 b{color:#42637125}.art-2{background:#f4eede;color:#986729}.art-2 b{color:#98672920}.guide-copy{padding:26px}.guide-copy h3{font-size:1.6rem;font-weight:600}.guide-copy p{font-size:.9rem}.guide-copy .text-link{font-size:.85rem}.faq-section>div>p{max-width:300px;font-size:.95rem;color:#68758a}.faq-list summary{font-size:1rem;padding:24px 0;font-weight:550}.faq-list details>p{font-size:.96rem}.cta-band{border-radius:20px;background:#153f7a;padding:50px 55px}.cta-band .eyebrow{color:#b7d0f5}.cta-band h2{font-weight:600;font-size:2.4rem;max-width:580px}.cta-band p{color:#dce7f6;font-size:.96rem}.cta-band .button{background:white;color:#173e75}.site-footer{background:#f4f6f9;border-color:#e6eaf0}.footer-brand .wordmark{color:#18375d}.wordmark span{color:#2165df}.footer-bottom{border-color:#dce3ec}.footer-grid>div>a{font-size:.85rem}.footer-brand>.small{font-size:.78rem}.footer-bottom{font-size:.7rem}.mobile-start{display:none}.page-intro{padding-block:54px 35px}.page-intro h1{font-size:clamp(2.4rem,4.4vw,4.1rem);font-weight:650;max-width:900px}.page-intro .lede{font-size:1.13rem}.breadcrumbs{font-size:.74rem}.content-layout{gap:70px;grid-template-columns:minmax(0,1fr) 310px}.prose{font-size:1.03rem;line-height:1.85}.prose h2{font-size:1.8rem;font-weight:600}.answer-box{background:#f0f5fd;border-left-color:#2165df;border-radius:0 12px 12px 0}.answer-box .eyebrow{color:#2165df}.project-aside{border:1px solid #dfe6f0;border-radius:16px;padding:28px;background:#f9fbff;position:sticky;top:110px}.project-aside h2{font-weight:600}.project-aside .button{border-radius:999px}.project-aside>.eyebrow{font-size:.63rem}.source-note{background:#f4f6f9;border-radius:10px}.service-card{background:#f7f9fc;border:0;border-radius:15px;padding:30px}.service-card h3{font-size:1.55rem}.service-card p{font-size:.9rem}.card-kicker{font-size:.64rem;color:#667c99}.service-card .text-link{font-size:.83rem}.city-card{border-radius:15px;background:#f7f9fc;border:1px solid #e8edf4}.city-card h2{font-weight:600}.city-card p{font-size:.93rem}.request-section{gap:75px;grid-template-columns:.85fr 1.15fr}.form-intro h2{font-weight:650;font-size:2.8rem;max-width:420px}.form-intro>.eyebrow{color:#2165df}.form-card{border:1px solid #dee6f1;border-radius:20px;box-shadow:0 12px 45px #12376809;padding:35px}.form-row{grid-template-columns:1fr;gap:0}.contact-form label{font-size:.85rem;margin-bottom:8px}.contact-form label>span{font-size:.75rem}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#fafbfd;border:1px solid #cfd9e6;min-height:53px;border-radius:8px;margin-bottom:22px;padding:13px 15px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{background:white;border-color:#2165df}.contact-form .consent span{font-size:.78rem}.contact-form .consent{margin-top:22px}.contact-form .consent input{accent-color:#2165df}.optional-fields{border-top:1px solid #e3e8f0;border-bottom:1px solid #e3e8f0;margin-bottom:20px}.optional-fields summary{padding:16px 0;color:#2165df;font-size:.83rem;font-weight:600;gap:10px}.optional-fields summary>span{font-size:.7rem;white-space:nowrap;color:#6e7b90}.optional-fields[open] summary>span{transform:none}.optional-fields[open] summary{margin-bottom:10px}.form-footnote{font-size:.72rem}.form-status{border-radius:6px}.expectation{border-color:#e3e8f0}.expectation p{font-size:.9rem}.table-wrap{border-radius:10px}th{background:#eff4fc}.cost-feature{background:#143c72;border-radius:18px}.cost-feature .eyebrow,.cost-feature .text-link{color:#cadcfa}
@media(max-width:1050px){.nav{gap:20px}.container{width:calc(100% - 64px)}.hero-content h1{font-size:3.8rem}.home-hero{height:580px}.hero-content{padding-top:80px}.service-photo{height:230px}.visual-service-copy{padding:22px}.visual-service-copy h3{font-size:1.4rem}.confidence-strip{gap:20px}.confidence-strip small{font-size:.65rem}.area-section{gap:45px}.content-layout{gap:40px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{min-height:74px}.nav{gap:10px}.home-hero{height:570px}.hero-content{padding-top:65px}.hero-content h1{font-size:3.4rem}.hero-content>p{max-width:410px}.hero-shade{background:linear-gradient(90deg,#071429de,#07142969),linear-gradient(0deg,#07142940,transparent)}.hero-photo{object-position:60% center}.finder-wrap{padding:24px;margin-top:-45px}.project-finder{grid-template-columns:1fr 1fr}.project-finder .button{grid-column:1/-1;min-height:50px;padding-block:15px;margin:10px 5px 5px}.project-finder>div{padding:6px 12px}.confidence-strip{gap:20px}.confidence-strip>div{flex-direction:column;align-items:start;gap:10px}.confidence-strip small{font-size:.7rem}.visual-services{gap:15px}.service-photo{height:205px}.visual-service-copy{padding:20px 17px}.visual-service-copy h3{font-size:1.3rem}.visual-service-copy p{font-size:.8rem}.section{padding-block:65px}.area-section{grid-template-columns:1fr}.area-section h2{font-size:2.6rem}.area-panel{padding:28px}.how-bottom{align-items:start}.content-layout{grid-template-columns:1fr}.project-aside{position:static}.request-section{grid-template-columns:1fr;gap:30px}.form-intro h2{max-width:none}.form-card{max-width:650px;width:100%}.guide-grid>.guide-card:last-child .guide-art{min-height:170px}.cta-band{padding:35px}.cta-band h2{font-size:2rem}}
@media(max-width:520px){body{padding-bottom:76px}.logo,.logo img{width:122px}.container{width:calc(100% - 36px)}.header-inner{min-height:70px}.home-hero{height:550px}.hero-content{padding-top:53px}.hero-location{font-size:.56rem;letter-spacing:.13em;margin-bottom:20px}.hero-content h1{font-size:2.85rem;line-height:1.08;max-width:340px}.hero-content>p{font-size:.95rem;max-width:310px;line-height:1.7}.hero-photo{object-position:66% center}.hero-shade{background:linear-gradient(90deg,#071429ed,#07142970),linear-gradient(0deg,#07142944,transparent)}.hero-button{margin-top:13px;padding:15px 22px;font-size:.86rem;min-height:49px}.hero-secondary{font-size:.77rem;display:inline-block;margin-left:17px}.image-caption{bottom:52px;right:15px;font-size:.5rem}.finder-wrap{margin-top:-33px;padding:22px 19px 17px;border-radius:17px;width:calc(100% - 36px)}.finder-heading{display:block;margin-bottom:16px}.finder-heading h2{font-size:1.1rem}.finder-heading>span{display:none}.project-finder{grid-template-columns:1fr;gap:0;padding:0;border:0;background:none}.project-finder>div{padding:12px 14px;border:1px solid #d7e0ec;border-radius:9px;background:#fafcff;margin-bottom:10px}.project-finder>div:nth-child(2){border:1px solid #d7e0ec}.project-finder label{font-size:.66rem}.project-finder select{font-size:16px;min-height:28px;padding-block:3px}.project-finder .button{margin:3px 0 0;min-height:50px;grid-column:auto;border-radius:9px}.finder-note{font-size:.65rem;line-height:1.6}.confidence-strip{grid-template-columns:1fr;padding-block:25px;gap:17px}.confidence-strip>div{flex-direction:row;align-items:center;gap:14px}.confidence-strip strong{font-size:.78rem}.confidence-strip small{font-size:.72rem}.confidence-strip>div>span{width:33px;height:33px}.section-heading h2{font-size:2.1rem}.visual-services{grid-template-columns:1fr;gap:25px}.service-photo{height:260px}.visual-service-copy{padding:25px}.visual-service-copy h3{font-size:1.8rem;max-width:none}.visual-service-copy p{font-size:.92rem}.visual-service-copy>span{font-size:.73rem}.visual-service-copy b{font-size:.86rem}.asset-note{font-size:.62rem}.project-pills>span{width:100%;margin-bottom:5px}.project-pills a{font-size:.77rem}.steps{gap:32px}.step-no{margin-bottom:17px}.steps h3{font-size:1.45rem}.steps p{font-size:.95rem}.how-bottom{flex-direction:column;gap:17px}.how-bottom p{font-size:.75rem}.area-panel{padding:24px 20px}.area-links a{font-size:.84rem}.area-section h2{font-size:2.6rem}.faq-section h2{font-size:2.2rem}.faq-list summary{font-size:.94rem}.faq-list details>p{font-size:.93rem}.page-intro h1{font-size:2.35rem}.page-intro{padding-top:35px}.page-intro .lede{font-size:1rem}.project-aside .button{width:100%}.prose{font-size:1rem}.form-card{padding:25px 20px}.form-intro h2{font-size:2.3rem}.form-row{grid-template-columns:1fr}.form-intro>.small{font-size:.8rem}.contact-form label{font-size:.84rem}.optional-fields summary{font-size:.8rem}.mobile-start{display:flex;justify-content:space-between;align-items:center;position:fixed;bottom:12px;left:18px;right:18px;background:#2165df;color:white;text-decoration:none;font-size:.9rem;font-weight:600;padding:15px 22px;border-radius:999px;box-shadow:0 4px 25px #163d7560;z-index:30;min-height:50px}.mobile-start[hidden]{display:none}.cta-band{padding:32px 25px}.cta-band .button{color:#173e75}.footer-bottom{font-size:.7rem}.footer-brand>.small{font-size:.79rem}}
@media(prefers-reduced-motion:reduce){.visual-service:hover{transform:none}}

/* Mobile usability: comfortable controls, readable disclosure, compact intake. */
.page-contents{border:1px solid #cbd6e5;border-radius:12px;padding:0 20px;margin:25px 0 35px;background:#f7f9fc;font-size:.95rem}
.page-contents summary{display:flex;justify-content:space-between;align-items:center;min-height:54px;cursor:pointer;color:#174c9d;font-weight:650}
.page-contents ul{list-style:none;margin:0 0 15px;padding:0}
.page-contents a{display:block;padding:10px 0;line-height:1.5;min-height:44px}
.prose h2{scroll-margin-top:20px;overflow-wrap:anywhere}
.inline-request{padding:26px;border:1px solid #cbd6e5;background:#f0f5fd;border-radius:14px;margin-block:32px}
.inline-request p{font-size:.95rem;margin-block:10px 18px}
.inline-request .button{font-size:.9rem}
.source-note a,.editorial-note a{text-decoration:underline}
.prose .editorial-note{font-size:.875rem;color:#526174}
.form-status:focus{outline:3px solid #2165df;outline-offset:4px}
.skip-link,.prose a.button{color:#fff}
.how-bottom p,.area-panel>p{color:#526174}
.page-contents details[open] summary span{transform:rotate(45deg)}
@media(forced-colors:active){.button,.mobile-start,.service-card,.page-contents,.form-card{border:1px solid ButtonText}.hero-shade{background:Canvas}.hero-content,.hero-content h1 span,.hero-content>p,.hero-location{color:CanvasText}}
@media(max-width:520px){.inline-request{padding:22px}.inline-request .button{width:100%}.page-contents{padding-inline:16px}}
.service-photo{display:block;width:100%;object-fit:cover;background-image:none}
.photo-light,.photo-ev{object-position:center;background-image:none}
.photo-repair{object-position:85% center;background-image:none}
.menu-toggle{min-width:44px;min-height:44px}
.project-finder select{min-height:44px}
.form-intro-compact .eyebrow{display:none}
.form-intro-compact h2{font-size:1.6rem}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:16px}
.contact-form .consent{min-height:44px}
.contact-form .consent input{min-width:24px;min-height:24px}
.hero-secondary{display:inline-flex;align-items:center;min-height:44px}
.finder-note,.asset-note{font-size:.75rem;color:#596473}
.image-caption{font-size:.65rem;color:#fff;background:#10243bba;padding:3px 7px;border-radius:4px}
@media(max-width:800px){
 html{scroll-padding-top:86px}
 .request-section{scroll-margin-top:0}
 .form-intro-compact p{margin-bottom:0}
 .form-intro-compact h2{margin-bottom:12px}
 .form-intro-compact+.form-card{margin-top:0}
 .nav.open{max-height:calc(100dvh - 80px);overflow-y:auto}
 .nav>a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:520px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .home-hero{height:auto;min-height:530px;padding-bottom:80px}
 .hero-content{padding-top:40px}
 .hero-content h1{font-size:clamp(2.2rem,10vw,2.85rem)}
 .hero-secondary{margin-left:12px}
 .image-caption{bottom:40px}
 .mobile-start{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .project-finder label,.hero-location{font-size:.75rem}
 .finder-note,.asset-note,.form-footnote,.footer-bottom{font-size:.78rem}
 .contact-form .consent span{font-size:.875rem}
 .project-pills a{min-height:44px;display:inline-flex;align-items:center}
 .section-heading>.text-link,.how-bottom>.text-link{min-height:44px;display:inline-flex;align-items:center}
}

