/* 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;width:100%;max-width:none;text-align:center;margin:12px auto 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}

/* Updated supplied plan artwork, preserved full aspect ratio. */
.plans-image-panel .media{aspect-ratio:4134/2109}.plans-image-panel .plan-links{display:block}.plans-image-panel .plan-links a{position:absolute;border-radius:999px}.plans-image-panel .plan-links a:nth-child(1){left:8.2%;top:78.3%;width:12.1%;height:5.5%}.plans-image-panel .plan-links a:nth-child(2){left:52.3%;top:86.1%;width:14.1%;height:6.1%}.plans-image-panel .plan-links a:nth-child(3){left:78.9%;top:78.3%;width:12.1%;height:5.5%}

/* Homepage: normal navigation followed by one complete hero viewport. */
body[data-page="home"] .site-header{position:sticky;top:0;transform:none;visibility:visible;pointer-events:auto;transition:none}
.home-intro{display:block;height:auto;min-height:0}
body[data-page="home"] .home-intro>.hero{height:calc(100vh - var(--site-header-height,48px));height:calc(100svh - var(--site-header-height,48px));min-height:0;max-height:none}
.home-intro>.hero>.container{height:100%;width:84%;padding:clamp(14px,3svh,36px) 0;grid-template-columns:minmax(0,1fr) clamp(300px,28vw,420px);gap:clamp(30px,7vw,140px);align-items:center}
.home-intro .hero-copy{max-width:680px}.home-intro .hero-copy h1{font-size:clamp(32px,4vw,64px)}.home-intro .hero-copy p{font-size:clamp(14px,1.15vw,18px);max-width:580px}
:is(.home-intro,.quote-hero) .quote-card{height:auto;max-height:100%;overflow:auto;width:100%;padding:18px 20px}
@media(max-width:800px){body[data-page="home"] .home-intro>.hero{height:auto;min-height:calc(100svh - var(--site-header-height,62px))}.home-intro>.hero>.container{height:auto;width:90%;grid-template-columns:1fr;padding:30px 0;gap:28px}.home-intro .hero-copy h1{font-size:34px}:is(.home-intro,.quote-hero) .quote-card{height:auto;max-height:none;overflow:visible;margin:0 auto;padding:24px}}

/* Keep quote cards content-sized so Message does not stretch with the hero. */
@media(min-width:801px){
 .home-intro>.hero>.container{grid-template-columns:minmax(0,1fr) clamp(320px,30vw,480px);padding:clamp(14px,3svh,32px) 0}
 :is(.home-intro,.quote-hero) .quote-card{height:auto;padding:clamp(20px,2.7svh,32px) clamp(22px,2vw,32px);display:flex;flex-direction:column;border-radius:0}
 :is(.home-intro,.quote-hero) .quote-card .logo{margin:0 auto clamp(12px,1.6svh,18px)}
 :is(.home-intro,.quote-hero) .quote-card .logo img{width:clamp(175px,15vw,220px)}
 :is(.home-intro,.quote-hero) .quote-card h3{font-size:clamp(22px,1.9vw,29px);margin:0 0 clamp(12px,1.6svh,18px);text-align:center}
 :is(.home-intro,.quote-hero) .quote-card .form-grid{gap:12px;flex:0 0 auto;align-content:start;grid-template-rows:none}
 :is(.home-intro,.quote-hero) .quote-card input,:is(.home-intro,.quote-hero) .quote-card select{height:46px;padding:10px 12px;font-size:13px}
 :is(.home-intro,.quote-hero) .quote-card textarea{min-height:96px;height:112px;padding:12px;font-size:13px;line-height:1.5}
 :is(.home-intro,.quote-hero) .quote-card label{font-size:12px;margin-bottom:5px}
 :is(.home-intro,.quote-hero) .quote-card .choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
 :is(.home-intro,.quote-hero) .quote-card .choices label{position:relative;display:flex;align-items:center;justify-content:center;padding:7px 4px;border:1px solid #ffffff70;font-size:10px;line-height:1.35;font-weight:500;text-align:center;cursor:pointer;min-height:34px;margin:0}
 :is(.home-intro,.quote-hero) .quote-card .choices input{position:absolute;width:1px;height:1px;opacity:0;padding:0}
 :is(.home-intro,.quote-hero) .quote-card .choices label:has(input:checked){background:white;color:#102f69;border-color:white}
 :is(.home-intro,.quote-hero) .quote-card .choices label:focus-within{outline:2px solid #fff600;outline-offset:2px}
 :is(.home-intro,.quote-hero) .quote-card .button{margin-top:clamp(12px,1.7svh,18px);flex-shrink:0}
 :is(.home-intro,.quote-hero) .quote-card .supplied-quote-button img{min-height:48px}
}
@media(min-width:801px) and (max-height:800px){
 :is(.home-intro,.quote-hero) .quote-card{padding:16px 22px}:is(.home-intro,.quote-hero) .quote-card .logo{margin-bottom:12px}:is(.home-intro,.quote-hero) .quote-card .logo img{width:175px}
 :is(.home-intro,.quote-hero) .quote-card h3{font-size:22px;margin-bottom:12px}:is(.home-intro,.quote-hero) .quote-card .form-grid{gap:9px;grid-template-rows:none}
 :is(.home-intro,.quote-hero) .quote-card input,:is(.home-intro,.quote-hero) .quote-card select{height:36px;padding:8px 10px}:is(.home-intro,.quote-hero) .quote-card textarea{height:88px;min-height:74px}
 :is(.home-intro,.quote-hero) .quote-card .choices{margin-top:7px}:is(.home-intro,.quote-hero) .quote-card .choices label{min-height:30px;padding:5px 3px}
 :is(.home-intro,.quote-hero) .quote-card .button{margin-top:12px}:is(.home-intro,.quote-hero) .quote-card .supplied-quote-button img{min-height:42px}
}

/* Native quote dialog: accessible focus handling and Escape to close. */
.quote-popup{width:min(640px,calc(100vw - 32px));max-height:calc(100svh - 32px);margin:auto;padding:0;border:0;border-radius:14px;background:#10316b;color:white;box-shadow:0 20px 70px #0006;overflow:auto}
.quote-popup:not([open]){display:none}.quote-popup::backdrop{background:#061329b3}
.quote-popup-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px 16px;background:#10316b}
.quote-popup-header h2{font-size:25px;line-height:1.2;margin:0}.quote-popup-close{flex-shrink:0;width:36px;height:36px;border:0;border-radius:50%;background:#ffffff18;color:white;font:28px/1 Arial;cursor:pointer}
.quote-popup-close:hover{background:#ffffff30}.quote-popup-close:focus-visible{outline:2px solid #fff600;outline-offset:3px}
.quote-popup-body{padding:4px 26px 26px}.quote-popup-form .form-grid{gap:15px}.quote-popup-form label{font-size:13px;line-height:1.45;margin-bottom:5px}.quote-popup-form input,.quote-popup-form select{font-size:14px;padding:10px 12px;min-height:42px;border-radius:0;background:white;color:#142238}
.quote-popup-form .choices{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px}.quote-popup-form .choices label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}.quote-popup-form .choices input{width:16px;height:16px;min-height:0;margin:0;padding:0}
.quote-popup-form .supplied-quote-button{display:block;width:100%;margin-top:22px}.quote-popup-form .supplied-quote-button img{width:100%;min-height:48px;object-fit:fill}.quote-popup-form .form-status{font-size:13px;line-height:1.5;margin-top:14px}.quote-popup-form .form-status:empty{display:none}
/* Navigation pages use the same viewport-sized opening as the homepage. */
@media(min-width:801px){
 body:not([data-page="home"]) .hero,body[data-page="about"] .about-hero{height:calc(100vh - var(--site-header-height,48px));height:calc(100svh - var(--site-header-height,48px));min-height:0;max-height:none}
 body:not([data-page="home"]) .hero>.container{height:100%;padding:clamp(16px,3svh,36px) 0;align-items:center}
 body:not([data-page="home"]) .hero .quote-card{height:auto;max-height:100%;overflow:auto}
 body:not([data-page="home"]) .hero-bg{position:absolute;inset:0;height:100%}
 body:not([data-page="home"]) .hero-bg .media{height:100%;min-height:0;aspect-ratio:auto}
 body:not([data-page="home"]) .hero-bg .media.has-image img{width:100%;height:100%;object-fit:cover;object-position:center}
 body[data-page="about"] .about-hero>.container{height:100%;width:100%;max-width:none}
 body[data-page="about"] .about-hero [data-asset="about-hero"]{height:100%!important;min-height:0;aspect-ratio:auto}
 body[data-page="about"] .about-hero [data-asset="about-hero"] img{width:100%;height:100%;object-fit:cover;object-position:center}
 body[data-page="support"] .support-hero>.container{display:block;align-content:center;padding:24px 0}
}
@media(max-width:800px){
 body:not([data-page="home"]) .hero{height:auto;min-height:calc(100svh - var(--site-header-height,62px));max-height:none}
 body[data-page="support"] .support-hero>.container{min-height:calc(100svh - var(--site-header-height,62px));align-content:center}
 body[data-page="about"] .about-hero>.container{height:calc(100svh - var(--site-header-height,62px));background:#10316b}
 body[data-page="about"] .about-hero [data-asset="about-hero"]{height:100%!important;min-height:0;aspect-ratio:auto;display:grid;align-items:center}
 body[data-page="about"] .about-hero [data-asset="about-hero"] img{height:100%;width:100%;object-fit:contain}
}
@media(max-width:600px){.quote-popup{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.quote-popup-header{padding:16px 18px 12px}.quote-popup-header h2{font-size:22px}.quote-popup-body{padding:4px 18px 20px}.quote-popup-form .form-grid{gap:12px;grid-template-columns:1fr}.quote-popup-form label{font-size:12px}}

@media(min-width:801px){body[data-page="solar"] .hero{height:49.491vw;max-height:none}.hero-bg [data-asset="solar-hero"].has-image img{object-fit:contain;object-position:center}}
@media(min-width:801px){body[data-page="solar"] .hero:has([data-asset="solar-hero"]){height:calc(100vh - var(--site-header-height,48px));height:calc(100svh - var(--site-header-height,48px));min-height:0;max-height:none}}
/* Preserve the complete promotional artwork inside the fullscreen solar hero. */
body[data-page="solar"] .hero-bg{background:linear-gradient(90deg,#093172 0%,#083379 25%,#0a3e92 50%,#245baf 75%,#245db6 100%)}
body[data-page="solar"] .hero-bg::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#08347b 0%,#083a8c 25%,#09429e 50%,#1d52a1 75%,#1a529f 100%);mask-image:linear-gradient(to bottom,transparent 40%,#000 60%);-webkit-mask-image:linear-gradient(to bottom,transparent 40%,#000 60%)}
body[data-page="solar"] .hero-bg [data-asset="solar-hero"]{position:relative;z-index:1}
body[data-page="solar"] .hero .hero-bg [data-asset="solar-hero"].has-image img{object-fit:contain;object-position:center;width:100%;height:100%}
@media(min-width:801px){body[data-page="solar"] .hero>.container{width:84%;max-width:none}body[data-page="solar"] .hero .quote-card{width:27%;flex-shrink:0}}

/* The first three navigation heroes reuse the homepage quote styling. */
@media(min-width:801px){
 body .hero.quote-hero>.container{width:84%;height:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,30vw,480px);gap:clamp(30px,7vw,140px);padding:clamp(14px,3svh,32px) 0;align-items:center}
 body .hero.quote-hero .quote-card{grid-column:2;width:100%;height:auto;max-height:100%;overflow:auto}
 body[data-page="solar"] .hero.quote-hero .hero-bg [data-asset="solar-hero"].has-image img{width:92%;object-position:left center}
}
@media(min-width:801px) and (max-width:1100px){body[data-page="solar"] .hero.quote-hero .hero-bg [data-asset="solar-hero"].has-image img{width:80%}}
@media(max-width:800px){body .hero.quote-hero>.container{height:auto;display:grid;grid-template-columns:1fr;gap:28px;padding:30px 0;width:90%}body .hero.quote-hero .quote-card{grid-column:auto;width:100%;height:auto;max-height:none;max-width:450px;margin:0 auto;overflow:visible}}
/* Remove the placeholder tint so the artwork edge colours remain visible. */
body[data-page="solar"] .hero .hero-bg [data-asset="solar-hero"]{background:transparent;opacity:1}
body[data-page="solar"] .hero-bg{background:linear-gradient(90deg,#093172 0%,#083379 23%,#0a3e92 46%,#245baf 69%,#245db6 92%)}
body[data-page="solar"] .hero-bg::before{background:linear-gradient(90deg,#08347b 0%,#083a8c 23%,#09429e 46%,#1d52a1 69%,#1a529f 92%)}
@media(min-width:801px) and (max-width:1100px){body[data-page="solar"] .hero-bg{background:linear-gradient(90deg,#093172 0%,#083379 20%,#0a3e92 40%,#245baf 60%,#245db6 80%)}body[data-page="solar"] .hero-bg::before{background:linear-gradient(90deg,#08347b 0%,#083a8c 20%,#09429e 40%,#1d52a1 60%,#1a529f 80%)}}

/* Exact image-edge extension and a narrow feather over background-only margins. */
body[data-page="solar"] .hero-bg{background-image:url('assets/solar-edge-background.png.webp'),linear-gradient(to bottom,#245db6,#1a529f);background-size:var(--solar-art-width,92%) 100%,100% 100%;background-repeat:no-repeat;background-position:left center}
body[data-page="solar"] .hero-bg::before{display:none}
body[data-page="solar"] .hero .hero-bg img.solar-edge-blend{mask-image:linear-gradient(to bottom,transparent var(--art-top),#000 calc(var(--art-top) + var(--art-feather)),#000 calc(var(--art-bottom) - var(--art-feather)),transparent var(--art-bottom));-webkit-mask-image:linear-gradient(to bottom,transparent var(--art-top),#000 calc(var(--art-top) + var(--art-feather)),#000 calc(var(--art-bottom) - var(--art-feather)),transparent var(--art-bottom))}

/* Keep commercial case copy inside the blue half on small screens. */
@media(max-width:480px){.project-row .project-text{padding:10px}.project-row .project-text h3{font-size:14px;line-height:1.25;margin:0}.project-row .project-text p{font-size:12px;margin:4px 0}.project-row .project-text .button{font-size:10px;padding:6px 9px}}

/* Replacement artwork follows the supplied Why CCL reference. */
.why-replacement-collage svg{display:block;width:100%;height:auto;overflow:visible}
.why-section .supplied-cta{container-type:inline-size;border-radius:12px;overflow:hidden}
.why-section .supplied-cta .cta-copy{position:absolute;top:5%;left:0;width:62%;height:auto;padding:0 3.8%;display:block;color:#000}
.why-section .supplied-cta .cta-copy h2{font-size:clamp(12px,4cqi,30px);line-height:1.15;letter-spacing:0;margin:0 0 2.2cqi}
.why-section .supplied-cta .cta-copy p{font-size:clamp(7px,1.55cqi,12px);line-height:1.3;margin:0;max-width:100%}
.why-section .supplied-cta>.cta-finger-button{left:4%;top:59%;bottom:auto;width:14%;}
@media(max-width:480px){.why-section .supplied-cta{border-radius:7px}.cta-copy-break{display:none}}
.why-stage .why-replacement-collage{height:auto!important;min-height:0;line-height:0}

/* Homepage video uses a black base and 90% opacity. */
.home-intro>.hero .hero-bg{background:#000}
.home-intro>.hero .hero-bg>.media{opacity:.5;transition:opacity .35s}
.home-intro>.hero::after{display:none}
.home-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none;transition:opacity .35s}
.home-intro>.hero.hero-video-ready .home-hero-video{opacity:.9}
.home-intro>.hero.hero-video-ready .hero-bg>.media{opacity:0}
.hero-video-toggle{position:absolute;z-index:3;left:8%;bottom:16px;width:34px;height:34px;border:1px solid #ffffff90;border-radius:50%;background:#09245280;color:#fff;font-size:15px;line-height:1}
.hero-video-toggle[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.home-hero-video,.home-intro>.hero .hero-bg>.media{transition:none}}

/* Real installation video occupies the photograph panel in the supplied artwork. */
.installation-player{position:absolute;left:15.45%;top:19.5%;width:43.8%;aspect-ratio:636/377;background:#071c36;overflow:hidden}
.installation-video{display:block;width:100%;height:100%;object-fit:contain;background:#071c36}
.installation-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border:0;border-radius:50%;background:white;color:#0b306e;font-size:22px;cursor:pointer}
.installation-play[hidden],.installation-video-error[hidden]{display:none}
.installation-video-error{position:absolute;inset:auto 0 0;background:#071c36e8;color:white;padding:12px;font-size:13px;line-height:1.5;margin:0}.installation-video-error a{text-decoration:underline}
@media(max-width:900px){.installation-video-section{padding-top:24px}.installation-video-section>[data-asset="solar-video"]{display:none}.installation-player{position:relative;left:auto;top:auto;width:90%;margin:0 auto;aspect-ratio:16/9}.installation-video-section .video-copy{position:static;left:auto;top:auto;width:100%;padding:26px 5%}.installation-video-section .video-copy h2{font-size:24px}.installation-video-section .video-copy p{font-size:14px}}

/* Product packages arranged to match the supplied residential reference. */
.product-packages{padding:52px 0 70px;background:#fff url('assets/product-packages/package-sky.png.webp') center top/100% auto no-repeat}
.package-inner{width:var(--reference-content);max-width:1100px;margin:0 auto}
.package-heading{text-align:center;margin-bottom:24px;color:#0646b5}.package-heading h2{font-size:clamp(26px,2.6vw,38px);margin:0 0 10px}.package-heading p{font-size:12px;color:#597086;margin:0}
.package-select-row{display:flex;justify-content:flex-end;margin-bottom:26px}.package-select-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
.package-select-row select{width:250px;max-width:100%;padding:12px 16px;border:1px solid #c7d9e7;border-radius:0;font-size:14px;background:#fff;color:#17283e}
.package-panel[hidden]{display:none}.package-group{margin:0 0 36px}.package-group:last-child{margin-bottom:0}
.package-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(90deg,#e1f7ff,#f5fbff 75%,#fff);padding:12px 14px;margin-bottom:18px;border-radius:5px}
.package-group-heading h3{font-size:clamp(16px,1.6vw,22px);font-weight:600;color:#0057bf;margin:0;line-height:1.3}.package-group-heading p{font-size:11px;line-height:1.4;color:#7b8ba3;margin:0;text-align:right}
.package-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.package-product{display:block;border-radius:9px;line-height:0;transition:transform .18s}.package-product img{display:block;width:100%;height:auto}.package-product:hover{transform:translateY(-3px)}.package-product:focus-visible{outline:3px solid #0646b5;outline-offset:4px}
@media(max-width:1100px) and (min-width:801px){.package-inner{width:72%}}
@media(max-width:800px){.product-packages{padding:35px 0 40px;background-size:auto 200px}.package-inner{width:90%}.package-heading h2{font-size:28px}.package-select-row{margin:22px 0}.package-group-heading{padding:10px}.package-group-heading h3{font-size:17px}.package-group-heading p{font-size:10px}.package-product-grid{gap:12px}}
@media(max-width:600px){.package-group-heading{flex-wrap:wrap;gap:5px}.package-group-heading p{text-align:left}.package-product-grid{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 4px 12px}.package-product{scroll-snap-align:start}.package-group{margin-bottom:25px}.package-select-row select{width:100%}}
@media(prefers-reduced-motion:reduce){.package-product{transition:none}}

/* Alternate just the requested specification rectangles, preserving card imagery and prices. */
.package-description-card{position:relative;container-type:inline-size}
.package-description{position:absolute;left:9.5%;top:59.5%;width:81%;height:21.3%;padding:1.2cqi 0 0;background:var(--description-background,#fff);color:#111;line-height:1.4;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;pointer-events:none;text-align:left}
.package-description-intro{font-size:2.85cqi;line-height:1.4;display:block;margin-bottom:2.8cqi;white-space:nowrap;letter-spacing:-.02em}
.package-description-features{display:grid;gap:1.6cqi;font-size:4cqi;font-family:Montserrat,Arial,sans-serif;line-height:1.45;letter-spacing:-.025em}
.package-description-features>span{display:flex;align-items:baseline;gap:1.4cqi;white-space:nowrap}
.package-description-check{flex:0 0 3.2cqi;width:3.2cqi;height:3.2cqi;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#818181;color:white;font:700 2.8cqi/1 Arial}
.show-product-descriptions .package-description{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.package-description{transition:none}}

/* Native, selectable product text replaces raster prices and specification blocks. */
.product-text-card{position:relative;container-type:inline-size;display:flex;flex-direction:column;line-height:1.4;background:#fff;border:1px solid #d1d1d1;border-radius:14px;overflow:hidden;color:#111;user-select:text;-webkit-user-select:text}
.product-text-card.product-featured{background:#f2f7ff;border-color:#6e97e8}
.product-art{width:100%;aspect-ratio:487/448;overflow:hidden;flex:none;line-height:0;user-select:none}.product-art img{width:100%;height:auto;display:block}
.product-model{color:#858585;text-align:center;font-size:clamp(9px,3cqi,13px);line-height:1.4;min-height:2.8em;margin:10px 7% 12px;user-select:text}
.product-information{display:grid;margin:0 9%;min-height:39cqi;cursor:text}
.product-specs{display:grid;grid-area:1/1;grid-template-columns:1.2fr 1fr;gap:15px 12px;margin:0;align-content:start;transition:opacity .25s,visibility .25s}
.product-specs dt{font-size:clamp(9px,3.1cqi,13px);line-height:1.35;color:#444;margin:0 0 5px}.product-specs dd{font-size:clamp(11px,4.3cqi,18px);font-weight:600;line-height:1.35;margin:0}
.product-text-card .package-description{grid-area:1/1;position:static;inset:auto;width:auto;height:auto;padding:0;background:transparent;display:block;pointer-events:auto;user-select:text;cursor:text}
.product-text-card .package-description-intro{font-size:clamp(9px,2.85cqi,13px);line-height:1.45;white-space:normal;letter-spacing:-.02em;margin:0 0 8px}
.product-text-card .package-description-features{list-style:none;display:grid;gap:7px;padding:0;margin:0;font-size:clamp(10px,3.7cqi,16px);line-height:1.4;letter-spacing:-.025em}
.product-text-card .package-description-features li{display:flex;gap:5px;align-items:baseline}.product-text-card .package-description-features li>span:last-child{min-width:0}
.product-text-card .package-description-check{font-size:9px;line-height:1;width:10px;height:10px;flex:0 0 10px}
.show-product-descriptions .product-text-card .product-specs{opacity:0;visibility:hidden}
.product-purchase{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:14px 9% 20px;padding-top:13px;border-top:1px solid #b8b8b8}
.product-price{margin:0;line-height:1.2;white-space:nowrap;cursor:text}.product-price>span{display:block;font-size:clamp(9px,3.1cqi,13px);color:#747474;margin-bottom:6px}.product-price strong{display:block;font-size:clamp(19px,8.8cqi,38px);letter-spacing:-.04em;line-height:1.1;font-weight:700}
.product-quote{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c6c6c6;border-radius:30px;padding:6px 9px;font-size:clamp(10px,3.6cqi,15px);font-weight:600;white-space:nowrap;line-height:1.25;background:#fff;color:#111;cursor:pointer;text-decoration:none;flex-shrink:0;user-select:none}
.product-featured .product-quote{background:#2e69cf;border-color:#2e69cf;color:#fff}.product-quote:focus-visible,.product-copy:focus-visible{outline:3px solid #0755b9;outline-offset:2px}
.product-copy{position:absolute;right:7px;top:8px;padding:4px 6px;background:#ffffffed;color:#45617a;border:1px solid #dae3ed;border-radius:5px;font:500 10px/1.2 Montserrat,Arial,sans-serif;cursor:pointer;z-index:1;user-select:none}.product-copy:hover{background:#e4efff}
.product-copy-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.product-information ::selection,.product-price ::selection,.product-model::selection{background:#b9d9ff;color:#10263b}
@media(max-width:600px){.product-purchase{gap:5px;margin-bottom:16px}.product-quote{padding:6px 7px;font-size:9px}.product-copy{font-size:9px;top:5px;right:5px;padding:3px 4px}.product-information{min-height:112px}.product-specs{gap:13px 8px}.product-model{margin-top:8px;margin-bottom:10px}.product-price strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.product-specs{transition:none}}
.product-text-card .product-information{height:136px;min-height:136px}.product-text-card .product-model{min-height:3em}

/* All packages show the approved English introduction and three benefits. */
.package-product-grid{align-items:stretch}
.product-text-card .product-information{height:auto;min-height:155px;flex:1}
.product-text-card .package-description{opacity:1;visibility:visible;transition:none}
.product-text-card .package-description-intro{font-size:clamp(11px,3.4cqi,14px);margin-bottom:12px}
.product-text-card .package-description-features{font-size:clamp(11px,3.7cqi,16px);gap:9px}
.product-text-card .product-purchase{margin-top:18px}

/* Keep both text panels in the same grid cell to prevent layout shifts. */
.package-select-row[hidden]{display:none}
.package-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0}
.package-tab{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #deebf7;background:#fff;color:#666;padding:15px 8px;font-weight:700;font-size:clamp(13px,1.4vw,19px);line-height:1.3;cursor:pointer}
.package-tab>span{color:#1670da;font-size:1.3em}
.package-tab[aria-pressed="true"]{background:#0646b5;border-color:#0646b5;color:#fff}
.package-tab[aria-pressed="true"]>span{color:#fff}
.package-tab:focus-visible{outline:3px solid #1670da;outline-offset:3px}
.product-art img{width:100%;max-width:100%;margin:0;clip-path:inset(6px 6px 0)}
@media(max-width:600px){.package-tabs{gap:6px;margin:22px 0}.package-tab{padding:12px 4px;font-size:12px;gap:4px}.package-tab>span{font-size:14px}}
.price-guarantee-section>a{position:relative}
.price-guarantee-quote{position:absolute;left:26.4%;top:70%;width:16%;max-width:260px;min-height:44px;padding:14px 12px;display:flex;align-items:center;justify-content:center;background:#fff200;color:#0b306e;border-radius:5px;font-size:clamp(12px,1.5vw,22px);font-weight:700;line-height:1.3}
.price-guarantee-section>a:hover .price-guarantee-quote{background:#ffe100}
body:is([data-page="home"],[data-page="commercial"]) .service-card strong{font-size:clamp(16px,1.35vw,21px);font-weight:600;z-index:2}
body:is([data-page="home"],[data-page="commercial"]) .service-card .media{transition:transform .35s ease}
body:is([data-page="home"],[data-page="commercial"]) .service-card .media:after{transition:background .35s ease}
body:is([data-page="home"],[data-page="commercial"]) .service-card:is(:hover,:focus-visible) .media{transform:scale(1.06)}
body:is([data-page="home"],[data-page="commercial"]) .service-card:is(:hover,:focus-visible) .media:after{background:rgb(11 48 110 / 50%)}
@media(max-width:600px){.price-guarantee-quote{min-height:30px;padding:7px 5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){body:is([data-page="home"],[data-page="commercial"]) .service-card .media,body:is([data-page="home"],[data-page="commercial"]) .service-card .media:after{transition:none}}
.product-text-card .package-description{opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.show-product-descriptions .product-text-card .package-description{opacity:1;visibility:visible}





body[data-page="commercial"] .service-card .media img{filter:brightness(1.5)}

/* Center desktop navigation independently of the logo and action buttons. */
@media(min-width:1200px){
.site-header>.container{width:94%;max-width:1800px}
.site-header .nav-row{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.site-header .navigation{margin-left:0;justify-content:center;font-size:12px;gap:22px}
.site-header .nav-actions{justify-self:end}
}
@media(min-width:801px) and (max-width:1199px){.site-header .navigation{font-size:12px;gap:14px;margin-left:auto;margin-right:auto}.site-header>.container{width:94%}}
/* Align each caption directly beneath its numbered circle in the supplied artwork. */
@media(min-width:801px){
.ppa-steps-section .stepper{left:2%;width:97.2%;top:70%;bottom:auto;gap:0;grid-template-columns:repeat(6,minmax(0,1fr))}
.ppa-steps-section .stepper>div{padding:0 10px}
.ppa-steps-section .stepper h3{font-size:clamp(13px,1.05vw,18px);line-height:1.35;margin-bottom:9px}
.ppa-steps-section .stepper p{font-size:clamp(10px,.8vw,14px);line-height:1.5}
.ppa-steps-section .section-title{top:8%}
}

.home-intro>.hero .hero-copy h1,.home-intro>.hero .hero-copy p{text-shadow:0 2px 6px rgb(0 0 0 / 65%)}

/* Review refinements: October 23. */
.price-guarantee-quote{background:#0646b5;color:#fff}
.price-guarantee-section>a:hover .price-guarantee-quote{background:#0b306e}
.package-icon{width:30px;height:30px;flex:none;color:#1670da}
.package-tab[aria-pressed="true"] .package-icon{color:#fff}
.section:has(.balanced-timeline){padding-top:42px}
.balanced-timeline{gap:30px 0;align-items:stretch}
.balanced-timeline .timeline-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:0 30px 10px}
.balanced-timeline .timeline-item h3{min-height:2.7em;margin-bottom:8px;line-height:1.35}
.balanced-timeline .timeline-item p{margin-bottom:0;font-size:12px}
@media(min-width:1200px){.site-header .navigation{font-size:14px;gap:clamp(24px,2.2vw,44px)}}
@media(min-width:801px){
.home-intro>.hero>.container,body .hero.quote-hero>.container{align-items:start;align-content:center;grid-template-rows:max-content}
.home-intro>.hero .hero-copy,body .hero.quote-hero .hero-copy{align-self:start;margin-top:0}
.ppa-steps-section .section-title{left:10%;width:80%;top:6%;text-align:center}
.ppa-steps-section .section-title h2{font-size:clamp(30px,3.4vw,50px);line-height:1.15}
.ppa-steps-section .stepper{top:68%}
.ppa-steps-section .stepper .step-detail{display:block;margin:10px auto 0;max-width:240px;font-size:clamp(10px,.78vw,13px);line-height:1.4;color:#e3edf9}
.support-hero>.container{max-width:1600px;width:92%}
.support-hero h1{font-size:clamp(46px,5.5vw,84px);line-height:1.12}
.support-hero .search-bar{max-width:680px;margin-top:36px;padding:7px 12px 7px 24px;border-radius:45px}
.support-hero .search-bar input{font-size:18px;padding:15px 12px;width:100%;min-width:0}
.support-hero .search-bar button{width:52px;height:52px;font-size:22px}
}
@media(max-width:800px){.balanced-timeline .timeline-item{padding:0 10px 14px}.balanced-timeline .timeline-item h3{min-height:0}.package-icon{width:23px;height:23px}.ppa-steps-section .stepper .step-detail{display:block;font-size:11px;margin-top:8px}.support-hero .search-bar{width:100%;max-width:540px}.support-hero h1{font-size:clamp(32px,6vw,48px)}}

/* Follow-up layout refinements: keep the right column inset and project copy centered. */
.installation-video{object-fit:cover}
.project-row .project-text{align-items:center;text-align:center}
.project-row .project-text h3{font-size:clamp(22px,2.8vw,40px);line-height:1.2;margin:0 0 18px}
.project-row .project-text p{font-size:clamp(18px,2vw,28px);line-height:1.3;margin:0 0 24px}
.project-row .project-text .button{font-size:clamp(14px,1.55vw,22px);padding:12px 24px}
@media(min-width:801px){
.balanced-timeline .timeline-item:nth-child(even){padding-left:60px;padding-right:12px;column-gap:24px}
.ppa-steps-section .section-title{transform:translateY(50%)}
}
@media(max-width:800px){
.project-row .project-text{padding:14px}
.project-row .project-text h3{font-size:clamp(16px,3vw,24px);margin-bottom:10px}
.project-row .project-text p{font-size:clamp(14px,2.4vw,20px);margin-bottom:12px}
.project-row .project-text .button{font-size:clamp(11px,1.8vw,16px);padding:8px 12px}
}
@media(max-width:480px){
.project-row .project-text{padding:8px}
.project-row .project-text h3{font-size:16px;margin-bottom:5px}
.project-row .project-text p{font-size:14px;margin-bottom:7px}
.project-row .project-text .button{font-size:11px;padding:6px 9px}
}
