.planning-hero{grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.planning-hero .services-section-heading{margin-bottom:1.7rem}.planning-hero .services-section-heading :is(h1,h2){max-width:17ch;font-size:clamp(2.7rem,4.1vw,4.7rem)}.planning-hero .services-section-heading p{font-size:1.05rem}.services-planning-page figure{min-width:0;margin:0}.services-planning-page figure img{width:100%;height:auto;display:block}.services-planning-page figcaption{color:#666;margin-top:.8rem;font-size:.76rem;line-height:1.5}.planning-hero-image img{aspect-ratio:1.05;object-fit:cover;object-position:57% center}.planning-hero .public-button{align-items:center;gap:.8rem;display:inline-flex}.planning-model-section{color:#fff;width:100%;max-width:none;padding-inline:max(var(--public-gutter), calc((100% - 92rem) / 2));background:#080808}.planning-model-layout{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,4vw,4.5rem);display:grid}.planning-model-copy{gap:1.3rem;display:grid}.planning-model-copy .eyebrow{color:#8ed672}.planning-model-copy h2{color:#fff;max-width:20ch;font-size:clamp(2.2rem,3.6vw,3.75rem);line-height:1.05}.planning-model-copy p{color:#c9c9c9;font-size:.98rem}.planning-model-layout figcaption{color:#a8a8a8}.planning-model-layout img{object-fit:contain}.planning-calculation-grid{border-top:1px solid #3c3c3c;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:3.5rem;padding-top:2rem;display:grid}.planning-calculation-marker{color:#8ed672;font-size:1.8rem;font-family:var(--public-display-font);margin-bottom:1rem;line-height:1.2;display:block}.planning-calculation-grid h3{color:#fff;letter-spacing:0;margin-bottom:.8rem;font-family:inherit;font-size:1rem}.planning-calculation-grid p{color:#b8b8b8;font-size:.88rem}.planning-drawings-layout{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.planning-drawings-layout img{aspect-ratio:1.12;object-fit:cover;object-position:53% center}.planning-drawings-copy>p{color:#4b4b4b;margin-bottom:1.2rem}.planning-drawings-copy dl{border-top:1px solid #ccc;margin:1.8rem 0 0}.planning-drawings-copy dl>div{border-bottom:1px solid #ccc;padding:1rem 0}.planning-drawings-copy dt{color:#161616;font-size:1.05rem;font-weight:750}.planning-drawings-copy dd{color:#555;margin:.5rem 0 0;font-size:.92rem;line-height:1.7}.planning-delivery-note{color:#555;border-left:3px solid #47a025;max-width:65rem;margin-top:2.5rem;padding-left:1.2rem;font-size:.87rem}.planning-workflow{border-top:1px solid #ddd}.planning-workflow ol{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.planning-workflow li{border-top:1px solid #bcbcbc;padding:1.4rem 2rem 0 0}.planning-workflow li+li{border-left:1px solid #ddd;padding-left:1.5rem}.planning-workflow li>span{color:#3d7f26;font-size:.8rem;font-weight:700}.planning-workflow h3{margin:1rem 0;font-size:1.4rem;line-height:1.2}.planning-workflow p{color:#555;font-size:.91rem}.planning-brief{width:100%;max-width:none;padding-inline:max(var(--public-gutter), calc((100% - 92rem) / 2));background:#f3f3f1;grid-template-columns:.85fr 1.15fr;gap:4rem;display:grid}.planning-brief h2{max-width:19ch;margin-bottom:1.2rem;font-size:clamp(2rem,3.1vw,3rem);line-height:1.1}.planning-brief p{color:#555;max-width:38rem}.planning-brief ul{margin:0;padding:0;list-style:none}.planning-brief li{border-bottom:1px solid #d2d2d2;align-items:start;gap:1rem;padding:1rem 0;line-height:1.6;display:flex}.planning-brief li:first-child{padding-top:0}.planning-brief svg{color:#367a22;flex-shrink:0;margin-top:.2rem}@media (width<=1000px){.planning-calculation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-workflow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 0}.planning-workflow li:nth-child(3){border-left:0;padding-left:0}.planning-hero .services-section-heading :is(h1,h2){font-size:clamp(2.5rem,4.2vw,3.6rem)}}@media (width<=760px){.planning-hero,.planning-model-layout,.planning-drawings-layout,.planning-brief{grid-template-columns:minmax(0,1fr);gap:2rem}.planning-hero .services-section-heading :is(h1,h2){font-size:clamp(2.5rem,7vw,3.7rem)}.planning-hero-image img{aspect-ratio:1.35}.planning-drawings-layout img{aspect-ratio:1.4}.planning-model-copy h2{max-width:none}.planning-calculation-grid{gap:1.7rem 1rem}.planning-workflow li{padding-right:1rem}.planning-workflow li+li{padding-left:1rem}.planning-workflow li:nth-child(3){padding-left:0}}@media (width<=480px){.planning-calculation-grid,.planning-workflow ol{grid-template-columns:minmax(0,1fr)}.planning-calculation-grid article+article{border-top:1px solid #333;padding-top:1.4rem}.planning-workflow li+li{border-left:0;padding-left:0}}.installation-page{--installation-accent:#47a025}.installation-page h1,.installation-page h2,.installation-page h3{font-family:var(--public-display-font);font-weight:500}.installation-page h1{margin:1rem 0 1.5rem;font-size:clamp(2rem,4vw,4.2rem);line-height:1.1}.installation-page h2{margin:0 0 1.4rem;font-size:clamp(2rem,3.1vw,3.2rem);line-height:1.1}.installation-page h3{font-size:clamp(1.3rem,1.6vw,1.65rem);line-height:1.25}.installation-page p{color:#555;line-height:1.75}.installation-hero,.installation-handover{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch;gap:clamp(2rem,5vw,5rem);display:grid}.installation-image{border-radius:25px;min-width:0;min-height:0;max-height:28rem;margin:0;position:relative;overflow:hidden}.installation-image img{aspect-ratio:auto;object-fit:cover;border-radius:25px;width:100%;height:100%;position:absolute;inset:0}.installation-hero .installation-image{max-height:26rem}.installation-hero .installation-image img{object-position:65% center}.installation-page p+p{margin-top:1rem}.installation-page .eyebrow{margin-bottom:1.2rem;display:block}.installation-hero .public-button{align-items:center;gap:.8rem;margin-top:1.7rem;display:inline-flex}.installation-partners{color:#fff;width:100%;max-width:none;padding-inline:max(var(--public-gutter), calc((100% - 92rem) / 2));background:#080808;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);display:grid}.installation-partners header{max-width:37rem}.installation-partners h2{max-width:18ch;font-size:clamp(2.2rem,3.6vw,3.75rem)}.installation-partners p{color:#c9c9c9}.installation-partners .eyebrow,.installation-partners .installation-number{color:#8ed672}.installation-partner-options{gap:2rem;display:grid}.installation-partner-options article{border-top:1px solid #3c3c3c;padding-top:1.4rem}.installation-partner-options h3{margin:.8rem 0}.installation-number{letter-spacing:.1em;color:#397d21;font-size:.85rem}.installation-workflow{border-bottom:1px solid #ddd}.installation-workflow header{max-width:49rem}.installation-workflow ol{counter-reset:installation;grid-template-columns:repeat(4,minmax(0,1fr));margin:3rem 0 0;padding:0;list-style:none;display:grid}.installation-workflow li{counter-increment:installation;border-top:1px solid #bcbcbc;padding:1.4rem 1.5rem 0}.installation-workflow li:first-child{padding-left:0}.installation-workflow li+li{border-left:1px solid #ddd}.installation-workflow li:before{content:"0" counter(installation);color:#397d21;font-size:.85rem}.installation-workflow h3{margin:1rem 0;font-size:1.4rem}.installation-workflow p{font-size:.91rem}.installation-handover{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.installation-handover-records{color:#555;margin-top:1.3rem;padding-left:1.2rem;line-height:1.65}.installation-handover-records li+li{margin-top:.6rem}.installation-handover-records li::marker{color:#397d21}.installation-preparation{width:100%;max-width:none;padding-inline:max(var(--public-gutter), calc((100% - 92rem) / 2));background:#f3f3f1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);display:grid}.installation-preparation header{max-width:35rem}.installation-preparation-topics article{border-bottom:1px solid #d2d2d2;padding:1.4rem 0}.installation-preparation-topics article:first-child{padding-top:0}.installation-preparation-topics h3{margin:0 0 .8rem}.installation-preparation-topics p{font-size:.94rem}.installation-solutions .services-section-heading{max-width:56rem}.installation-solutions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:3rem;display:grid}.installation-solutions-grid article{border-top:1px solid #bcbcbc;padding-top:1.4rem}.installation-solutions-grid h3{margin:1rem 0}.installation-solutions-grid p{font-size:.94rem}.installation-solutions-grid .installation-solution-focus{border-left:3px solid #47a025;margin-top:1.5rem;padding-left:1rem;font-size:.87rem}.installation-questions{border-top:1px solid #ddd;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);display:grid}.installation-questions details{border-bottom:1px solid #ccc}.installation-questions details:first-child{border-top:1px solid #ccc}.installation-questions summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;font-weight:650;line-height:1.5;list-style:none;display:flex}.installation-questions summary::-webkit-details-marker{display:none}.installation-questions summary svg{color:#397d21;flex-shrink:0;transition:transform .2s}.installation-questions details[open] summary svg{transform:rotate(45deg)}.installation-questions details p{padding-bottom:1.5rem;font-size:.94rem}.installation-questions summary:focus-visible{outline-offset:4px;outline:2px solid #397d21}@media (width<=1100px){.installation-solutions-grid{gap:1.5rem}}@media (width<=1000px){.installation-workflow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 0}.installation-workflow li:nth-child(3){border-left:0;padding-left:0}}@media (width<=800px){.installation-hero,.installation-handover,.installation-partners,.installation-preparation,.installation-questions,.installation-solutions-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.installation-image{justify-self:center;width:100%;max-width:34rem;height:clamp(12rem,55vw,19rem)}.installation-hero .installation-image{order:2}.installation-partners h2{max-width:none}}@media (width<=540px){.installation-workflow ol{grid-template-columns:minmax(0,1fr);gap:1.5rem}.installation-workflow li,.installation-workflow li+li{border-left:0;padding-inline:0}.installation-page h1{font-size:clamp(1.9rem,7vw,2.5rem)}}@media (prefers-reduced-motion:reduce){.installation-questions summary svg{transition:none}}.savings-presets{margin-bottom:1.5rem}.savings-presets fieldset{border:0;min-width:0;margin:0 0 1.2rem;padding:0}.savings-presets legend{color:#333;margin-bottom:.75rem;font-family:inherit;font-size:.85rem;font-weight:700}.savings-application-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.savings-fixture-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.savings-preset-choice{cursor:pointer;min-width:0;position:relative}.savings-preset-choice input{opacity:0;width:1px;height:1px;position:absolute}.savings-preset-choice>span{color:#222;background:#fafafa;border:1px solid #ccc;flex-direction:column;gap:.65rem;height:100%;min-height:48px;padding:.8rem;font-size:.8rem;font-weight:600;line-height:1.4;display:flex;position:relative}.savings-preset-choice small{color:#555;font-weight:400}.savings-preset-choice>span:after{content:"";transform-origin:0;background:#367c20;height:3px;transition:transform .2s;position:absolute;bottom:-1px;left:-1px;right:-1px;transform:scaleX(0)}.savings-preset-choice:hover>span:after,.savings-preset-choice input:checked+span:after{transform:scaleX(1)}.savings-preset-choice input:checked+span{background:#fff;border-color:#367c20}.savings-preset-choice input:focus-visible+span{outline-offset:3px;outline:2px solid #367c20}.savings-legacy-anchor{scroll-margin-top:7rem;display:block}@media (width<=1100px){.savings-application-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.savings-fixture-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.savings-preset-choice>span:after{transition:none}}.service-detail-page h1,.service-detail-page h2,.service-detail-page h3{font-family:var(--public-display-font);font-weight:500}.service-detail-page h1{margin:1rem 0 1.5rem;font-size:clamp(2.2rem,4vw,4.25rem);line-height:1.1}.service-detail-page h2{margin:.9rem 0 1.4rem;font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.15}.service-detail-page h3{margin:.8rem 0;font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.3}.service-detail-page p{color:#555;line-height:1.75}.service-detail-page .eyebrow{display:block}.service-detail-page :is(header,article,figure){min-width:0}.service-detail-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:clamp(2rem,5vw,5rem);display:grid}.service-detail-hero figure{border-radius:25px;min-height:24rem;margin:0;position:relative;overflow:hidden}.service-detail-hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.service-detail-hero .public-button{align-items:center;gap:.8rem;margin-top:1.8rem;display:inline-flex}.service-detail-approach,.service-detail-system,.service-detail-checklist,.service-detail-faq{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);display:grid}.service-detail-approach{color:#fff;width:100%;max-width:none;padding-inline:max(var(--public-gutter),calc((100% - 92rem) / 2));background:#080808}.service-detail-approach p{color:#ccc}.service-detail-approach .eyebrow,.service-detail-number{color:#8ed672}.service-detail-approach article{border-top:1px solid #444;padding-top:1.25rem}.service-detail-approach article+article{margin-top:1.75rem}.service-detail-number{letter-spacing:.08em;font-size:.85rem}.service-detail-system{align-items:start}.service-detail-system .text-link{align-items:center;gap:.6rem;margin-top:1.5rem;display:inline-flex}.service-detail-system ul,.service-detail-checklist ul{margin:0;padding:0;list-style:none}.service-detail-system li{color:#444;border-top:1px solid #ccc;padding:1.4rem 0;line-height:1.75}.service-detail-examples{border-top:1px solid #ddd}.service-detail-examples header,.service-detail-process header{max-width:55rem}.service-detail-examples>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem;display:grid}.service-detail-examples article{border-top:2px solid #47a025;padding-top:1rem}.service-detail-process{width:100%;max-width:none;padding-inline:max(var(--public-gutter),calc((100% - 92rem) / 2));background:#f3f3f1}.service-detail-process ol{counter-reset:service-step;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.service-detail-process li{counter-increment:service-step;border-top:1px solid #aaa;padding-top:1.2rem}.service-detail-process li:before{content:"0" counter(service-step);color:#397d21;font-size:.85rem}.service-detail-process p,.service-detail-examples p{font-size:.95rem}.service-detail-checklist li{border-bottom:1px solid #ddd;border-left:3px solid #47a025;margin-bottom:.8rem;padding:1.3rem 0 1.3rem 1.3rem;line-height:1.65}.service-detail-faq{border-top:1px solid #ddd}.service-detail-faq details{border-bottom:1px solid #ccc}.service-detail-faq details:first-child{border-top:1px solid #ccc}.service-detail-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-weight:650;line-height:1.5;list-style:none;display:flex}.service-detail-faq summary::-webkit-details-marker{display:none}.service-detail-faq summary svg{color:#397d21;flex:none}.service-detail-faq details[open] summary svg{transform:rotate(45deg)}.service-detail-faq details p{padding-bottom:1.25rem}.service-detail-faq summary:focus-visible{outline-offset:4px;outline:2px solid #397d21}.service-detail-sources{grid-column:1/-1;font-size:.85rem}@media (width<=1000px){.service-detail-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.service-detail-hero,.service-detail-approach,.service-detail-system,.service-detail-checklist,.service-detail-faq,.service-detail-examples>div{grid-template-columns:minmax(0,1fr);gap:2rem}.service-detail-hero figure{height:clamp(15rem,60vw,25rem);min-height:0}}@media (width<=540px){.service-detail-process ol{grid-template-columns:minmax(0,1fr)}.service-detail-page h1{font-size:clamp(2rem,8vw,2.65rem)}}
