/* Layout ratios taken from the six 4134px-wide reference designs. */
:root{--reference-content:min(1100px,54vw);--reference-navy:#0b306e}
body{font-size:14px;color:#111;line-height:1.55}h2{font-size:28px;line-height:1.2}h3{font-size:19px}.container,.narrow{width:var(--reference-content);max-width:none}.section{padding:54px 0}.section-title{margin-bottom:28px}.section-title p{font-size:12px;max-width:620px}.grid{gap:18px}.blue{background:#0745ad}.navy{background:var(--reference-navy)}
.site-header>.container{width:80%;max-width:1450px}.site-header .nav-row{min-height:48px;gap:24px}.site-header .logo img{width:140px}.site-header .navigation{font-size:10px;gap:22px}.site-header .navigation a{padding:16px 0;border-bottom-width:2px}.nav-actions .button{font-size:10px;padding:7px 13px}
.hero{min-height:0;height:49.5vw;max-height:920px}.hero>.container{width:84%;height:100%;padding:4.5vw 0;grid-template-columns:1fr 27%;gap:14%;align-items:start}.hero-copy{max-width:520px}.hero-copy h1{font-size:clamp(32px,3.5vw,54px)}.hero-copy p{font-size:12px;line-height:1.5;max-width:450px}.hero .credentials img{width:320px}.hero .credentials{margin-bottom:24px}.hero-bg .media.has-image img{object-position:center;object-fit:cover}.hero:after{background:linear-gradient(90deg,#06224b55,#06224b10)}
.quote-card{padding:22px 18px;background:#0b306ee8;height:100%;max-height:100%;overflow:auto}.quote-card .logo{margin-bottom:16px}.quote-card .logo img{width:155px}.quote-card h3{font-size:18px;margin-bottom:17px}.quote-card .form-grid{gap:9px}.quote-card input,.quote-card select{padding:8px 10px;font-size:12px;border-radius:0}.quote-card textarea{min-height:65px;height:65px;padding:9px 10px;font-size:12px;border-radius:0}.quote-card label{font-size:11px}.quote-card .choices label{font-size:9px}.quote-card .button{margin-top:18px}.quote-card .supplied-quote-button img{min-height:34px}.form-status:empty{display:none}
.service-card{min-height:0}.service-card .media{height:auto;min-height:0;aspect-ratio:715/1087}.service-card strong{top:50%;bottom:auto;transform:translateY(-50%);padding:16px 8px;background:none;font-size:14px;text-align:center;font-weight:500}.service-card strong:after{content:none}.service-card .media:after{content:'';position:absolute;inset:0;background:#0003}.service-card:has([data-asset="home-ev"]) .media:after{display:none}.service-card:has([data-asset="home-ev"]) strong{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
.home-intro>.section>.container{width:var(--reference-content);max-width:none}.home-intro>.section{padding:20px 0}.home-intro .service-card strong{top:50%;bottom:auto;background:none;text-align:center;font-size:14px;padding:8px;font-weight:500}.home-intro .hero-copy h1{font-size:clamp(30px,3.5vw,50px)}
.brands{padding:24px 0}.brand-group img{width:100px;height:35px}.brand-group{gap:24px;padding-right:24px}
.why-section{padding:55px 0 64px}.why-art.has-image{width:100%;max-width:none;margin:44px auto}.supplied-cta{width:100%;max-width:none;margin-top:42px}.supplied-cta .cta-copy{top:7%;width:59%;padding:0 5%}.supplied-cta .cta-copy h2{font-size:clamp(21px,2.15vw,30px);margin-bottom:8px}.supplied-cta .cta-copy p{font-size:11px;margin-bottom:11px}.image-button img{width:100px}
.wide-banner.has-image{width:100%;margin:28px auto 18px}.center>h3{font-size:18px}.center>p{font-size:12px;color:#74808b}.guarantee{gap:18px;margin:10px 0 0}.guarantee h2{font-size:clamp(30px,3.4vw,48px)}.guarantee p{font-size:12px}.guarantee .button{font-size:10px;padding:8px 14px}
.qualifications-section{padding:55px 0}.qualifications-section .credentials{margin:28px 0}.qualifications-section .credentials img{width:440px;max-width:100%}.qualification-layout{width:100%;grid-template-columns:24% 1fr;gap:28px}.qualification-layout h3{font-size:17px}.qualification-line{padding:11px 0}.qualification-link{font-size:11px}.review-gallery{max-width:none;gap:12px}.review-gallery img{width:calc((100% - 24px)/3);flex-basis:calc((100% - 24px)/3)}
.site-footer{padding:60px 0 28px}.footer-grid{width:100%;max-width:none;gap:50px;grid-template-columns:1fr 1fr}.footer-form h3{font-size:18px;line-height:1.2}.footer-form .form-grid{gap:9px}.footer-form label{font-size:10px}.footer-form input,.footer-form select{font-size:11px;padding:7px 9px;border-radius:0}.footer-form .choices label{font-size:10px}.footer-form .button{margin-top:18px}.footer-info{padding:26px 22px}.footer-info .logo img{width:170px}.footer-info p{font-size:11px;margin:18px 0;line-height:1.6}.footer-info .credentials{padding:9px;margin-top:20px}.footer-bottom{display:none}
body[data-page="solar"] .hero{height:49.5vw;min-height:0}.hero:has([data-asset="solar-hero"]) .hero-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hero:has([data-asset="solar-hero"])>.container{display:flex;justify-content:flex-end}.hero:has([data-asset="solar-hero"]) .quote-card{width:27%}.hero-bg [data-asset="solar-hero"].has-image img{object-fit:contain;object-position:center}
.bill-tabs{max-width:none;gap:12px;margin:30px auto 42px}.bill-tabs button{padding:17px 10px;font-size:15px}.plans-image-panel{width:100vw;max-width:none;position:relative;left:50%;transform:translateX(-50%)}.plans-image-panel .media{width:100%}.bill-selection{font-size:11px;margin:12px 0}.plans-image-panel+ .bill-selection +p{font-size:10px!important}
.installation-video-section .video-copy{top:26%;left:60%;width:28%}.installation-video-section .video-copy h2{font-size:clamp(20px,2.2vw,30px)}.installation-video-section .video-copy p{font-size:12px}.installation-video-section .button{font-size:11px;padding:9px 18px}.installation-video-section .play-button{width:55px;height:55px}.gallery-caption strong{font-size:12px}.gallery-card .gallery-caption p{font-size:9px}
.contact-panel{grid-template-columns:1fr 1fr;gap:64px}.contact-panel .product.has-image{width:100%;max-width:none}.contact-panel form{width:100%;border-radius:20px;padding:28px}.contact-panel form label{font-size:10px;color:#7a838b;font-weight:500}.contact-panel form input{padding:8px 12px;font-size:12px;margin-bottom:14px;border-radius:24px}.contact-panel .button{padding:10px;font-size:11px}.bill-copy h2{font-size:clamp(17px,2vw,29px)}.bill-copy p{font-size:11px}.project-row{margin:30px 0}.project-row .project-text{left:55%;width:45%;padding:25px}.project-row .project-text h3{font-size:20px}.project-row .project-text p{font-size:14px}.project-row .project-text .button{font-size:11px;padding:7px 13px}.timeline{gap:36px 45px;margin-top:38px}.timeline-item h3{font-size:16px}.timeline-item p{font-size:11px}.timeline-item .number{font-size:31px}
.ppa-steps-section .section-title h2{font-size:25px}.ppa-steps-section .stepper h3{font-size:11px}.ppa-steps-section .stepper p{font-size:9px}.ppa-industries strong{font-size:10px}.consider-card{padding:22px 15px}.consider-card h3{font-size:16px}.consider-card p{font-size:11px}.consider-card .symbol{margin-bottom:15px}.supplied-icon{width:48px;height:48px}.ppa-benefits h3{font-size:16px}.ppa-benefits p{font-size:11px}.faq summary{font-size:13px}.faq details{padding:16px 0}.faq details p{font-size:12px}
.about-page-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.history-art.has-image{width:100%;max-width:none;margin:44px auto}.about-card .media.slice-image{margin:0}.section:has([data-asset="team-center"]){padding:45px 0 55px}.section:has([data-asset="team-center"])>.container{width:90%;max-width:1600px}.section:has([data-asset="team-center"]) .grid{grid-template-columns:1fr 1.9fr 1fr;gap:25px;align-items:center}.section:has([data-asset="team-center"]) .section-title{margin-bottom:35px}.about-coverage-section .slice-image img{display:block}
.support-hero{height:49.5vw;min-height:0}.support-hero>.container{display:block;width:84%;padding:0;align-content:center}.support-hero h1{font-size:clamp(30px,3.1vw,46px)}.search-bar{max-width:340px;margin-top:28px}.search-bar input{padding:8px 10px;font-size:12px}.search-bar button{width:29px;height:29px}.contact-methods{margin:35px 0 55px}.contact-methods .supplied-icon{width:55px;height:55px}.contact-methods strong{font-size:14px}.contact-methods small{font-size:11px}.support-form{gap:20px}.support-form input,.support-form select{padding:9px 12px;font-size:12px}.support-form label{font-size:11px}.support-form textarea{min-height:150px}.support-form .button{border-radius:6px;padding:12px 25px}.progress-track h3{font-size:15px}.progress-track p{font-size:11px}
@media(min-width:801px) and (max-width:1100px){:root{--reference-content:64vw}.site-header>.container{width:88%}.hero>.container{width:88%;grid-template-columns:1fr 31%;gap:9%}.hero:has([data-asset="solar-hero"]) .quote-card{width:31%}.hero{height:59vw}.quote-card{padding:14px}.quote-card .logo img{width:130px}.quote-card h3{font-size:16px}.quote-card input,.quote-card select{padding:6px 8px}.footer-grid{gap:30px}}
@media(max-width:900px){.supplied-cta .cta-copy{position:static;width:100%;padding:24px}.supplied-cta .cta-copy h2{font-size:25px}.supplied-cta .cta-copy p{font-size:14px}.installation-video-section .video-copy{position:static;width:100%;padding:26px}.bill-comparison-section .bill-copy{position:static;width:100%;padding:26px}}
@media(max-width:800px){:root{--reference-content:90%}body{font-size:16px}.section{padding:42px 0}h2{font-size:26px}.section-title p{font-size:14px}.site-header>.container{width:90%}.site-header .nav-row{min-height:62px}.site-header .navigation{font-size:14px}.site-header .navigation a{padding:10px 0}.hero,body[data-page="solar"] .hero,.support-hero{height:auto;max-height:none;min-height:0}.hero>.container{width:90%;height:auto;padding:35px 0;display:grid;grid-template-columns:1fr;gap:30px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:14px}.quote-card{height:auto;max-height:none;overflow:visible;padding:24px}.quote-card h3{font-size:22px}.quote-card input,.quote-card select,.quote-card textarea{font-size:14px;padding:11px}.quote-card textarea{height:95px}.quote-card .choices label{font-size:11px}.quote-card label{font-size:12px}.hero:has([data-asset="solar-hero"])>.container{display:block}.hero:has([data-asset="solar-hero"]) .quote-card{width:100%}.home-intro>.section>.container{width:90%}.home-intro>.hero>.container{height:auto;padding:30px 0}.home-intro .service-card strong{font-size:13px}.service-card .media{aspect-ratio:715/1087;height:auto}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-form h3{font-size:22px}.footer-form label{font-size:12px}.footer-form input,.footer-form select{font-size:14px;padding:11px}.footer-info p{font-size:14px}.qualification-layout{grid-template-columns:120px 1fr;gap:18px}.qualification-layout h3{font-size:15px}.qualification-link{font-size:12px}.review-gallery img{width:85%;flex-basis:85%}.contact-panel{grid-template-columns:1fr;gap:30px}.contact-panel .product.has-image{max-width:340px}.contact-panel form label{font-size:12px}.contact-panel form input{font-size:14px}.section:has([data-asset="team-center"]) .grid{grid-template-columns:1fr;gap:20px}.section:has([data-asset="team-center"]) .media{max-width:480px;margin:auto;width:100%}.support-hero>.container{display:block;padding:80px 0}.support-form label{font-size:12px}.support-form input,.support-form select{font-size:14px}.contact-methods strong{font-size:14px}.faq summary{font-size:14px}.faq details p{font-size:14px}.consider-card p{font-size:13px}.ppa-benefits p{font-size:14px}}
.supplied-cta>.cta-finger-button{position:absolute;left:5%;top:65%;width:13%;padding:0;margin:0;line-height:0;z-index:2}.supplied-cta>.cta-finger-button img{display:block;width:100%;height:auto}@media(max-width:900px){.supplied-cta>.cta-finger-button{top:auto;bottom:12.8vw}}
.promotion>.promotion-mobile{display:none}.promotion-mobile img{display:block;width:100%;height:auto}@media(max-width:800px){.promotion>a:first-child,.promotion>.promotion-loan,.promotion>.promotion-quote{display:none}.promotion>.promotion-mobile{display:block;width:100%;line-height:0}}
.price-guarantee-section{padding:0;width:100%;background:#e9edf0;line-height:0}.price-guarantee-section>a{display:block;width:100%}.price-guarantee-section [data-asset="price-guarantee"]{width:100%;height:auto!important;min-height:0;aspect-ratio:4134/1579;border:0;background:none;overflow:visible}.price-guarantee-section [data-asset="price-guarantee"] img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.qualifications-heading h2{margin-bottom:10px}.qualifications-heading .accreditation-number{font-size:16px;font-weight:600;color:#111;margin:12px 0 14px}.accreditation-number span{color:#f75170;font-weight:500;margin-left:8px}.qualifications-heading .qualification-note{font-size:12px;line-height:1.6;color:#636b73;max-width:none;margin:0 auto}.qualifications-section .qualifications-heading{margin-bottom:38px}@media(max-width:800px){.qualifications-heading .accreditation-number{font-size:14px}.qualifications-heading .qualification-note{font-size:13px}.qualification-note-break{display:none}}
/* Interactive regions preserve the original supplied collage. */
.why-stage{position:relative;isolation:isolate}
.why-has-pieces .why-art img{visibility:hidden}
.why-animation{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.why-piece{transform-box:view-box;transform-origin:50% 50%}
.why-entrance-pending .why-piece{opacity:0;transform:scale(.04)}
.why-entrance-visible .why-piece{animation:why-piece-entrance 1.45s cubic-bezier(.2,.75,.25,1) var(--piece-delay) both}
.why-entrance-pending .why-hotspot{opacity:0;pointer-events:none}
.why-entrance-visible .why-hotspot{animation:why-controls-in .25s 1.95s both}
@keyframes why-piece-entrance{0%{opacity:0;transform:scale(.04)}35%{opacity:.7}100%{opacity:1;transform:scale(1)}}
@keyframes why-controls-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.why-stage .why-piece,.why-stage .why-hotspot{animation:none;opacity:1;transform:none;filter:none}}
.why-stage .why-art{margin:0!important;width:100%}
.why-hotspot{position:absolute;border:0;border-radius:0;background:transparent;cursor:pointer;z-index:1;padding:0;color:#102f69}
.why-products{left:10%;top:17%;width:20%;height:45%}
.why-compensation{left:30%;top:22%;width:39%;height:67%;z-index:2}
.why-anniversary{left:69%;top:41%;width:24%;height:43%}
.why-installer{left:0;top:77%;width:16%;height:23%}
.why-team{left:84%;top:0;width:16%;height:25%}
.why-hotspot:hover,.why-hotspot:focus-visible,.why-hotspot[aria-expanded="true"]{background:transparent;box-shadow:none;outline:none}
.why-plus{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff600;font:700 22px/1 Arial;box-shadow:0 2px 8px #0003;transition:transform .2s}
.why-products .why-plus{right:auto;left:12px;bottom:12px}
.why-hotspot:hover .why-plus{transform:scale(1.12)}
.why-hotspot:focus-visible .why-plus{outline:3px solid white;outline-offset:3px}
.why-hotspot[aria-expanded="true"] .why-plus{transform:rotate(45deg)}
.why-tooltip{display:none}
.why-hint{text-align:center;font-size:13px!important;color:#d9e7ff!important;margin:14px 0 20px!important}
.why-detail{position:relative;background:#fff;color:#142238;border-radius:16px;padding:28px 36px;margin:0 0 28px;box-shadow:0 10px 30px #001a4933;animation:why-reveal .22s ease-out}
.why-detail[hidden]{display:none}
.why-detail h3{color:#102f69;margin:0 35px 12px 0;font-size:24px}
.why-detail p{color:#526173!important;margin:0 0 20px;font-size:16px;line-height:1.6}
.why-detail .button{font-size:14px}
.why-close{position:absolute;right:12px;top:10px;background:#edf2fa;color:#102f69;border:0;border-radius:50%;width:36px;height:36px;font-size:26px;cursor:pointer}
.why-close:focus-visible{outline:3px solid #103c87;outline-offset:3px}
@keyframes why-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.why-plus{width:24px;height:24px;font-size:20px;right:2px;bottom:2px}.why-tooltip{display:none}.why-detail{padding:24px 20px}.why-detail h3{font-size:21px}.why-hint{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.why-hotspot,.why-plus,.why-tooltip{transition:none}.why-detail{animation:none}}

.quote-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.supplied-quote-button:disabled{opacity:.65;cursor:wait}
