/*
 * Systems & Pricing — connected Hub electrical circuit.
 * Isolated from the cinematic layout so the motion stays small and auditable.
 */

.route-systems-pricing .sp-access__connections {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.route-systems-pricing .sp-access__wire,
.route-systems-pricing .sp-access__current {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.route-systems-pricing .sp-access__wire {
  stroke: rgba(127, 224, 255, 0.16);
  stroke-width: 1.25;
  stroke-dasharray: 3 7;
}

.route-systems-pricing .sp-access__current {
  stroke: url('#sp-current-cyan');
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-dasharray: 12 54;
  filter: drop-shadow(0 0 5px rgba(0, 174, 239, 0.95));
  animation: sp-circuit-current 2.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.route-systems-pricing .sp-access__current--orange {
  stroke: url('#sp-current-orange');
  filter: drop-shadow(0 0 5px rgba(255, 111, 0, 0.9));
}

.route-systems-pricing .sp-access__circuit--workflow .sp-access__current { animation-delay: -0.7s; }
.route-systems-pricing .sp-access__circuit--support .sp-access__current { animation-delay: -1.4s; }
.route-systems-pricing .sp-access__circuit--insight .sp-access__current { animation-delay: -2.1s; }

.route-systems-pricing .sp-access__terminal {
  fill: #7fe0ff;
  filter: drop-shadow(0 0 6px rgba(0, 174, 239, 1));
  transform-box: fill-box;
  transform-origin: center;
  animation: sp-terminal-charge 2.2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.route-systems-pricing .sp-access__terminal--orange {
  fill: #ff8a32;
  filter: drop-shadow(0 0 6px rgba(255, 111, 0, 1));
}

.route-systems-pricing .sp-access__circuit--workflow .sp-access__terminal { animation-delay: -0.55s; }
.route-systems-pricing .sp-access__circuit--support .sp-access__terminal { animation-delay: -1.1s; }
.route-systems-pricing .sp-access__circuit--insight .sp-access__terminal { animation-delay: -1.65s; }

@keyframes sp-circuit-current {
  to { stroke-dashoffset: -132; }
}

@keyframes sp-terminal-charge {
  0%, 100% { transform: scale(0.72); opacity: 0.52; }
  50% { transform: scale(1.5); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .route-systems-pricing .sp-access__current,
  .route-systems-pricing .sp-access__terminal {
    animation: none;
  }

  .route-systems-pricing .sp-access__current {
    stroke-dasharray: none;
    opacity: 0.62;
  }
}
