/* Robotics inherits the section's charcoal, silver and lime material palette. */
.autonomy-stage:has(.robot-scene){grid-template-columns:.85fr 1.35fr;gap:24px;padding-top:16px;padding-bottom:24px}
.robot-scene{height:560px;min-width:0}
.robot-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .7s}
.robot-scene.is-ready .robot-canvas{opacity:1}
.robot-scene.is-ready .network-center{visibility:hidden}
.robot-scene:before,.robot-scene:after{display:none}
.robot-scene .network-node{animation:none!important;transform:translate(-50%,-50%);padding:11px 13px;gap:9px;box-shadow:none;background:#111a17d9;border-color:#baf68130;transition:background .5s,border-color .5s}
.robot-scene .network-node>.icon{width:19px;height:19px;flex-shrink:0}
.robot-scene .network-node>span{font-size:11px}
.robot-scene .network-node small{font-size:11px;color:#aebcd0}
.robot-scene .node-a{left:17%;top:17%;right:auto;bottom:auto}
.robot-scene .node-b{left:83%;top:24%;right:auto;bottom:auto}
.robot-scene .node-c{left:16%;top:77%;right:auto;bottom:auto}
.robot-scene .node-d{left:82%;top:85%;right:auto;bottom:auto}
.robot-scene .network-node.is-current{background:#173127;border-color:#baf68199}
@media(min-width:1600px){.robot-scene{height:620px}}
@media(max-width:1000px) and (min-width:700px){.autonomy-stage:has(.robot-scene){grid-template-columns:.7fr 1.3fr;gap:12px}.robot-scene{height:490px}.robot-scene .network-node{padding:9px;gap:6px}.robot-scene .network-node>span{font-size:11px}.robot-scene .network-node small{font-size:11px}}
@media(max-width:699px){.autonomy-stage:has(.robot-scene){grid-template-columns:1fr;gap:6px;padding-top:32px}.robot-scene{height:470px;margin-inline:-8px;min-height:0}.robot-scene .network-node{padding:9px 8px;gap:6px}.robot-scene .network-node>.icon{width:15px;height:15px}.robot-scene .network-node>span{font-size:11px}.robot-scene .network-node small{font-size:11px}.robot-scene .node-a{left:22%;top:12%}.robot-scene .node-b{left:79%;top:22%}.robot-scene .node-c{left:20%;top:86%}.robot-scene .node-d{left:77%;top:89%}}
@media(prefers-reduced-motion:reduce){.robot-canvas,.robot-scene .network-node{transition:none}}

/* Fine, continuous payment traces sit behind the physical mechanism. */
.robot-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0}
.robot-scene.is-ready .robot-connectors{opacity:1}
.robot-route-wire,.robot-route-signal{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.robot-route-wire{stroke:#baf681;stroke-width:1;opacity:.23}
.robot-route-signal{stroke:#d0f9b3;stroke-width:2;stroke-dasharray:.065 .935;opacity:0}
.robot-route-port{fill:#111a17;stroke:#baf681;stroke-width:1;opacity:.45}
.robot-route.is-current .robot-route-wire{opacity:.45}
.robot-route.is-current .robot-route-signal,.robot-route.is-current .robot-route-port{opacity:1}

/* Keep service names readable and inside the illustration at narrow widths. */
@media(max-width:699px){
  .robot-scene .node-a{left:clamp(78px,22%,calc(100% - 78px))}
  .robot-scene .node-b{left:clamp(82px,79%,calc(100% - 82px))}
  .robot-scene .node-c{left:clamp(78px,20%,calc(100% - 78px));top:79%}
  .robot-scene .node-d{left:clamp(86px,77%,calc(100% - 86px));top:94%}
}
