@font-face{font-family:Jost;src:url('./jost-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Jost;src:url('./jost-600.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:OpenSans;src:url('./open-sans-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ink:#061922;--deep:#04121a;--cyan:#35ded3;--paper:#f1f3ef;--muted:#a1b4bc;--rule:#284049;--pad:clamp(24px,4.5vw,86px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--paper);font-family:OpenSans,Arial,sans-serif;font-size:15px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Jost,Arial,sans-serif;font-weight:600;line-height:1.06;letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,64px);margin-bottom:26px}h3{font-size:28px;letter-spacing:-.03em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}.light-section a:focus-visible{outline-color:#087d86}img{max-width:100%;height:auto}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.wrap{width:100%;max-width:1680px;padding-left:var(--pad);padding-right:var(--pad);margin:auto}.section-pad{padding-top:72px;padding-bottom:72px}.eyebrow{font:500 11px/1.7 monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:28px}.preview-bar{background:#15323e;color:#c6d7dc;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:7px var(--pad);font:11px/1.5 OpenSans,Arial;letter-spacing:.02em}.preview-bar i,.data-status i,.chart-head i{display:inline-block;background:var(--cyan);width:6px;height:6px;border-radius:50%;margin-right:9px}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative;z-index:10}.site-header:after{content:'';height:1px;position:absolute;bottom:0;left:var(--pad);right:var(--pad);background:var(--rule)}.brand{display:block;flex-shrink:0;width:219px}.brand img{display:block;filter:none;opacity:1;background:#fff;padding:7px;border-radius:2px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px}.site-header nav>a:not(.button){position:relative;transition:color .2s}.site-header nav>a:hover{color:var(--cyan)}.button{display:inline-flex;gap:27px;justify-content:space-between;align-items:center;padding:16px 23px;background:var(--cyan);color:#04202a;border:1px solid var(--cyan);font-family:Jost,Arial;font-size:16px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button span{font-size:24px;line-height:1}.button:hover{background:#84f4e9;transform:translateY(-2px)}.button.small{padding:11px 18px;font-size:14px;gap:17px}.button.light{background:var(--paper);border-color:var(--paper);min-width:220px}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #79939c;padding:10px 0;font-size:14px}.text-link span{font-size:22px;line-height:1}.text-link:hover{color:var(--cyan)}.text-link.dark{border-color:#839297}.text-link.dark:hover{color:#087d86}.menu-toggle{display:none}.hero{position:relative;min-height:760px;isolation:isolate;overflow:hidden}.hero-glow{position:absolute;width:65%;height:85%;right:-5%;top:-10%;z-index:-1;background:radial-gradient(ellipse,rgba(32,75,88,.23),transparent 65%);pointer-events:none}.hero-copy{position:relative;padding-top:85px;padding-bottom:105px;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(56px,5.95vw,98px);line-height:1.015;letter-spacing:-.055em;max-width:760px;margin-bottom:28px}.hero h1 span{color:var(--cyan);white-space:nowrap}.hero .eyebrow{font-size:10px;letter-spacing:.12em;display:flex;gap:14px;align-items:center;margin-bottom:27px}.tiny-cross{font-size:25px;font-weight:400}.hero-intro{font-size:16px;line-height:1.7;max-width:405px;color:#d3dde1;margin-bottom:33px}.hero-actions{display:flex;gap:25px;align-items:center}.hero-caption{font:10px/1.8 monospace;letter-spacing:.025em;display:flex;align-items:center;gap:15px;margin-top:44px;color:#829da9}.hairline{height:1px;width:28px;background:#477181}.scene-shell{position:absolute;left:38%;right:0;top:0;height:calc(100% - 82px);z-index:1;min-height:600px;touch-action:pan-y}#roof-scene{position:absolute;inset:0}#roof-scene canvas{display:block;width:100%;height:100%;touch-action:pan-y}.model-label{position:absolute;left:29%;top:27px;right:35px;display:flex;align-items:center;gap:8px;font:10px/1.6 monospace;letter-spacing:.02em;color:#c0d0d7;pointer-events:none}.model-detail{margin-left:auto;color:#7996a5}.status-light{width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px #35ded355}.compass{position:absolute;right:36px;top:88px;text-align:center;color:#7da1af;font:10px/1.2 monospace;pointer-events:none}.compass div{font-size:32px;color:#c6e7ea}.compass small{display:block;font-size:10px;margin-top:4px}.scene-controls{display:flex;position:absolute;bottom:71px;left:30%;gap:10px;z-index:2}.scene-controls button{display:flex;align-items:center;justify-content:center;gap:10px;color:#d2e2e6;background:#09202acc;border:1px solid #365561;padding:10px 13px;font-size:11px;backdrop-filter:blur(8px)}.scene-controls button:hover{border-color:var(--cyan);color:var(--cyan)}.scan-readout{position:absolute;bottom:24px;left:30%;right:37px;display:grid;grid-template-columns:1fr auto;gap:7px;font:9px/1.6 monospace;color:#8ba9b6;letter-spacing:.03em}.scan-track{height:2px;background:#1d3e4c;grid-column:1/3;grid-row:2}.scan-track span{display:block;height:2px;background:var(--cyan);width:0}.simulation-note{font-size:8px;color:#77929b}.scene-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;color:#b9d0d8;font-size:12px}.loader-ring{width:22px;height:22px;border:1px solid #375260;border-top-color:var(--cyan);border-radius:50%;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scene-fallback{position:absolute;top:42%;left:25%;padding:24px;max-width:330px;border:1px solid var(--rule);font-size:13px}.hero-baseline{position:absolute;bottom:0;left:0;right:0;height:70px;display:flex;align-items:center;justify-content:space-between;font:9px/1.6 monospace;letter-spacing:.1em;color:#839fa9}.hero-baseline:before{content:'';position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:var(--rule)}.hero-baseline a{letter-spacing:0;display:flex;gap:20px;align-items:center;font:12px OpenSans}.hero-baseline a span{color:var(--cyan);font-size:24px}.energy{background:#071c26;border-bottom:1px solid var(--rule);position:relative}.section-kicker{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.data-status{font:10px/1.8 monospace;text-transform:uppercase;letter-spacing:.08em;color:#96aeb8}.data-status i{background:transparent;border:1px solid #8fa8b2;width:6px;height:6px}.energy-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.energy h2{margin-bottom:0}.energy h2 span{color:#8fa9b5}.energy-heading>p{color:#9fb5bf;font-size:13px;max-width:330px;line-height:1.8;margin-bottom:5px}.metrics{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;margin-top:64px;margin-bottom:52px}.metrics>div{padding:0 40px;border-left:1px solid #2a434d}.metrics>div:first-child{padding-left:0;border:0}.metric{font-family:Jost;font-size:clamp(46px,5.5vw,83px);line-height:1.2;letter-spacing:-.05em}.metric small{font-size:.52em;font-weight:500;color:#c0d7df;margin-left:6px}.metrics h3{font:12px/1.5 OpenSans;color:#a6bdc7;letter-spacing:0;margin:12px 0 0}.chart-head{display:flex;justify-content:space-between;align-items:center;color:#adbdc4;font-size:10px;gap:15px}.chart-head i{width:6px;height:6px}.chart-head>div{display:flex}.period{color:#839da8;border:0;border-bottom:1px solid #284450;background:transparent;padding:9px 15px;font-size:11px}.period.active{color:var(--cyan);border-color:var(--cyan)}.empty-chart{height:173px;margin-top:20px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,#28414c70 42px,#28414c70 43px);border-top:1px solid #28414c70}.chart-empty-message{position:absolute;inset:24px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.chart-empty-message>span{color:#4e7382;font-size:27px}.chart-empty-message p{font:16px Jost;margin:4px 0 7px;color:#91a9b4}.chart-empty-message small{font-size:10px;color:#607f8d}.light-section{background:var(--paper);color:#11242c}.light-section .eyebrow{color:#36545b}.services-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.services-heading>p:not(.eyebrow){max-width:320px;font-size:14px;color:#56686c}.services-heading .text-link{margin-top:13px}.service-list{border-top:1px solid #b9c6c7}.service-row{display:grid;grid-template-columns:28px 1fr 28px;gap:20px;padding:31px 0;border-bottom:1px solid #b9c6c7;transition:padding .2s}.service-row:hover{padding-left:10px}.service-number{font:12px monospace;margin-top:7px;color:#587177}.service-row h3{margin-bottom:10px;font-size:29px}.service-row p{font-size:12px;color:#586b70;margin:0}.service-arrow{font:32px/1.2 Jost;align-self:center;color:#163c4a}.advisor{position:relative;overflow:hidden;background:#061720}.advisor-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.advisor p:not(.eyebrow){max-width:415px;color:#9ab1bc;font-size:14px;line-height:1.8;margin-bottom:30px}.advisor-art{position:relative;min-width:0;height:340px;min-height:340px;perspective:1200px;display:flex;align-items:center;justify-content:center;overflow:hidden}.solar-array{width:70%;max-width:320px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;transform:rotateX(53deg) rotateZ(-23deg);position:relative;z-index:1}.solar-array span{aspect-ratio:.6;border:1px solid #69899a;background:repeating-linear-gradient(90deg,transparent 0,transparent 16%,#829cab36 16%,#829cab36 16.6%),repeating-linear-gradient(0deg,#143d52 0,#143d52 8%,#63879844 8%,#63879844 8.4%);box-shadow:0 9px #08202b,0 10px 0 #2f4c5a}.sun-orbit{width:350px;height:350px;border:1px solid #2b65793b;border-radius:50%;position:absolute;top:-25px;left:10%;box-shadow:0 0 100px #23a0a30c}.sun-orbit:after{content:'';width:9px;height:9px;border-radius:50%;background:var(--cyan);position:absolute;left:58px;top:34px;box-shadow:0 0 30px var(--cyan)}.art-label{position:absolute;bottom:10px;font:9px monospace;letter-spacing:.1em;color:#7899a6}.project-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.case-study{padding-top:42px;max-width:550px}.case-study h3{font-size:28px}.case-study p{font-size:14px;color:#50646b;line-height:1.9}.case-steps{display:flex;justify-content:space-between;margin-top:34px;padding:20px 0;border-top:1px solid #afc1c5;font:13px Jost;color:#3b656e}.more-offers{background:#0b2430}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.offer-grid article{padding-top:25px;border-top:1px solid #3d5560}.offer-number{font:11px monospace;color:#73939f}.offer-grid h3{margin-top:22px;max-width:430px;font-size:34px}.offer-grid p{font-size:13px;line-height:1.8;max-width:500px;color:#a3b9c4}.partners{padding:48px 0}.partner-list{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font:500 21px Jost;color:#61717a}.partners .eyebrow{margin-bottom:25px}.contact-band{background:var(--cyan);color:#062834;padding:78px 0}.contact-band>.wrap{display:flex;justify-content:space-between;gap:50px;align-items:center}.contact-band .eyebrow{color:#17515a}.contact-band h2{margin-bottom:0;font-size:clamp(43px,5vw,77px)}.site-footer{padding-top:65px;padding-bottom:26px}.footer-top{display:flex;gap:90px;justify-content:space-between;font-size:12px;color:#a1b8c1}.footer-top .brand{width:210px}.footer-top p{color:#7695a3;margin-top:10px}.footer-bottom{border-top:1px solid var(--rule);margin-top:46px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#738e9a;font-size:10px}.footer-bottom>div{display:flex;gap:22px}dialog{max-width:520px;width:calc(100% - 40px);padding:46px;border:1px solid #487381;background:var(--ink);color:var(--paper)}dialog::backdrop{background:#020d16cc;backdrop-filter:blur(9px)}dialog h2{font-size:38px}dialog p:not(.eyebrow){font-size:14px;color:#a8c0ca;margin-bottom:26px}.dialog-close{position:absolute;right:13px;top:9px;background:transparent;color:white;border:0;font:28px Arial}.skip-link{position:absolute;top:-100px;left:20px;background:var(--cyan);color:var(--ink);padding:12px;z-index:100}.skip-link:focus{top:12px}
@media(min-width:1700px){.hero{max-width:1800px;margin:auto}.scene-shell{left:40%}}
@media(max-width:1150px){.site-header nav{gap:20px}.brand{width:185px}.hero{min-height:710px}.hero-copy{padding-top:78px}.hero h1{font-size:6.4vw}.hero-intro{font-size:14px;max-width:340px}.hero-actions{gap:20px}.hero-actions .button{font-size:14px;padding:14px 18px}.hero-actions .text-link{font-size:12px}.model-label{left:25%;font-size:9px;top:24px}.model-detail{display:none}.scene-shell{left:37%}.scene-controls{left:20%}.scan-readout{left:20%}.services-layout{gap:45px}.service-row{gap:13px}.service-row h3{font-size:25px}.energy-heading{gap:35px}.section-pad{padding-top:56px;padding-bottom:56px}.footer-top{gap:30px}}
@media(max-width:850px){.preview-bar>span:last-child{display:none}.site-header{height:87px}.brand{width:190px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:7px;align-items:center;background:transparent;border:1px solid #365563;color:white}.menu-toggle span{width:18px;height:1px;background:#d9e6ea}.site-header nav{display:none;position:absolute;left:var(--pad);right:var(--pad);top:87px;z-index:20;flex-direction:column;align-items:stretch;padding:25px;background:#0d2835;box-shadow:0 18px 24px #0005;font-size:15px}.site-header nav.open{display:flex}.hero-copy{padding-top:47px;padding-bottom:0}.hero .eyebrow{font-size:9px;gap:8px;margin-bottom:22px}.hero h1{font-size:clamp(50px,8.3vw,76px);max-width:600px;margin-bottom:23px}.hero-intro{max-width:480px;font-size:14px;margin-bottom:25px}.hero-actions{gap:28px}.hero-caption{display:none}.scene-shell{position:relative;left:auto;right:auto;top:auto;height:550px;min-height:0;width:100%;margin-top:-20px}.hero{min-height:0;padding-bottom:70px}.model-label{left:var(--pad);right:var(--pad);top:30px}.model-detail{display:inline;font-size:9px}.scene-controls{left:var(--pad);right:var(--pad);bottom:61px;justify-content:flex-end}.scan-readout{left:var(--pad);right:var(--pad);bottom:17px}.compass{top:70px;right:var(--pad)}.hero-baseline{font-size:8px;height:62px}.hero-baseline>span{max-width:230px}.hero-baseline a{font-size:10px;gap:10px}.section-kicker{gap:15px}.data-status{font-size:8px}.energy-heading{display:block}.energy-heading>p{margin-top:24px;max-width:400px}.metrics{margin-top:40px;margin-bottom:40px}.metrics>div{padding:0 25px}.metrics h3{font-size:10px}.services-layout,.project-layout{grid-template-columns:1fr;gap:38px}.services-heading>p:not(.eyebrow){max-width:430px}.services-heading h2 br{display:none}.services-heading .text-link{margin-top:0}.advisor-layout{gap:25px;grid-template-columns:1fr 1fr}.advisor-art{min-height:280px}.sun-orbit{width:240px;height:240px;left:0;top:0}.art-label{font-size:7px}.case-study{padding-top:0;max-width:none}.project h2 br{display:none}.offer-grid{gap:35px}.offer-grid h3{font-size:28px}.footer-top .brand{width:170px}.footer-top{font-size:11px}}
@media(max-width:540px){:root{--pad:22px}.hero h1{font-size:clamp(43px,10.7vw,62px)}.hero .eyebrow{font-size:8px;letter-spacing:.075em}.tiny-cross{font-size:17px}.hero-intro{font-size:12px;max-width:350px;line-height:1.8}.hero-actions{gap:21px}.hero-actions .button{font-size:13px;padding:13px 16px;gap:15px}.hero-actions .text-link{font-size:11px;gap:12px}.hero-actions .button span{font-size:20px}.scene-shell{height:440px;margin-top:0}.model-label{top:15px;font-size:8px}.model-detail{font-size:8px}.compass{top:47px;font-size:8px}.compass div{font-size:22px}.scene-controls{gap:8px;bottom:60px;justify-content:center}.scene-controls button{font-size:10px;padding:10px 12px}.scan-readout{font-size:8px;bottom:20px}.simulation-note{font-size:7px}.scene-fallback{left:10%;font-size:11px}.hero-baseline>span{max-width:165px;font-size:7px}.section-pad{padding-top:40px;padding-bottom:40px}.eyebrow{font-size:9px;margin-bottom:21px}.section-kicker{display:block}.section-kicker .eyebrow{margin-bottom:13px}.data-status{display:block;margin-bottom:25px}h2{font-size:37px}.energy-heading>p{font-size:12px}.metrics{grid-template-columns:1fr 1.15fr .9fr;margin-top:35px}.metric{font-size:39px}.metric small{font-size:.46em;margin-left:2px}.metrics>div{padding:0 14px}.metrics h3{font-size:9px;line-height:1.5;margin-top:12px;max-width:100px}.chart-head{font-size:8px}.chart-head>span{max-width:170px}.period{font-size:9px;padding:8px 10px}.empty-chart{height:160px}.chart-empty-message p{font-size:14px}.chart-empty-message small{max-width:245px;font-size:9px}.service-row{padding:26px 0;grid-template-columns:20px 1fr 23px;gap:13px}.service-row h3{font-size:25px}.service-row p{font-size:11px}.service-number{font-size:10px}.service-arrow{font-size:26px}.advisor-layout{display:block}.advisor-art{height:230px;margin-top:35px;min-height:0}.solar-array{width:70%;max-width:300px}.sun-orbit{width:230px;height:230px;left:20%;top:0}.advisor p:not(.eyebrow){font-size:13px}.advisor-art .art-label{bottom:0;font-size:8px}.case-study h3{font-size:26px}.case-study p{font-size:13px}.offer-grid{grid-template-columns:1fr;gap:40px}.offer-grid p{font-size:12px}.partners{padding:40px 0}.partner-list{font-size:18px;justify-content:flex-start;gap:20px 28px}.contact-band{padding:53px 0}.contact-band>.wrap{display:block}.contact-band h2{font-size:49px;margin-bottom:30px}.contact-band .eyebrow{font-size:8px}.contact-band .button{font-size:14px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px 20px}.footer-top>.brand{grid-column:1/3;width:190px}.site-footer{padding-top:46px}.footer-bottom{font-size:8px;margin-top:30px}.footer-bottom>div{gap:12px}dialog{padding:35px 25px}dialog h2{font-size:31px}}
.scene-shell{height:calc(100% - 100px)}.scene-controls{bottom:111px}.scan-readout{bottom:65px}.assembly-steps{position:absolute;left:30%;right:37px;bottom:13px;display:flex;border-top:1px solid #294c59;gap:18px;padding-top:13px}.assembly-steps button{font:9px/1.5 monospace;color:#75919f;background:none;border:0;padding:0;text-align:left;white-space:nowrap}.assembly-steps button span{font-family:OpenSans;font-size:9px;margin-left:5px}.assembly-steps button.active{color:var(--cyan)}.assembly-steps button:hover{color:#e0ffff}.simulation-badge{color:#8ed5d0}.simulation-badge i{border-color:#67b9b4}.power-hero{border-top:1px solid #34535f;border-bottom:1px solid #34535f;display:flex;justify-content:space-between;align-items:center;padding:37px 0;gap:30px;margin-bottom:10px}.power-hero .eyebrow{margin-bottom:14px}.power-number{font:600 clamp(60px,7vw,104px)/1.1 Jost;letter-spacing:-.05em;color:#35ded3}.power-number>span:last-child{font-size:.34em;letter-spacing:-.02em;margin-left:16px;color:#9fc0ca}.power-hero #production-description{font-size:12px;color:#a1b6c1;margin:16px 0 0}.power-weather{min-width:170px;display:flex;align-items:center;flex-direction:column;gap:10px;font:9px/1.5 monospace;color:#81acb7;letter-spacing:.04em}.power-orb{width:92px;height:92px;display:flex;align-items:center;justify-content:center;border:1px solid #35777b;border-radius:50%;background:radial-gradient(circle,#1f646830,transparent 72%);box-shadow:0 0 50px #31c4c710;color:#7be2d8;font:57px/1 Arial}.power-orb.night{border-color:#375469;color:#8ea9ca;background:none}.power-orb.night span{font-size:0}.power-orb.night span:before{content:'☾';font-size:60px}.model-assumptions{margin-bottom:38px;border-bottom:1px solid #28444f}.model-assumptions summary{list-style:none;cursor:pointer;font-size:11px;color:#94b4c0;padding:16px 0;display:flex;align-items:center;justify-content:space-between}.model-assumptions summary::-webkit-details-marker{display:none}.model-assumptions summary span{font:19px monospace;color:var(--cyan)}.model-assumptions[open] summary span{transform:rotate(45deg)}.assumption-controls{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:36px;padding:14px 0 22px}.assumption-controls label{display:block;font-size:11px;color:#a5bfca;line-height:1.5}.assumption-controls output{display:block;color:#e0f3f2;font:23px Jost;margin:10px 0}.assumption-controls input{accent-color:#35ded3;width:100%;margin:5px 0;cursor:pointer}.assumption-controls select{font:12px OpenSans;width:100%;padding:12px;margin-top:12px;border:1px solid #3b606b;background:#08202a;color:#c9e2e4}.model-assumptions>p{font-size:10px;color:#7d9da9;max-width:870px;padding-bottom:12px}.energy-plot{margin-top:22px}.energy-plot svg{display:block;width:100%;height:auto;min-height:140px}.chart-unit{font:9px monospace;color:#678995}.energy-plot p{font:9px/1.8 monospace;color:#7094a3;min-height:18px;margin:7px 0 0}.weather-attribution{margin-top:23px;display:flex;justify-content:space-between;gap:20px;font:8px/1.7 OpenSans;color:#617f8d}.weather-attribution a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:1150px){.assembly-steps{left:20%;gap:12px}.assembly-steps button{font-size:8px}.assembly-steps button span{font-size:8px;margin-left:3px}}
@media(max-width:850px){.scene-shell{height:575px}.scene-controls{left:var(--pad);right:var(--pad);bottom:115px}.scan-readout{left:var(--pad);right:var(--pad);bottom:69px}.assembly-steps{left:var(--pad);right:var(--pad);bottom:16px;justify-content:space-between}.assembly-steps button,.assembly-steps button span{font-size:10px}.assumption-controls{grid-template-columns:1fr 1fr}.assumption-controls>label:last-child{grid-column:1/3}.power-weather{min-width:120px}.weather-attribution{display:block}.weather-attribution>span{display:block}}
@media(max-width:540px){.scene-shell{height:460px}.scene-controls{bottom:107px}.scan-readout{bottom:62px}.assembly-steps{bottom:12px;gap:10px}.assembly-steps button,.assembly-steps button span{font-size:8px}.assembly-steps button span{margin-left:3px}.power-hero{padding:28px 0;gap:10px}.power-hero .eyebrow{font-size:8px;max-width:180px}.power-number{font-size:63px}.power-number>span:last-child{margin-left:9px}.power-hero #production-description{font-size:10px;max-width:210px}.power-weather{min-width:95px;font-size:7px;gap:7px}.power-orb{width:68px;height:68px;font-size:43px}.power-orb.night span:before{font-size:46px}.assumption-controls{gap:22px}.model-assumptions summary{font-size:10px}.assumption-controls label{font-size:10px}.model-assumptions>p{font-size:9px}.energy-plot svg{min-height:0}.energy-plot p{font-size:8px}.weather-attribution{font-size:8px}.model-assumptions summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Photographic roof scene and individual roof potential. */
.hero{min-height:790px}.scene-shell{left:38%;top:15px;height:710px}.scene-shell #roof-scene{position:absolute;inset:35px 0 148px;overflow:hidden}.scene-shell #roof-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#061922 0%,transparent 17%),linear-gradient(0deg,#061922 0%,transparent 18%)}.scene-shell canvas{display:block}.model-label{left:19%;right:30px;top:7px}.scene-controls{left:19%;right:30px;bottom:94px}.scan-readout{left:19%;right:30px;bottom:50px}.assembly-steps{left:19%;right:30px;bottom:0}.hero-copy{position:relative;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(60px,6.25vw,100px)}.scene-shell .model-detail{font-size:9px}.roof-search{margin-top:42px;max-width:890px}.roof-search>label{display:block;font:500 18px Jost;margin-bottom:14px}.roof-search>div{display:flex;gap:12px}.roof-search input{min-width:0;flex:1;border:1px solid #41606b;background:#0c2530;color:#eefaf9;padding:18px 22px;font:15px OpenSans;outline-offset:4px}.roof-search>p,.estimate-note{font-size:11px;line-height:1.8;color:#98b1ba;max-width:870px}.roof-search .button:disabled{opacity:.5;cursor:wait}.roof-status{color:#99bfcb;font-size:12px;min-height:22px;margin:18px 0}.address-choices{max-width:890px;display:flex;flex-direction:column}.address-choice{padding:17px 20px;text-align:left;border:1px solid #355863;background:#0d2934;color:#e4f1f3;font:14px OpenSans;cursor:pointer}.address-choice:hover{border-color:#35ded3;background:#153944}.roof-selection-header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:40px 0 26px}.roof-selection-header h3{font-size:28px;margin:0}.roof-selection-header .eyebrow{margin-bottom:10px}.roof-selection-header a{font-size:12px}.roof-selection-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px}.roof-map{position:relative;aspect-ratio:1;background:#16303b;border:1px solid #3d5660;overflow:hidden}.roof-map img,.roof-map svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.roof-map svg path{fill:#1fffe52e;stroke:#81fff0;stroke-width:2;cursor:pointer;transition:fill .2s}.roof-map svg path:hover,.roof-map svg path:focus{fill:#35ded37a;stroke:white;stroke-width:4;outline:0}.roof-map svg path.selected{fill:#14bce575;stroke:white;stroke-width:3}.roof-map .address-marker{fill:white;stroke:#122f39;stroke-width:2;pointer-events:none}.map-north{position:absolute;right:12px;top:12px;background:#061922d9;padding:8px;color:white;font:13px monospace;pointer-events:none}.map-credit{position:absolute;bottom:6px;right:6px;color:white;font:10px OpenSans;background:#061922b9;padding:4px 7px;pointer-events:none}.map-note{font:10px/1.7 OpenSans;color:#a1bcc6}.building-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.building-options button{border:1px solid #3c5e69;background:#0d2a35;color:#bad0d8;padding:8px 10px;font:10px OpenSans;cursor:pointer}.building-options button.selected{border-color:#35ded3;color:#75fff0}.roof-selection-side>p:not(.eyebrow){font-size:12px;color:#abc5ce;line-height:1.8}.roof-options{max-height:440px;overflow:auto;padding-right:10px}.roof-options>label{display:flex;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid #2d4a56;cursor:pointer}.roof-options input{width:19px;height:19px;accent-color:#35ded3;flex-shrink:0}.roof-options strong{font:500 17px Jost;display:block}.roof-options small{font:11px/1.8 OpenSans;display:block;color:#9ab7c3;margin-top:5px}.roof-metrics{grid-template-columns:1.3fr 1fr 1fr}.roof-metrics .metric{font-size:clamp(35px,4.5vw,69px)}.roof-metrics .metric small{font-size:.30em;display:block;margin-left:0;margin-top:8px;letter-spacing:0;color:#bdd4d7}.roof-type{color:#b3d0d7;font:500 19px Jost;margin-top:-10px}.roof-assumptions{border-top:1px solid #284651;border-bottom:1px solid #284651;display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:26px 0;margin:26px 0 37px;align-items:center}.roof-assumptions label{font-size:12px;color:#a8c5ce}.roof-assumptions output{display:block;font:30px Jost;color:#35ded3;margin:10px 0}.roof-assumptions input{display:block;accent-color:#35ded3;width:100%}.roof-assumptions p{font-size:11px;color:#9bb7c3;line-height:1.9;margin:0}.power-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.power-layout .power-hero{border:0;padding:0;gap:18px}.power-layout .power-number{font-size:clamp(62px,6.7vw,100px)}.power-weather{min-width:100px}.power-weather #power-state{font-size:7px;text-align:center;max-width:140px}.scenario-panel .eyebrow{margin-bottom:17px}.scenario-buttons{display:flex;gap:8px;flex-wrap:wrap}.scenario-buttons button{border:1px solid #355765;color:#b4cfd6;background:#0c2632;padding:10px 14px;cursor:pointer;font:12px OpenSans}.scenario-buttons button.active{border-color:#35ded3;background:#143e45;color:#a2fff4}.scenario-buttons.times{margin-top:15px}.scenario-buttons.times button{font-size:11px;padding:8px 12px}.scenario-panel>p:last-child{font-size:10px;color:#91b0bd;line-height:1.8;margin-top:18px}.energy-plot{margin-top:42px}.estimate-note{margin-top:22px}.roof-results[hidden],[hidden]{display:none!important}.energy-heading p{max-width:460px}.energy-heading h2{min-width:350px}
@media(max-width:1150px){.scene-shell{left:35%}.hero{min-height:760px}.hero h1{font-size:6.2vw}.model-label,.scene-controls,.scan-readout,.assembly-steps{left:19%}.power-layout{gap:30px}.roof-selection-layout{gap:25px}.roof-assumptions{gap:28px}}
@media(max-width:850px){.hero h1{font-size:clamp(49px,8.5vw,76px)}.hero{min-height:0;padding-bottom:65px}.scene-shell{left:auto;top:auto;height:570px;margin-top:25px}.scene-shell #roof-scene{inset:30px 0 138px}.scene-shell #roof-scene:after{background:linear-gradient(0deg,#061922,transparent 12%),linear-gradient(180deg,#061922,transparent 10%)}.model-label,.scene-controls,.scan-readout,.assembly-steps{left:var(--pad);right:var(--pad)}.model-label{top:0}.scene-controls{bottom:98px}.scan-readout{bottom:52px}.assembly-steps{bottom:0}.power-layout{grid-template-columns:1fr}.power-hero{justify-content:space-between}.roof-selection-layout{grid-template-columns:1fr}.roof-selection-side{margin-top:12px}.roof-map{max-width:560px}.roof-options{max-height:350px}.roof-assumptions{grid-template-columns:1fr 1.5fr}.energy-heading h2{min-width:0}}
@media(max-width:540px){.hero h1{font-size:clamp(43px,10.7vw,62px)}.scene-shell{height:410px;margin-top:25px}.scene-shell #roof-scene{inset:18px 0 135px}.scene-controls{bottom:94px}.scan-readout{bottom:45px;font-size:7px}.simulation-note{font-size:6px}.assembly-steps{bottom:0;padding-top:10px}.roof-search{margin-top:29px}.roof-search>div{display:block}.roof-search input{width:100%;font-size:12px;padding:16px}.roof-search .button{margin-top:12px;width:100%;justify-content:space-between}.roof-search>p{font-size:10px}.roof-search>label{font-size:16px}.roof-selection-header{display:block;margin-top:28px}.roof-selection-header h3{font-size:23px;margin-bottom:15px}.roof-metrics{grid-template-columns:1.25fr 1fr 1fr;gap:0}.roof-metrics>div{padding:0 12px}.roof-metrics>div:first-child{padding-left:0}.roof-metrics>div:last-child{padding-right:0}.roof-metrics .metric{font-size:31px}.roof-metrics h3{font-size:9px}.roof-assumptions{grid-template-columns:1fr;gap:18px}.roof-assumptions p{font-size:10px}.roof-type{font-size:16px}.power-layout .power-number{font-size:70px}.power-weather{min-width:92px}.scenario-buttons button{font-size:11px;padding:9px 11px}.estimate-note{font-size:10px}.roof-options strong{font-size:16px}}
@media(max-width:360px){.hero-actions{flex-wrap:wrap;gap:14px}.hero h1{font-size:42px}.roof-metrics .metric{font-size:25px}.roof-metrics h3{font-size:8px}.roof-metrics>div{padding:0 8px}.assembly-steps{gap:6px}.assembly-steps button,.assembly-steps button span{font-size:7px}.scene-controls button{font-size:9px;padding:9px}.power-layout .power-number{font-size:58px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:360px){.hero{overflow:clip}.services-layout>*{min-width:0}.service-row{grid-template-columns:16px minmax(0,1fr) 18px;gap:10px}.service-row h3{font-size:22px;overflow-wrap:anywhere}.hero h1{font-size:36px}}
.drone-flight-layer{position:fixed;inset:0;width:100%;height:100%;z-index:30;pointer-events:none;opacity:1}

/* Adjacent light sections share one vertical gap after removing the advisor. */
.services + .project{padding-top:0}

/* Original partner marks, balanced inside compact white logo cards. */
.partners{padding:40px 0 44px;border-top:1px solid #dce4df}
.partner-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.partner-heading>span{width:28px;height:3px;background:#159f9c;flex-shrink:0}
.partner-heading h2{font-size:28px;letter-spacing:-.025em;margin:0;line-height:1.15}
.partner-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.partner-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dde5e1;border-radius:8px;box-shadow:0 3px 12px #082e3710;transition:transform .2s,border-color .2s,box-shadow .2s}
.partner-card:hover{transform:translateY(-4px);border-color:#169e9a;box-shadow:0 9px 22px #082e371a}
.partner-card:focus-visible{outline:2px solid #087d86;outline-offset:4px}
.partner-logo{height:116px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 12px}
.partner-logo img{display:block;max-width:none;height:auto;flex-shrink:0;object-fit:contain;filter:none}
.partner-juice img{width:min(122px,100%)}
.partner-netztec img{width:min(220px,100%)}
.partner-trenderia img{width:min(220px,100%)}
.partner-puetter img{width:min(188px,100%)}
.partner-comfort img{width:min(166px,100%)}
.partner-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 16px;padding:11px 0 12px;border-top:1px solid #edf1ee;color:#52686e;font:500 12px/1.3 Jost,Arial}
.partner-caption>span:last-child{font-size:17px;color:#328b8b;transition:transform .2s}
.partner-card:hover .partner-caption>span:last-child{transform:translate(2px,-2px)}
@media(max-width:1050px){.partner-list{grid-template-columns:repeat(6,minmax(0,1fr))}.partner-card{grid-column:span 2}.partner-card:nth-child(4){grid-column:2/span 2}.partner-card:nth-child(5){grid-column:4/span 2}}
@media(max-width:600px){.partners{padding:30px 0 34px}.partner-heading{margin-bottom:18px}.partner-heading h2{font-size:25px}.partner-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-list>.partner-card:nth-child(n){grid-column:auto}.partner-list>.partner-card:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}.partner-logo{height:100px;padding:0 10px}.partner-juice img{width:min(105px,100%)}.partner-comfort img{width:min(145px,100%)}.partner-caption{margin:0 11px;font-size:11px;padding:10px 0}.partner-caption>span:last-child{font-size:15px}}
