:root{--forest:#103432;--deep:#102a29;--ink:#182e2b;--green:#087569;--mint:#93e8c3;--light:#f4f7f3;--muted:#485e57;--line:#c9d8d0;--white:#fff;--pad:clamp(20px,5.5vw,94px);font:16px/1.55 'Exo',Arial,sans-serif;color:var(--ink);background:var(--deep);scroll-behavior:smooth;scroll-padding-top:16px}
*{box-sizing:border-box}body{margin:0}main{background:#fbfcf9}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,summary,input,select{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.56}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #329b83;outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(35px,4.1vw,62px);font-weight:600}h3{font-size:clamp(22px,2vw,30px);font-weight:600}em{color:var(--green);font-style:normal}svg{display:block}.shell{width:min(100% - 2 * var(--pad),1330px);margin-inline:auto}.skip{position:absolute;z-index:10;transform:translateY(-120%);background:white;padding:8px 16px}.skip:focus{transform:none}
.site-header{background:#102e2c;color:#f9fffc;border-bottom:1px solid #49605b}.mast{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img,.foot img{display:block;object-fit:contain}.mast nav{display:flex;gap:clamp(20px,3vw,52px);font-size:14px;font-weight:500}.mast nav a:hover,.foot a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid #86a49a;border-radius:40px;padding:10px 18px;font-size:14px;display:inline-flex;gap:22px;align-items:center}.nav-contact span{color:#b0f4d5}
.hero{isolation:isolate;background:var(--forest);color:white;position:relative;overflow:hidden}.hero-image{position:absolute;z-index:-1;inset:0 0 0 37%}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:60% 49%}.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--forest) 0%,rgba(16,52,50,.95) 4%,rgba(16,52,50,.41) 38%,rgba(16,52,50,.06) 66%),linear-gradient(0deg,#07322e65,transparent 40%)}
.hero-inner{padding-block:clamp(35px,4vw,65px) clamp(48px,5vw,78px)}.crumb{font-size:13px;color:#e0eee7;display:flex;gap:10px;align-items:center;margin-bottom:clamp(26px,3vw,46px)}.crumb span{color:#9acbbf}.crumb a:hover{text-decoration:underline}.hero h1{font-size:clamp(52px,6.9vw,102px);line-height:.98;letter-spacing:-.055em;font-weight:600}.hero em{color:var(--mint)}.hero p{max-width:min(48%,500px);font-size:clamp(16px,1.33vw,21px);margin-top:22px;color:#eff9f3;line-height:1.52}.hero-actions,.console-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-actions{margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:0;border-radius:100px;background:var(--mint);color:#11362f;font-weight:650;font-size:15px;line-height:1.3;padding:14px 20px;min-height:44px}.button:hover{background:#bcf8da}.button span{font-size:20px}.under{text-underline-offset:5px;text-decoration:underline;font-size:14px;color:white}.local-strip{border-bottom:1px solid var(--line);background:#eff5ef}.strip-inner{display:flex;justify-content:space-between;gap:12px;padding-block:13px;font-size:12px;color:#425f55}.strip-inner b{padding:0 6px;font-weight:400;color:#74a28c}
.section{padding-block:clamp(48px,6vw,86px)}.intro-grid,.earth-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:9%;align-items:center}.intro-grid>p,.earth-layout p{font-size:clamp(16px,1.26vw,19px);line-height:1.65}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}.option{padding:clamp(22px,2.4vw,36px);background:#f0f4ef;border:1px solid #d7e3d9;border-radius:14px;display:flex;flex-direction:column}.option.whole{background:#e8f3ee;border-color:#c9ded2}.option-top{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.035em;color:#346456;font-weight:600;margin-bottom:17px}.icon-wrap{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d9eae0;color:#245c4d}.icon-wrap svg{width:18px}.option h3{margin-bottom:12px}.option p,.takeaway,.circuit-title p,.faq details p{color:var(--muted);line-height:1.6}.option-bottom{margin-top:auto;padding-top:19px;font-size:14px;font-weight:600;color:#245146}.takeaway{margin-top:20px;max-width:950px;font-size:15px}.takeaway strong{color:var(--ink)}
.lab-band{background:#eaf2ed;padding-block:clamp(46px,5vw,77px);border-block:1px solid #cbdcd2;scroll-margin-top:0}.lab-head{margin-bottom:25px}.eyebrow,.cap{font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--green)}.eyebrow i{height:2px;width:22px;background:currentColor}.lab-head p{margin-top:12px;color:var(--muted)}.lab{display:grid;grid-template-columns:1fr 1.04fr;gap:0;background:#fcfdf9;border:1px solid #bfd2c6;border-radius:18px;overflow:hidden;box-shadow:0 14px 44px #163a2e0c}.lab[hidden],.console button[hidden]{display:none}.settings,.console,.circuits{padding:clamp(22px,2.7vw,42px)}.settings h3,.circuits h3{font-size:25px}.seg{display:flex;gap:4px;margin:19px 0 24px;background:#e9f0e9;border-radius:9px;padding:4px}.seg button{flex:1;min-height:39px;padding:6px 9px;background:transparent;border:0;border-radius:6px;font-size:14px;font-weight:600}.seg button[aria-pressed=true]{background:#fff;color:#125d4e;box-shadow:0 1px 5px #253d301f}.inputs{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px}.inputs label,.custom-load label,.profile label{font-size:13px;font-weight:600}.unit-input{margin-top:5px;display:flex;align-items:center;gap:5px;border:1px solid #b3c9bc;border-radius:7px;background:#fff;padding:6px 10px;min-height:41px}.unit-input:focus-within{border-color:var(--green)}.unit-input input{display:block;background:transparent;border:0;min-width:0;width:100%;color:var(--ink);font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.unit-input b{white-space:nowrap;font-size:12px;color:#587564;font-weight:500}.assumptions{border-top:1px solid var(--line);margin-top:23px;padding-top:12px;font-size:13px;color:var(--muted)}.assumptions summary{font-weight:600;color:#176452}.assumptions p{margin-top:9px}.input-error{color:#9d3b1c;font-size:13px}.input-error:not(:empty){margin-top:12px}
.console{background:radial-gradient(ellipse at 96% 0,#245047 0,transparent 68%),#122e2c;color:white;align-self:stretch;display:flex;flex-direction:column}.console-bar,.axis,.readout{display:flex;align-items:center;justify-content:space-between;gap:14px}.console-bar{font-size:12px;color:#c4dfd1;font-variant-numeric:tabular-nums}.signal{display:flex;align-items:center;gap:8px;font-weight:600}.signal i{width:8px;height:8px;border-radius:50%;background:#8ce8bd;box-shadow:0 0 0 4px #8ce8bd1c}.console:is([data-state="tripped"],[data-state="empty"],[data-state="transfer"]) .signal i{background:#ffc587;box-shadow:0 0 0 4px #ffc58720}.readout{margin:24px 0 12px}.readout>div:first-child{min-width:0}.readout .cap{color:#c2ddcc}.readout strong{display:block;font-weight:550;font-size:clamp(34px,3.5vw,59px);line-height:1.18;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.readout small{display:block;margin-top:3px;color:#c2d7ce;font-size:12px}.battery-visual{width:48px;text-align:center;color:#b4f3cc;flex-shrink:0}.battery-visual b{display:block;font-size:12px}.battery-visual>div{position:relative;border:1px solid #84af9a;width:31px;height:47px;margin:3px auto 5px;border-radius:5px;background:linear-gradient(to top,#94e4b6 var(--charge),transparent var(--charge));box-shadow:inset 0 0 0 3px #20423b}.battery-visual>div:before{content:"";position:absolute;left:9px;top:-4px;width:11px;height:3px;background:#84af9a}.plot-wrap svg{width:100%;height:65px;overflow:visible}.gridline,.actual,.forecast{fill:none;vector-effect:non-scaling-stroke}.gridline{stroke:#ffffff1c}.actual,.forecast{stroke:#a5eec1;stroke-width:2}.forecast{stroke-dasharray:5 5}.area{fill:#9adab312}.plot-wrap circle{fill:#d4ffdb}.axis{font-size:10px;color:#a8c6b8}.readout-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #4b6b5e;margin:14px 0;padding-top:12px}.readout-stats span{display:block;font-size:12px;color:#c2ddcc}.readout-stats span b{font-weight:500}.readout-stats strong{font-size:20px;font-weight:600}.console-actions{gap:6px;margin-top:auto}.console-actions .button,.secondary{font-size:13px;padding:9px 14px;min-height:39px}.secondary{background:none;color:#edfff4;border:1px solid #82a595;border-radius:25px}.secondary:hover{background:#396055}.sim-message{margin-top:10px;font-size:12px;min-height:2.8em;color:#c3dfce}.console[data-state=tripped] .sim-message,.console[data-state=empty] .sim-message{color:#ffd8a5}
.circuits{grid-column:1/-1;border-top:1px solid var(--line)}.circuit-title,.custom-load{display:flex;align-items:center;justify-content:space-between;gap:15px}.circuit-title p,.circuit-note{font-size:13px;margin-top:5px}.profile{display:flex;align-items:center;gap:8px}.profile label{font-size:12px}.profile select{max-width:100%;border:1px solid #b2c8ba;border-radius:6px;background:#fff;color:var(--ink);padding:7px 8px;min-height:38px}.circuit-list{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;margin:15px 0}.circuit{display:flex;align-items:center;text-align:left;gap:11px;background:none;border:0;border-bottom:1px solid #d5e1d9;padding:13px 2px;min-height:58px}.c-icon{color:#5f7b6e}.c-icon svg{width:23px;height:23px}.c-info{flex:1;min-width:0}.c-info b,.c-info small{display:block}.c-info b{font-size:14px;font-weight:600;line-height:1.25}.c-info small{font-size:11px;color:#587066}.watts{font-size:12px;color:#38584b;white-space:nowrap}.switch{width:29px;height:17px;border-radius:18px;background:#c7d4cb;padding:2px;flex-shrink:0}.switch::after{content:"";display:block;background:white;border-radius:100%;width:13px;height:13px}.circuit[aria-pressed=true] .switch{background:#19725c}.circuit[aria-pressed=true] .switch::after{margin-left:12px}.circuit[data-power=battery] small{color:#036b4c}.circuit[data-power=out] small{color:#93451d}.custom-load{max-width:500px}.custom-load label span{display:block;color:var(--muted);font-weight:400}.custom-load .unit-input{width:107px}.circuit-note{color:var(--muted);max-width:940px;margin-top:13px}.noscript{padding:15px;border:1px solid var(--line)}
.example table{border-collapse:collapse;width:100%;margin-top:24px;font-size:15px}.example caption{text-align:left;font-size:13px;color:var(--muted);margin-bottom:14px}.example thead{background:#e6efe7}.example th,.example td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line)}.example td:last-child{font-weight:600;color:#11674f}.earth-band{background:#153a36;color:#edf7ee;padding-block:clamp(44px,5vw,72px)}.earth-layout{align-items:start}.earth-band em,.earth-band .eyebrow{color:#9ae5ba}.earth-layout p+p{margin-top:14px}.earth-layout p{font-size:16px;color:#e0eee5}.sources{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px 18px}.sources a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.earth-band .sources a{color:#b9eacf}.faq h2{margin-bottom:23px}.faq details{border-top:1px solid var(--line)}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{font-size:clamp(17px,1.6vw,21px);font-weight:550;padding:16px 28px 16px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;font-size:23px;color:var(--green)}.faq details[open] summary:after{content:'−'}.faq details p{padding-bottom:18px;max-width:850px}.contact-band{background:#e1f1e3;padding-block:40px}.contact-inner,.foot{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-inner h2{font-size:clamp(27px,3vw,43px)}.contact-inner p{margin-top:10px}.contact-inner .button{background:#175249;color:white;flex-shrink:0}.foot{color:#cde2d7;font-size:12px;padding-block:27px}.foot>a:last-child{text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.inputs{gap:13px 11px}.settings,.console,.circuits{padding:20px}.shell{width:calc(100% - 2 * var(--pad))}.hero p{max-width:min(60%,440px)}.profile{flex-direction:column;align-items:flex-start;gap:2px}.intro-grid,.earth-layout{gap:6%}.circuit-list{gap:0 14px}}
@media(max-width:680px){.mast{min-height:68px;gap:10px}.mast nav{display:none}.mast .brand img{width:107px;height:52px}.nav-contact{padding:8px 13px}.hero-inner{padding-bottom:35px}.hero-image{inset:0 0 0 12%;opacity:.72}.hero-image:after{background:linear-gradient(90deg,#103432 0%,#103432e6 33%,#10343285 72%,#10343242),linear-gradient(0deg,#103432 0%,transparent 46%)}.hero p{max-width:min(100%,420px)}.hero-actions{gap:12px 18px}.hero-actions .under{font-size:13px}.strip-inner{flex-wrap:wrap;gap:3px 16px;font-size:11px}.intro-grid,.earth-layout,.compare-grid,.lab{grid-template-columns:1fr}.intro-grid,.earth-layout{gap:18px}.intro-grid h2 br,.earth-layout h2 br{display:none}.intro-grid h2 em::before,.earth-layout h2 em::before{content:' '}.option{padding:20px}.compare-grid{margin-top:21px;gap:12px}.option-top{margin-bottom:10px}.option-bottom{padding-top:12px}.lab-head p{font-size:15px}.circuit-list{grid-template-columns:1fr}.circuit-title{align-items:flex-start;flex-wrap:wrap}.profile{flex-direction:row;align-items:center;gap:8px}.example th,.example td{padding:10px 6px;font-size:13px}.earth-band p{font-size:15px}.contact-inner{align-items:flex-start;flex-direction:column}.foot{flex-wrap:wrap;gap:10px 22px}.readout strong{font-size:40px}.console-actions{gap:7px}.hero h1{font-size:clamp(54px,12vw,78px)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.flow{display:flex;align-items:center;margin-top:17px;border-block:1px solid #79998740;padding:10px 0;line-height:1.1;font-size:11px;letter-spacing:.02em;color:#a1bbae}.sources-flow{display:grid;gap:5px;min-width:51px}.sources-flow span{display:block}.join-lines{width:24px;display:grid;grid-template-rows:1fr 1fr;height:20px}.join-lines i{display:block;border:1px solid #547269;border-left:0}.join-lines i:first-child{border-bottom:0;border-top-right-radius:4px}.join-lines i:last-child{border-top:0;border-bottom-right-radius:4px}.gate-flow{padding:6px 8px;border:1px solid #739689;border-radius:5px;margin-left:6px}.home-line{flex:1;height:2px;background:#57766a;margin:0 8px;position:relative}.home-flow{display:flex;align-items:center;gap:5px}.home-flow svg{width:15px;height:15px}.console:is([data-state="running"],[data-state="paused"]) #battery-path,.console:is([data-state="ready"],[data-state="restored"]) #grid-path{color:#c7ffdb;font-weight:700}.console:is([data-state="running"],[data-state="paused"]) .join-lines i:last-child,.console:is([data-state="ready"],[data-state="restored"]) .join-lines i:first-child{border-color:#adecc0}.console:is([data-state="running"],[data-state="paused"]) .home-line,.console:is([data-state="ready"],[data-state="restored"]) .home-line{background:#80b69a}.console[data-state="running"] .home-line{background:repeating-linear-gradient(90deg,#78b394 0 11px,#cdfcdc 11px 18px,#78b394 18px 24px);animation:feed 1.5s linear infinite}@keyframes feed{to{background-position:24px 0}}.console[data-state="running"] #grid-path,.console[data-state="paused"] #grid-path{text-decoration:line-through}.plot-legend{font-size:10px;color:#accabb;display:flex;justify-content:space-between;margin:2px 0}.readout{margin-top:17px}
@media(prefers-reduced-motion:reduce){.console[data-state="running"] .home-line{animation:none}}

.link-arrow{display:inline-block;vertical-align:-.14em}.link-arrow.down{transform:rotate(90deg)}
.advanced{margin:15px 0}.faq details p a{text-decoration:underline;text-underline-offset:3px}.readout-stats strong{overflow-wrap:anywhere}
