
.qv{--qv-ink:#151719;--qv-muted:#516367;--qv-line:#91A3A6;--qv-panel:#F0F5F5;--qv-accent:#007587;--qv-cyan:#00BAD2;--qv-surface:#FFFFFF;color:var(--qv-ink);width:100%;margin:0;font-family:Barlow,sans-serif}
.dark .qv,[data-theme=dark] .qv{--qv-ink:#EDF4F4;--qv-muted:#B8C7C9;--qv-line:#6D858B;--qv-panel:#1E2D31;--qv-accent:#69D6E3;--qv-surface:#19272B}
.qv svg{display:block;width:100%;height:auto;overflow:visible}.qv svg .qv-node{fill:var(--qv-panel);stroke:var(--qv-line);stroke-width:1.2}.qv svg .qv-node.clear{fill:var(--qv-surface)}.qv svg .qv-node.accent{fill:var(--qv-cyan);stroke:var(--qv-cyan)}.qv svg .qv-label{fill:var(--qv-ink);font-family:Barlow,sans-serif;font-size:25px;font-weight:500}.qv svg .qv-sub{fill:var(--qv-muted);font-family:Barlow,sans-serif;font-size:18px}.qv svg .qv-label.on-cyan,.qv svg .qv-sub.on-cyan{fill:#151719}.qv svg .qv-wire{fill:none;stroke:var(--qv-accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.qv svg .qv-wire.muted{stroke:var(--qv-line);stroke-width:2}.qv svg .qv-wire.dashed{stroke-dasharray:7 7}.qv svg .qv-wire.cut{stroke:var(--qv-muted);stroke-dasharray:3 8}.qv svg .qv-boundary{fill:none;stroke:var(--qv-line);stroke-width:1.5;stroke-dasharray:5 7}.qv svg .qv-dot{fill:var(--qv-cyan)}.qv svg .qv-icon{fill:none;stroke:var(--qv-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.qv svg .qv-tint{fill:var(--qv-panel);stroke:none}
.qv-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:21px}.qv-tools button{font:500 16px/1.2 Barlow,sans-serif;min-height:44px;padding:10px 15px;background:transparent;color:var(--qv-muted);border:1px solid var(--qv-line);border-radius:3px;cursor:pointer}.qv-tools button[aria-pressed=true]{color:#151719;background:var(--qv-cyan);border-color:var(--qv-cyan)}.qv-tools button:hover{border-color:var(--qv-accent)}.qv-tools button:focus-visible,.qv-map button:focus-visible{outline:3px solid var(--qv-accent);outline-offset:4px}.qv [hidden]{display:none!important}.qv-copy{border-top:1px solid var(--qv-line);padding-top:18px;margin-top:15px;display:grid;grid-template-columns:1fr;gap:8px}.qv-copy strong{font-size:22px;font-weight:500;line-height:1.25}.qv-copy p{font-size:17px!important;line-height:1.5;color:var(--qv-muted)!important;margin:0!important;max-width:none!important}.qv-caption{font-size:13px!important;color:var(--qv-muted)!important;line-height:1.5;margin:17px 0 0!important;max-width:none!important}.qv-mobile{display:none}.qv-hero-art{padding:36px 36px 36px 0!important}.qv-hero-art .qv{max-width:760px;margin:auto}.qv-wide{max-width:1200px;margin:auto}.qv-section{padding-top:56px;padding-bottom:56px}.qv .qv-mobile .qv-step{background:var(--qv-panel);border:1px solid var(--qv-line);border-left:3px solid var(--qv-accent);padding:18px 20px;position:relative}.qv .qv-step strong{font-size:21px;font-weight:500;display:block}.qv .qv-step p{font-size:16px!important;line-height:1.45;margin:7px 0 0!important;color:var(--qv-muted)!important}.qv-mobile .qv-step+.qv-step{margin-top:20px}.qv-mobile .qv-step+.qv-step:before{content:'';height:20px;position:absolute;left:28px;top:-21px;border-left:2px solid var(--qv-accent)}
.qv-swimlane{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:24px 0 0}.qv-stage{position:relative;border-left:1px solid var(--qv-line);padding:0 25px 10px}.qv-stage:first-child{border-left:0;padding-left:0}.qv-stage:last-child{padding-right:0}.qv-stage h3{font-size:29px;margin:0 0 28px}.qv-stage .qv-stage-num{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid var(--qv-accent);border-radius:50%;font-size:16px;color:var(--qv-accent);margin-bottom:18px}.qv-stage:before{content:'';position:absolute;top:18px;left:72px;right:20px;border-top:2px solid var(--qv-accent)}.qv-stage:first-child:before{left:50px}.qv-stage dl{margin:0}.qv-stage dt{font-size:14px;color:var(--qv-accent);margin-top:22px}.qv-stage dd{margin:7px 0 0;font-size:19px;line-height:1.4;min-height:79px}.qv-stage .qv-evidence{margin-top:24px;border-top:3px solid var(--qv-cyan);padding-top:18px}.qv-feedback{display:flex;align-items:center;gap:18px;border-bottom:2px solid var(--qv-accent);padding:17px 0;margin-top:26px;color:var(--qv-muted);font-size:18px}.qv-feedback svg{width:44px;flex:none}.qv-decision-line{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:25px 0}.qv-decision-line>div{padding-top:20px;border-top:2px solid var(--qv-accent)}.qv-decision-line strong{font-size:21px}.qv-decision-line p{font-size:17px!important;color:var(--qv-muted)!important;margin-top:10px!important}
.qv-map{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.qv-map-structure{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qv-map-structure>strong{grid-column:1/3;padding:23px;background:var(--qv-cyan);color:#151719;text-align:center;font-size:27px;font-weight:500}.qv-map-stack{display:flex;flex-direction:column;gap:14px;padding-top:19px;position:relative}.qv-map-stack:before{content:'';position:absolute;top:0;left:50%;height:19px;border-left:2px solid var(--qv-accent)}.qv-map button{font:500 20px/1.25 Barlow,sans-serif;text-align:left;min-height:78px;padding:18px;background:var(--qv-panel);color:var(--qv-ink);border:1px solid var(--qv-line);border-radius:3px;cursor:pointer}.qv-map button[aria-pressed=true]{border-color:var(--qv-accent);box-shadow:inset 4px 0 0 var(--qv-accent)}.qv-map small{display:block;margin-top:6px;font-size:14px;font-weight:400;color:var(--qv-muted)}.qv-map-detail h3{font-size:34px;margin-bottom:20px}.qv-map-detail p{font-size:20px;color:var(--qv-muted)}.qv-map-detail a{font-size:19px;display:inline-block;margin-top:23px;text-decoration:underline;text-underline-offset:5px}.qv-map-caption{display:flex;gap:18px;justify-content:space-between;margin-top:15px;color:var(--qv-muted);font-size:14px}.qv-map-caption span{width:50%}
@media(max-width:1100px){.qv-stage{padding:0 18px}.qv-stage h3{font-size:26px}.qv-stage dd{font-size:18px}.qv-map{gap:35px}.qv-map button{font-size:18px}.qv-hero-art{padding-right:25px!important}}
@media(max-width:800px){.qv-hero-art{padding:0 24px 40px!important}.qv-section{padding-top:35px;padding-bottom:35px}.qv-map{grid-template-columns:1fr;gap:32px}.qv-swimlane{grid-template-columns:1fr 1fr;gap:36px 25px}.qv-stage:nth-child(odd){padding-left:0;border-left:0}.qv-stage dd{min-height:0}.qv-map-detail h3{font-size:29px}.qv-decision-line{grid-template-columns:1fr;gap:6px}}
@media(max-width:540px){.qv-stage:before{display:none}.qv-desktop{display:none}.qv-mobile{display:block}.qv-tools{gap:6px;margin-bottom:22px}.qv-tools button{font-size:15px;padding:10px 12px}.qv-copy{margin-top:24px}.qv-copy strong{font-size:22px}.qv-swimlane{grid-template-columns:1fr;gap:30px}.qv-stage,.qv-stage:nth-child(odd){padding:0 0 28px;border-left:0;border-bottom:1px solid var(--qv-line)}.qv-stage h3{font-size:29px;margin-bottom:18px}.qv-stage dl{display:grid;grid-template-columns:80px 1fr;gap:14px 20px}.qv-stage dt,.qv-stage dd{margin:0;font-size:17px}.qv-stage .qv-evidence{grid-column:1/3;margin-top:5px;padding-top:16px;display:grid;grid-template-columns:80px 1fr;gap:20px}.qv-feedback{font-size:17px}.qv-map button{padding:14px 12px;min-height:90px;font-size:18px}.qv-map small{font-size:13px}.qv-map-structure{gap:12px}.qv-map-structure>strong{font-size:24px;padding:20px}.qv-map-caption{gap:12px;font-size:13px}}
.qv-delivery-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:10px 0 44px}.qv-delivery-track button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;border:0;background:transparent;color:var(--qv-ink);padding:0 20px 15px 0;font:400 18px/1.35 Barlow,sans-serif;cursor:pointer}.qv-delivery-track button:after{content:'';position:absolute;left:72px;right:20px;top:27px;border-top:2px solid var(--qv-line)}.qv-delivery-track button:last-child:after{border-top-style:dashed}.qv-delivery-track strong{font-size:29px;font-weight:500}.qv-delivery-track button>span:last-child{color:var(--qv-muted);font-size:17px}.qv-orbit{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:12px;border:2px solid var(--qv-line);border-radius:50%;font-size:21px}.qv-delivery-track button[aria-pressed=true] .qv-orbit{background:var(--qv-cyan);border-color:var(--qv-cyan);color:#151719}.qv-delivery-track button[aria-pressed=true] strong{color:var(--qv-accent)}.qv-delivery-track button:hover .qv-orbit{border-color:var(--qv-accent)}.qv-delivery-track button:focus-visible{outline:3px solid var(--qv-accent);outline-offset:5px}.qv-delivery-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:35px 0 16px;border-top:1px solid var(--qv-line);min-height:245px}.qv-kicker{display:block;font-size:15px;color:var(--qv-muted);margin-bottom:13px}.qv-delivery-detail h3{font-size:34px;max-width:460px;line-height:1.15}.qv-delivery-detail p{font-size:20px;color:var(--qv-muted)}.qv-output{border-left:3px solid var(--qv-accent);padding-left:20px;margin-top:25px}.qv-output .qv-kicker{margin-bottom:8px}.qv-output strong{font-weight:500;font-size:21px;line-height:1.35}.qv-delivery .qv-feedback{margin-top:18px}.qv-delivery-detail [hidden]{display:none}
@media(max-width:800px){.qv-delivery-detail{gap:30px}.qv-delivery-track strong{font-size:24px}.qv-delivery-detail h3{font-size:30px}}
@media(max-width:540px){.qv-delivery-track{grid-template-columns:1fr 1fr;gap:25px 18px;margin-bottom:25px}.qv-delivery-track button{padding-right:0}.qv-delivery-track button:after{left:60px;right:0;top:23px}.qv-orbit{width:48px;height:48px;margin-bottom:4px}.qv-delivery-track strong{font-size:24px}.qv-delivery-track button>span:last-child{font-size:15px}.qv-delivery-detail{grid-template-columns:1fr;gap:22px;min-height:355px;padding-top:25px}.qv-delivery-detail h3{font-size:30px}.qv-delivery-detail p{font-size:18px}.qv-output{margin-top:22px}.qv-delivery .qv-feedback{font-size:16px}}
@media(prefers-reduced-motion:reduce){.qv *{animation:none!important;transition:none!important}}

/* Keep diagrams available on small screens instead of replacing them with prose. */
.qv-pan-hint,.qv-reading{display:none}
.qv-desktop{max-width:100%;min-width:0}
.qv-desktop:focus-visible{outline:2px solid #00BAD2;outline-offset:4px}
.qv-reading summary{font:500 16px/1.5 Barlow,sans-serif;cursor:pointer;padding:14px 0;color:var(--qv-ink)}
.qv-reading[open] .qv-mobile{display:block;padding:0 0 18px}
.qv-reading .qv-mobile p{font-size:16px!important}
@media(max-width:540px){
 .qv .qv-desktop{display:block;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#00BAD2 transparent;padding-bottom:12px}
 .qv .qv-desktop svg{min-width:620px;width:100%;max-width:none}
 .qv .qv-pan-hint{display:block;margin:8px 0 0!important;font-size:13px!important;line-height:1.5;color:var(--qv-muted)!important}
 .qv .qv-reading{display:block;margin-top:12px;border:0}
 .qv .qv-copy{margin-top:18px}
}
/* The detailed identity path belongs with supporting engineering. */
.forge-engineering .forge-identity{margin:28px 0 12px}
.forge-engineering .forge-identity ol{grid-template-columns:1fr;gap:25px}
.forge-engineering .forge-identity li{padding:20px 24px}
.forge-engineering .forge-identity li>span{margin-bottom:8px}
.forge-engineering .forge-identity strong{min-height:0;font-size:23px}
.forge-engineering .forge-identity p{margin-top:8px;font-size:17px}
.forge-engineering .forge-identity li+li:before{left:50%;top:-25px;height:23px;width:0;border-top:0;border-left:2px solid #00BAD2}
.forge-engineering .forge-identity li+li:after{left:calc(50% - 3px);top:-10px;transform:rotate(135deg)}
.cs-network-architecture{padding-top:60px;padding-bottom:60px;background:var(--pale)}
.cs-network-architecture .qc-diagram{margin:0}

/* Full composition first; enlargement is available when labels need more room. */
.qv-enlarge{display:none}
@media(max-width:540px){
 .qv .qv-desktop svg{min-width:0}
 .qv .qv-desktop[data-expanded=true] svg{min-width:620px}
 .qv .qv-pan-hint{display:none}
 .qv .qv-desktop[data-expanded=true]+.qv-pan-hint{display:block}
 .qv-enlarge{display:block;background:transparent;border:1px solid var(--qv-line);color:var(--qv-ink);font:500 15px/1.4 Barlow,sans-serif;min-height:44px;padding:9px 14px;margin-bottom:15px;cursor:pointer}
 .qv-enlarge:focus-visible{outline:2px solid #00BAD2;outline-offset:3px}
}
