/* Energia sobre as conexões da arte, sem participar do layout da hero. */
.hero-fold .hero-energy-layer {
  position: absolute;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}
.hero-fold .hero-energy-art {
  position: absolute;
  display: block;
  max-width: none;
  overflow: hidden;
  pointer-events: none;
}
.hero-energy-flow {
  fill: none;
  stroke: var(--energy-color);
  stroke-linecap: round;
}
.hero-energy-flow path {
  animation: mix-energy-orbit var(--energy-duration) linear infinite;
  animation-delay: var(--energy-delay);
  animation-play-state: paused;
}
.hero-energy-glow {
  stroke-width: 10;
  stroke-dasharray: 12 88;
  opacity: .55;
  filter: blur(4px);
}
.hero-energy-tail {
  stroke-width: 3;
  stroke-dasharray: 10 90;
  opacity: .95;
  filter: drop-shadow(0 0 3px var(--energy-color));
}
.hero-energy-core {
  --energy-advance: 8px;
  stroke: #efffff;
  stroke-width: 2.5;
  stroke-dasharray: 2 98;
  filter: drop-shadow(0 0 3px #fff);
}
.hero-energy-layer.is-energy-live .hero-energy-flow path { animation-play-state: running; }
@keyframes mix-energy-orbit {
  from { stroke-dashoffset: calc(100px - var(--energy-advance, 0px)); }
  to { stroke-dashoffset: calc(0px - var(--energy-advance, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-fold .hero-energy-layer { display: none; }
  .hero-energy-flow path { animation: none; }
}
