.visual-hero{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);gap:1.25rem;align-items:center;max-width:1320px;margin:1.5rem auto 2rem;padding:1.5rem 2rem}.visual-copy-card{background:#fff;border:1px solid #d9e2ea;border-radius:22px;padding:1.6rem;box-shadow:0 18px 45px rgba(15,23,42,.08)}.visual-copy-card h1{font-size:clamp(2rem,4.3vw,4.6rem);line-height:1.02;margin:.4rem 0}.visual-copy-card p{font-size:1.05rem;line-height:1.65}.architecture-visual-shell{background:radial-gradient(circle at 20% 0%,rgba(51,101,138,.18),transparent 36%),linear-gradient(135deg,#07111f,#102338 56%,#0f1b2b);border:1px solid rgba(148,163,184,.34);border-radius:24px;padding:1rem;color:#edf6ff;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden}.visual-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin:.2rem .2rem .8rem}.visual-header h3{margin:.2rem 0 0;font-size:1.35rem}.visual-header .eyebrow{color:#9ec9e8}.visual-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.architecture-svg{width:100%;height:auto;min-height:360px;display:block;background:rgba(255,255,255,.035);border-radius:18px}.swimlane{fill:rgba(255,255,255,.035);stroke:rgba(148,163,184,.18);stroke-width:1}.lane-label{fill:#9fb7d1;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.arch-link{fill:none;stroke:rgba(180,205,230,.34);stroke-width:3;stroke-linecap:round;transition:all .25s ease}.arch-link.link-active{stroke:#60a5fa;stroke-width:5;stroke-dasharray:10 8;animation:flowPulse 1.8s linear infinite;filter:url(#glow)}.arch-link.link-muted{stroke:rgba(100,116,139,.16);stroke-width:2}.arch-node rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1.5;transition:all .2s ease}.arch-node text{fill:#102033;font-size:12px;font-weight:800;pointer-events:none}.arch-node .node-type{fill:#5d7088;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.arch-node.policy-boundary rect{fill:#fef3c7;stroke:#f59e0b}.arch-node.regional-service rect,.arch-node.cloud-service rect{fill:#dcfce7;stroke:#22c55e}.arch-node.internet-transport rect{fill:#fee2e2;stroke:#ef4444}.arch-node.identity rect,.arch-node.observability rect{fill:#e0e7ff;stroke:#818cf8}.arch-node.node-active rect{stroke:#38bdf8;stroke-width:3;filter:url(#glow)}.arch-node.node-muted{opacity:.34}.architecture-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin:.8rem .2rem;color:#cbd5e1;font-size:.88rem}.legend-dot{display:inline-block;width:.72rem;height:.72rem;border-radius:999px;margin-right:.3rem;background:#60a5fa}.legend-dot.policy{background:#f59e0b}.legend-dot.service{background:#22c55e}.legend-dot.review{background:#facc15}.flow-control-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0}.flow-button{border:1px solid rgba(148,163,184,.38);background:rgba(255,255,255,.08);color:#eaf2ff;border-radius:999px;padding:.55rem .75rem;font-weight:700;cursor:pointer}.flow-button.is-selected{background:#38bdf8;color:#07111f;border-color:#7dd3fc}.flow-explanation{background:rgba(255,255,255,.08);border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:.8rem;color:#dbeafe}.visual-boundary{background:rgba(255,255,255,.08);border-color:rgba(148,163,184,.22);color:#dbeafe}.pattern-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}.pattern-card{border:1px solid #d9e2ea;background:#fff;border-radius:16px;padding:1rem;box-shadow:0 8px 24px rgba(15,23,42,.06)}.pattern-card.selected{border-color:#38bdf8;background:linear-gradient(180deg,#f0f9ff,#fff)}.pattern-card.muted{opacity:.86}.pattern-card.pending{border-color:#f59e0b;background:#fffbeb}.visual-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.visual-chip-list span,.evidence-strip span{background:#eaf1f6;border-radius:999px;padding:.3rem .55rem;font-size:.85rem}.evidence-strip{display:flex;flex-wrap:wrap;gap:.45rem;padding:.75rem;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px}.human-review-visual{background:#fffbeb;border:1px solid #f59e0b;border-radius:14px;padding:1rem}.visual-showcase-panel{border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff,#fff)}@keyframes flowPulse{to{stroke-dashoffset:-36}}@media(max-width:960px){.visual-hero{grid-template-columns:1fr;padding:1rem}.architecture-svg{min-height:300px}.visual-header{flex-direction:column}.visual-badges{justify-content:flex-start}}

/* v1.5.2 diagram polish */
.architecture-visual-shell{position:relative}.visual-header h3{font-size:1.55rem}.architecture-svg{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.flow-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(56,189,248,.16)}.flow-button.is-selected::before{content:'• ';font-weight:900}.flow-explanation{font-size:.96rem;line-height:1.55}.arch-node.node-active text{fill:#07111f}.arch-node.node-active rect{fill:#e0f2fe}.architecture-legend{justify-content:center}.visual-boundary{font-weight:650}
