:root{--paper:#f4f1ea;--paper-2:#ebe7dc;--ink:#141414;--graphite:#5b5a56;--rule:#14141424;--grid:#2f5bd312;--grid-major:#2f5bd31f;--blue:#2f5bd3;--blue-soft:#dfe6fb;--highlight:#ffe66d;--red:#d94f3d;--serif:"Instrument Serif", Georgia, serif;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--gutter:clamp(16px, 4vw, 48px);--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-size:80px 80px,80px 80px,16px 16px,16px 16px;margin:0;font-size:17px;line-height:1.55}a{color:inherit}h1,h2,h3{margin:0;font-weight:400}p{margin:0}.mono{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.muted{color:var(--graphite)}.sheet{max-width:var(--max);padding:0 var(--gutter);border-left:1px solid var(--rule);border-right:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 55%, transparent);min-height:100vh;margin:0 auto}.nav{z-index:10;border-bottom:1.5px solid var(--ink);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex;position:sticky;top:0}.brand{font-family:var(--mono);letter-spacing:-.01em;align-items:center;gap:10px;font-size:18px;font-weight:500;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);width:20px;height:20px;position:relative}.brand-mark:after{content:"";background:var(--blue);position:absolute;inset:3px}.nav-links{font-family:var(--mono);align-items:center;gap:28px;font-size:13px;display:flex}.nav-links a:not(.btn){color:var(--graphite);text-decoration:none}.nav-links a:not(.btn):hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.btn{font-family:var(--mono);color:var(--paper);background:var(--ink);border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--blue);align-items:center;gap:8px;padding:13px 22px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{box-shadow:6px 6px 0 var(--blue);transform:translate(-2px,-2px)}.btn:active{box-shadow:1px 1px 0 var(--blue);transform:translate(2px,2px)}.btn-ghost{color:var(--ink);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.btn-sm{box-shadow:3px 3px 0 var(--blue);padding:7px 12px;font-size:12px}.hero{border-bottom:1px solid var(--rule);grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;padding:clamp(48px,9vw,110px) 0 clamp(48px,8vw,96px);display:grid}.hero>*{min-width:0}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--graphite);align-items:center;gap:10px;margin-bottom:22px;font-size:12px;display:inline-flex}.dot{background:var(--red);border-radius:50%;width:8px;height:8px}h1{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(48px,7.4vw,92px);line-height:.98}h1 em,h2 em{color:var(--blue);font-style:italic}mark{color:inherit;background:linear-gradient(transparent 58%, var(--highlight) 58%, var(--highlight) 92%, transparent 92%);padding:0 .06em}.lede{max-width:34ch;color:var(--graphite);margin-top:28px;font-size:19px}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:36px;display:flex}.stats{border:1px solid var(--ink);gap:0;width:fit-content;margin:44px 0 0;display:flex}.stats>div{border-right:1px solid var(--ink);padding:10px 22px}.stats>div:last-child{border-right:0}.stats dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--graphite);font-size:11px}.stats dd{font-family:var(--serif);margin:0;font-size:34px;line-height:1.1}.drawing{color:var(--ink);margin:0}.drawing svg{width:100%;height:auto;font-family:var(--mono);display:block}.drawing figcaption{font-family:var(--serif);color:var(--graphite);text-align:center;margin-top:10px;font-size:17px;font-style:italic}.drawing .window{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.drawing .shadow{fill:var(--ink)}.drawing .stroke{fill:none;stroke:var(--ink);stroke-width:1.4px}.drawing .faint{opacity:.35;stroke-width:3px;stroke-linecap:round}.drawing .dashed{stroke-dasharray:5 4}.drawing .caret{stroke:var(--blue);stroke-width:2px;animation:1.1s step-end infinite blink}.drawing .button{fill:var(--blue);stroke:var(--ink);stroke-width:1.4px}.drawing .button-text{fill:#fff;letter-spacing:.12em;font-size:12px;font-weight:500}.drawing .label-sm{fill:var(--graphite);font-size:11px}.drawing .dim{color:var(--red);stroke:var(--red);stroke-width:1px}.drawing .dim text{fill:var(--red);stroke:none;font-size:11px}.drawing .dim-bg{fill:var(--paper);stroke:none}.drawing .callout line{stroke:var(--ink);stroke-width:1px;stroke-dasharray:2 3}.drawing .callout circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px}.drawing .callout text{fill:var(--ink);font-size:11px;font-weight:500}@keyframes blink{50%{opacity:0}}.section{border-bottom:1px solid var(--rule);padding:clamp(56px,8vw,96px) 0}.section-head{border-bottom:1.5px solid var(--ink);grid-template-columns:90px 1fr auto;align-items:baseline;gap:16px;margin-bottom:40px;padding-bottom:18px;display:grid}.section-no{color:var(--red)}.section-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,56px);line-height:1}.section-head p{font-family:var(--mono);text-align:right;font-size:13px}.grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.card{background:var(--paper);border:1.5px solid var(--ink);flex-direction:column;padding:18px 20px 22px;transition:transform .18s,box-shadow .18s;display:flex}.card:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-3px,-3px)}.card-top{border-bottom:1px dashed var(--rule);justify-content:space-between;padding-bottom:12px;display:flex}.glyph{height:120px;font-family:var(--mono);letter-spacing:.02em;background:linear-gradient(var(--grid-major) 1px, transparent 1px) 0 0 / 12px 12px, linear-gradient(90deg, var(--grid-major) 1px, transparent 1px) 0 0 / 12px 12px;border:1px solid var(--rule);place-items:center;margin:18px 0;font-size:30px;font-weight:500;display:grid}.card:nth-child(3n+1) .glyph{background-color:var(--blue-soft)}.card:nth-child(3n+2) .glyph{background-color:color-mix(in srgb, var(--highlight) 35%, var(--paper))}.card:nth-child(3n) .glyph{background-color:var(--paper-2)}.card h3{font-family:var(--serif);font-size:30px;line-height:1.1}.card p{color:var(--graphite);flex:1;margin-top:6px;font-size:15px}.tags{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.tags li{font-family:var(--mono);border:1px solid var(--ink);border-radius:99px;padding:2px 8px;font-size:11px}.phases{border:1.5px solid var(--ink);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.phases li{border-right:1px solid var(--ink);background:var(--paper);padding:28px 28px 34px;position:relative}.phases li:last-child{border-right:0}.phases li:not(:last-child):after{content:"→";width:24px;height:24px;font-family:var(--mono);background:var(--paper);border:1px solid var(--ink);z-index:1;border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;top:30px;right:-13px}.phase-no{font-family:var(--mono);color:var(--blue);font-size:13px}.phases h3{font-family:var(--serif);margin-top:36px;font-size:40px;line-height:1}.phases p{color:var(--graphite);margin-top:12px;font-size:16px}.codes{grid-template-columns:repeat(2,1fr);gap:0 48px;display:grid}.code{border-bottom:1px dashed var(--rule);grid-template-columns:56px 1fr;gap:12px;padding:24px 0;display:grid}.code-no{font-family:var(--serif);color:var(--red);font-size:34px;line-height:1}.code h3{font-family:var(--sans);font-size:18px;font-weight:600}.code p{color:var(--graphite);margin-top:4px;font-size:15px}.cta{text-align:center;border:1.5px solid var(--ink);outline:1px solid var(--ink);outline-offset:6px;background:repeating-linear-gradient(-45deg, transparent 0 14px, #1414140a 14px 15px), var(--paper);margin:clamp(56px,8vw,96px) 0;padding:clamp(40px,7vw,80px) clamp(24px,5vw,64px)}.cta h2{font-family:var(--serif);margin-bottom:36px;font-size:clamp(38px,5.6vw,68px);line-height:1.02}.titleblock{border:1.5px solid var(--ink);background:var(--paper);grid-template-columns:repeat(4,1fr);margin-bottom:40px;font-size:14px;display:grid}.titleblock>div{border-right:1px solid var(--ink);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.titleblock>div:last-child{border-right:0}.tb-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--graphite);font-size:10px}@media (width<=900px){.hero{grid-template-columns:1fr}.drawing{width:100%;max-width:480px;margin:0 auto}.grid{grid-template-columns:repeat(2,1fr)}.phases{grid-template-columns:1fr}.phases li{border-right:0;border-bottom:1px solid var(--ink)}.phases li:last-child{border-bottom:0}.phases li:not(:last-child):after{content:"↓";top:auto;bottom:-13px;right:28px}.phases h3{margin-top:16px}.section-head{grid-template-columns:1fr;gap:6px}.section-head p{text-align:left}}@media (width<=640px){body{font-size:16px}.nav-links a:not(.btn){display:none}.grid,.codes{grid-template-columns:1fr}.titleblock{grid-template-columns:1fr 1fr}.titleblock>div:nth-child(2){border-right:0}.titleblock>div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.stats>div{padding:8px 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.drawing .caret{animation:none}.btn,.card{transition:none}}
