.service-visual.cloud-sim-visual{width:100%;background:linear-gradient(145deg,#09263d,#061b2e);border:1px solid #2b495f;border-radius:16px;box-shadow:0 18px 45px #0002}
.cloud-sim-visual>figcaption{display:none}
.sim-heading{padding:24px 24px 0;display:flex;align-items:start;justify-content:space-between;gap:12px}
.sim-eyebrow{display:block;font-size:10px;font-weight:700;color:#58c4e8;letter-spacing:1.3px;margin-bottom:9px}
.sim-heading strong{display:block;font-size:16px;font-weight:600;color:#edf6fc;line-height:1.5}
.sim-live{font-size:9px;color:#94adbe;border:1px solid #355066;border-radius:20px;padding:6px 8px;white-space:nowrap}
.cloud-sim svg{display:block;width:100%;height:auto;font-family:Arial,sans-serif;stroke:none;fill:none}
.sim-device-title{fill:#e2eff7;font-size:17px;font-weight:600}
.sim-device-sub{fill:#90a9bb;font-size:10px;letter-spacing:1.2px}
.sim-wire,.sim-flow{fill:none;stroke-linejoin:round;stroke-linecap:round;transition:opacity .3s}
.sim-wire{stroke-width:2;opacity:.35}
.sim-a{stroke:#39bce5}.sim-b{stroke:#ed9e48}
.sim-flow{stroke-width:2.8;stroke-dasharray:9 105;animation:sim-traffic 4s linear infinite}
.sim-flow.sim-b{animation-duration:5s}
.sim-port.sim-a{fill:#39bce5}.sim-port.sim-b{fill:#ed9e48}
.sim-path-label{fill:#64cce9;font-size:11px;font-weight:600;letter-spacing:.7px}
.sim-label-b{fill:#e6af70}
.sim-controls{display:flex;gap:10px;padding:6px 24px 0;flex-wrap:wrap}
.sim-controls button{font:600 11px/1.5 Arial,sans-serif;color:#d7eaf5;background:#14354b;border:1px solid #416075;border-radius:6px;padding:9px 12px;cursor:pointer}
.sim-controls button:hover{background:#20465e}.sim-controls button:focus-visible{outline:2px solid #60c8eb;outline-offset:3px}
.sim-controls button[aria-pressed=true]{border-color:#e6af70;color:#ffd3a3}
.sim-status{margin:12px 24px 20px;color:#9bb8cb;font:11px/1.6 Arial,sans-serif;min-height:18px}
.cloud-sim.is-failed .sim-a{opacity:.12}.cloud-sim.is-failed .sim-flow.sim-a{display:none}
.cloud-sim.is-failed .sim-flow.sim-b{stroke-width:3.5;animation-duration:3s}
.cloud-sim.is-paused .sim-flow{animation-play-state:paused}
@keyframes sim-traffic{to{stroke-dashoffset:-228}}
@media(prefers-reduced-motion:reduce){.cloud-sim .sim-flow{animation:none}}
@media(max-width:700px){.sim-heading{padding:20px 16px 0}.sim-heading strong{font-size:14px}.sim-live{display:none}.sim-controls{padding-inline:16px;gap:6px}.sim-controls button{font-size:10px;padding:8px}.sim-status{margin-inline:16px}.sim-device-title{font-size:19px}}
