:root{--paper:#f6f7f9;--card:#fff;--ink:#12171e;--ink-2:#48545f;--ink-3:#636f7c;--rule:#d5dce3;--accent:#1f5fd0;--accent-text:#1b54bc;--accent-deep:#16469b;--project-accent:var(--accent);--project-accent-text:var(--accent-text);--display:"Barlow Condensed",system-ui,sans-serif;--body:"Barlow",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--grid-minor:#1f5fd00e;--grid-major:#1f5fd01a;--grid-cell:26px;--grid-block:130px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0d1117;--card:#151c24;--ink:#edf1f5;--ink-2:#afbdc9;--ink-3:#7e8d9b;--rule:#26313c;--accent:#4d8df5;--accent-text:#7fb2ff;--accent-deep:#a8ccff;--grid-minor:#ffffff09;--grid-major:#fff1}}:root[data-theme=dark]{--paper:#0d1117;--card:#151c24;--ink:#edf1f5;--ink-2:#afbdc9;--ink-3:#7e8d9b;--rule:#26313c;--accent:#4d8df5;--accent-text:#7fb2ff;--accent-deep:#a8ccff;--grid-minor:#ffffff09;--grid-major:#fff1}*{box-sizing:border-box}body{color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;background-color:var(--paper);background-image:repeating-linear-gradient(to right, var(--grid-major) 0 1px, transparent 1px var(--grid-block)), repeating-linear-gradient(to bottom, var(--grid-major) 0 1px, transparent 1px var(--grid-block)), repeating-linear-gradient(to right, var(--grid-minor) 0 1px, transparent 1px var(--grid-cell)), repeating-linear-gradient(to bottom, var(--grid-minor) 0 1px, transparent 1px var(--grid-cell));min-height:100vh;margin:0;font-size:16.5px;line-height:1.62}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;height:auto}.wrap{grid-template-columns:[full-start wide-start content-start]minmax(0,1fr)[content-end wide-end full-end];max-width:820px;margin:0 auto;padding:40px 20px 80px;display:grid}@media (width>=1140px){.wrap{grid-template-columns:[full-start]minmax(22px,1fr)[wide-start]minmax(0,150px)[content-start]minmax(0,760px)[content-end]minmax(0,150px)[wide-end]minmax(22px,1fr)[full-end];max-width:none;padding:48px 0 96px}}main,.case,.prose{display:contents}.wrap>*,main>*,.case>*,.prose>*{grid-column:content}.site-head,.nav,.site-foot,.stats,.cards,.work,.steps,.twoup,.facts,.meta,.prose figure{grid-column:wide}h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0}h1{letter-spacing:.01em;text-wrap:balance;margin:0 0 14px;font-size:46px;font-weight:700;line-height:1.04}h2{letter-spacing:.03em;text-transform:uppercase;margin:52px 0 12px;font-size:23px;font-weight:600}h3{letter-spacing:.01em;margin:0 0 6px;font-size:18px;font-weight:600}@media (width<=560px){h1{font-size:36px}}p{color:var(--ink-2);margin:0 0 14px}a{color:var(--accent-text);text-underline-offset:2px}a:hover{color:var(--accent-deep)}.site-head{align-items:center;gap:14px;padding-bottom:18px;display:flex}.site-head .mark{flex:none;width:40px;height:40px}.brand{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);flex-direction:column;font-size:25px;font-weight:700;line-height:1.05;text-decoration:none;display:flex}.brand span{font-family:var(--mono);letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase;font-size:9.5px;font-weight:500}.nav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:0 22px;margin-bottom:34px;display:flex}.nav a{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding:14px 0;font-size:11.5px;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--accent-text);box-shadow:inset 0 -2px 0 var(--accent)}.nav .spacer{flex:1}.tag{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:10.5px}.lede{color:var(--ink-2);margin:0 0 22px;font-size:19.5px}.cta-row{flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 8px;display:flex}.cta{background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--ink);padding:14px 22px;font-size:12.5px;text-decoration:none;display:inline-block}.cta:hover{color:var(--ink);background:0 0}.cta-alt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);font-size:12px;text-decoration:none}.cta-alt:hover{text-decoration:underline}.cta-copy{border:1px solid var(--rule);font-family:var(--mono);letter-spacing:.04em;color:var(--ink-2);background:0 0;align-items:center;gap:8px;padding:13px 14px;font-size:12px;display:inline-flex}.cta-copy:hover{border-color:var(--ink-3);color:var(--ink)}.cta-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cta-copy-icon{color:var(--ink-3);flex:none}.cta-copy:hover .cta-copy-icon{color:var(--accent-text)}.cta-copy.is-copied{border-color:var(--accent);color:var(--accent-text)}.cta-copy.is-copied .cta-copy-icon{color:var(--accent-text)}.stats{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:26px 34px;margin:34px 0 10px;padding:24px 0;display:grid}.stat b{font-family:var(--display);color:var(--ink);font-feature-settings:"tnum" 1;font-size:36px;font-weight:700;line-height:1;display:block}.stat span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:7px;font-size:10px;display:block}.as-of{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-3);margin:0 0 8px;font-size:11px;line-height:1.7}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:22px 0;display:grid}.card{background:var(--card);border:1px solid var(--rule);padding:20px 20px 22px}.card h3{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;font-size:17px}.card p{color:var(--ink-2);margin:0;font-size:15.5px}.work{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;margin:22px 0;display:grid}.work-card{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--project-accent);flex-direction:column;gap:12px;padding:22px;display:flex}.work-card .mark{width:44px;height:44px}.work-card h3{font-family:var(--display);letter-spacing:.02em;margin:0;font-size:21px}.work-card .thesis{color:var(--ink-2);max-width:none;margin:0;font-size:15.5px}.chips{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:6px;display:flex}.chip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);padding:4px 8px;font-size:10px}.work-card .go{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--project-accent-text);font-size:11.5px;text-decoration:none}.work-card .go:hover{text-decoration:underline}.steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:20px;margin:22px 0;display:grid}.step{border-top:1px solid var(--rule);padding-top:12px}.step-n{font-family:var(--mono);letter-spacing:.16em;color:var(--accent-text);margin-bottom:6px;font-size:10.5px;display:block}.step b{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin-bottom:5px;font-size:16px;display:block}.step span{color:var(--ink-2);font-size:15px;display:block}.callout{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);margin:22px 0;padding:18px 20px}.callout p:last-child{margin-bottom:0}.twoup{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin:22px 0;display:grid}.twoup h3{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:11px}.twoup ul{margin:0;padding-left:18px}.twoup li{color:var(--ink-2);margin-bottom:8px;font-size:15.5px}.site-foot{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:10px 26px;margin-top:56px;padding-top:20px;display:flex}.site-foot p,.site-foot a{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);max-width:none;margin:0;font-size:10.5px}.site-foot a{text-decoration:none}.site-foot a:hover{color:var(--accent-text)}.site-foot .spacer{flex:1}.theme-switch{background:0 0;border:0;align-items:center;padding:11px 0;line-height:0;display:inline-flex}.theme-switch-track{border:1px solid var(--rule);background:var(--card);box-sizing:border-box;border-radius:13px;justify-content:space-between;align-items:center;width:52px;height:26px;padding:0 6px;display:inline-flex;position:relative}.theme-switch-icon{z-index:1;color:var(--ink-3);display:inline-flex;position:relative}.theme-switch[aria-checked=false] .sun,.theme-switch[aria-checked=true] .moon{color:var(--accent-text)}.theme-switch-thumb{background:var(--ink);opacity:.12;border-radius:50%;width:20px;height:20px;position:absolute;top:2px;left:2px}.theme-switch[aria-checked=true] .theme-switch-thumb{left:auto;right:2px}.theme-switch:hover .theme-switch-track{border-color:var(--ink-3)}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.theme-switch-thumb{transition:left .16s,right .16s}}.meta{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px 26px;margin:0 0 28px;padding:18px 0;display:grid}.meta>div{min-width:0}.meta dt{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px;font-size:9.5px}.meta dd{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.5}.case h1{border-left:4px solid var(--project-accent);padding-left:14px}.ownership{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--project-accent);color:var(--ink-2);margin:0 0 26px;padding:14px 17px;font-size:15px}.prose h2{margin-top:44px}.prose h3{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:28px 0 8px;font-size:17px}.prose ul{padding-left:18px}.prose li{color:var(--ink-2);margin-bottom:8px}.prose code{font-family:var(--mono);background:var(--card);border:1px solid var(--rule);padding:1px 5px;font-size:.88em}.prose figure{margin:28px 0}.prose figure img{border:1px solid var(--rule);width:100%;height:auto;display:block}.prose figure p{margin:0}.prose figcaption{color:var(--ink-3);border-left:2px solid var(--project-accent);margin-top:9px;padding-left:11px;font-size:14px;line-height:1.55}.prose figure img[src*=dashboard]{max-width:330px}.facts{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:20px 28px;margin:14px 0 0;padding:20px 0 4px;display:grid}.fact b{font-family:var(--display);color:var(--ink);font-feature-settings:"tnum" 1;overflow-wrap:anywhere;font-size:26px;font-weight:700;line-height:1.05;display:block}.fact span{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-top:6px;font-size:9.5px;display:block}.bubbles{display:none}@media (width>=1100px){.bubbles{z-index:20;flex-direction:column;align-items:flex-end;gap:14px;display:flex;position:fixed;top:50%;right:26px;transform:translateY(-50%)}.bubble{color:var(--ink-3);align-items:center;gap:10px;padding:16px 0;text-decoration:none;display:flex}.bubble-dot{border:1.5px solid var(--ink-3);box-sizing:border-box;background:0 0;border-radius:50%;flex:none;width:12px;height:12px}.bubble:hover .bubble-dot,.bubble:focus-visible .bubble-dot{border-color:var(--bubble-accent,var(--accent));background:var(--bubble-accent,var(--accent))}.bubble[aria-current=page] .bubble-dot{border-color:var(--bubble-accent,var(--accent));background:var(--bubble-accent,var(--accent));box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--rule)}.bubble-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:var(--card);border:1px solid var(--rule);opacity:0;pointer-events:none;order:-1;padding:5px 9px;font-size:10px;transform:translate(6px)}.bubble:hover .bubble-label,.bubble:focus-visible .bubble-label{opacity:1;color:var(--ink);transform:translate(0)}.bubble:focus-visible{outline:none}.bubble:focus-visible .bubble-dot{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.bubble-label{transition:opacity .14s,transform .14s}.bubble-dot{transition:background-color .14s,border-color .14s}}}.diagram{grid-column:wide;margin:26px 0 8px}.diagram svg{background:var(--card);border:1px solid var(--rule);width:100%;height:auto;display:block}.diagram figcaption{color:var(--ink-3);border-left:2px solid var(--project-accent);margin-top:9px;padding-left:11px;font-size:14px;line-height:1.55}.dg-box{fill:var(--paper);stroke:var(--rule);stroke-width:1.5px}.dg-box-accent{fill:var(--paper);stroke:var(--project-accent);stroke-width:2px}.dg-group{fill:none;stroke:var(--rule);stroke-width:1px;stroke-dasharray:4 4}.dg-line{stroke:var(--ink-3);stroke-width:1.5px;fill:none}.dg-line-accent{stroke:var(--project-accent);stroke-width:2px;fill:none}.dg-arrow{fill:var(--ink-3)}.dg-arrow-accent{fill:var(--project-accent)}.dg-t{fill:var(--ink);font-family:var(--body);font-size:13px;font-weight:600}.dg-s{fill:var(--ink-2);font-family:var(--body);font-size:11.5px}.dg-m{fill:var(--ink-3);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:9.5px}.dg-k{fill:var(--project-accent-text);font-family:var(--mono);letter-spacing:.1em;font-size:9.5px}@media (prefers-reduced-motion:no-preference){a,.cta,.card,.theme-toggle{transition:color .12s,background-color .12s,border-color .12s}}
