body.home-page main .hero .hero-energy-scene {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  isolation: isolate;
  overflow: hidden !important;
  background: #d3d7d6 !important;
}

body.home-page main .hero .hero-energy-scene .hero-energy__picture,
body.home-page main .hero .hero-energy-scene .hero-energy__image,
body.home-page main .hero .hero-energy-scene .hero-energy__lines {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  clip-path: none !important;
}

body.home-page main .hero .hero-energy-scene .hero-energy__image {
  object-fit: cover !important;
  object-position: 50% 50% !important;
  filter: none !important;
}

.hero-energy__lines { z-index: 1; pointer-events: none; }
.hero-energy__route use { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.hero-energy__underlay { stroke: #111815; stroke-width: 5; opacity: .2; transform: translate(.5px, 1px); }
.hero-energy__trace { stroke: #d4d8d4; stroke-width: 3.2; opacity: .9; }
.hero-energy__solar .hero-energy__trace,
.hero-energy__battery .hero-energy__trace { stroke: #414846; stroke-width: 2.4; }
.hero-energy__solar .hero-energy__underlay,
.hero-energy__battery .hero-energy__underlay { stroke-width: 4; }
.hero-energy__return { fill: none; stroke: #353c3a; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.hero-energy__entry { fill: #9ba29f; stroke: #555e59; stroke-width: 1; }
.hero-energy__entry-core { fill: #303834; }
.hero-energy__pulse { stroke: #8fae35; stroke-width: 2.1; stroke-dasharray: 6 94; animation: hero-energy-flow 4s linear infinite; animation-duration: var(--flow-duration, 4s) !important; animation-iteration-count: infinite !important; animation-play-state: paused; }
.hero-energy__solar .hero-energy__pulse { --flow-duration: 9s; opacity: .24; stroke-width: 1.5; stroke-dasharray: 2.5 97.5; }
.hero-energy__battery .hero-energy__pulse { --flow-duration: 1.6s; }
.hero-energy__output .hero-energy__pulse { --flow-duration: 2.2s; animation-delay: -.5s; }
.hero-energy__home .hero-energy__pulse { --flow-duration: 2.5s; animation-delay: -1.1s; }
.hero-energy-scene.is-flow-active .hero-energy__pulse { animation-play-state: running; }

@media (min-width: 1101px) {
  body.home-page main > .hero {
    padding-block: 0 !important;
    min-height: 0 !important;
  }
  body.home-page main > .hero .hero-inner.container {
    width: calc(100% - max(24px, (100% - 1360px) / 2)) !important;
    max-width: none !important;
    margin-left: max(24px, (100% - 1360px) / 2) !important;
    margin-right: 0 !important;
    grid-template-columns: minmax(0, 620px) minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 32px !important;
    height: auto !important;
    max-height: none !important;
    min-height: 680px !important;
  }
  body.home-page .hero .hero-inner .hero-copy {
    padding: 28px 0 36px !important;
  }
  body.home-page main .hero .hero-media.hero-energy-scene {
    align-self: stretch !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 680px !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
}

@keyframes hero-energy-flow { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -100; } }

@media (min-width: 761px) and (max-width: 1100px) {
  body.home-page main .hero .hero-media.hero-energy-scene {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2 !important;
  }
}
@media (max-width: 760px) {
  body.home-page main {
    padding-top: 86px !important;
  }
  body.home-page main > .hero {
    padding-top: 8px !important;
    min-height: 0 !important;
  }
  body.home-page main .hero .hero-copy {
    padding-top: 0 !important;
    min-height: 0 !important;
  }
  body.home-page main .hero .hero-copy h1 {
    max-width: none !important;
    font-size: 32px !important;
    line-height: 1.08 !important;
    margin-block: 4px 20px !important;
  }
  body.home-page main .hero .hero-copy h1 .hero-turnkey {
    font-size: 28px;
    margin-top: 6px;
  }
  body.home-page main .hero .hero-mobile-visual.hero-energy-scene {
    width: 100vw !important;
    max-width: none !important;
    margin-inline: calc(50% - 50vw) !important;
    border: 0 !important;
    border-radius: 0 !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}
@media (max-width: 360px) {
  body.home-page main .hero .hero-copy h1 {
    font-size: 30px !important;
  }
  body.home-page main .hero .hero-copy h1 .hero-turnkey {
    font-size: 26px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-energy__pulse { animation: none !important; stroke-dasharray: 3 12; }
}
