/* Shared measured geometry; contrast comes from a warm core and one glow layer. */
.ls-house-stage .ls-connections{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:none;stroke-opacity:1;z-index:0}
.ls-flow-layer path{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity 220ms ease;visibility:visible}
.ls-flow-glow path{stroke:var(--orange,#ee671f);stroke-width:9;opacity:0}
.ls-flow-edge path{stroke:var(--orange,#ee671f);stroke-width:1.3;opacity:.22}
.ls-flow-core path{stroke:#fff4e7;stroke-width:.8;opacity:0}
.ls-flow-glow path.is-active{opacity:.86;stroke-width:11}
.ls-flow-edge path.is-active{opacity:1;stroke-width:2.8}
.ls-flow-core path.is-active{opacity:.95;stroke-width:1}
.ls-flow-layer path.is-concealed{opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 0s linear 220ms}
.ls-flow-glow path,.ls-flow-edge path,.ls-flow-core path{stroke-dasharray:none}
.ls-flow-pulse path{stroke:#fff8ed;stroke-width:2.1;stroke-dasharray:35 965;stroke-dashoffset:0;opacity:0;animation:ls-energy-travel var(--flow-duration,5s) linear infinite;animation-delay:var(--flow-delay,0s);animation-play-state:paused}
.ls-flow-pulse path.is-travelling{opacity:.95}
:is(.ls-house-stage,.ls-flow-stage)[data-flow-motion="running"] .ls-flow-pulse path.is-travelling{animation-play-state:running}
.ls-flow-targets circle{fill:#fff4e7;stroke:var(--orange,#ee671f);stroke-width:1.7;opacity:.25;transition:opacity 180ms ease}.ls-flow-targets circle.is-active{opacity:1}
.ls-hotspot.is-flow-active .ls-orb{box-shadow:0 0 0 1px #ee671f75,0 0 23px #ee671f35,0 8px 30px #ee671f20}
.ls-house-stage[data-flow-motion="reduced"] .ls-flow-pulse{display:none}
.ls-house-stage[data-flow-motion="reduced"] .ls-flow-layer path{transition:none}
@keyframes ls-energy-travel{to{stroke-dashoffset:-1000}}
@media(max-width:760px){.ls-house-stage .ls-connections{display:block;z-index:1}.ls-flow-glow path{stroke-width:6}.ls-flow-edge path{stroke-width:1.1}.ls-flow-edge path.is-active{stroke-width:2.2}.ls-flow-glow path.is-active{stroke-width:8}.ls-flow-core path,.ls-flow-core path.is-active{stroke-width:.7}.ls-flow-pulse path{stroke-width:1.6}.ls-house-stage .ls-hotspots{position:relative;z-index:2}}
@media(prefers-reduced-motion:reduce){.ls-flow-pulse{display:none}.ls-flow-layer path{transition:none}}
body:has(.ls-dialog[open]) .ls-flow-pulse path{animation-play-state:paused!important}

.ls-flow-targets .is-concealed{display:none}

/* 14:04 correction: three controls on each side; mobile owns its own navigation. */
@media(min-width:761px){
  .b-home .ls-house-stage .ls-hotspot[data-system-open="community"]{left:0;right:auto;top:0;flex-direction:row-reverse;text-align:right}
  .b-home .ls-house-stage .ls-hotspot[data-system-open="solar"]{top:23%}
  .b-home .ls-house-stage .ls-hotspot[data-system-open="heatbank"]{top:49%}
}
@media(min-width:761px) and (max-width:1250px){
  .b-home .ls-house-stage .ls-hotspot[data-system-open="solar"]{top:150px}
  .b-home .ls-house-stage .ls-hotspot[data-system-open="heatbank"]{top:320px}
}
