/* Decorative only: compact circuit motif, no layout space or text overlay. */
.technical-motion {
  position: absolute; width: 220px; height: 180px; right: 4%; top: 28%;
  z-index: 2; pointer-events: none; overflow: hidden; contain: layout paint;
  color: #8ce1e8; opacity: .38; display: none;
}
.hero-media .technical-motion { right: 18px; top: 22px; width: 160px; height: 132px; color: #b9e5ff; opacity: .48; }
.technical-motion svg { display: block; width: 100%; height: 100%; }
.technical-motion-scan {
  position: absolute; left: 28%; top: 25%; width: 44%; height: 1px;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  animation: technical-scan 8s ease-in-out infinite;
}
.technical-motion-node {
  position: absolute; width: 4px; height: 4px; border-radius: 50%; background: currentColor;
  animation: technical-signal 6s ease-in-out infinite;
}
.technical-motion-node:nth-of-type(2) { left: 8%; top: 30%; }
.technical-motion-node:nth-of-type(3) { right: 8%; top: 69%; animation-delay: -3s; }
.technical-motion:not(.is-running) span { animation-play-state: paused; }
@keyframes technical-scan {
  0%, 15% { transform: translateY(0); opacity: 0; }
  25% { opacity: .85; }
  75% { opacity: .85; }
  85%, 100% { transform: translateY(84px); opacity: 0; }
}
@keyframes technical-signal {
  0%, 100% { transform: scale(.75); opacity: .3; }
  50% { transform: scale(1.3); opacity: .9; }
}
@media (min-width: 1100px) and (prefers-reduced-motion: no-preference) {
  .technical-motion { display: block; }
}
