.gb-key{--gb-pub-sec-pad:calc(var(--gb-pub-space) / 2);--gb-key-hour:4.5px;--gb-key-num-w:22px;--gb-key-spine-w:16px;--gb-key-col-gap:12px}.gb-key .gb-key-approvals{padding-top:clamp(8px,2vw,24px)}.gb-key-note{max-width:30em;color:var(--gb-ink-3);font-size:var(--fs-sm);text-wrap:pretty;margin:16px 0 0;line-height:1.5}.gb-key-link{font-size:var(--fs-body);margin-top:24px;display:inline-block}.gb-key-needs,.gb-key-cannot{margin:0;padding:0;list-style:none}.gb-key-needs{border-top:1px solid var(--gb-gsap-line)}.gb-key-need{border-bottom:1px solid var(--gb-gsap-line);padding-block:clamp(13px,1.6vw,17px)}.gb-key-need:last-child{border-bottom-color:#0000}.gb-key-need-text,.gb-key-bound{color:var(--gb-ink);font-size:var(--fs-title);letter-spacing:-.01em;font-weight:650;line-height:1.35}.gb-key-need-text,.gb-key-need-detail{display:block}.gb-key-need-detail{max-width:40em;color:var(--gb-ink-3);font-size:var(--fs-sm);text-wrap:pretty;margin-top:4px;line-height:1.5}.gb-key-facts{border-top:1px solid var(--gb-gsap-line);margin:0}.gb-key-fact{border-bottom:1px solid var(--gb-gsap-line);padding-block:clamp(14px,1.8vw,18px)}.gb-key-fact dt{color:var(--gb-ink);font-size:var(--fs-body);font-weight:700;line-height:1.45}.gb-key-fact dd{max-width:40em;color:var(--gb-ink-2);font-size:var(--fs-body);text-wrap:pretty;margin:4px 0 0;line-height:1.55}.gb-key .gb-key-path{padding-block:var(--gb-pub-space)}.gb-key-track{margin:0;padding:0;list-style:none}.gb-key-step{grid-template-columns:var(--gb-key-num-w) var(--gb-key-spine-w) minmax(0, 1fr);column-gap:var(--gb-key-col-gap);padding-bottom:clamp(28px,3.2vw,40px);display:grid;position:relative}.gb-key-step:last-child{padding-bottom:0}.gb-key-step:before{content:"";top:0;bottom:0;left:calc(var(--gb-key-num-w) + var(--gb-key-col-gap) + var(--gb-key-spine-w) / 2 - .5px);background:var(--gb-ink-4);width:1px;position:absolute}.gb-key-step:first-child:before{top:13px}.gb-key-step:last-child:before{height:13px;bottom:auto}.gb-key-step-num{color:var(--gb-ink-3);font-family:var(--font-mono);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;letter-spacing:.04em;grid-area:1/1;padding-top:5px;font-weight:600}.gb-key-step-node{z-index:1;box-sizing:border-box;border:2px solid var(--gb-ink);background:var(--gb-surface-warm);border-radius:50%;grid-area:1/2;justify-self:center;width:11px;height:11px;margin-top:8px;position:relative}.gb-key-step-text{max-width:34em;color:var(--gb-ink);font-size:var(--fs-title);text-wrap:pretty;grid-area:1/3;margin:0;line-height:1.55}.gb-key-gate{grid-area:2/2/auto/-1;grid-template-columns:var(--gb-key-spine-w) minmax(0, 1fr);column-gap:var(--gb-key-col-gap);min-height:calc(var(--gb-key-hour) * var(--gb-key-hours));margin-top:14px;display:grid}.gb-key-gate-rail{z-index:1;width:4px;height:calc(var(--gb-key-hour) * var(--gb-key-hours));border-radius:var(--radius-pill);background:var(--gb-ink);justify-self:center;position:relative}.gb-key-gate-rail:before{content:"";background:repeating-linear-gradient(to bottom, transparent 0 calc(var(--gb-key-hour) * 12 - 1px), var(--gb-ink-4) calc(var(--gb-key-hour) * 12 - 1px) calc(var(--gb-key-hour) * 12));width:5px;position:absolute;top:0;bottom:0;right:calc(100% + 3px)}.gb-key-gate-body{padding-bottom:12px}.gb-key-gate-head{margin:0;line-height:1.3}.gb-key-gate-value{color:var(--gb-ink);font-family:var(--font-mono);font-size:var(--fs-title);font-variant-numeric:tabular-nums;font-weight:700}.gb-key-gate-label{color:var(--gb-ink-3);font-size:var(--fs-sm);font-weight:600}.gb-key-gate-note{max-width:34em;color:var(--gb-ink-2);font-size:var(--fs-sm);text-wrap:pretty;margin:6px 0 0;line-height:1.5}.gb-key-cannot{display:grid}.gb-key-bound{border-top:1px solid var(--gb-gsap-line);text-wrap:balance;padding-block:clamp(14px,1.8vw,18px)}@media (min-width:760px){.gb-key{--gb-key-hour:5px;--gb-key-num-w:28px;--gb-key-col-gap:16px}.gb-key-fact{align-items:baseline;column-gap:var(--gb-pub-gap);grid-template-columns:minmax(0,13em) minmax(0,1fr);display:grid}.gb-key-fact dd{margin-top:0}.gb-key-cannot{column-gap:var(--gb-pub-gap);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.gb-key .gb-pub-cap{top:calc(var(--gb-nav-h) + 40px);position:sticky}}
