/* Both service banners use a full-bleed scene and the same copy grid. */
.energy-demo.storage-banner{position:relative;isolation:isolate;overflow:hidden;width:100%;height:auto;min-height:575px;padding:0;border:0;border-radius:0;background:var(--deep);align-self:stretch}
.storage-banner .storage-scene{position:absolute;inset:0;z-index:-3}
.storage-banner .realistic-scene-svg{display:block;width:100%;height:100%;overflow:hidden}
.storage-banner .realistic-scene-svg image{filter:brightness(1.06);transition:filter 1.6s ease}
.storage-banner.night .realistic-scene-svg image{filter:brightness(.62) saturate(.8)}
.storage-banner .storage-banner-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,32,23,.98) 0%,rgba(4,32,23,.92) 23%,rgba(4,32,23,.65) 43%,rgba(4,32,23,.06) 72%),linear-gradient(0deg,var(--deep),transparent 24%)}
.storage-banner .storage-banner-inner{position:relative;min-height:575px;padding-bottom:110px}
.storage-banner .storage-banner-copy{grid-column:1;position:relative;z-index:1}
.storage-banner .energy-day{opacity:1;transition:opacity 1s ease}.storage-banner .energy-night{opacity:0;transition:opacity 1s ease}
.storage-banner.night .energy-day{opacity:0}.storage-banner.night .energy-night{opacity:1}
.storage-banner .energy-route-pulses path{animation:realisticEnergyFlow 2s linear infinite}
.storage-banner:not(.hero-current) .energy-route-pulses path{animation-play-state:paused}
.storage-banner .storage-banner-controls{position:absolute;bottom:25px;right:5%;z-index:2;max-width:90%}
.storage-banner .demo-controls{position:static;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.storage-banner .demo-controls button{font-size:13px;min-height:44px;padding:10px 18px;background:rgba(8,45,33,.85);border:1px solid #ffffff50;color:#fff;backdrop-filter:blur(8px)}
.storage-banner .demo-controls button.active{background:var(--mint);border-color:var(--mint);color:var(--deep)}
.storage-banner .scene-mode{font-size:12px;color:#dbe8d8;margin-left:4px}
.storage-banner .storage-banner-controls small{display:block;color:#b9cdbd;font-size:11px;line-height:1.5;margin-top:8px}
.storage-banner .demo-description{position:static;min-height:0;max-width:500px;text-align:left;margin-top:24px;padding:0;background:none;border:0}
@keyframes realisticEnergyFlow{to{stroke-dashoffset:-66}}
@media(max-width:800px){.storage-banner .storage-banner-inner{min-height:575px;align-content:center}.storage-banner .storage-banner-copy{max-width:540px}.storage-banner .storage-banner-shade{background:linear-gradient(90deg,rgba(4,32,23,.96),rgba(4,32,23,.83) 43%,rgba(4,32,23,.3)),linear-gradient(0deg,var(--deep),transparent 30%)}}
@media(max-width:540px){.energy-demo.storage-banner{min-height:660px}.storage-banner .storage-scene{height:350px;bottom:auto}.storage-banner .storage-banner-inner{padding-top:245px;padding-bottom:142px;min-height:660px;align-content:end}.storage-banner .storage-banner-shade{background:linear-gradient(0deg,#082d21 0%,#082d21 35%,rgba(8,45,33,.85) 62%,rgba(8,45,33,.04) 89%)}.storage-banner .storage-banner-controls{left:5%;right:5%;bottom:22px}.storage-banner .scene-mode{font-size:11px}.storage-banner .demo-controls button{padding:9px 14px}.storage-banner .demo-description{font-size:12px}}
@media(prefers-reduced-motion:reduce){.storage-banner .energy-route-pulses path{animation:none}.storage-banner .energy-day,.storage-banner .energy-night,.storage-banner .realistic-scene-svg image{transition:none}}
