/* MIMO solution pathways: pipes, data pulses, and a livelier core. Loaded after style.css. */
.pathways{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.pathways path{fill:none;stroke-linecap:round}
.pw-pipe .glow{stroke:#35d8d1;stroke-opacity:.09;stroke-width:9}
.pw-pipe .track{stroke:#4fe6de;stroke-opacity:.36;stroke-width:1.6;transition:stroke-opacity .3s}
.pw-pipe .flow{stroke:#a8fff6;stroke-width:1.8;stroke-dasharray:1.5 12;opacity:.8;animation:pw-flow 1.15s linear infinite}
.pw-out .glow{stroke-opacity:.15;stroke-width:12}
.pw-out .track{stroke-opacity:.55;stroke-width:2.2}
.pw-out .flow{stroke-width:2.4;stroke-dasharray:1.5 9;animation-name:pw-flow-out;animation-duration:.8s}
.pw-pipe .port{fill:#082638;stroke:#6ef0e7;stroke-width:1.5}
.pathways .ripple{fill:none;stroke:#7cf5ec;stroke-width:1.5}
.pathways.pw-burst .track{stroke-opacity:.8}
.pathways.pw-burst .flow{opacity:1;animation-duration:.45s}
@keyframes pw-flow{to{stroke-dashoffset:-13.5}}
@keyframes pw-flow-out{to{stroke-dashoffset:-10.5}}
.pathways.pw-idle *,.motion-paused .pathways *{animation-play-state:paused}

/* Core: a scanning sweep around the mark and a slow glow. */
.core-ring::after{inset:7px;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #7de8df35;
  background:conic-gradient(from 0deg,transparent 0 58%,#6ff3e980 88%,#c4fff9 99%,transparent 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));
  animation:pw-sweep 3.6s linear infinite}
.core-mark{animation:pw-breathe 4s ease-in-out infinite}
@keyframes pw-sweep{to{transform:rotate(360deg)}}
@keyframes pw-breathe{0%,100%{box-shadow:0 0 22px #2bcbc640}50%{box-shadow:0 0 44px #2bcbc6a0}}
.motion-paused .core-ring::after,.motion-paused .core-mark{animation-play-state:paused}

/* Phone layout: the pipes become short vertical connectors with a pulse running down them. */
@media(max-width:760px){
  .solution-core::before,.solution-core::after{width:2px;
    background:linear-gradient(180deg,transparent,#c4fff9 50%,transparent) 0 -12px/2px 12px no-repeat,linear-gradient(#78ede640,#78ede6) 0 0/2px 100% no-repeat;
    animation:pw-drop 1.3s linear infinite}
}
@keyframes pw-drop{from{background-position:0 -12px,0 0}to{background-position:0 28px,0 0}}
.motion-paused .solution-core::before,.motion-paused .solution-core::after{animation-play-state:paused}

@media(prefers-reduced-motion:reduce){
  .pathways .flow,.core-ring::after,.core-mark,.solution-core::before,.solution-core::after{animation:none!important}
  .pathways .particle,.pathways .ripple{display:none}
}
