/* Light and current stay anchored to the existing photograph. */
.hero-photo{animation:none}.solar-motion-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.solar-overlay{position:absolute;max-width:none;overflow:visible}.hero .sun-orbit,.hero-caption{display:none}.hero-content{z-index:2}.hero-bottom{z-index:3}.sun-halo{transform-origin:1390px 115px;animation:sunBreath 7s ease-in-out infinite}.sun-ring{transform-origin:1390px 115px;animation:orbit 55s linear infinite}.solar-ray-trace{stroke:#ffe69a;stroke-width:1;opacity:.18;fill:none}.solar-ray{stroke:#fff3c3;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-dasharray:.11 .89;animation:lightTravel 3.6s linear infinite;animation-delay:var(--ray-delay);filter:drop-shadow(0 0 5px #ffed9a)}.sun-rays{animation:rayBreathe 10s ease-in-out infinite}.roof-wash{animation:panelWake 10s ease-in-out infinite}.roof-trace{stroke:#71daff;stroke-width:1;opacity:.25;fill:none}.roof-current{stroke:#aeedff;stroke-width:2;fill:none;stroke-linecap:round;stroke-dasharray:.1 .9;animation:lightTravel 3s linear infinite;animation-delay:var(--lane-delay);filter:drop-shadow(0 0 4px #3eceff)}.roof-edge{fill:none;stroke:#8ee7ff;stroke-width:1.5;opacity:.6}.wire-base{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke:#ffcf6b;opacity:.32}.wire-pulse{fill:none;stroke:#ffdf8c;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.12 .88;animation:lightTravel 2.5s linear infinite;filter:drop-shadow(0 0 5px #ffc54d)}.wire-base.ac{stroke:#b5eeff}.wire-pulse.ac{stroke:#dcf8ff;animation-delay:-1.4s;filter:drop-shadow(0 0 5px #67d3ff)}.hero-current{animation:currentWake 10s ease-in-out infinite}.energy-junction{fill:#d2f6ff;filter:drop-shadow(0 0 8px #55d1ff)}.inverter-aura{fill:none;stroke:#ffda80;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:inverterPulse 3s ease-in-out infinite}.home-power{animation:homeWake 10s ease-in-out infinite;mix-blend-mode:screen}.hero-motion-controls{position:absolute;z-index:3;right:6%;bottom:112px;display:grid;justify-items:end;gap:10px}.hero-motion-story{font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px;text-shadow:0 2px 12px #002948}.story-spark{width:7px;height:7px;border-radius:50%;background:#ffda79;box-shadow:0 0 15px #ffeab0}.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid #ffffff50;background:#073b685c;backdrop-filter:blur(10px);border-radius:24px;color:white;font-size:12px;line-height:1.3}.motion-toggle:hover{background:#073b689e;border-color:#ffe6a3}.motion-toggle[hidden]{display:none}.motion-toggle-icon{width:9px;height:11px;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-toggle[aria-pressed=true] .motion-toggle-icon{width:0;height:0;border:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}.motion-illustration{font-size:12px;color:#e2edf2;text-shadow:0 1px 6px #002948}.energy-visual{min-width:0;width:100%}.solar-system{position:relative;width:100%;aspect-ratio:520/430;max-width:600px;isolation:isolate}.system-grid{position:absolute;inset:10% 0 0;background-image:radial-gradient(#afdaf024 .8px,transparent .8px);background-size:22px 22px;mask-image:linear-gradient(transparent,#000 40%,#000 90%,transparent);pointer-events:none}.system-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.system-wires .wire-base{stroke-width:2}.system-wires .wire-pulse{stroke-width:3.5}.diagram-sun-ring{transform-origin:116px 51px;animation:orbit 35s linear infinite}.diagram-ray{stroke:#ffe292;stroke-width:2;fill:none;stroke-dasharray:.16 .17;animation:lightTravel 4s linear infinite}.sun-label{position:absolute;left:36%;top:9%;font-size:14px;color:#ffe3a0;transition:opacity .6s}.flow-device{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4f9fc;border:1px solid #ffffff5c;border-radius:13px;box-shadow:0 12px 32px #00294b24;overflow:hidden;width:24.62%;height:26.51%;color:#103b5b;transition:border-color .5s,box-shadow .5s,opacity .5s}.flow-device strong{font-size:14px;line-height:1.2;font-weight:650;z-index:1}.device-photo{position:relative;width:100%;height:68%;display:grid;place-items:center;overflow:hidden;margin-bottom:2px}.device-photo img{height:100%;max-width:82%;object-fit:contain;mix-blend-mode:multiply}.flow-panels{left:10%;top:28.6%;border-color:#fbd985;animation:deviceSolar 7s ease-in-out infinite}.flow-inverter{left:65.38%;top:28.6%;border-color:#ffcf85}.flow-battery{left:10%;top:72.1%;height:25%}.flow-home{left:65.38%;top:72.1%;height:25%;border-color:#b9efff;box-shadow:0 0 30px #8ddfff20}.flow-home .device-photo{height:67%;width:90%;border-radius:8px;margin:0 0 5px}.flow-home img{width:100%;max-width:none;height:100%;object-fit:cover;object-position:85% 70%;mix-blend-mode:normal}.home-light{position:absolute;inset:0;background:linear-gradient(115deg,transparent,#fff0a936,#ffbb6b4d);mix-blend-mode:screen;animation:homeWake 7s ease-in-out infinite}.inverter-led{position:absolute;top:10%;right:9%;width:5px;height:5px;border-radius:50%;background:#ffaa43;box-shadow:0 0 6px #ffb64d;animation:inverterLed 3s ease-in-out infinite}.battery-charge{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffcd61;transform-origin:left;animation:batteryCharge 6s ease-in-out infinite}.wire-label{font:600 13px 'DM Sans',sans-serif;fill:#a6d9f3}.dc-label{fill:#ffdfa1}.motion-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;margin-top:22px}.motion-period-caption{color:#e7f5ff;font-size:14px;line-height:1.6;max-width:270px}.motion-caption .motion-toggle{flex-shrink:0;font-size:12px;background:#ffffff0c}.energy-status{margin-top:25px;gap:12px}.energy-node{padding:14px;min-width:0}.energy-node small{font-size:12px}.energy-node strong{font-size:15px}.energy-status .energy-flow{display:none}.energy-note{font-size:12px;line-height:1.6}.energy-visual[data-period=evening] .diagram-sun{opacity:.4}.energy-visual[data-period=evening] .solar-system .dc{opacity:.35}.energy-visual[data-period=evening] .wire-pulse.dc{animation-duration:5s}.energy-visual[data-period=night] .diagram-sun,.energy-visual[data-period=night] .sun-label{opacity:.12}.energy-visual[data-period=night] .flow-panels{opacity:.45;animation:none}.energy-visual[data-period=night] .solar-system .dc,.energy-visual[data-period=night] .diagram-ray{opacity:0}.energy-visual[data-period=night] .dc-label{opacity:.3}.energy-visual:not([data-period=day]) .wire-pulse.storage{animation-name:lightTravelReverse}.energy-visual:not([data-period=day]) .battery-charge{animation-name:batteryDischarge}.energy-visual:not([data-period=day]) .flow-battery{border-color:#ffdf8e;box-shadow:0 0 24px #ffcf4826}.energy-visual[data-period=night] .solar-system{background:radial-gradient(ellipse at 78% 80%,#36a3d91a,transparent 65%)}.energy-visual .diagram-sun{transition:opacity .7s}.solar-system .storage{stroke:#ffc96b}
@keyframes lightTravel{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes lightTravelReverse{from{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes sunBreath{0%,100%{opacity:.75;transform:scale(.93)}50%{opacity:1;transform:scale(1.08)}}@keyframes rayBreathe{0%,100%{opacity:.3}18%,44%{opacity:1}74%{opacity:.45}}@keyframes panelWake{0%,100%{opacity:.3}35%,65%{opacity:1}}@keyframes currentWake{0%,100%{opacity:.5}48%,82%{opacity:1}}@keyframes homeWake{0%,15%,100%{opacity:.22}60%,83%{opacity:1}}@keyframes inverterPulse{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:.8;transform:scale(1.12)}}@keyframes inverterLed{0%,100%{opacity:.5}50%{opacity:1}}@keyframes deviceSolar{0%,100%{box-shadow:0 0 16px #ffd36610}50%{box-shadow:0 0 24px #ffd36638}}@keyframes batteryCharge{0%{transform:scaleX(.22)}75%,100%{transform:scaleX(1)}}@keyframes batteryDischarge{0%{transform:scaleX(1)}75%,100%{transform:scaleX(.22)}}
html[data-energy-paused=true] .motion-scene *,html[data-energy-paused=true] .energy-flow:after,.motion-offscreen *{animation-play-state:paused!important}
@media(max-width:1150px){.hero-motion-controls{right:5%;bottom:110px}.hero-motion-story{font-size:15px}.flow-device strong{font-size:13px}.motion-caption{flex-direction:column;align-items:flex-start;gap:12px}.motion-period-caption{max-width:none}.energy-node{padding:12px 10px}.energy-node strong{font-size:14px}}
@media(max-width:900px){.hero-motion-controls{bottom:107px}.hero-motion-story{font-size:14px}.flow-device strong{font-size:15px}.motion-caption{flex-direction:row;align-items:center}.hero .inverter-marker text{font-size:15px}.hero .inverter-marker text:last-child{font-size:11px}}
@media(max-width:600px){.hero-motion-controls{left:24px;right:24px;bottom:91px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.hero-motion-story{font-size:12px;gap:6px}.motion-toggle{font-size:11px;min-height:36px;padding:7px 10px}.motion-illustration{width:100%;text-align:right;font-size:10px}.hero .sun-light,.hero .sun-rays{opacity:.85}.hero .inverter-marker rect,.hero .inverter-marker text{display:none}.flow-device{border-radius:9px}.flow-device strong{font-size:13px}.sun-label{font-size:13px}.motion-caption{flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px}.motion-caption .motion-toggle{font-size:12px}.motion-period-caption{font-size:14px}.energy-node small{font-size:11px}.energy-node strong{font-size:13px}.energy-node{padding:11px 8px}.energy-status{gap:7px;margin-top:20px}.energy-note{font-size:12px}.hero-current .wire-pulse{stroke-width:4}}
@media(prefers-reduced-motion:reduce){.solar-ray,.roof-current,.wire-pulse{stroke-dasharray:none;opacity:.65}.home-power,.home-light,.roof-wash{opacity:.6}.battery-charge{transform:scaleX(.7)}.motion-toggle{display:none}.sun-halo{opacity:.8}}
@media(max-width:600px){.hero .inverter-marker text:first-of-type{display:block;font-size:18px}.hero .inverter-marker rect{display:block;transform:translateX(-175px)}.hero .inverter-marker text:not(:first-of-type){display:block;transform:translateX(-175px)}}
