.story{position:relative;background:#050b1a}.stage,.story{height:100vh;height:100svh}.stage{position:-webkit-sticky;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#060d22;--header-gap:calc(var(--header-h) + clamp(12px, 3vh, 32px));--bubble-line:#f2e6c9}.stage__fx,.stage__gl,.stage__sky{position:absolute;inset:0;width:100%;height:100%;max-width:none}.stage__gl{opacity:0;transition:opacity .6s var(--ease)}.stage--3d .stage__gl{opacity:1}.stage--fading .stage__gl{opacity:0;transition-duration:.25s}.stage__fx{pointer-events:none}.stage__shade{background:linear-gradient(180deg,rgba(3,8,22,.45) 0,rgba(3,8,22,.1) 18%,rgba(3,8,22,0) 30%),linear-gradient(0deg,rgba(3,8,22,calc((1 - var(--hero)) * .65)) 0,rgba(3,8,22,0) 32%),linear-gradient(90deg,rgba(3,8,22,calc(var(--hero) * .65)) 0,rgba(3,8,22,0) 55%)}.hero-copy,.stage__shade{position:absolute;inset:0;pointer-events:none}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-top:var(--header-h);opacity:var(--hero);transform:translateY(calc((1 - var(--hero)) * -48px));will-change:opacity,transform}.hero-copy a,.hero-copy button{pointer-events:auto}.stage--story .hero-copy,.stage--story .hero-copy a{pointer-events:none;visibility:hidden}.hero-copy__title{max-width:11.5em;font-size:clamp(2.15rem,.9rem + 4vw,4.6rem);font-weight:600;line-height:1.03;letter-spacing:-.04em;text-shadow:0 4px 30px rgba(3,8,22,.5)}.hero-copy__title span{display:block;color:var(--sun)}.hero-copy__offer{max-width:31rem;margin-top:clamp(18px,2.4vw,28px);font-size:clamp(1.02rem,.95rem + .3vw,1.2rem);line-height:1.55;color:#e3e8f2}.hero-copy__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(24px,3vw,36px)}.hero-copy__phone{color:var(--text-2);text-decoration:none;font-size:1.0625rem}.hero-copy__phone strong{color:var(--text);font-weight:700;border-bottom:1px solid var(--line-strong);transition:border-color .2s}.hero-copy__phone:hover strong{border-color:var(--sun)}.hero-copy__cue{position:absolute;left:50%;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translateX(-50%);font-size:.85rem;color:var(--text-2);white-space:nowrap}.hero-copy__cue span{position:relative;width:1px;height:40px;overflow:hidden;background:var(--line-strong)}.hero-copy__cue span:after{content:"";position:absolute;inset:0;background:var(--sun);transform:translateY(-100%);animation:cue 2.2s var(--ease) infinite}@keyframes cue{60%,to{transform:translateY(100%)}}.captions,.hud{opacity:calc(1 - var(--hero))}.captions{position:absolute;inset:auto 0 clamp(22px,4.5vh,44px);pointer-events:none}.captions__inner{position:relative}.caption{position:absolute;bottom:0;left:var(--gutter);max-width:min(40rem,calc(100vw - 2 * var(--gutter) - min(400px, 34vw) - 32px));opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .7s var(--ease)}.caption.is-on{opacity:1;transform:none}.caption h2{font-size:clamp(1.55rem,.9rem + 2.1vw,2.75rem);line-height:1.06;letter-spacing:-.035em;text-shadow:0 3px 24px rgba(3,8,22,.55)}.caption p{margin-top:12px;max-width:30rem;font-size:clamp(.98rem,.92rem + .25vw,1.12rem);line-height:1.5;color:#e8edf6;text-shadow:0 2px 14px rgba(3,8,22,.7)}.hud{inset:0;pointer-events:none}.diagram,.hud{position:absolute}.diagram{--ds:1;top:var(--header-gap);right:var(--gutter);width:calc(480px * var(--ds));height:calc(400px * var(--ds));font-family:var(--body)}.diagram__inner{position:relative;transform:scale(var(--ds));transform-origin:0 0}.stage[data-layout=wide] .diagram{--close:0;--sky:0;transform:scale(calc(1 - .16 * var(--close) - .3 * var(--sky)));transform-origin:100% calc(var(--sky) * 100%)}.diagram__wires{position:absolute;inset:0;width:100%;height:100%;max-width:none;overflow:visible}.wire path{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s var(--ease),stroke-opacity .4s var(--ease)}.wire{--rim:color-mix(in srgb,#dff6ff 55%,var(--c))}.wire__glow{stroke:var(--rim);stroke-width:12;stroke-opacity:0}.wire__rim{stroke:#dff6ff;stroke-width:7;stroke-opacity:.2}.wire__core{stroke:#060d1c;stroke-width:4.6}.wire__still{stroke:var(--c);stroke-width:2;stroke-opacity:0}.wire--on .wire__glow{stroke-opacity:.2}.wire--on .wire__rim{stroke:var(--rim);stroke-opacity:.9}.stills .wire--on .wire__still{stroke-opacity:1;stroke-dasharray:6 8}.diagram__dots{position:absolute;inset:0;width:480px;height:400px;max-width:none;pointer-events:none}.wire-kw{position:absolute;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 75%,transparent);background:rgba(6,12,26,.9);box-shadow:0 4px 12px -6px rgba(0,0,0,.8);color:#fff;font-size:11px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px));transition:opacity .4s var(--ease)}.wire-kw--off{opacity:0}.node{--accent:#aeb8c6;--r:22px;position:absolute;width:0;height:0}.node__halo,.node__icon{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.node__halo{width:calc(var(--r) * 3.4);height:calc(var(--r) * 3.4);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent) 0,color-mix(in srgb,var(--accent) 18%,transparent) 40%,transparent 68%);opacity:.9;transition:opacity .5s var(--ease)}.node__icon{display:grid;place-items:center;width:calc(var(--r) * 2);height:calc(var(--r) * 2);color:var(--accent)}.node--inverter .node__icon{border-radius:9px;border:2px solid color-mix(in srgb,var(--accent) 80%,#fff);background:color-mix(in srgb,var(--accent) 22%,rgba(8,14,30,.55));box-shadow:0 0 12px color-mix(in srgb,var(--accent) 75%,transparent),inset 0 0 8px color-mix(in srgb,var(--accent) 45%,transparent)}.node__glyph{width:100%;height:100%;overflow:visible;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 85%,transparent)) drop-shadow(0 1px 1px rgba(0,0,0,.55))}.node--inverter .node__glyph{width:76%;height:76%}.glyph-under,.glyph-under path{fill:none;stroke:var(--accent);stroke-width:4.2}.glyph-over,.glyph-over path{fill:color-mix(in srgb,var(--accent) 40%,#fff);fill-opacity:.92;stroke:#fff;stroke-width:1.4}.node__glyph--battery .glyph-over,.node__glyph--grid .glyph-over path,.node__glyph--inverter .glyph-over path{fill:none}.node--idle .node__glyph{filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.node--idle .node__halo{opacity:0}.node--idle.node--inverter .node__icon{box-shadow:none}.node--producing .node__halo,.node--using .node__halo,.node--working .node__halo{animation:node-breathe 2.6s ease-in-out infinite}.node--buying .node__halo,.node--car.node--charging .node__halo,.node--discharging .node__halo,.node--selling .node__halo{animation:node-pulse 1.4s ease-in-out infinite}.node--battery.node--charging .node__halo{animation:node-pulse 1s ease-in-out infinite}@keyframes node-breathe{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}@keyframes node-pulse{0%,to{opacity:.6}50%{opacity:1}}.node__glyph .bar{fill:color-mix(in srgb,var(--accent) 55%,#fff);stroke:none;opacity:.22}.node__glyph .bar--on{opacity:.95}.node--battery.node--charging .bar--next,.node--battery.node--charging .bar--on{animation:bar-flash 1s steps(2,jump-none) infinite}.node--battery.node--charging .bar--on{animation-name:bar-glow}@keyframes bar-flash{0%{opacity:.16}to{opacity:1}}@keyframes bar-glow{0%,to{opacity:.75}50%{opacity:1}}.node__label{position:absolute;display:flex;flex-direction:column;gap:1px;padding:3px 9px 4px;border-radius:12px;background:radial-gradient(ellipse at 50% 50%,rgba(4,9,22,.55),rgba(4,9,22,.32) 75%,rgba(4,9,22,.12));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 10px rgba(2,6,18,.9)}.node__label--below{left:0;top:calc(var(--r) + 6px);width:max-content;max-width:124px;align-items:center;text-align:center;transform:translateX(-50%)}.node__label--right{left:calc(var(--r) + 12px);top:0;align-items:flex-start;transform:translateY(-50%);white-space:nowrap}.node__name{font-size:11px;font-weight:700;color:#c6d2e6}.node__value{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.02em;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.node__value--small{font-family:var(--body);font-size:13px;font-weight:800;letter-spacing:0}.node__sub{font-size:10.5px;font-weight:700;color:#b6c2d8}.node__sub:empty{display:none}.node__sub--strong{color:color-mix(in srgb,var(--accent) 70%,#fff)}.node__apps{display:flex;gap:4px;margin-top:3px}.app{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;color:rgba(214,226,245,.36);background:rgba(6,12,26,.6);transition:color .4s var(--ease),background-color .4s var(--ease)}.app svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app--on{color:#fff;background:color-mix(in srgb,var(--accent) 40%,rgba(6,12,26,.6))}.split{display:flex;width:96px;height:6px;margin:3px 0 1px;border-radius:3px;overflow:hidden;background:hsla(0,0%,100%,.12);box-shadow:0 0 0 1px rgba(0,0,0,.5)}.node--car:not(.node--charging) .split{display:none}.split i{display:block;min-width:0;transition:flex-grow .4s var(--ease)}.split__sun{flex:var(--s,0) 1 0;background:#3dff8a}.split__battery{flex:var(--b,0) 1 0;background:#3aa0ff}.split__grid{flex:var(--g,0) 1 0;background:#ff2d55}.stage[data-layout=tall] .node__name{font-size:13.5px}.stage[data-layout=tall] .node__value{font-size:22px}.stage[data-layout=tall] .node__value--small{font-size:16px}.stage[data-layout=tall] .node__sub{font-size:13px}.stage[data-layout=tall] .node__label--below{max-width:132px}.stage[data-layout=tall] .wire-kw{font-size:13px}.readout__controls{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:4px 10px 0}.readout__play{flex:none;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(214,228,255,.22);border-radius:999px;background:rgba(214,228,255,.08);color:var(--text);cursor:pointer}.readout__play:focus-visible,.readout__play:hover{border-color:var(--sun);color:var(--sun)}.readout__slider{flex:1 1;min-width:0;accent-color:var(--sun);height:24px}.readout{position:absolute;right:var(--gutter);bottom:clamp(22px,4.5vh,44px);width:min(400px,34vw);padding:6px 4px 8px;border:1px solid rgba(214,228,255,.14);border-radius:14px;background:rgba(4,9,22,.8)}.readout__list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);margin:0;min-width:0}.readout__item{display:flex;flex-direction:column;gap:1px;padding:2px 14px;min-width:0}.readout__item dt{font-size:.72rem;font-weight:600;color:#9fb0ca;white-space:nowrap}.readout__item dd{margin:0;font-size:.95rem;font-weight:800;line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.readout__item--clock dd{font-family:var(--display);font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.readout__item--source dd{color:var(--sun-hot)}.readout__note{margin-top:4px;padding:0 14px;font-size:.7rem;line-height:1.4;color:#aab6cc}@media (max-aspect-ratio:9/10){.stage{--header-gap:calc(var(--header-h) + 6px)}.captions{inset:var(--header-gap) 0 auto}.caption{top:0;bottom:auto;left:var(--gutter);right:var(--gutter);max-width:none}.caption h2{font-size:clamp(1.25rem,.9rem + 2.4vw,2rem)}.stage__shade{background:linear-gradient(180deg,rgba(3,8,22,.7) 0,rgba(3,8,22,.45) 22%,rgba(3,8,22,0) 34%),linear-gradient(0deg,rgba(3,8,22,calc((1 - var(--hero)) * .75)) 0,rgba(3,8,22,0) 48%),linear-gradient(90deg,rgba(3,8,22,calc(var(--hero) * .65)) 0,rgba(3,8,22,0) 70%)}.caption p{margin-top:6px;font-size:.9rem;line-height:1.42}.diagram{top:auto;right:auto;left:50%;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 104px);height:calc(444px * var(--ds));transform:translateX(-50%)}.readout{left:var(--gutter);right:var(--gutter);bottom:max(10px,env(safe-area-inset-bottom));width:auto;padding:4px 2px 5px}.readout__item{padding:1px 10px}.readout__item dt{font-size:.66rem}.readout__item dd{font-size:.86rem}.readout__item--clock dd{font-size:1rem}.readout__note{margin-top:1px;padding:0 10px;font-size:.64rem}.hero-copy__cue{bottom:18px}}@media (max-aspect-ratio:9/10) and (max-height:720px){.caption p{display:none}}@media (max-height:600px) and (min-aspect-ratio:1/1){.caption p,.readout__note{display:none}}.stills{display:none;padding-block:clamp(24px,5vw,64px);background:#050b1a}.still{margin:0 0 clamp(40px,6vw,72px)}.still__copy h2{font-size:clamp(1.4rem,1rem + 1.8vw,2.4rem);max-width:24em}.still__copy>p{margin-top:10px;max-width:40rem;color:var(--text-2)}.still__body{display:grid;grid-template-columns:minmax(0,480px) minmax(0,360px);grid-gap:24px;gap:24px;align-items:start;margin-top:20px}.still .diagram{position:relative;top:auto;right:auto;--ds:1}.still .readout{position:relative;right:auto;bottom:auto;width:auto}@media (max-width:860px){.still__body{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.still .diagram{--ds:0.74}}html:not(.js) .story{height:auto}html:not(.js) .stage{position:relative}html:not(.js) .captions,html:not(.js) .hero-copy__cue,html:not(.js) .hud,html:not(.js) .stage__fx,html:not(.js) .stage__gl{display:none}html:not(.js) .stills{display:block}@media (prefers-reduced-motion:reduce){.caption,.stage__gl,.wire,.wire-kw{transition-duration:.25s}.hero-copy__cue span:after,.node__glyph .bar,.node__halo{animation:none!important}}