/* Pipeline pages, held within the Flow concept. */
body.pipeline-is-open{overflow:hidden}
.pipeline-sheet{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.pipeline-sheet[open]{animation:pipeline-arrive .45s cubic-bezier(.2,.7,.2,1)}
.pipeline-sheet::backdrop{background:var(--ink)}
.pipeline-sheet :focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.pipeline-sheet-nav{position:sticky;top:0;z-index:2;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 4%;border-bottom:1px solid var(--line)}
.pipeline-sheet-nav button{border:0;background:none;color:inherit;cursor:pointer;padding:10px 0;font-size:13px;display:flex;gap:16px;align-items:center}.pipeline-sheet-nav button span{font-size:24px}
.pipeline-sheet-brand{font-size:28px;font-weight:800;letter-spacing:-.06em;text-decoration:none}.pipeline-sheet-brand span{font-weight:400}
.pipeline-picker-label{display:flex;align-items:center;gap:12px;font-size:11px}.pipeline-picker-label select{font:inherit;font-size:13px;color:inherit;background:transparent;border:1px solid var(--line);padding:12px;max-width:200px}
.pipeline-intro{background:var(--lilac);padding:56px 4% 32px}.pipeline-meta{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:20px}
.pipeline-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:6%;align-items:center;padding:40px 0}
.pipeline-title{font-size:clamp(48px,5.3vw,86px);letter-spacing:-.065em;line-height:1.03;font-weight:500;overflow-wrap:anywhere}.pipeline-summary{font-size:19px;line-height:1.65;max-width:36ch;margin-top:26px}.pipeline-identity{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-size:11px}.pipeline-identity span+span{border-left:1px solid var(--line);padding-left:22px}
.pipeline-route{min-width:0}.pipeline-route-scroll{overflow:auto;scrollbar-width:thin}.pipeline-route svg{display:block;width:100%;min-width:570px;height:auto}.pipeline-route--complex svg{min-width:1050px}.pipeline-route path{stroke:var(--ink);stroke-opacity:.5;stroke-width:1.5;fill:none}.pipeline-route rect{fill:#f5f2e988;stroke:var(--ink);stroke-opacity:.3;stroke-width:1}.pipeline-route .route-process rect{fill:var(--ink);stroke:none}.pipeline-route text{font-family:Manrope,sans-serif;fill:var(--ink)}.pipeline-route .route-process text{fill:var(--lilac)}.pipeline-route-label{font-size:15px;font-weight:500}.pipeline-route-kind{font-size:9px;letter-spacing:1px;text-transform:uppercase;opacity:.65}.pipeline-route figcaption{font-size:11px;line-height:1.6;margin-top:18px;display:flex;justify-content:space-between;gap:20px}.pipeline-route figcaption span:last-child{opacity:.65}
.pipeline-footer-line{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:24px;font-size:12px}.pipeline-footer-line a{display:flex;gap:35px;align-items:center;text-decoration:none}.pipeline-footer-line a span{font-size:25px}.pipeline-footer-line p{max-width:55ch;line-height:1.6}
.pipeline-details{padding:48px 4% 64px}.pipeline-about{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-bottom:35px}.pipeline-details h2{font-size:30px;letter-spacing:-.04em;font-weight:500}.pipeline-about p{font-size:17px;line-height:1.8;max-width:78ch}.pipeline-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4%;border-top:1px solid var(--line);padding-top:28px}.pipeline-specs h3{font-size:22px;font-weight:500;letter-spacing:-.04em;margin:10px 0 22px}.pipeline-specs .spec-number{font-size:11px;opacity:.6}.pipeline-specs ul{list-style:none;margin:0;padding:0}.pipeline-specs li{border-top:1px solid var(--line);padding:14px 0;font-size:13px;line-height:1.7}.pipeline-notes{border-top:1px solid var(--line);margin-top:28px}.pipeline-notes summary{padding:20px 0;cursor:pointer;font-size:14px}.pipeline-notes p{font-size:14px;line-height:1.8;max-width:90ch;margin-bottom:20px}.pipeline-tools{display:flex;gap:14px;flex-wrap:wrap}.pipeline-tools span{border:1px solid var(--line);padding:8px 12px;font-size:12px}.pipeline-source{font-size:11px;margin-top:32px;opacity:.7}
@keyframes pipeline-arrive{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.pipeline-hero{grid-template-columns:1fr;gap:30px}.pipeline-summary{max-width:55ch}.pipeline-route svg{max-height:330px}.pipeline-route--complex svg{max-height:none}.pipeline-title{max-width:14ch}.pipeline-intro{padding-top:32px}}
@media(max-width:600px){.pipeline-sheet-nav{gap:12px;padding-block:12px;flex-wrap:wrap}.pipeline-sheet-brand{font-size:25px}.pipeline-picker-label{width:100%;justify-content:space-between}.pipeline-picker-label select{max-width:none;width:70%;padding:9px}.pipeline-meta{font-size:9px;gap:12px}.pipeline-hero{padding-top:28px}.pipeline-summary{font-size:16px;margin-top:20px}.pipeline-route figcaption{font-size:10px}.pipeline-footer-line{align-items:start;flex-direction:column;gap:15px}.pipeline-about,.pipeline-specs{grid-template-columns:1fr;gap:22px}.pipeline-about p{font-size:15px}.pipeline-details{padding-top:32px}.pipeline-specs{gap:28px}.pipeline-specs h3{margin-bottom:15px}.pipeline-source{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.pipeline-sheet[open]{animation:none}}

.pipeline-sheet-brand{display:flex;align-items:center;gap:9px}.pipeline-sheet-brand strong{font-weight:800}.pipeline-sheet-brand svg{width:29px;height:29px}.pipeline-title{max-width:12ch}@media(max-width:600px){.pipeline-title{max-width:11ch}.pipeline-sheet-brand{gap:6px}.pipeline-sheet-brand svg{width:24px;height:24px}}

/* The switcher shares the paper, ink and lilac of the pipeline page. */
.pipeline-picker{position:relative;width:230px}
.pipeline-sheet-nav #pipeline-picker{width:100%;min-height:46px;justify-content:space-between;gap:18px;padding:11px 15px;border:1px solid var(--line);background:var(--paper);font:inherit;font-size:13px;text-align:left;transition:background .18s,border-color .18s}
.pipeline-sheet-nav #pipeline-picker span{font-size:inherit}
#pipeline-picker:hover,#pipeline-picker[aria-expanded="true"]{background:var(--lilac);border-color:var(--ink)}
#pipeline-picker svg{flex:none;transition:transform .18s}
#pipeline-picker[aria-expanded="true"] svg{transform:rotate(180deg)}
#pipeline-picker-menu{position:absolute;right:0;top:calc(100% + 8px);width:280px;max-width:calc(100vw - 32px);max-height:min(440px,60dvh);overflow-y:auto;padding:6px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 10px 24px #291a2c14;scrollbar-width:thin}
#pipeline-picker-menu[hidden]{display:none}
.pipeline-sheet-nav #pipeline-picker-menu button{width:100%;min-height:43px;justify-content:space-between;gap:16px;padding:11px 12px;text-align:left;font:inherit;font-size:13px;border:0}
.pipeline-sheet-nav #pipeline-picker-menu button span{font-size:inherit}
#pipeline-picker-menu button svg{flex:none;visibility:hidden}
#pipeline-picker-menu button[aria-checked="true"]{background:var(--lilac)}
#pipeline-picker-menu button[aria-checked="true"] svg{visibility:visible}
#pipeline-picker-menu button:hover,#pipeline-picker-menu button:focus-visible{background:var(--ink);color:var(--paper);outline:none}
.pipeline-sheet #pipeline-picker:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:600px){.pipeline-picker{width:70%}.pipeline-sheet-nav #pipeline-picker{min-height:44px;padding:10px 12px}#pipeline-picker-menu{width:max(100%,260px)}}
@media(prefers-reduced-motion:reduce){#pipeline-picker,#pipeline-picker svg{transition:none}}
