/* How it works visuals, stage eight: system diagram (navy screen) and placements figure. */
.vis-how{font-family:var(--sans);width:100%;max-width:100%;min-width:0;color:var(--hi)}
.vis-how *{box-sizing:border-box}
.vis-how img{display:block;max-width:100%;height:auto}
.vis-how i,.vis-how em{font-style:normal}

/* system diagram: a navy screen that straddles the edge */
.vis-how.vh-system{container-type:inline-size;background:var(--navy);color:var(--light);border-radius:2px;padding:32px 36px 28px}
.vis-how .hw-cred{margin:22px 0 0;border-top:1px solid var(--rulen);padding-top:14px;font-size:14px;line-height:1.5;color:var(--light2)}
.vis-how .hw-sys-d{display:block;width:100%;height:auto;overflow:visible}
.vis-how .hw-sys-d text{font-family:var(--sans)}
.vis-how .hw-z{font-size:13px;font-weight:500;fill:var(--light)}
.vis-how .hw-l{font-size:13.5px;font-weight:500;fill:var(--light)}
.vis-how .hw-st{font-size:13px;font-weight:700;fill:var(--orange)}
.vis-how .hw-tagt{font-size:11.5px;font-weight:400;fill:var(--light)}
.vis-how .hw-sub{font-size:12px;font-weight:400;fill:var(--light2)}
.vis-how .hw-rule{stroke:var(--rulen);stroke-width:1}
.vis-how .hw-frame{fill:none;stroke:var(--rulen);stroke-width:1}
.vis-how .hw-surf{fill:none;stroke:var(--light);stroke-width:1.5}
.vis-how .hw-tag{fill:rgba(2,8,23,.8)}
.vis-how .hw-box{fill:var(--raised);stroke:var(--rulen);stroke-width:1}
.vis-how .hw-ln{fill:none;stroke:var(--light2);stroke-width:1}
.vis-how .hw-or{fill:none;stroke:var(--orange);stroke-width:2}
.vis-how .hw-mk{fill:none;stroke:var(--light2);stroke-width:1.2}
.vis-how .hw-mko{fill:none;stroke:var(--orange);stroke-width:1.4}
.vis-how .hw-sys-m{display:none}
.vis-how .hw-mframe{max-width:720px}
@container (max-width:899px){
  .vis-how .hw-sys-d{display:none}
  .vis-how .hw-sys-m{display:block}
  .vis-how .hw-mzone{border-top:1px solid var(--rulen);padding-top:14px}
  .vis-how .hw-mh{display:flex;gap:12px;align-items:baseline;margin-bottom:12px;font-size:14px;font-weight:500}
  .vis-how .hw-mframe{position:relative;border:1px solid var(--rulen)}
  .vis-how .hw-mframe img{width:100%}
  .vis-how .hw-msurf{position:absolute;left:11.8%;top:8.8%;width:76.4%;height:76.7%;border:1.5px solid var(--light)}
  .vis-how .hw-msurf b{position:absolute;left:-1.5px;bottom:calc(100% + 4px);background:rgba(2,8,23,.8);color:var(--light);font-size:11.5px;font-weight:400;line-height:1;padding:5px 8px;border-radius:2px;white-space:nowrap}
  .vis-how .hw-mpair{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:stretch}
  .vis-how .hw-mpair .hw-mh-ln{align-self:center}
  .vis-how .hw-msub{display:block;margin-top:5px;font-size:12.5px;font-weight:400;line-height:1.4;color:var(--light2)}
  .vis-how .hw-mbox{background:var(--raised);border:1px solid var(--rulen);padding:12px;font-size:13.5px;font-weight:500;color:var(--light);line-height:1.3;border-radius:2px}
  .vis-how .hw-mh-ln{display:block;height:1px;background:var(--light2);position:relative}
  .vis-how .hw-mh-ln::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--light2);border-right:1px solid var(--light2);transform:rotate(45deg)}
  .vis-how .hw-mlinks{position:relative;height:44px}
  .vis-how .hw-mv{position:absolute;top:4px;bottom:4px;width:1px;background:var(--light2)}
  .vis-how .hw-mv.hw-c1{left:calc((100% - 20px) / 4)}
  .vis-how .hw-mv.hw-c2{left:calc(100% - (100% - 20px) / 4)}
  .vis-how .hw-ma{position:absolute;left:-4px;top:-1px;width:9px;height:7px;overflow:visible}
  .vis-how .hw-ma path{fill:none;stroke:var(--light2);stroke-width:1.2}
  .vis-how .hw-mv.hw-down .hw-ma{top:auto;bottom:-1px;transform:rotate(180deg)}
  .vis-how .hw-mv.hw-or-v{width:2px;background:var(--orange)}
  .vis-how .hw-mv.hw-or-v .hw-ma{left:-3.5px}
  .vis-how .hw-mv.hw-or-v .hw-ma path{stroke:var(--orange);stroke-width:1.5}
  .vis-how .hw-mv em{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:var(--orange)}
}
@media (max-width:640px){.vis-how.vh-system{padding:20px 18px 18px}}

/* placements (light ground) */
.vis-how.vh-place{container-type:inline-size}
.vis-how .hw-prow{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.vis-how .hw-plate{position:relative;border-radius:2px;overflow:hidden}
.vis-how .hw-plate img{width:100%}
.vis-how .hw-mkr{position:absolute;outline:2px solid var(--light);outline-offset:2px}
.vis-how .hw-mkr.hw-dash{outline-style:dashed}
.vis-how .hw-mkr b{position:absolute;top:-4px;right:calc(100% + 4px);background:rgba(2,8,23,.8);color:var(--light);font-size:12px;font-weight:500;line-height:1;padding:5px 7px;border-radius:2px;font-variant-numeric:tabular-nums}
.vis-how .hw-kl{margin:0 0 10px;font-size:15px;color:var(--mid)}
.vis-how .hw-key{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.vis-how .hw-key li{display:grid;grid-template-columns:24px 24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule);font-size:15.5px;line-height:1.3}
.vis-how .hw-kn{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--mid)}
.vis-how .hw-kt{font-weight:500;min-width:0}
.vis-how .hw-kc{font-size:14px;color:var(--mid);font-variant-numeric:tabular-nums}
.vis-how .hw-sw{display:block;width:22px;height:13px;border:2px solid var(--hi);border-radius:1px}
.vis-how .hw-sw.hw-dash{border-style:dashed}
.vis-how .hw-key li.hw-k4{grid-template-columns:24px 112px minmax(0,1fr) auto}
.vis-how .hw-thumb{position:relative;display:block;width:112px}
.vis-how .hw-thumb img{width:112px;border-radius:2px}
.vis-how .hw-thumb i{position:absolute;outline:1.5px solid var(--light);outline-offset:1px}
.vis-how .hw-note{margin:14px 0 0;font-size:14.5px;line-height:1.5;color:var(--mid)}
.vis-how .hw-note.hw-pcred{margin-top:8px}
@container (max-width:899px){.vis-how .hw-prow{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:640px){
  .vis-how .hw-mkr b{top:0;left:0;right:auto;padding:4px 5px}
  .vis-how .hw-key li.hw-k4{grid-template-columns:24px 96px minmax(0,1fr) auto}
  .vis-how .hw-thumb,.vis-how .hw-thumb img{width:96px}
}
