:root{--green:#70df00;--green2:#9bff3f;--ink:#080b0a;--coal:#101411;--soft:#f3f5f2;--line:#dce2da;--muted:#667064;--white:#fff;--radius:22px;--shell:min(1180px,calc(100% - 40px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:82px;background:rgba(8,11,10,.94);backdrop-filter:blur(16px);display:grid;grid-template-columns:240px 1fr auto;align-items:center;padding:0 max(24px,calc((100vw - 1360px)/2));position:fixed;z-index:50;inset:0 0 auto;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:205px;height:55px;object-fit:cover;object-position:center}.site-header nav{justify-self:center;display:flex;gap:28px}.site-header nav a{color:#dbe2dc;font-size:.91rem;font-weight:650;transition:.2s}.site-header nav a:hover{color:var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;border:0;background:var(--green);color:#071000;padding:15px 22px;border-radius:999px;font-weight:800;cursor:pointer;box-shadow:0 0 0 0 rgba(112,223,0,.2);transition:.25s}.button:hover{transform:translateY(-2px);background:var(--green2);box-shadow:0 12px 35px rgba(112,223,0,.18)}.button-small{padding:11px 18px;font-size:.88rem}.menu-toggle{display:none}.hero{min-height:760px;padding-top:82px;background:#070a08;color:white;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/hero-energy.jpg');background-position:center;background-size:cover;opacity:.74}.hero-image:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(112,223,0,.14),transparent 27%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,6,.98) 0%,rgba(5,8,6,.88) 39%,rgba(5,8,6,.25) 72%,rgba(5,8,6,.55)),linear-gradient(0deg,#070a08 0%,transparent 24%)}.hero-content{position:relative;padding-top:50px}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:850;color:#c8d1ca;display:flex;align-items:center;gap:10px}.eyebrow span{width:31px;height:2px;background:var(--green)}.eyebrow.dark{color:#5b665c}.hero h1,.intro h2,.solutions h2,.process h2,.project-head h2,.about h2,.quote h2,.contact h2{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.98;letter-spacing:-.06em;margin:0;font-weight:860}.hero h1{max-width:860px}.hero h1 em,.intro h2 em,.solutions h2 em,.process h2 em,.project-head h2 em,.about h2 em,.quote h2 em,.contact h2 em{font-style:normal;color:var(--green)}.hero-copy{max-width:660px;color:#cbd1cc;font-size:1.14rem;margin:26px 0 30px}.hero-actions{display:flex;gap:24px;align-items:center}.text-link{font-weight:750;color:#eef2ee;padding:12px}.text-link span,.service a span{color:var(--green)}.trust-row{list-style:none;padding:0;margin:62px 0 0;display:grid;grid-template-columns:repeat(4,1fr);max-width:850px;border-top:1px solid rgba(255,255,255,.14)}.trust-row li{padding:18px 22px 0 0}.trust-row strong,.trust-row small{display:block}.trust-row strong{font-size:.95rem}.trust-row small{color:#8f9991;font-size:.77rem}.intro{padding:115px 0 55px;display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:end}.intro h2,.process h2,.about h2,.contact h2{font-size:clamp(2.4rem,5vw,4.4rem)}.intro>p{font-size:1.08rem;color:var(--muted);max-width:510px;margin:0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:120px}.service{background:var(--soft);padding:30px;border-radius:var(--radius);min-height:430px;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid transparent;transition:.25s}.service:hover{transform:translateY(-5px);border-color:#cbd6c8}.service.featured{background:var(--ink);color:white}.service-no{font-size:.7rem;letter-spacing:.13em;color:#7a847b;font-weight:800}.service-icon{font-size:2.5rem;color:var(--green);margin:26px 0 18px}.service h3{font-size:1.5rem;line-height:1.15;margin:0 0 13px}.service p{color:#687269;font-size:.92rem}.service.featured p{color:#aeb8b0}.service ul{list-style:none;padding:0;margin:10px 0 25px;font-size:.85rem;color:#687269}.service.featured ul{color:#b7c0b9}.service li:before{content:"✓";color:var(--green);margin-right:7px}.service a{margin-top:auto;font-weight:800;font-size:.86rem}.service.wide{grid-column:1/-1;min-height:210px;background:linear-gradient(120deg,#e9eee7,#f7f8f6);flex-direction:row;align-items:center;justify-content:space-between}.service.wide>div{max-width:760px}.service.wide p{font-size:1rem}.round-link{min-width:68px;height:68px;border-radius:50%;display:grid!important;place-items:center;background:var(--green);font-size:1.4rem}.solutions{background:var(--ink);color:white;padding:120px 0;overflow:hidden}.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.product-stage{height:540px;position:relative;display:grid;place-items:center}.product-stage img{width:350px;border-radius:22px;position:relative;z-index:2;box-shadow:0 30px 80px #000}.energy-ring{position:absolute;width:460px;height:460px;border:1px solid rgba(112,223,0,.35);border-radius:50%;box-shadow:0 0 120px rgba(112,223,0,.12),inset 0 0 80px rgba(112,223,0,.07)}.energy-ring:before,.energy-ring:after{content:"";position:absolute;border-radius:50%;inset:45px;border:1px dashed rgba(112,223,0,.22)}.energy-ring:after{inset:100px;border-style:solid}.metric{position:absolute;z-index:3;background:rgba(20,27,22,.93);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px 17px;box-shadow:0 20px 50px #000}.metric b,.metric span{display:block}.metric b{font-size:.84rem}.metric span{font-size:.7rem;color:#94a098}.metric-a{left:0;top:90px}.metric-b{right:-10px;bottom:70px}.solution-copy h2{font-size:clamp(2.5rem,4vw,4.2rem)}.solution-copy>p:not(.eyebrow){color:#aab4ad;font-size:1.04rem}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;color:#dbe1dc;margin:28px 0 32px;font-size:.9rem}.check-grid span::first-letter{color:var(--green)}.process{padding:120px 0}.process h2{max-width:830px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:65px;border:1px solid var(--line)}.steps article{background:white;padding:30px;min-height:260px}.steps b{color:var(--green);font-size:.85rem}.steps h3{font-size:1.25rem;margin:35px 0 10px}.steps p{font-size:.9rem;color:var(--muted)}.projects{background:#0c100d;color:white;padding:110px 0}.project-head{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.project-head h2{font-size:clamp(2.5rem,5vw,4.5rem)}.project-head>p{color:#9ca69f}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}.project-cards article{min-height:330px;border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(150deg,rgba(112,223,0,.18),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.project-cards article:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(112,223,0,.25);border-radius:50%;right:-50px;top:-50px}.project-cards span{color:var(--green);font-size:.73rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.project-cards h3{font-size:1.45rem;line-height:1.25;margin:10px 0}.project-cards p{color:#aab3ac;margin:0}.about{padding:120px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.about-mark{background:#080b0a;border-radius:30px;overflow:hidden;box-shadow:0 35px 80px rgba(9,15,10,.16)}.about-mark img{width:100%}.about>div:last-child>p:not(.eyebrow){color:var(--muted);font-size:1.02rem}.about-facts{display:flex;gap:14px;margin-top:25px}.about-facts span{flex:1;background:var(--soft);padding:16px;border-radius:12px;color:var(--muted);font-size:.82rem}.about-facts b{display:block;color:var(--ink);font-size:.95rem}.quote{background:linear-gradient(135deg,#111712,#070a08);color:white;padding:115px 0}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.quote h2{font-size:clamp(2.5rem,4.5vw,4.4rem)}.quote-grid>div>p:not(.eyebrow){color:#aab4ad}.quote-grid ul{list-style:none;padding:0;color:#c4ccc6}.quote-grid li{margin:8px 0}.quote-grid li::first-letter{color:var(--green)}form{background:white;color:var(--ink);border-radius:var(--radius);padding:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:.78rem;font-weight:800;margin-bottom:15px}input,select,textarea{width:100%;border:1px solid #d9e0d8;border-radius:10px;padding:13px 14px;margin-top:6px;background:#f8faf7;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(112,223,0,.14)}textarea{resize:vertical}.upload{border:1px dashed #bac5b9;padding:13px;border-radius:10px}.upload input{padding:0;border:0;background:transparent;margin-bottom:7px}.upload span{display:block;color:#6d776f;font-weight:500}.consent{font-weight:500;color:#606a62;display:flex;gap:9px;align-items:flex-start}.consent input{width:auto;margin:4px 0 0}.form-status{margin:10px 0 0;color:#3c6f0a;font-weight:750}.contact{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-links{display:grid;gap:12px}.contact-links a{padding:19px 0;border-bottom:1px solid var(--line);font-weight:800;display:grid;grid-template-columns:1fr auto}.contact-links small{display:block;grid-column:1/-1;color:#6c766e;font-weight:600}.contact-links span{color:var(--green)}footer{background:#050706;color:white;padding:65px 0 25px}.footer-main{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr;gap:45px;align-items:start}.footer-main>img{width:200px;height:70px;object-fit:cover}.footer-main>p{color:#8f9991;margin:0}.footer-main div{display:flex;flex-direction:column;gap:8px}.footer-main b{color:var(--green);margin-bottom:7px}.footer-main a{color:#aeb7b0;font-size:.88rem}.footer-bottom{margin-top:55px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:#6e776f;font-size:.72rem;letter-spacing:.08em}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header>.button{display:none}.menu-toggle{display:flex;width:46px;height:46px;background:transparent;border:0;flex-direction:column;justify-content:center;gap:5px;padding:10px}.menu-toggle span{height:2px;background:white;width:25px}.site-header nav{position:absolute;top:82px;left:0;right:0;background:#080b0a;display:none;flex-direction:column;padding:24px}.site-header nav.open{display:flex}.trust-row{grid-template-columns:repeat(2,1fr)}.services{grid-template-columns:repeat(2,1fr)}.solution-grid,.about,.quote-grid{grid-template-columns:1fr}.product-stage{order:2}.steps{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}.intro,.project-head,.contact{gap:45px}.hero{min-height:760px}}
@media(max-width:680px){:root{--shell:min(100% - 28px,1180px)}body{font-size:16px}.site-header{height:72px;padding:0 14px}.brand img{width:170px;height:48px}.site-header nav{top:72px}.hero{padding-top:72px;min-height:800px}.hero-content{padding-top:35px}.hero h1{font-size:3.1rem}.hero-copy{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.trust-row{margin-top:40px;gap:0}.intro{padding:85px 0 40px;grid-template-columns:1fr;gap:28px}.services{grid-template-columns:1fr;padding-bottom:85px}.service{min-height:385px}.service.wide{flex-direction:column;align-items:flex-start}.round-link{align-self:flex-end}.solutions,.process,.projects,.about,.quote{padding:85px 0}.solution-grid{gap:20px}.product-stage{height:390px}.product-stage img{width:250px}.energy-ring{width:340px;height:340px}.metric{display:none}.check-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps article{min-height:220px}.project-head,.contact{grid-template-columns:1fr}.project-cards{grid-template-columns:1fr}.project-cards article{min-height:260px}.about{gap:45px}.quote-grid{gap:45px}.form-row{grid-template-columns:1fr}.form-row label{margin-bottom:15px}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.about-facts{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Light Revolt identity, matching the supplied visual direction. */
:root{--green:#67f21a;--green2:#87ff41;--ink:#10150f;--muted:#515950;--soft:#f6f8f5;--radius:7px;--shell:min(1340px,calc(100% - 64px))}body{line-height:1.5}.photo-crop{position:relative;overflow:hidden;flex-shrink:0}.photo-crop img{position:absolute;height:auto;display:block}.site-header{position:relative;height:108px;background:#fff;border-bottom:1px solid #edf0eb;padding:12px 32px;grid-template-columns:265px 1fr auto;gap:22px;backdrop-filter:none}.brand{display:block;width:248px}.reference-logo{width:100%;max-width:248px}.brand img{height:auto;object-fit:initial}.site-header nav{gap:24px}.site-header nav a{color:#171d17;font-size:.88rem}.site-header nav a:hover{color:#258f16}.button{border-radius:6px;padding:14px 20px;font-size:.9rem;box-shadow:none}.button-outline{background:white;border:1px solid #d4ddd0;color:#121810}.button-outline:hover{background:#f5ffef}.hero{min-height:565px;padding:0;background:#edf0ec;color:var(--ink);align-items:center}.hero-scene{position:absolute;right:0;top:0;width:74%;height:100%;aspect-ratio:auto!important}.hero-scene img{width:auto!important;height:404.210526%!important;max-width:none!important;left:auto!important;right:0;top:-15.526316%!important}.hero-shade{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 24%,rgba(255,255,255,.89) 35%,rgba(255,255,255,.20) 55%,transparent 64%)}.hero-content{padding:48px 0}.eyebrow,.eyebrow.dark{font-size:.8rem;letter-spacing:.08em;color:#288b1b;margin-bottom:13px}.eyebrow span{background:#2d9a1b;width:23px;height:3px}.hero h1{font-size:clamp(2.6rem,4.4vw,4.45rem);letter-spacing:-.055em;line-height:1.02;max-width:640px}.hero h1 em,.intro h2 em,.process h2 em,.about h2 em,.contact h2 em{color:#24951a}.hero-copy{color:#20291f;max-width:440px;font-size:1.04rem;margin:20px 0 25px}.hero-actions{gap:14px}.benefits{display:grid;grid-template-columns:repeat(6,1fr);padding:24px 0;border-bottom:1px solid #edf0eb;text-align:center;line-height:1.25;font-size:.9rem}.benefits>div{border-right:1px solid #edf0eb}.benefits>div:last-child{border:0}.benefits b{display:block;color:#2e9f19;font-size:2rem;line-height:1.1;font-weight:500;margin-bottom:8px}.intro{padding:38px 0 23px;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.intro h2{font-size:clamp(1.9rem,2.8vw,2.6rem);letter-spacing:-.05em;line-height:1.12}.intro>p{font-size:.95rem;max-width:600px}.services{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding-bottom:32px}.service{padding:0;min-height:0;border:1px solid #e6ebe2;background:white;display:block;overflow:hidden;border-radius:6px}.service:hover{transform:translateY(-3px)}.service .photo-crop{width:100%}.service-body{padding:14px 12px;display:flex;flex-direction:column;min-height:200px}.service h3{font-size:1.04rem;line-height:1.2;letter-spacing:-.035em;min-height:2.5em;margin:0 0 10px}.service p{font-size:.9rem;line-height:1.4;margin:0 0 18px;color:#51574f}.service a{font-size:.875rem;display:flex;justify-content:space-between;padding:8px;border:1px solid #e0eadb;border-radius:4px;gap:6px}.service a span{color:#2c9919}.brand-solutions{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 0 38px}.brand-panel{display:grid;grid-template-columns:1.05fr 1fr;background:#f4f6f3;position:relative;overflow:hidden;border-radius:7px;min-height:415px}.brand-copy{padding:25px 0 25px 25px;position:relative;z-index:2}.brand-copy .eyebrow{font-size:.75rem;letter-spacing:.04em;white-space:nowrap}.wordmark{font-size:1.8rem;font-weight:800;letter-spacing:.025em;margin:4px 0 16px;color:#242726}.pylontech .wordmark{color:#074398}.brand-copy h2{font-size:1.65rem;letter-spacing:-.045em;line-height:1.08;margin:0 0 12px}.brand-copy>p:not(.eyebrow):not(.wordmark){font-size:.9rem;line-height:1.45;margin-bottom:13px}.brand-copy ul{list-style:none;padding:0;font-size:.875rem;line-height:1.4;margin:0 0 20px}.brand-copy li{margin:6px 0;padding-left:20px;position:relative}.brand-copy li:before{content:'✓';position:absolute;left:0;color:#2b9d14;font-weight:bold}.brand-copy .button{font-size:.875rem;padding:11px 14px;gap:8px;white-space:nowrap}.brand-photo{height:100%;aspect-ratio:auto!important;min-width:0}.brand-photo img{width:auto!important;height:533.333333%!important;top:-291.319444%!important;left:auto!important;right:0}.pylontech .brand-photo img{height:510.299003%!important;top:-274.750831%!important;right:0}.process{padding:45px 0 50px;border-top:1px solid #e9eee5}.process h2{font-size:2.25rem;line-height:1.1}.steps{margin-top:25px;border:0;gap:16px;background:transparent}.steps article{padding:22px;min-height:0;border:1px solid #e5ebe1;border-radius:6px;background:#fbfcfa}.steps h3{margin:12px 0 10px;font-size:1.1rem}.steps b{color:#2b9018}.steps p{font-size:.92rem;margin-bottom:0}.projects{background:#f6f8f5;color:var(--ink);padding:34px 0}.project-layout{display:grid;grid-template-columns:1.05fr repeat(4,1fr);gap:18px}.project-layout>div h2{font-size:2rem;letter-spacing:-.05em;line-height:1.1;margin:0 0 10px}.project-layout>div p:not(.eyebrow){font-size:.9rem;color:var(--muted)}.project-layout>div .button{font-size:.875rem;padding:10px}.project-layout article{background:#fff;border:1px solid #e3e9df;border-radius:5px;overflow:hidden}.project-layout article h3{font-size:.95rem;padding:0 12px;margin:12px 0 4px;line-height:1.2}.project-layout article p{font-size:.875rem;color:var(--muted);padding:0 12px}.project-layout article a{display:block;font-size:.875rem;font-weight:700;margin:12px;color:#237c16}.about{padding:65px 0;gap:60px;grid-template-columns:.55fr 1.45fr}.about-mark{max-width:280px;border-radius:8px;box-shadow:none}.about h2,.contact h2{font-size:2.5rem;line-height:1.1}.about>div:last-child>p:not(.eyebrow){font-size:1rem}.quote{padding:60px 0;background:#eef5ea;color:var(--ink)}.quote h2{font-size:3rem;line-height:1.06}.quote h2 em{color:#278f17}.quote-grid{gap:65px;grid-template-columns:.8fr 1.2fr}.quote-grid>div>p:not(.eyebrow),.quote-grid ul{color:#46533f}form{border:1px solid #dce7d6;box-shadow:0 10px 40px #183a0910}label{font-size:.9rem}.consent{font-size:.875rem}.email-note{font-size:.875rem;color:#596153}.closing-banner{padding:38px 0;background:linear-gradient(90deg,#112318e8,#102816a8),url('assets/hero-energy.jpg') center 60%/cover;color:white}.closing-banner>.shell{display:flex;align-items:center;justify-content:space-between;gap:24px}.closing-banner h2{font-size:2rem;line-height:1.12;letter-spacing:-.04em;margin:0}.closing-banner p:not(.eyebrow){font-size:1rem;margin-bottom:0}.closing-banner .eyebrow{color:#9aff63}.contact{padding:48px 0;gap:45px}.contact-links a{font-size:1rem}footer{background:white;color:#15210f;padding:35px 0 22px;border-top:1px solid #e2e9de}.footer-main{grid-template-columns:1.15fr 1.2fr .8fr .8fr;gap:32px}.footer-main>p,.footer-main a{color:#586051;font-size:.9rem}.footer-main b{color:#267f17}.footer-bottom{font-size:.8rem;color:#667060;margin-top:30px;border-color:#e1e9dc;letter-spacing:0}.detail-main{padding:45px 0 90px;min-height:65vh}.back-link{display:inline-block;font-size:.95rem;color:#3b7330;margin-bottom:35px}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.detail-grid h1{font-size:clamp(2.3rem,4vw,4rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 25px}.detail-grid p{font-size:1.1rem;line-height:1.7}.detail-grid ul{padding-left:22px;line-height:1.7;margin:25px 0}.detail-grid .photo-crop{width:100%;border-radius:10px}.detail-note{font-size:.9rem!important;color:#60695b}.site-header a:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #298c19;outline-offset:4px}section[id]{scroll-margin-top:25px}
@media(min-width:1500px){.hero{min-height:660px}}
@media(max-width:1150px){.site-header{grid-template-columns:220px 1fr auto;padding:10px 24px;gap:12px}.brand{width:210px}.site-header nav{gap:14px}.services{grid-template-columns:repeat(3,1fr)}.service-body{min-height:180px}.service h3{min-height:0}.brand-panel{grid-template-columns:1.3fr 1fr}.brand-copy{padding-left:18px}.brand-copy .eyebrow{white-space:normal}.brand-copy .button{white-space:normal}.project-layout{grid-template-columns:repeat(4,1fr)}.project-layout>div{grid-column:1/-1}.project-layout>div h2 br{display:none}}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto;height:88px}.site-header>.button{display:none}.menu-toggle span{background:#182414}.site-header nav{top:88px;background:white;box-shadow:0 10px 20px #12200814;z-index:10}.hero{min-height:560px}.hero h1{font-size:3.5rem}.hero-shade{background:linear-gradient(90deg,white 0%,#ffffffee 32%,#ffffff85 60%,transparent)}.hero-copy{max-width:390px}.hero-actions{max-width:470px;flex-wrap:wrap}.brand-solutions{grid-template-columns:1fr}.brand-panel{grid-template-columns:1fr 1fr;min-height:385px}.brand-copy{padding:30px}.brand-photo img{height:533.333333%!important}.quote-grid{grid-template-columns:1fr;gap:30px}.about{grid-template-columns:.65fr 1.35fr;gap:30px}.about h2{font-size:2rem}.closing-banner>.shell{flex-wrap:wrap}.closing-banner>.shell>div{width:100%}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:680px){:root{--shell:calc(100% - 32px)}.site-header{height:84px;padding:8px 16px}.brand{width:190px}.site-header nav{top:84px}.hero{min-height:0;display:block;padding:0 0 245px}.hero-content{padding:32px 0 24px}.hero h1{font-size:clamp(2.45rem,9vw,3.55rem)}.hero-copy{max-width:100%;font-size:1rem}.hero-shade{background:linear-gradient(180deg,#fff 0%,#fff 54%,rgba(255,255,255,.97) 62%,transparent 74%)}.hero-scene{top:auto;bottom:0;height:290px;width:100%}.hero-actions{flex-direction:row;align-items:stretch;gap:9px}.hero-actions .button{font-size:.85rem;padding:12px 11px;gap:8px}.benefits{grid-template-columns:repeat(3,1fr);gap:23px 0;padding:25px 0;font-size:.875rem}.benefits>div:nth-child(3){border:0}.intro{padding:30px 0 20px;grid-template-columns:1fr;gap:15px}.intro h2{font-size:2rem}.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:25px}.service-body{padding:12px 10px;min-height:215px}.service h3{font-size:1rem;min-height:2.4em}.service p{font-size:.9rem}.service a{font-size:.875rem;padding:7px 5px}.brand-panel{grid-template-columns:1fr;min-height:0}.brand-copy{padding:24px}.brand-photo{height:280px;aspect-ratio:auto!important;width:100%}.brand-photo img{right:0}.brand-copy h2{font-size:1.9rem}.brand-copy>p:not(.eyebrow):not(.wordmark),.brand-copy ul{font-size:1rem}.brand-copy .button{font-size:.95rem}.brand-solutions{padding-bottom:28px}.process{padding:32px 0}.process h2{font-size:2rem}.steps{grid-template-columns:1fr;gap:10px;margin-top:20px}.steps article{padding:20px;min-height:0}.steps h3{margin-top:8px}.project-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-layout article h3{font-size:1rem}.project-layout article a{font-size:.875rem}.about{padding:35px 0;grid-template-columns:1fr}.about-mark{display:none}.about-facts{flex-direction:row}.quote{padding:35px 0}.quote h2{font-size:2.45rem}.quote-grid{gap:25px}form{padding:20px}.form-row{grid-template-columns:1fr}input,select,textarea{font-size:1rem;padding:12px}.closing-banner{padding:30px 0}.closing-banner h2{font-size:1.9rem}.contact{padding:35px 0;grid-template-columns:1fr;gap:20px}.contact h2{font-size:2rem}.footer-main{grid-template-columns:1fr 1fr;gap:25px}.footer-main>.reference-logo,.footer-main>p{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.detail-main{padding:25px 0 45px}.detail-grid{grid-template-columns:1fr;gap:25px}.detail-grid h1{font-size:2.5rem}.detail-grid .photo-crop{max-height:400px}.detail-grid .button{white-space:normal}}
.brand-panel .brand-photo{height:auto;aspect-ratio:277/288!important;align-self:center;width:100%}.brand-panel .brand-photo img{width:369.67509%!important;height:auto!important;left:-100.722022%!important;top:-291.319444%!important;right:auto}.pylontech .brand-photo{aspect-ratio:225/301!important}.pylontech .brand-photo img{width:455.111111%!important;left:-354.666667%!important;top:-274.750831%!important;height:auto!important;right:auto}@media(max-width:680px){.brand-panel .brand-photo{width:75%;justify-self:end;max-height:none}.pylontech .brand-photo{width:65%}}

/* Standalone photographs keep the subject visible at every screen size. */
.site-photo{position:relative;overflow:hidden;background:#f2f5ef;aspect-ratio:3/2;border-radius:6px;min-width:0}
.site-photo img{display:block;width:100%;height:100%;object-fit:cover;position:static}
.site-photo.product-image{background:#fff}.site-photo.product-image img{object-fit:contain;padding:18px}
.service .site-photo{border-radius:0;aspect-ratio:4/3}.service-body{min-height:185px}
.brand-panel .site-photo{align-self:stretch;aspect-ratio:auto;border-radius:0;min-height:320px}
.detail-grid>.site-photo{aspect-ratio:4/3;width:100%}.detail-grid>.product-image{aspect-ratio:1/1}
.project-layout .site-photo{border-radius:0;aspect-ratio:4/3}
.product-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:55px}
.product-gallery figure{margin:0;border:1px solid #e3e9df;border-radius:8px;overflow:hidden;background:#fff}
.product-gallery figcaption{padding:16px;font-weight:600}.product-gallery .site-photo{border-radius:0;aspect-ratio:4/3}
.hero .standalone-hero{position:absolute;inset:0 0 0 auto;width:67%;height:100%;border-radius:0}
.hero .standalone-hero img{object-fit:cover;object-position:center}
@media(max-width:980px){.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.brand-panel .site-photo{min-height:0;aspect-ratio:4/3}.hero .standalone-hero{inset:auto 0 0;width:100%;height:290px}.product-gallery{grid-template-columns:1fr;gap:18px;margin-top:32px}.detail-grid>.site-photo{order:-1;max-height:360px}.service-body{min-height:215px}}

/* Keep all three Enphase products in frame, including on phones. */
.garage-hero .standalone-hero{width:62%;background:#eef0ed}
.garage-hero .standalone-hero img{object-fit:contain;object-position:center right}
.garage-hero .hero-shade{background:linear-gradient(90deg,#fff 0%,#fff 30%,#fffffff0 36%,#ffffff80 45%,transparent 53%)}
.garage-hero .hero-content{pointer-events:none}
.garage-hero .hero-actions{pointer-events:auto}
@media(max-width:980px) and (min-width:681px){.garage-hero h1{font-size:3rem;max-width:390px}.garage-hero .hero-copy{max-width:330px}.garage-hero .hero-actions{max-width:350px}.garage-hero .standalone-hero{width:60%}}
@media(max-width:680px){.garage-hero{display:flex;flex-direction:column;padding:0;background:#fff}.garage-hero .hero-content{order:0;padding:30px 0 22px}.garage-hero .standalone-hero{position:relative;inset:auto;order:1;width:100%;height:auto;aspect-ratio:16/9}.garage-hero .standalone-hero img{object-fit:contain}.garage-hero .hero-shade{display:none}}

.catalog-hero{gap:48px}.catalog-hero h1{font-size:clamp(2.3rem,4.8vw,4.6rem)}.catalog-hero>.site-photo{max-height:390px}.catalog-nav{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0 48px;padding:20px 0;border-block:1px solid #dce2da}.catalog-nav a{border:1px solid #dce2da;border-radius:6px;padding:10px 16px;font-weight:700;font-size:1rem}.catalog-nav a:hover{background:#70df00}.catalog-section{margin:0 0 60px;scroll-margin-top:25px}.catalog-section h2{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.15;letter-spacing:-.04em;margin:0 0 12px}.catalog-intro{max-width:780px;color:#52604f;margin:0 0 25px;font-size:1rem}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.catalog-card{border:1px solid #dce2da;border-radius:10px;overflow:hidden;background:white;scroll-margin-top:24px}.catalog-card .site-photo{aspect-ratio:4/3;border-radius:0;border-bottom:1px solid #edf0ea}.catalog-card .site-photo img{padding:24px}.catalog-body{padding:24px}.catalog-body h3{font-size:1.35rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 14px}.catalog-body p,.catalog-body li{font-size:1rem;line-height:1.6;color:#52604f}.catalog-body ul{padding-left:20px}.catalog-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.catalog-actions a{font-weight:700;font-size:1rem;color:#237c16}.catalog-actions a:last-child:not(:first-child){font-weight:500;font-size:.9rem;color:#52604f}.catalog-note{padding:32px;background:#eef5ea;border-radius:10px}.catalog-note h2{font-size:2rem;line-height:1.2;margin-top:0}.catalog-note p{max-width:850px;font-size:1rem}.catalog-note .button{white-space:normal}@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.catalog-grid{grid-template-columns:1fr}.catalog-hero>.site-photo{order:0;max-height:290px}.catalog-nav{margin:25px 0 35px;gap:8px}.catalog-nav a{padding:9px 12px}.catalog-body{padding:22px}.catalog-section{margin-bottom:42px}.catalog-note{padding:24px}.catalog-card .site-photo{max-height:310px}}

.catalog-card .catalog-lifestyle img{object-fit:cover;padding:0}.catalog-body .catalog-caption{font-size:.875rem;color:#6b7567;margin:0 0 16px}

/* Distribution board variants follow the existing product catalogue. */
.distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}.distribution-grid .site-photo{height:300px;aspect-ratio:auto}.board-brand{font-weight:700;color:#237c16!important;margin-top:0}.board-specs{margin:22px 0}.board-specs>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0ea;font-size:1rem}.board-specs dt{color:#52604f}.board-specs dd{margin:0;text-align:right;font-weight:600}@media(max-width:680px){.distribution-grid{grid-template-columns:1fr}.distribution-grid .site-photo{height:260px}.board-specs>div{flex-wrap:wrap;gap:5px 16px}}

/* Sorted cabinet catalogue */
.board-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.board-format-grid .catalog-card{height:100%}.board-format-grid .site-photo{height:220px;aspect-ratio:auto}.board-options{border:1px solid #dce2da;border-radius:10px;overflow:hidden}.board-options>h3{font-size:1.35rem;margin:24px 24px 10px}.board-options>p{margin:0 24px 20px;max-width:800px;font-size:1rem;color:#52604f}.board-table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem}.board-table th,.board-table td{padding:15px 24px;border-bottom:1px solid #e4e9e0}.board-table thead{background:#eef5ea}.board-table tbody th{font-weight:600}.board-table tbody tr:nth-child(even){background:#f8faf6}.board-table td:last-child{text-align:right}.board-table a{color:#237c16;font-weight:700;white-space:nowrap}.board-more{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eef5ea}.board-more p{margin:6px 0 0;font-size:1rem}.board-more strong{font-size:1.1rem}.board-examples{margin-top:24px;border-bottom:1px solid #dce2da;padding-bottom:24px}.board-examples summary{cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 0}.board-examples>p{font-size:1rem;max-width:800px;color:#52604f}@media(max-width:680px){.board-format-grid{grid-template-columns:1fr}.board-table th,.board-table td{padding:14px 12px;font-size:.9rem}.board-table td span{display:none}.board-table thead th:nth-child(2){overflow-wrap:anywhere}.board-more{flex-direction:column;align-items:flex-start}.board-options>h3{margin:20px 16px 10px}.board-options>p{margin-inline:16px}}

/* One cabinet image, with a compact list of Eaton configurations. */
.eaton-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;margin:28px 0 32px;align-items:start}.eaton-photo{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.eaton-photo .site-photo{height:320px;background:#fff}.eaton-photo img{padding:28px;object-fit:contain;width:100%;height:100%}.eaton-photo figcaption{padding:16px 20px;background:var(--soft);font-size:.875rem;color:#52604f}.eaton-overview h3{margin:0;font-size:1.4rem}.eaton-formats{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.eaton-formats li{padding:10px 14px;border:1px solid var(--line);border-radius:6px;font-weight:650;scroll-margin-top:100px}.eaton-formats small{display:block;color:#52604f;font-weight:400;font-size:.875rem}.eaton-note{color:#52604f;font-size:1rem}.eaton-source{color:#237c16;text-decoration:underline;font-size:.875rem}.eaton-prices .board-table td,.eaton-prices .board-table thead th:not(:first-child){text-align:right}.eaton-prices .board-table small{font-weight:400;font-size:.875rem}.eaton-prices a:focus-visible{outline:3px solid #237c16;outline-offset:4px}.eaton-prices .board-table a{white-space:normal;display:inline-block;padding-block:5px}
@media(max-width:680px){.eaton-overview{grid-template-columns:1fr;gap:24px}.eaton-photo .site-photo{height:260px}.eaton-prices .board-table th,.eaton-prices .board-table td{padding:12px 8px;font-size:.875rem}.eaton-prices .board-table thead th:nth-child(2){overflow-wrap:normal}.eaton-prices .board-table{table-layout:fixed}.eaton-prices .board-table th:first-child{width:24%}}

/* Filled examples keep every cabinet and its branded components in view. */
.filled-board-grid .catalog-card{display:flex;flex-direction:column}.filled-board-grid .site-photo{height:280px;flex-shrink:0}.filled-board-grid .site-photo img{padding:18px;object-fit:contain}.filled-board-grid .catalog-body{display:flex;flex-direction:column;flex:1}.filled-board-grid .catalog-actions{margin-top:auto;padding-top:22px}.filled-board-grid .board-dimensions{font-size:.95rem;font-weight:600;color:#52604f;margin:0 0 8px}.board-photo-source{font-size:.875rem;color:#52604f;text-decoration:underline;text-underline-offset:3px}.filled-board-grid a:focus-visible{outline:3px solid #237c16;outline-offset:4px}@media(min-width:681px) and (max-width:980px){.filled-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pylontech specifications */
.pylontech-page .pylon-figure{margin:0;min-width:0}.pylon-figure figcaption,.pylon-source{font-size:.875rem;color:#52604f;line-height:1.6;margin:14px 0}.pylontech-page a:not(.button):focus-visible,.pylon-table-wrap:focus-visible{outline:3px solid #237c16;outline-offset:4px}.pylon-source a,.pylontech-page .detail-note a{color:#237c16;text-decoration:underline;text-underline-offset:3px}.pylon-table-wrap{width:100%;overflow-x:auto;border:1px solid #dce2da;border-radius:10px}.pylon-table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem;line-height:1.55}.pylon-table caption{text-align:left;padding:18px 20px;font-weight:700;background:#f6f8f5}.pylon-table th,.pylon-table td{padding:16px 20px;border-bottom:1px solid #e4e9e0;vertical-align:top;overflow-wrap:anywhere}.pylon-table th{font-weight:650}.pylon-table thead{background:#eef5ea}.pylon-table tbody tr:nth-child(even){background:#f8faf6}.pylon-table tbody tr:last-child>*{border-bottom:0}.pylon-table th:first-child{width:34%}.pylon-extension{margin-top:26px;max-width:920px}.pylon-extension h3{font-size:1.35rem;line-height:1.3;margin:24px 0 12px}.pylon-extension p{font-size:1rem;color:#52604f;line-height:1.65}.pylontech-page .catalog-grid{align-items:stretch}.pylontech-page .catalog-hero{margin-bottom:24px}@media(max-width:680px){.pylon-table th,.pylon-table td{padding:12px 10px;font-size:.875rem}.pylon-table caption{padding:14px 10px}.pylontech-page .catalog-hero{gap:24px}.pylon-table th:first-child{width:32%}}

/* Existing customer reviews, with separate platform scores and source links. */
.reviews{padding:80px 0;background:#f4f7f1;border-block:1px solid #e1e7dc}.reviews-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:36px}.reviews h2{font-size:clamp(2.25rem,4.5vw,3.6rem);letter-spacing:-.045em;line-height:1.08;margin:0}.reviews h2 em{font-style:normal;color:#267f17}.reviews-heading>p{font-size:1rem;color:#52604f;margin:0;max-width:460px}.reviews .eyebrow{font-size:.875rem}.reviews-ratings{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px}.review-rating{padding:28px 32px;background:#102012;border-radius:12px;color:#fff}.review-rating-solvari{background:#fff;color:#152113;border:1px solid #dce2da}.review-platform{font-size:1rem;font-weight:750}.review-score{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:8px 0}.review-score strong{font-size:3rem;letter-spacing:-.045em;line-height:1.15}.review-score>span{font-size:1rem}.review-score>.review-stars{font-size:1.25rem;color:#b7ef89;letter-spacing:.12em;align-self:center;margin-left:8px}.review-rating p{font-size:.875rem;margin:8px 0 14px;color:#d2dfcc}.review-rating-solvari p{color:#52604f}.review-rating a{font-size:.875rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}.review-rating a:focus-visible{outline-color:#b7ef89}.review-rating-solvari a:focus-visible{outline-color:#267f17}.reviews-context,.reviews-date{font-size:.875rem;color:#52604f;line-height:1.65}.reviews-context{margin:0 0 20px}.reviews-context a{text-decoration:underline;text-underline-offset:3px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{padding:28px;background:#fff;border:1px solid #dce2da;border-radius:12px;display:flex;flex-direction:column;min-width:0}.review-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.review-card-top>span:last-child{font-size:.875rem;color:#52604f}.review-stars{color:#267f17;letter-spacing:.12em;white-space:nowrap;font-size:1.125rem}.review-card h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 16px}.review-card>p{font-size:1rem;color:#52604f;line-height:1.65;margin:0 0 24px}.review-author{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid #e5eadd}.review-avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#edf5e6;color:#286c1b;font-size:.875rem;font-weight:750}.review-author strong{display:block;font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.review-author div>span{display:block;font-size:.875rem;color:#52604f;margin-top:3px}.review-source{font-size:.875rem;color:#267f17;text-decoration:underline;text-underline-offset:4px;margin-top:18px;align-self:flex-start}.reviews-date{margin:22px 0 0}.site-header nav{gap:clamp(10px,1.45vw,24px)}
@media(min-width:981px) and (max-width:1200px){.site-header{grid-template-columns:220px 1fr}.site-header>.button{display:none}}
@media(max-width:980px){.reviews-heading{gap:28px}.reviews-grid{grid-template-columns:1fr}.review-card{padding:28px}.review-card h3{margin-bottom:12px}.review-card>p{max-width:70ch}.reviews-ratings{gap:16px}.review-rating{padding:24px}.review-author{margin-top:0}}
@media(max-width:680px){.reviews{padding:52px 0}.reviews-heading,.reviews-ratings{grid-template-columns:1fr}.reviews-heading{gap:20px;margin-bottom:26px}.reviews h2{font-size:2.25rem}.review-card{padding:24px}.review-score strong{font-size:2.75rem}}
/* Battery installation starting prices. */
.pylon-price,.enphase-price{padding:14px 16px;border-left:3px solid #267f17;background:#eef5ea;border-radius:0 6px 6px 0;margin:18px 0 22px}.pylon-price strong,.enphase-price strong{display:block;color:#237c16;font-size:1.5rem;line-height:1.3;font-weight:750}.pylon-price span,.enphase-price span{display:block;color:#263d20;font-size:1rem;line-height:1.5;margin-top:3px}

/* Quote links land at the input fields on mobile and desktop. */
#lead-form{scroll-margin-top:24px}
#lead-form:focus{outline:none}

/* A dedicated request page puts the form directly in view on every device. */
.request-main{max-width:780px;padding-block:28px 56px}
.request-heading{margin-bottom:22px}
.request-heading h1{font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}
.request-heading p{color:var(--muted);margin:0;font-size:1rem}
.request-main form{border:1px solid var(--line);box-shadow:0 12px 36px #12200808}
.request-main label{font-size:.875rem}
.request-main input,.request-main select,.request-main textarea{font-size:1rem}
.request-main .email-note{font-size:.875rem;color:var(--muted)}
@media(max-width:680px){.request-main{padding-block:20px 40px}.request-heading{margin-bottom:18px}.request-main form{padding:20px}.request-main .button{width:100%;white-space:normal}}

/* Direct WhatsApp contact on every page. */
.whatsapp-button{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 22px;border-radius:999px;background:var(--green);color:#071000;font-size:1rem;font-weight:800;line-height:1.4;box-shadow:0 6px 24px #08200a30;max-width:calc(100% - 32px);transition:background .2s,transform .2s}
.whatsapp-button svg{flex-shrink:0}
.whatsapp-button:hover{background:var(--green2);transform:translateY(-2px)}
.whatsapp-button:focus-visible{outline:3px solid #071000;outline-offset:4px}
footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
@media(max-width:680px){.whatsapp-button{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:52px;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){.whatsapp-button{transition:none}.whatsapp-button:hover{transform:none}}
/* Cabinet sizes immediately before each all-in price. */
.board-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.board-table-scroll:focus-visible{outline:2px solid #237c16;outline-offset:-2px}.board-options .board-price-sizes td.board-size,.board-options .board-price-sizes thead th.board-size-header{text-align:left}.board-price-sizes .board-size strong{display:block;font-weight:600}.board-price-sizes .board-size small,.board-price-sizes .board-size-header small{display:block;font-size:.875rem;font-weight:400;color:#52604f}.board-price-sizes .board-size small{margin-top:4px;white-space:nowrap}
@media(max-width:680px){.board-table-scroll .board-price-sizes{min-width:34rem;table-layout:auto}.board-table-scroll .board-price-sizes th:first-child{width:auto}.board-price-sizes .board-size strong{white-space:nowrap}}

/* Keep the ETN RCD column readable beside cabinet sizes and both phase prices. */
.eaton-prices .board-price-sizes td.board-rcd,.eaton-prices .board-price-sizes thead th.board-rcd-header{text-align:left}
@media(max-width:680px){.eaton-prices .board-table-scroll .board-price-sizes{min-width:44rem}}
/* Preserve the square photo when intrinsic image dimensions are present. */
.about-mark img{height:auto;aspect-ratio:1/1}

/* Make the Pylontech tower visually taller, like the Enphase product image, while keeping the integrated inverter and display visible. */
.pylontech-image{transform:none}


/* Energy-contract explainer page. */
.contract-page{background:#fff;color:var(--ink)}
.contract-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center;padding:38px 0 72px}
.contract-hero-copy{min-width:0}
.contract-hero h1{font-size:clamp(2.45rem,4.7vw,4.5rem);line-height:1.03;letter-spacing:-.055em;margin:0 0 24px}
.contract-hero h1 em,.contract-section h2 em,.contract-advice h2 em{font-style:normal;color:#24951a}
.contract-hero-copy>p:not(.eyebrow):not(.detail-note){font-size:1.1rem;line-height:1.7;max-width:720px;color:#4e594d;margin:0 0 26px}
.contract-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
.contract-hero-actions .button{white-space:normal;text-align:center}
.contract-hero-image{aspect-ratio:1/1;border-radius:10px;background:#f2f6f0;overflow:hidden;display:grid;place-items:center}
.contract-hero-image img{width:100%;height:100%;object-fit:contain;padding:38px}
.contract-section{padding:72px 0;border-top:1px solid #e5ebe1}
.contract-section-heading{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:end;margin-bottom:36px}
.contract-section-heading-single{grid-template-columns:1.2fr .8fr}
.contract-section-heading h2,.contract-advice h2{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.08;letter-spacing:-.055em;margin:0}
.contract-section-heading>p{font-size:1.03rem;color:#52604f;max-width:560px;margin:0}
.contract-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.contract-flow article{padding:28px;background:#f6f8f5;border:1px solid #e1e9dc;border-radius:7px;min-height:220px}
.contract-number{display:block;color:#2b9218;font-weight:800;font-size:.82rem;letter-spacing:.12em}
.contract-flow h3{font-size:1.35rem;line-height:1.2;margin:30px 0 10px}
.contract-flow p{font-size:.98rem;color:#52604f;line-height:1.6;margin:0}
.contract-callout{margin-top:20px;padding:20px 24px;background:#eef7e9;border-left:4px solid #2e9c1e;color:#354532;font-size:1rem}
.contract-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contract-card{border:1px solid #dfe7db;border-radius:8px;padding:28px;background:#fff;display:flex;flex-direction:column;min-width:0}
.contract-card-dynamic{background:#112116;color:#fff;border-color:#112116}
.contract-card-label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#258d18;font-weight:850;margin-bottom:16px}
.contract-card-dynamic .contract-card-label{color:#a2fa72}
.contract-card h3{font-size:1.55rem;line-height:1.2;margin:0 0 12px}
.contract-card>p{color:#52604f;font-size:1rem;line-height:1.6;margin:0 0 18px}
.contract-card-dynamic>p{color:#c7d6c8}
.contract-card ul{padding-left:20px;margin:0 0 24px;color:#52604f;font-size:.96rem;line-height:1.6}
.contract-card-dynamic ul{color:#d5e0d6}
.contract-card li{margin:5px 0}
.contract-fit{border-top:1px solid #e2e9de;padding-top:16px;margin-top:auto;color:#52604f;font-size:.92rem;line-height:1.5}
.contract-card-dynamic .contract-fit{border-color:#344c38;color:#d5e0d6}
.contract-fit b{color:#172317}
.contract-card-dynamic .contract-fit b{color:#a2fa72}
.contract-comparison{background:#f6f8f5}
.contract-table-wrap{overflow-x:auto;border:1px solid #dce5d8;border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch}
.contract-table{width:100%;min-width:850px;border-collapse:collapse;text-align:left;font-size:.95rem;line-height:1.55}
.contract-table caption{text-align:left;padding:18px 22px;background:#eef5ea;font-weight:750;font-size:1.05rem}
.contract-table th,.contract-table td{padding:16px 18px;border-bottom:1px solid #e5ebe1;vertical-align:top}
.contract-table thead th{background:#152516;color:#fff;font-weight:750}
.contract-table tbody th{width:22%;font-weight:700;color:#253524;background:#fbfcfa}
.contract-table tbody tr:last-child>*{border-bottom:0}
.contract-table tbody tr:nth-child(even) td{background:#fbfcfa}
.contract-providers{background:#fff}
.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.provider-card{border:1px solid #dfe7db;border-radius:8px;padding:24px;background:#fff;display:flex;flex-direction:column;min-height:235px}
.provider-card-dynamic{background:#112116;color:#fff;border-color:#112116}
.provider-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}
.provider-index{color:#2b9218;font-size:.8rem;font-weight:850;letter-spacing:.1em}
.provider-card-dynamic .provider-index{color:#a2fa72}
.provider-type{color:#657262;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-align:right}
.provider-card-dynamic .provider-type{color:#c2d5c4}
.provider-card h3{font-size:1.35rem;line-height:1.2;margin:0 0 10px}
.provider-card p{color:#52604f;font-size:.95rem;line-height:1.55;margin:0 0 20px}
.provider-card-dynamic p{color:#d5e0d6}
.provider-card a{color:#237c16;font-size:.9rem;font-weight:750;margin-top:auto}
.provider-card-dynamic a{color:#a2fa72}
.contract-savings{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:start;margin-top:28px;padding:30px;background:#eef5ea;border:1px solid #dce7d6;border-radius:8px}
.contract-savings h3{font-size:clamp(1.55rem,2.5vw,2.2rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 14px}
.contract-savings-copy>p:not(.eyebrow){color:#52604f;font-size:.98rem;line-height:1.65;margin:0}
.savings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.savings-grid article{background:#fff;border:1px solid #dce7d6;border-radius:7px;padding:20px 16px;min-height:128px;display:flex;flex-direction:column;justify-content:space-between}
.savings-grid strong{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1;color:#238b17;letter-spacing:-.04em}
.savings-grid span{color:#52604f;font-size:.84rem;line-height:1.35}
.savings-disclaimer{color:#657262;font-size:.82rem;line-height:1.55;margin:15px 0 0}
.provider-disclaimer{max-width:980px;color:#667064;font-size:.88rem;line-height:1.65;margin:22px 0 20px}
.provider-disclaimer strong{color:#344532}
.contract-scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.contract-scenario-grid article{border:1px solid #e0e8dc;border-radius:7px;padding:26px;display:flex;flex-direction:column;min-height:285px}
.scenario-icon{color:#2b981b;font-size:1.8rem;line-height:1;margin-bottom:22px}
.contract-scenario-grid h3{font-size:1.3rem;margin:0 0 9px}
.contract-scenario-grid p{font-size:.97rem;line-height:1.6;color:#52604f;margin:0 0 20px}
.contract-scenario-grid a{font-size:.9rem;color:#237c16;font-weight:750;margin-top:auto}
.contract-scenario-grid a span{margin-left:4px}
.contract-advice{background:#eef5ea}
.contract-advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:start}
.contract-advice h2{margin-bottom:18px}
.contract-advice>div>p:not(.eyebrow){font-size:1.03rem;line-height:1.7;color:#52604f;margin:0 0 26px}
.contract-checklist{background:#fff;border:1px solid #dce7d6;border-radius:8px;padding:28px}
.contract-checklist h3{margin:0 0 18px;font-size:1.35rem}
.contract-checklist ul{list-style:none;padding:0;margin:0}
.contract-checklist li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #e6ede2;color:#344532;font-size:.98rem;line-height:1.5}
.contract-checklist li:last-child{border-bottom:0}
.contract-checklist li span{color:#2b9218;font-size:.78rem;font-weight:850;letter-spacing:.1em;padding-top:3px}
.contract-checklist p{font-size:.9rem;line-height:1.6;color:#52604f;margin:22px 0 0}
.contract-faq-list{max-width:920px;border-top:1px solid #dfe7db}
.contract-faq-list details{border-bottom:1px solid #dfe7db;padding:20px 0}
.contract-faq-list summary{cursor:pointer;font-weight:750;font-size:1.08rem;padding-right:30px;position:relative;list-style:none}
.contract-faq-list summary::-webkit-details-marker{display:none}
.contract-faq-list summary:after{content:'+';position:absolute;right:2px;color:#2b9218;font-size:1.4rem;font-weight:500;line-height:1}
.contract-faq-list details[open] summary:after{content:'−'}
.contract-faq-list details p{font-size:1rem;line-height:1.7;color:#52604f;max-width:820px;margin:13px 0 0}
.contract-sources{padding:0 0 58px}
.contract-sources p{font-size:.88rem;line-height:1.65;color:#667064;margin:0;max-width:980px}
.contract-sources a{color:#237c16;text-decoration:underline;text-underline-offset:3px}
.contract-cta{background:linear-gradient(110deg,#112318,#193820);color:#fff;padding:48px 0}
.contract-cta>.shell{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contract-cta .eyebrow{color:#a7f982;margin-bottom:10px}
.contract-cta h2{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 10px}
.contract-cta p:not(.eyebrow){color:#c9d7ca;margin:0;max-width:650px}
.contract-cta .button{flex-shrink:0}
@media(max-width:980px){.contract-hero{grid-template-columns:1fr;gap:32px;padding-top:30px}.contract-hero-image{max-width:550px;width:100%;justify-self:center;order:-1}.contract-section-heading,.contract-section-heading-single{grid-template-columns:1fr;gap:20px}.contract-cards{grid-template-columns:1fr}.contract-card{min-height:0}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-savings{grid-template-columns:1fr}.contract-scenario-grid{grid-template-columns:1fr 1fr}.contract-advice-grid{grid-template-columns:1fr;gap:32px}.contract-cta>.shell{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.contract-hero{padding:24px 0 44px;gap:24px}.contract-hero-image{max-width:390px}.contract-hero-image img{padding:25px}.contract-hero h1{font-size:2.6rem}.contract-hero-copy>p:not(.eyebrow):not(.detail-note){font-size:1rem}.contract-hero-actions{align-items:stretch;flex-direction:column}.contract-hero-actions .button{width:100%}.contract-section{padding:50px 0}.contract-section-heading h2,.contract-advice h2{font-size:2.25rem}.contract-flow,.contract-scenario-grid,.provider-grid{grid-template-columns:1fr}.contract-flow article{min-height:0;padding:22px}.contract-flow h3{margin-top:20px}.contract-card{padding:23px}.contract-table{min-width:780px;font-size:.9rem}.contract-table th,.contract-table td{padding:13px 12px}.contract-table caption{padding:15px 12px}.contract-advice-grid{gap:24px}.contract-checklist{padding:22px}.contract-savings{padding:22px}.savings-grid{grid-template-columns:1fr}.provider-card{min-height:0}.contract-cta{padding:38px 0}.contract-cta h2{font-size:2.15rem}.contract-cta .button{width:100%}.contract-sources{padding-bottom:42px}}
.service-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 32px;font-size:.95rem;color:#52604f}
.service-breadcrumbs a{color:#237c16;text-decoration:underline;text-underline-offset:3px}
.service-landing .detail-grid{gap:48px}
.service-offer{padding:20px 22px;margin:22px 0;background:#eef5ea;border-left:4px solid #70df00;border-radius:0 10px 10px 0}
.service-offer strong{display:block;font-size:1.25rem;line-height:1.4;color:#18321a}
.service-offer p{font-size:.95rem!important;line-height:1.6!important;color:#52604f;margin:8px 0 0}
.service-text-link{display:block;margin-top:14px;color:#237c16;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.service-guide{padding:20px 0 52px;scroll-margin-top:28px}
.service-guide h2,.service-next h2{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 18px}
.service-lead{max-width:880px;color:#52604f;font-size:1.05rem;margin:0 0 28px;line-height:1.7}
.service-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-guide-grid article{padding:25px;border:1px solid #dce2da;border-radius:10px;background:#fff}
.service-guide-grid h3{font-size:1.2rem;line-height:1.35;margin:0 0 12px}
.service-guide-grid p{font-size:1rem;color:#52604f;line-height:1.7;margin:0}
.service-faq{padding-top:28px}
.service-faq summary:focus-visible{outline:3px solid #298c19;outline-offset:6px;border-radius:2px}
.service-next{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:36px;background:#112318;border-radius:12px;color:#fff}
.service-next>div{max-width:740px}.service-next .eyebrow{color:#a7f982}.service-next p:not(.eyebrow){color:#d1dfd0;font-size:1rem;line-height:1.7;margin:12px 0 0}
.service-next .button{flex-shrink:0}.service-related{padding-top:36px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 28px}
.service-related h2{width:100%;font-size:1.3rem;margin:0;line-height:1.4}.service-related a{color:#237c16;text-decoration:underline;text-underline-offset:3px;font-weight:650;font-size:1rem}
#lead-form .request-whatsapp{margin-top:12px;background:#fff;color:#173820;border:2px solid #3c713b;width:100%;box-sizing:border-box;white-space:normal}
#lead-form .request-whatsapp:hover{background:#eef5ea}
@media(max-width:780px){.service-guide-grid{grid-template-columns:1fr}.service-landing .detail-grid{gap:28px}.service-next{flex-direction:column;align-items:stretch;padding:25px}.service-next .button{white-space:normal}.service-offer{padding:17px}.service-related{flex-direction:column;gap:15px}.service-breadcrumbs{margin-bottom:24px}.service-guide{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Regional service area, readable on phones and tablets. */
.area-heading{max-width:920px}.area-heading h1{font-size:clamp(2.3rem,4vw,4rem);line-height:1.1;letter-spacing:-.04em;margin:0 0 24px}.area-heading>p{font-size:1.1rem}.area-services{grid-template-columns:repeat(2,minmax(0,1fr))}.area-table-wrap{overflow-x:auto;border:1px solid #dce2da;border-radius:10px}.area-table{border-collapse:collapse;width:100%;font-size:1rem;text-align:left}.area-table caption{text-align:left;font-weight:700;padding:18px;background:#eef5ea}.area-table th,.area-table td{padding:16px 20px;border-bottom:1px solid #dce2da;vertical-align:top;overflow-wrap:anywhere}.area-table thead{background:#f3f5f2}.area-table tbody th{min-width:155px;width:23%}.area-table tr:last-child>*{border-bottom:0}.area-source{font-size:.9rem;color:#52604f}.area-source a{text-decoration:underline}.home-area{padding-block:50px}.service-area{margin-top:35px}.service-area p{max-width:860px;color:#52604f}@media(max-width:680px){.area-services{grid-template-columns:1fr}.area-table th,.area-table td{padding:12px 10px}.area-table{font-size:.95rem}.area-table tbody th{min-width:0}.area-main .service-guide{padding-bottom:35px}}

/* Clear price comparisons and direct contact, in the existing Revolt identity. */
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;background:#102318;color:#fff;padding:12px 20px;border-radius:6px;transform:translateY(-180%);font-weight:700}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #267f17;outline-offset:5px}
.home-offers{padding-block:35px 70px}.offer-heading{max-width:820px}.offer-heading h2{font-size:clamp(1.9rem,3.8vw,3.4rem);line-height:1.13;margin:0 0 20px;letter-spacing:-.035em}.offer-heading>p:not(.eyebrow){color:#52604f;line-height:1.7;font-size:1.05rem}.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}.offer-grid article{border:1px solid #dce2da;border-top:4px solid #67f21a;border-radius:8px;padding:24px;display:flex;flex-direction:column;background:#fff}.offer-grid h3{font-size:1.1rem;margin:0 0 18px;line-height:1.35}.offer-grid strong{font-size:1.8rem;letter-spacing:-.025em;line-height:1.2;color:#193d1c}.offer-grid p{font-size:1rem;color:#52604f;line-height:1.65;margin:16px 0 24px}.offer-grid a{margin-top:auto;font-size:.95rem;font-weight:750;color:#237c16;text-decoration:underline;text-underline-offset:4px}
.scope-table-wrap{overflow-x:auto;border:1px solid #dce2da;border-radius:8px;margin:24px 0}.scope-table{border-collapse:collapse;width:100%;font-size:1rem;text-align:left;line-height:1.6}.scope-table caption{padding:16px 20px;background:#eef5ea;text-align:left;font-weight:700}.scope-table th,.scope-table td{padding:17px 20px;border-bottom:1px solid #e1e7de;vertical-align:top}.scope-table thead{background:#15341d;color:#fff}.scope-table tbody th{width:23%;color:#193d1c}.scope-table tbody tr:nth-child(even){background:#f6f8f5}.scope-table tr:last-child>*{border-bottom:0}.scope-note{font-size:.95rem;line-height:1.7;color:#52604f;max-width:960px}.scope-note a,.inline-link,.steps a,.form-data-note a,.contact-address a{color:#237c16;text-decoration:underline;text-underline-offset:3px}.preparation{margin:10px 0 40px}.preparation p a{color:#befa9d;text-decoration:underline;text-underline-offset:3px}
.info-page .area-heading{padding-bottom:45px}.info-page .service-guide>p{max-width:960px;font-size:1rem;line-height:1.75;color:#52604f}.info-page h1{overflow-wrap:break-word}.contact-cards{gap:20px}.contact-cards h2{font-size:1.2rem;margin-bottom:16px;letter-spacing:0}.contact-cards article{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contact-cards article>a:not(.button){color:#237c16;font-size:1.05rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.contact-cards .button{margin-top:auto;font-size:.95rem;white-space:normal}.contact-cards address{font-style:normal;line-height:1.7}.contact-address{grid-column:1/-1;font-size:1rem;line-height:1.7;color:#52604f;margin:0}.footer-main .footer-contact p{margin:0;color:#52604f;font-size:.9rem;line-height:1.7}.footer-main .footer-contact a{overflow-wrap:anywhere}.footer-bottom a{text-decoration:underline;text-underline-offset:3px;letter-spacing:0;font-size:.85rem}.review-direct{font-size:1.4rem!important;color:#18351b!important;font-weight:750}.form-data-note{font-size:.875rem;line-height:1.6;color:#52604f}#lead-form label{font-size:.875rem}#lead-form input,#lead-form select,#lead-form textarea{font-size:1rem}
@media(max-width:1080px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.offer-grid{grid-template-columns:1fr}.offer-grid article{padding:22px}.home-offers{padding-bottom:45px}.scope-table{min-width:570px}.scope-table th,.scope-table td{padding:14px}.contact-cards article{padding:22px}.footer-main>.footer-contact{grid-column:1/-1}.info-page .area-heading{padding-bottom:30px}.preparation .button{width:100%}.contact-address{overflow-wrap:anywhere}}

/* Direct service navigation and useful pricing guidance. */
.service-navigation{background:#f3f7ef;border-bottom:1px solid #dce5d5}.service-navigation>.shell{display:flex;align-items:center;justify-content:center;gap:12px 28px;flex-wrap:wrap;padding-block:13px}.service-navigation a{font-size:.9rem;font-weight:700;color:#244a20;text-decoration:none;padding:4px 0}.service-navigation a:hover,.service-navigation a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.service-navigation a:last-child{color:#153217}.scope-table a{color:#237c16;text-decoration:underline;text-underline-offset:3px}.info-page .service-next a:not(.button){color:#bafa99;text-decoration:underline;text-underline-offset:3px}.service-assurance{margin-top:45px;padding:30px;border:1px solid #dce5d5;border-radius:8px;background:#f3f7ef}.service-assurance h2{font-size:1.45rem;line-height:1.35;margin:0 0 20px}.service-assurance>div{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-assurance a{color:#237c16;text-decoration:underline;text-underline-offset:3px;font-size:1rem;font-weight:650}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.experience-grid article{border:1px solid #dce2da;padding:28px;border-radius:8px;display:flex;flex-direction:column}.experience-grid h3{font-size:1.25rem;margin:5px 0 15px;line-height:1.4}.experience-grid p{font-size:1rem;line-height:1.7;color:#52604f}.experience-grid .experience-meta{font-size:.875rem;color:#3f583b}.experience-grid a{margin-top:auto;font-size:.95rem;font-weight:700;color:#237c16;text-decoration:underline;text-underline-offset:4px}
@media(max-width:780px){.service-navigation>.shell{justify-content:flex-start;gap:7px 19px;padding-block:11px}.service-navigation a{font-size:.875rem}.service-assurance>div,.experience-grid{grid-template-columns:1fr}.service-assurance{padding:23px}.experience-grid article{padding:23px}}

.request-guidance{padding:16px 18px;background:#f3f7ef;border-left:3px solid #337f22;border-radius:4px;color:#30462e;font-size:1rem;line-height:1.65}.request-direct{font-size:1rem;color:#30462e}.request-direct a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

.service-related + .preparation{margin-top:32px}.service-faq + .service-area{margin-top:12px}

.home-projects{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:55px}.home-projects>div{max-width:760px}.home-projects h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2;margin:0 0 15px}.home-projects p{font-size:1rem;line-height:1.7}.home-projects .button{flex-shrink:0}.footer-bottom{gap:15px;flex-wrap:wrap}@media(max-width:780px){.home-projects{flex-direction:column;align-items:flex-start}}

/* Clear buying information and verifiable trust signals. */
.confidence-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);padding-block:30px;gap:28px}.confidence-strip a{display:flex;flex-direction:column;gap:5px;padding:8px 0}.confidence-strip strong{font-size:1.1rem;color:#152f19}.confidence-strip span{font-size:.95rem;color:#476342}.confidence-strip a:hover span{text-decoration:underline;text-underline-offset:4px}.service-confidence{margin:28px 0 10px;padding:22px 26px;border-left:3px solid #70df00;background:#f3f7ef;border-radius:0 10px 10px 0}.service-confidence p{font-size:1rem;line-height:1.65;margin:0 0 12px;max-width:850px}.service-confidence>div{display:flex;flex-wrap:wrap;gap:12px 26px}.service-confidence a{color:#246819;text-decoration:underline;text-underline-offset:4px;font-size:.95rem;padding-block:5px}.quote-expectations{margin:45px auto 0;max-width:960px;padding-top:32px;border-top:1px solid var(--line)}.quote-expectations h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.25}.quote-expectations ol{list-style:none;counter-reset:request;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:28px 0}.quote-expectations li{counter-increment:request;display:flex;flex-direction:column;gap:10px}.quote-expectations li:before{content:'0' counter(request);font-size:.9rem;font-weight:800;color:#246819}.quote-expectations li span{font-size:1rem;line-height:1.7;color:#52604f}.quote-expectations a{color:#246819;text-decoration:underline;text-underline-offset:4px}.catalog-nav a{min-height:44px;display:inline-flex;align-items:center}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #287b18;outline-offset:4px}.hero a:focus-visible,.site-header a:focus-visible{outline-color:#9bff3f}.service-body>a{margin-top:auto}.service-body{display:flex;flex-direction:column}.service-body p{flex-grow:1}.eyebrow{font-size:.875rem}@media(max-width:720px){.confidence-strip{grid-template-columns:1fr;gap:4px;padding-block:18px}.confidence-strip a{padding-block:13px}.confidence-strip a+a{border-top:1px solid var(--line)}.service-confidence{padding:20px}.service-confidence>div{gap:6px 20px}.quote-expectations ol{grid-template-columns:1fr;gap:25px}}

.service-projects{margin:50px 0 20px;padding-top:35px;border-top:1px solid var(--line)}.service-projects h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;margin:0 0 25px}.service-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-project-grid article{border:1px solid var(--line);border-radius:12px;overflow:hidden}.service-project-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-project-grid article a{display:block;height:100%}.service-project-grid article a>div{padding:23px}.service-project-grid h3{font-size:1.2rem;line-height:1.4;overflow-wrap:anywhere}.service-project-grid p{font-size:1rem;color:#52604f;overflow-wrap:anywhere}.service-project-grid span,.service-project-more{font-size:1rem;font-weight:700;color:#246819}.service-project-more{display:inline-block;margin-top:25px;text-decoration:underline;text-underline-offset:4px}@media(max-width:780px){.service-project-grid{grid-template-columns:1fr}}

/* Readable service overview across desktop, tablet and phone. */
.services-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding-bottom: 48px;
  align-items: stretch;
}
.services-overview > .service {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  border-color: #dce2da;
  border-radius: 10px;
}
.services-overview .site-photo,
.services-overview .service-contract-types {
  flex: 0 0 auto;
  height: 220px;
  aspect-ratio: auto;
  border-bottom: 1px solid #edf0eb;
}
.services-overview .product-image img { padding: 24px; }
.services-overview .service-body {
  flex: 1;
  min-height: 0;
  padding: 24px;
}
.services-overview h3 {
  min-height: 0;
  margin: 0 0 12px;
  font-size: 1.3rem;
  line-height: 1.3;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.services-overview p {
  margin: 0 0 24px;
  font-size: 1rem;
  line-height: 1.6;
}
.services-overview .service-amount { white-space: nowrap; }
.services-overview .service-body > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 12px 14px;
  font-size: 1rem;
  line-height: 1.4;
  background: #f7faf5;
  border-color: #d7e3d2;
  border-radius: 6px;
}
.services-overview .service-body > a:hover { background: #edf7e7; border-color: #76a269; }
.services-overview .service-link-label { color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.services-overview .service-link-arrow { color: #267f17; flex: 0 0 auto; font-size: 1.25rem; line-height: 1; }
.services-overview .service-contract-types {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  padding: 24px 32px;
  background: #eff6eb;
  color: #205d19;
}
.service-contract-types > span { font-size: 1.45rem; font-weight: 750; line-height: 1.4; }
@media (max-width: 66rem) {
  .services-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 40rem) {
  .services-overview { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-bottom: 32px; }
  .services-overview .service-body { padding: 22px; }
  .services-overview .site-photo,
  .services-overview .service-contract-types { height: 210px; }
}

.review-platform-heading{font-size:1.5rem;line-height:1.3;margin:36px 0 12px}.reviews-context a{color:#246819;text-decoration:underline;text-underline-offset:3px}

.site-header a:focus-visible,.hero a:focus-visible{outline-color:#287b18}.service-navigation a{padding-block:10px}.request-main .form-row>*{min-width:0}

/* Two complete Pylontech towers, each with five battery modules. */
.pylon-figure .pylon-pair-image{aspect-ratio:1;max-width:520px;margin-inline:auto}
.pylon-figure .pylon-pair-image img{padding:0}
