/* Original photographic scene with aligned vector energy paths. */
.system-scene .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.system-scene{padding:100px 0 62px;background:#f5f5ef;--flow-color:#ffc582;--flow-halo:#f8a440;--scene-ease:cubic-bezier(.22,1,.36,1)}
.scene-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:40px}
.scene-heading h2{font-size:clamp(2.625rem,4.8vw,4.5rem);letter-spacing:-.055em;line-height:1.02}
.scene-heading>p{font-size:1.0625rem;line-height:1.75;max-width:340px;padding-bottom:6px;color:#536055}
.scene-shell{max-width:1600px;padding:0 28px;margin-inline:auto}
.scene-toolbar{display:none;grid-template-columns:minmax(0,1fr);gap:14px;padding:14px 0 20px;position:sticky;top:var(--header-height,87px);z-index:8;background:#f5f5ef}
.scene-enhanced .scene-toolbar{display:grid}
.scene-controls-intro{font-size:1rem;font-weight:550;line-height:1.5;color:#34493a;margin:0}
.scene-modes{display:grid;grid-template-columns:repeat(var(--scene-mode-count),minmax(0,1fr));grid-column:1 / -1;gap:10px;min-width:0}
.scene-modes button{display:grid;grid-template-columns:20px minmax(0,1fr) 14px;align-items:center;gap:10px;min-width:0;width:100%;min-height:78px;padding:14px;border:1px solid #7f8e82;border-radius:7px;background:#fff;color:#263b2d;text-align:left;white-space:normal;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.scene-mode-icon{display:flex;width:20px;height:20px;color:#516b58}
.scene-mode-icon svg{display:block;width:100%;height:100%}
.scene-mode-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.scene-mode-label{font-size:1rem;font-weight:600;line-height:1.25}
.scene-mode-description{font-size:0.875rem;font-weight:400;line-height:1.4;color:#58665d}
.scene-mode-indicator{display:flex;width:14px;height:14px;color:#617568}
.scene-mode-indicator svg{display:block;width:14px;height:14px}
.scene-mode-indicator .scene-mode-check{display:none}
.scene-modes button[aria-pressed=true]{background:#243b2f;border-color:#243b2f;color:#fff}
.scene-modes button[aria-pressed=true] .scene-mode-description{color:#e0e8db}
.scene-modes button[aria-pressed=true] .scene-mode-icon,.scene-modes button[aria-pressed=true] .scene-mode-indicator{color:#ffd1a3}
.scene-modes button[aria-pressed=true] .scene-mode-next{display:none}
.scene-modes button[aria-pressed=true] .scene-mode-check{display:block}
.scene-modes button:focus-visible{outline:3px solid #973e1e;outline-offset:3px}
@media(hover:hover){.scene-modes button:hover{background:#faf0e7;border-color:#9c4d2b;transform:translateY(-2px);box-shadow:0 3px 9px #273b2e12}.scene-modes button[aria-pressed=true]:hover{background:#2e4b39;border-color:#2e4b39}}
.scene-figure{margin:0;position:relative}
.scene-canvas{position:relative;aspect-ratio:2/1;overflow:hidden;border-radius:10px;background:#d5dbd4;isolation:isolate}
.scene-world{position:absolute;inset:50% 0 auto;aspect-ratio:1672/941;transform:translateY(-50%);transform-origin:50% 55%}
.scene-day-image,.scene-night-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill}
.scene-night-image{opacity:0;transition:opacity 1.8s ease-in-out}
.system-scene[data-mode=evening] .scene-night-image,.system-scene[data-mode=grid] .scene-night-image{opacity:1}
.scene-energy-overlay,.scene-hotspots{position:absolute;inset:0;width:100%;height:100%}
.scene-energy-overlay{pointer-events:none;overflow:visible}
.scene-route-track{stroke:#fff8;stroke-width:1.3;stroke-dasharray:3 6;opacity:.24;transition:opacity .7s}
.scene-route-glow,.scene-route-pulse{stroke:var(--flow-color);stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .6s}
.scene-route-glow{stroke:var(--flow-halo);stroke-width:7;filter:url(#sunshine-flow-glow)}
.scene-route-pulse{stroke-width:3;stroke-dasharray:22 66;animation:sunshine-route 2.5s linear infinite;animation-play-state:paused}
.scene-switchboard{fill:var(--flow-color);stroke:#fff8;stroke-width:2}
.system-scene-residential [data-route].is-flowing .scene-route-glow{opacity:.65}
.system-scene-residential [data-route].is-flowing .scene-route-pulse{opacity:1}
.system-scene-residential [data-route].is-reversed .scene-route-pulse{animation-direction:reverse}
.scene-flow-arrow{stroke:var(--flow-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .6s}
.is-flowing:not(.is-reversed) .scene-flow-arrow-forward,.is-flowing.is-reversed .scene-flow-arrow-reverse{opacity:1}
.scene-switchboard-unit{filter:brightness(1);transition:filter 1.8s ease-in-out}
.system-scene-residential[data-mode=evening] .scene-switchboard-unit,.system-scene-residential[data-mode=grid] .scene-switchboard-unit{filter:brightness(.8)}
.scene-switchboard-leader{stroke:#ffffffe0;stroke-width:1.5;stroke-dasharray:4 5}
.system-scene.is-in-view:not(.is-scene-paused) .scene-route-pulse{animation-play-state:running}
.scene-hotspots{display:none;pointer-events:none}
.scene-enhanced .scene-hotspots{display:block}
.scene-hotspot{position:absolute;left:var(--spot-x);top:var(--spot-y);transform:translate(-50%,-50%);border:0;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff;pointer-events:auto;z-index:2}
.scene-hotspot-pin{position:relative;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #fff;background:#b75b28;box-shadow:0 0 0 6px #ffffff24;transition:background .3s,box-shadow .3s,transform .4s var(--scene-ease)}
.scene-hotspot-pin>span{font-size:0.8125rem;font-weight:600;font-variant-numeric:tabular-nums}
.scene-hotspot-label{position:absolute;left:43px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#ffffffe8;color:#27392e;padding:10px 13px;border:1px solid #fff;border-radius:30px;font-size:0.875rem;line-height:1.2;font-weight:550;backdrop-filter:blur(12px);transition:background .4s,color .4s}
.scene-hotspot-label>span{margin-left:10px;opacity:.65}
.scene-hotspot-inverter .scene-hotspot-label,.scene-hotspot-grid .scene-hotspot-label{left:auto;right:43px}
.scene-hotspot-solar .scene-hotspot-label{left:auto;right:43px}
.scene-hotspot:hover .scene-hotspot-pin,.scene-hotspot[aria-expanded=true] .scene-hotspot-pin{background:#263e33;box-shadow:0 0 0 9px #ffffff30;transform:scale(1.08)}
.scene-hotspot:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:50%}
.system-scene[data-mode=evening] .scene-hotspot-label,.system-scene[data-mode=grid] .scene-hotspot-label{background:#20382ddc;color:#fff;border-color:#ffffff90}
.scene-atmosphere{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#14281b40,transparent 20%,transparent 83%,#111c2050)}
.scene-location{position:absolute;top:27px;left:30px;display:flex;align-items:center;gap:12px;font-size:0.875rem;color:white;text-shadow:0 1px 8px #182d24;pointer-events:none}
.scene-location>span:first-child{font-size:1.4375rem;color:#ffd1a3}
.scene-location>span:last-child{font-size:0.8125rem}
.scene-location-rule{width:28px;height:1px;background:#fff8}
.scene-time{position:absolute;bottom:26px;left:30px;right:30px;display:flex;align-items:center;gap:9px;color:#fff;font-size:0.875rem;text-shadow:0 1px 8px #1b2d23;pointer-events:none}
.scene-time-dot{height:6px;width:6px;border-radius:50%;background:#ffce96;box-shadow:0 0 9px #ffd5a7}
.scene-count{margin-left:auto;font-size:0.8125rem;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.scene-figure figcaption{font-size:0.8125rem;color:#778078;line-height:1.5;padding:10px 2px 0}
.scene-caption-row{display:flex;justify-content:space-between;align-items:flex-start;gap:55px;padding:30px 16px 22px}
.scene-captions{max-width:850px;flex:1}
.scene-caption{display:grid;grid-template-columns:145px 1fr;gap:28px;align-items:flex-start}
.scene-caption+.scene-caption{margin-top:24px}
.scene-enhanced .scene-caption+.scene-caption{margin-top:0}
.scene-caption-number{font-size:0.8125rem;text-transform:uppercase;letter-spacing:.07em;padding-top:7px;color:#a35429;line-height:1.5}
.scene-caption h3{font-size:clamp(1.375rem,2.1vw,1.9375rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 10px}
.scene-caption p:not(.scene-caption-number){font-size:1rem;line-height:1.65;color:#59655d;max-width:550px;margin:0}
.scene-solution-link{font-size:0.875rem;flex-shrink:0;margin-top:7px}
.scene-footnote{border-top:1px solid #d8ddd1;padding:14px 16px 0}
.scene-footnote>p{font-size:0.8125rem;color:#6c786e;line-height:1.6;margin:0}
.scene-details{position:absolute;left:26px;bottom:80px;z-index:4;width:330px;max-height:calc(100% - 110px);overflow:auto;padding:24px 32px 24px 24px;background:#f4f5eef5;border-left:2px solid #b85e31;box-shadow:0 10px 35px #182d231c;backdrop-filter:blur(16px)}
.scene-detail-content{display:block}
.scene-detail-content .eyebrow{font-size:0.8125rem;margin:0 0 13px}
.scene-detail-content h3{font-size:1.625rem;letter-spacing:-.035em;line-height:1.12;margin:0 0 12px}
.scene-detail-content>p:not(.eyebrow){font-size:0.875rem;line-height:1.7;margin:0}
.scene-detail-content .text-link{font-size:0.875rem;white-space:nowrap;margin-top:17px}
.scene-detail-close{position:absolute;top:12px;right:12px;min-width:36px;min-height:36px;border:0;background:none;font-size:1.5rem;line-height:1;color:#294032}
.scene-mobile-leaders{display:none}
.scene-nojs{font-size:0.875rem;padding:12px 16px}
@keyframes sunshine-route{from{stroke-dashoffset:0}to{stroke-dashoffset:-176}}
.motion-paused .system-scene *, .system-scene.is-scene-paused *{transition:none!important}
.motion-paused .scene-route-pulse,.system-scene.is-scene-paused .scene-route-pulse{animation-play-state:paused!important}
@media(min-width:1600px){.scene-canvas{aspect-ratio:2.15/1}}
@media(max-width:1100px){.scene-caption-row{gap:24px}.scene-caption{grid-template-columns:110px 1fr;gap:18px}.scene-detail-content{grid-template-columns:1fr 1.5fr}.scene-detail-content .text-link{grid-column:2;justify-self:start}.scene-solution-link{max-width:180px}.scene-hotspot-label{font-size:0.8125rem;padding:8px 10px}.scene-hotspot-label>span{margin-left:6px}}
@media(max-width:760px){.system-scene{padding:65px 0 38px}.scene-heading{display:block;margin-bottom:25px}.scene-heading h2{font-size:3rem}.scene-heading>p{font-size:1rem;max-width:340px;margin-top:20px}.scene-shell{padding-inline:16px}.scene-canvas{aspect-ratio:1672/941;border-radius:6px}.scene-world{inset:0;transform:none}.scene-location{top:12px;left:13px;font-size:0.8125rem;gap:6px}.scene-location>span:first-child{font-size:1.125rem}.scene-location>span:last-child,.scene-location-rule{display:none}.scene-time{bottom:13px;left:13px;right:13px;font-size:0.8125rem}.scene-count{font-size:0.8125rem}.scene-hotspot-label{clip-path:inset(50%);width:1px;height:1px;padding:0;border:0;overflow:hidden;white-space:nowrap}.scene-hotspot-pin{width:25px;height:25px;box-shadow:0 0 0 4px #ffffff26}.scene-hotspot-pin>span{font-size:0.8125rem}.scene-hotspot-inverter{left:61%;top:47%}.scene-hotspot-battery{left:80%;top:64%}.scene-mobile-leaders{display:block;stroke:#ffffffe0;stroke-width:2;stroke-dasharray:4 5}.scene-figure figcaption{font-size:0.8125rem;line-height:1.6}.scene-caption-row{display:block;padding:24px 6px 22px}.scene-caption{display:block}.scene-caption-number{padding:0;margin:0 0 10px;font-size:0.8125rem}.scene-caption h3{font-size:1.6875rem}.scene-caption p:not(.scene-caption-number){font-size:0.875rem;max-width:none}.scene-solution-link{margin-top:22px;max-width:none;font-size:0.875rem}.scene-footnote{padding:14px 6px 0;display:block}.scene-footnote>p{font-size:0.8125rem}.scene-details{margin:16px 6px 0;padding:22px 45px 22px 18px}.scene-detail-content{display:block}.scene-detail-content .eyebrow{font-size:0.8125rem;margin-bottom:12px}.scene-detail-content h3{font-size:1.5625rem;margin-bottom:12px}.scene-detail-content>p:not(.eyebrow){font-size:0.875rem}.scene-detail-content .text-link{margin-top:18px;white-space:normal}.scene-detail-close{top:6px;right:6px}}
@media(prefers-reduced-motion:reduce){.system-scene *{transition:none!important}.scene-route-pulse{animation:none!important;stroke-dasharray:22 66}}
@media(max-width:760px){.scene-details{position:relative;left:auto;bottom:auto;width:auto;max-height:none;margin:12px 0 0;box-shadow:none}.scene-detail-content .eyebrow{margin-bottom:12px}.scene-detail-content h3{margin-bottom:12px}.scene-count{display:none}}

/* Keep the new wall-mounted enclosure visible beside the hybrid inverter. */
.system-scene-residential .scene-hotspot-inverter .scene-hotspot-label{left:50%;right:auto;top:-12px;transform:translate(-50%,-100%)}
.system-scene-residential .scene-hotspot-switchboard .scene-hotspot-label{left:auto;right:43px}
@media(max-width:760px){.system-scene-residential .scene-hotspot-solar{left:47%;top:25%}.system-scene-residential .scene-hotspot-inverter{left:65%;top:47%}.system-scene-residential .scene-hotspot-battery{left:84%;top:56%}.system-scene-residential .scene-hotspot-switchboard{left:55%;top:80%}.scene-switchboard-leader{display:none}}


/* Every flow remains visible and selectable on narrow screens. */
@media(max-width:1023px){.scene-toolbar{position:relative;top:auto}.scene-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-modes button:last-child:nth-child(odd){grid-column:1 / -1}}
@media(max-width:760px){.scene-toolbar{gap:12px;padding:0 0 16px}.scene-controls-intro{font-size:0.875rem}.scene-modes{gap:8px}.scene-modes button{min-height:76px;padding:12px}.scene-mode-label{font-size:1rem}}
@media(max-width:420px){.scene-modes button{grid-template-columns:minmax(0,1fr) 14px;gap:8px;padding:11px;min-height:78px}.scene-mode-icon{display:none}.scene-mode-label{font-size:0.9375rem}.scene-mode-description{font-size:0.875rem}}
@media(max-height:600px){.scene-toolbar{position:relative;top:auto}}
