/* Decorative circuitry stays behind content and never receives pointer input. */
.circuit-surface{position:relative;isolation:isolate}
.circuit-surface>.wrap{position:relative;z-index:1}
.circuit-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.48;contain:paint}
.hero>.circuit-background{opacity:.75}
.site-header>.circuit-background{opacity:.23}
.circuit-background svg{position:absolute;width:100%;height:100%;min-width:900px;left:50%;transform:translateX(-50%);stroke:none;fill:none}
.site-header .circuit-background svg{height:900px;top:-10px}
.circuit-track{stroke:#6695ad;stroke-width:1;opacity:.28;vector-effect:non-scaling-stroke}
.circuit-node{stroke:#7099af;stroke-width:1;fill:#102b3b;opacity:.65;vector-effect:non-scaling-stroke}
.circuit-chip{stroke:#86a8b9;stroke-width:1;opacity:.26;vector-effect:non-scaling-stroke}
.circuit-signal{stroke:#f29a5c;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:28 1172;stroke-dashoffset:0;opacity:.7;vector-effect:non-scaling-stroke;animation:circuit-flow var(--duration,18s) linear infinite;animation-delay:var(--delay,0s)}
.circuit-surface:nth-of-type(even) .circuit-background svg{transform:translateX(-50%) scaleX(-1)}
.circuit-background:not(.is-visible) .circuit-signal,.circuits-paused .circuit-signal{animation-play-state:paused}
.circuit-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:7px 12px;border:1px solid #45606f;border-radius:6px;background:#102d3d;color:#c5d6de;font-size:14px;line-height:1.5}
.circuit-toggle:hover{border-color:#c88454;color:white}
@keyframes circuit-flow{to{stroke-dashoffset:-1200}}
@media(max-width:650px){.circuit-background{opacity:.32}.hero>.circuit-background{opacity:.5}.circuit-background svg{left:0;transform:none;min-width:700px}.circuit-surface:nth-of-type(even) .circuit-background svg{transform:none}.circuit-toggle{font-size:14px}}
@media(prefers-reduced-motion:reduce){.circuit-signal{animation:none;opacity:.35}.circuit-toggle{display:none}}
