@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f3efe4;--paper-2: #e7e1d2;--ink: #1c1915;--muted: #4e4942;--line: #d3cbb8;--oxide: #7c3420;--serif: "Newsreader", "Iowan Old Style", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:light;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}html{scroll-padding-top:5.5rem}body{margin:0;font-family:var(--serif);font-size:1.0625rem;line-height:1.6;background:var(--paper);color:var(--ink);font-optical-sizing:auto}body.nav-open{overflow:hidden}img,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,summary{font:inherit;color:inherit;cursor:pointer}button{background:none;border:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--oxide);outline-offset:3px}::selection{background:#ead3c4}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:50;background:var(--ink);color:var(--paper);padding:.7rem 1rem}.skip-link:focus{top:1rem}.frame{width:min(68rem,calc(100% - 2.5rem));margin-inline:auto}.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}h1,h2,.choice-name,.paper h3,.wordmark{font-weight:450;letter-spacing:-.03em;line-height:1.02}h1{font-size:clamp(2.7rem,5.5vw,4.7rem)}h2{font-size:clamp(2rem,3.4vw,2.9rem)}.lede{font-size:1.125rem;line-height:1.6;max-width:40rem;margin-top:1rem}.muted{color:var(--muted)}.cta{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;padding:.75rem 1rem;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.cta:hover{background:var(--oxide)}.text-link{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:.12rem}.text-link:hover{color:var(--oxide)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem;padding:.5rem 1.25rem;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:baseline;font-size:1.45rem;line-height:1}.wm-shifts{display:inline-block;transform:translateY(-.22em);border-bottom:1.5px solid var(--oxide);margin-left:.01em;padding-bottom:.02em}.desktop-nav{display:none;align-items:center;gap:1.35rem}.desktop-nav a{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;min-height:44px;display:inline-flex;align-items:center}.desktop-nav a:hover{color:var(--oxide)}.desktop-nav .cta{margin-left:.4rem}.desktop-nav a[aria-current=page]{color:var(--oxide)}.nav-pop{position:relative}.menu-toggle{list-style:none;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 10px}.menu-toggle::-webkit-details-marker{display:none}.menu-toggle span{display:block;height:1px;background:var(--ink);transition:transform .15s linear}.nav-pop[open] .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-pop[open] .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-panel{display:none}.nav-pop[open] .mobile-panel{display:flex;flex-direction:column;position:fixed;inset:4.25rem 0 0;z-index:30;background:var(--paper);padding:.25rem 1.25rem 2rem;overflow:auto}.mobile-panel nav{display:flex;flex-direction:column}.mobile-panel nav a{display:flex;align-items:center;font-size:2.15rem;letter-spacing:-.03em;min-height:3.4rem;border-bottom:1px solid var(--line)}.mobile-panel .cta{margin-top:1.5rem;align-self:flex-start;font-size:.75rem;letter-spacing:.08em}.site-footer{border-top:1px solid var(--line);padding:1.5rem 0 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.site-footer p{color:var(--muted);margin:0}.foot-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:1.25rem;width:100%}.foot-links a{display:inline-block;min-height:44px;line-height:44px;padding:0 .15rem;border-bottom:1px solid transparent}.foot-links a:hover{border-bottom-color:currentColor}.colophon{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;color:var(--muted);line-height:1.4}.open{padding:3.5rem 0 4rem}.open h1{max-width:12em}.open-lead .cta{margin-top:1.5rem}.hero-sketch-wrap{width:100%;margin-top:1.75rem;color:var(--ink);contain:layout paint}.hero-sketch{width:100%;height:auto;display:block;overflow:hidden}.hero-sketch .mark,.hero-sketch .scribble,.hero-sketch .wire{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mark{transform-box:fill-box;transform-origin:center;color:var(--ink)}.doc{transform:translate(-28px,-36px) rotate(-14deg);opacity:.55}.db{transform:translate(64px,-48px) rotate(8deg);opacity:.4}.chart{transform:translate(96px,28px) rotate(-9deg);opacity:.5}.model{transform:translate(36px,-42px) rotate(6deg);opacity:.45}.eval{transform:translate(-40px,36px) rotate(-8deg);opacity:.42}.out{transform:translate(22px,40px) rotate(11deg);opacity:.38}.scribble{opacity:.4}.wire{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.hero-sketch.is-live .doc{animation:hero-doc 12s linear infinite,hero-light-doc 12s linear infinite}.hero-sketch.is-live .db{animation:hero-db 12s linear infinite,hero-light-in 12s linear infinite}.hero-sketch.is-live .chart{animation:hero-chart 12s linear infinite,hero-light-in 12s linear infinite}.hero-sketch.is-live .model{animation:hero-model 12s linear infinite,hero-light-model 12s linear infinite}.hero-sketch.is-live .eval{animation:hero-eval 12s linear infinite,hero-light-eval 12s linear infinite}.hero-sketch.is-live .out{animation:hero-out 12s linear infinite,hero-light-out 12s linear infinite}.hero-sketch.is-live .scribble{animation:hero-scribble 12s linear infinite}.hero-sketch.is-live .wire{animation:hero-wire 12s linear infinite}.hero-sketch.is-live .feedback{animation:hero-feedback 12s linear infinite}.hero-sketch.is-paused .mark,.hero-sketch.is-paused .scribble,.hero-sketch.is-paused .wire{animation-play-state:paused}@keyframes hero-doc{0%,12%,to{transform:translate(-28px,-36px) rotate(-14deg);opacity:.55}34%,84%{transform:none;opacity:1}}@keyframes hero-db{0%,12%,to{transform:translate(64px,-48px) rotate(8deg);opacity:.4}34%,84%{transform:none;opacity:1}}@keyframes hero-chart{0%,12%,to{transform:translate(96px,28px) rotate(-9deg);opacity:.5}34%,84%{transform:none;opacity:1}}@keyframes hero-model{0%,12%,to{transform:translate(36px,-42px) rotate(6deg);opacity:.45}34%,84%{transform:none;opacity:1}}@keyframes hero-eval{0%,12%,to{transform:translate(-40px,36px) rotate(-8deg);opacity:.42}34%,84%{transform:none;opacity:1}}@keyframes hero-out{0%,12%,to{transform:translate(22px,40px) rotate(11deg);opacity:.38}34%,84%{transform:none;opacity:1}}@keyframes hero-scribble{0%,10%,to{opacity:.4}30%,82%{opacity:0}}@keyframes hero-wire{0%,16%,to{stroke-dashoffset:1;opacity:0}24%{opacity:1}36%,84%{stroke-dashoffset:0;opacity:1}}@keyframes hero-feedback{0%,16%,to{stroke-dashoffset:1;opacity:0;color:var(--ink)}36%,50%{stroke-dashoffset:0;opacity:1;color:var(--ink)}56%,70%{stroke-dashoffset:0;opacity:1;color:var(--oxide)}78%,84%{stroke-dashoffset:0;opacity:1;color:var(--ink)}}@keyframes hero-light-in{0%,40%,58%,to{color:var(--ink)}44%,52%{color:var(--oxide)}}@keyframes hero-light-doc{0%,38%,56%,to{color:var(--ink)}42%,50%{color:var(--oxide)}}@keyframes hero-light-model{0%,46%,66%,to{color:var(--ink)}50%,60%{color:var(--oxide)}}@keyframes hero-light-eval{0%,54%,74%,to{color:var(--ink)}58%,68%{color:var(--oxide)}}@keyframes hero-light-out{0%,62%,80%,to{color:var(--ink)}66%,74%{color:var(--oxide)}}.block{padding:4.25rem 0;border-top:1px solid var(--line)}.block.flush{border-top:0;padding-top:1.5rem}.close .text-link{color:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.75rem}.engagements{display:grid;gap:1.75rem;margin-top:2rem}.choices{border-bottom:1px solid var(--ink)}.eng+.eng{border-top:1px solid var(--line)}.choice{display:grid;grid-template-columns:auto 1fr;gap:.15rem .9rem;padding:1.15rem 0 1.15rem .85rem;border-left:3px solid transparent;cursor:pointer}.eng:has(input:checked) .choice{border-left-color:var(--oxide)}.eng:focus-within .choice{outline:2px solid var(--oxide);outline-offset:3px}.eng:not(:has(input:checked)) .choice{color:var(--muted)}.choice-index{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;padding-top:.45rem;color:var(--oxide)}.choice-name{font-size:clamp(1.7rem,3vw,2.15rem)}.choice-line{grid-column:2}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.paper{display:none;background:#faf8f2;border:1px solid var(--ink);padding:1.2rem 1.15rem .4rem}.engagements:has(#eng-head:checked) #sheet-head,.engagements:has(#eng-build:checked) #sheet-build{display:block}.paper-top{display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.7rem}.paper h3{font-size:clamp(1.8rem,3vw,2.5rem);margin:1.1rem 0 .3rem}.terms{margin-top:.6rem}.terms div{display:grid;grid-template-columns:6.6rem 1fr;gap:.75rem;padding:.85rem 0;border-top:1px solid var(--line)}.terms dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding-top:.25rem}.terms dd{margin:0}.terms ul{margin:.2rem 0 0;padding-left:1.1rem}.terms li+li{margin-top:.25rem}#record.block{padding-top:3.25rem;padding-bottom:3.25rem}.cap-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;margin-top:1.5rem;border-top:1px solid var(--line)}.cap-grid>li{min-width:0;display:flex}.cap-cell{position:relative;display:flex;flex:1;min-width:0}.cap{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;min-height:13.4rem;padding:1.5rem .4rem 6.2rem;text-align:center;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.cap-grid>li:nth-child(2n) .cap{border-right:0}.cap-icon{width:4.25rem;height:4.25rem;color:var(--ink)}.cap-icon :is(path,circle){fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.cap-icon .accent{stroke:var(--oxide)}.cap-word{margin-top:.85rem;font-size:clamp(1.55rem,2.4vw,2.05rem);letter-spacing:-.03em;line-height:1.05}.cap-keys{position:absolute;left:.15rem;right:.15rem;bottom:3.35rem;display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-end;min-height:2.55rem;opacity:0;container-type:inline-size;font-family:var(--mono);font-size:.72rem;line-height:1.35;letter-spacing:0;color:var(--oxide)}.cap-go{position:absolute;left:.2rem;right:.2rem;bottom:.2rem;z-index:2;display:flex;align-items:center;justify-content:center;min-height:44px;opacity:0;visibility:hidden;pointer-events:none;color:var(--oxide)}.cap-go-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;line-height:1.4}.cap-go:hover{color:var(--ink)}.cap-more{display:flex;justify-content:flex-end;margin:1.15rem 0 0}.cap-key{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;hyphens:manual;font-size:min(.72rem,calc(100cqi / (var(--key-len) * .61)))}.cap-sep{margin-inline:1ch}.cap-cell:hover .cap-keys,.cap-cell:focus-within .cap-keys,.cap[aria-expanded=true] .cap-keys{opacity:1}.cap-cell:hover .cap-go,.cap-cell:focus-within .cap-go,.cap[aria-expanded=true]~.cap-go{opacity:1;visibility:visible;pointer-events:auto}.cap-grid.is-drawn .cap-icon :is(path,circle){animation:cap-draw .85s cubic-bezier(.45,0,.2,1) forwards}.cap-grid>li:nth-child(2) .cap-icon :is(path,circle){animation-delay:.12s}.cap-grid>li:nth-child(3) .cap-icon :is(path,circle){animation-delay:.24s}.cap-grid>li:nth-child(4) .cap-icon :is(path,circle){animation-delay:.36s}.cap-grid>li:nth-child(5) .cap-icon :is(path,circle){animation-delay:.48s}.cap-grid>li:nth-child(6) .cap-icon :is(path,circle){animation-delay:.6s}.cap-grid.is-paused .cap-icon :is(path,circle){animation-play-state:paused}@keyframes cap-draw{to{stroke-dashoffset:0}}.credential{margin-top:1.75rem;padding-top:1.15rem;border-top:1px solid var(--ink);font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.3;max-width:34rem}.note-index{list-style:none}.note-index a,.note-row{display:grid;grid-template-columns:8rem 1fr;gap:.25rem 1.25rem;padding:1.1rem 0;border-top:1px solid var(--line)}.note-index time,.note-row time{font-family:var(--mono);font-size:.75rem;color:var(--muted);padding-top:.35rem}.note-index strong,.note-row strong{display:block;font-weight:500;font-size:clamp(1.3rem,2vw,1.6rem);letter-spacing:-.02em;line-height:1.2}.note-index a span,.note-row span{grid-column:2;color:var(--muted)}.note-index a:hover strong{color:var(--oxide)}.tool-blurb{max-width:38rem}.tool-blurb .text-link{display:inline-block;margin-top:.4rem}.close{background:var(--ink);color:var(--paper);padding:4.5rem 0}.close .kicker{color:#c9c0b0}.close h2{max-width:12ch}.close .lede{color:#ebe4d6}.close .cta{background:var(--paper);color:var(--ink);margin-top:1.75rem}.close .cta:hover{background:var(--oxide);color:var(--paper)}.email-line{margin-top:1.35rem;color:#ebe4d6}.email-line a{border-bottom:1px solid currentColor}.email-line a:hover{color:#fff}.page-intro{padding:3.25rem 0 1rem}.page-intro h1{max-width:16ch}.page-intro .lede{margin-bottom:.5rem}.list-page{padding-bottom:4rem}.article{width:min(42rem,calc(100% - 2.5rem));padding-top:2.5rem}.article h1{font-size:clamp(2.2rem,4.5vw,3.5rem);max-width:18ch}.deck{font-size:1.2rem;line-height:1.5;margin-top:1rem;color:var(--ink)}.byline{margin-top:1rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;color:var(--muted)}.cover{width:100%;max-height:26rem;object-fit:contain;background:var(--paper-2);border:1px solid var(--line);margin:1.75rem 0 2rem}.article-content{font-size:1.075rem;line-height:1.7;overflow-x:auto}.article-content>*+*{margin-top:0}.article-content p,.article-content ul,.article-content ol,.article-content pre,.article-content blockquote,.article-content table{margin:0 0 1.15rem}.article-content h2{font-size:1.8rem;margin:2.2rem 0 .8rem}.article-content h3{font-size:1.35rem;font-weight:500;letter-spacing:-.02em;margin:1.6rem 0 .6rem}.article-content ul,.article-content ol{padding-left:1.2rem}.article-content li+li{margin-top:.35rem}.article-content a{color:var(--oxide);border-bottom:1px solid currentColor}.article-content strong{font-weight:600}.article-content blockquote{border-left:2px solid var(--oxide);padding-left:1rem;color:var(--muted)}.article-content code{font-family:var(--mono);font-size:.86em}.article-content pre{background:var(--ink);color:var(--paper);padding:1rem;overflow-x:auto;font-size:.85rem;line-height:1.5}.article-content pre code{font-size:inherit}.article-content table{display:block;overflow-x:auto;border-collapse:collapse;width:max-content;min-width:100%;font-size:.92rem}.article-content th,.article-content td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}.article-content img{margin:1rem 0;border:1px solid var(--line)}.article-end{margin:2.5rem 0 4rem;padding-top:1.25rem;border-top:1px solid var(--ink)}.article-end p{margin-bottom:1rem;max-width:34rem}.related{padding-bottom:4rem}.related h2{margin-bottom:.5rem}.bridge{border:1px solid var(--ink);background:#faf8f2;padding:1.1rem 1.1rem .9rem}.bridge-top,.bridge-foot{display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.bridge-top{border-bottom:1px solid var(--ink);padding-bottom:.7rem}.bridge-flow{list-style:none;display:grid;gap:0;margin:.3rem 0 .8rem}.bridge-flow li{display:grid;grid-template-columns:2rem 1fr;gap:.15rem .75rem;padding:.9rem 0;border-bottom:1px solid var(--line);animation:step 7.5s linear infinite}.bridge-flow li:nth-child(2){animation-delay:-5s}.bridge-flow li:nth-child(3){animation-delay:-2.5s}.bridge-flow span{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--oxide);padding-top:.3rem}.bridge-flow strong{font-weight:500;font-size:1.25rem;letter-spacing:-.02em}.bridge-flow code,.bridge-flow em{grid-column:2;font-family:var(--mono);font-style:normal;font-size:.82rem;color:var(--muted)}.bridge-foot{padding-top:.85rem;align-items:center}.bridge-foot button{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);min-height:44px;padding:0 .8rem}.bridge.is-paused .bridge-flow li{animation-play-state:paused}@keyframes step{0%,18%{background:#f3e6dc}30%,to{background:transparent}}.stack{display:grid;gap:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:1.4rem}.code-panel{border:1px solid var(--ink)}.code-label{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .8rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line);background:var(--paper-2)}.code-label button{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;min-height:44px;padding:0 .4rem;text-decoration:underline;text-underline-offset:3px}.code-panel pre,.plain-pre{margin:0;padding:1rem;overflow-x:auto;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.8rem;line-height:1.55}.code-panel+.code-panel{margin-top:1rem}.copy-status{min-height:1.25rem;margin-top:.5rem;font-family:var(--mono);font-size:.75rem;color:var(--muted)}.spec-row{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1.75rem;padding-top:.9rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.prose-block{max-width:40rem}.prose-block h2{margin-bottom:.8rem}.prose-block p+p,.prose-block h3{margin-top:1rem}.prose-block h3{font-size:1.25rem;font-weight:500}.walkthrough{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:.8rem}.walkthrough summary{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;min-height:44px;display:flex;align-items:center}.walkthrough p{margin:.6rem 0 1rem;color:var(--muted)}.walkthrough video{width:100%;border:1px solid var(--line);background:var(--ink)}.walkthrough figcaption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.6rem;font-family:var(--mono);font-size:.72rem;color:var(--muted)}.walkthrough figcaption a{border-bottom:1px solid currentColor}.split{display:grid;gap:1.5rem}.missing{padding:4.5rem 0 5rem}.missing h1{max-width:12ch}.missing .actions{margin-top:1.6rem}@media (min-width: 720px){.bridge-flow{grid-template-columns:repeat(3,1fr);gap:1rem}.bridge-flow li{grid-template-columns:1fr;border-bottom:0;border-top:2px solid var(--line);padding-top:.8rem}.bridge-flow code,.bridge-flow em{grid-column:auto}.split{grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}}@media (min-width: 880px){.frame{width:min(68rem,calc(100% - 5rem))}.site-header{padding-inline:2rem}.desktop-nav{display:flex}.nav-pop{display:none}.open{padding:5rem 0 4.5rem}.open-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(16rem,.9fr);gap:3rem;align-items:center}.hero-sketch-wrap{margin-top:0;justify-self:stretch}.site-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:2rem;text-align:left;padding-block:1.75rem}.foot-links{flex-wrap:nowrap;justify-content:space-evenly}.colophon{white-space:nowrap;justify-self:end}.open-lead .cta{margin-top:1.75rem}.engagements{grid-template-columns:minmax(16rem,.86fr) minmax(0,1.14fr);gap:3.5rem;align-items:start}.block{padding:5.25rem 0}#record.block{padding-top:3.75rem;padding-bottom:3.75rem}.cap-grid{grid-template-columns:repeat(3,1fr)}.cap{border-right:1px solid var(--line);min-height:12.6rem;padding-bottom:5.15rem}.cap-keys{min-height:1.45rem;bottom:3.15rem}.cap-grid>li:nth-child(2n) .cap{border-right:1px solid var(--line)}.cap-grid>li:nth-child(3n) .cap{border-right:0}}@media (max-width: 560px){.case-row{flex-direction:column;align-items:stretch}.flow-arrow{transform:rotate(90deg);align-self:center}.vendors{font-size:.72rem}.vendors th,.vendors td{padding-right:.3rem}.terms div,.record li,.note-index a,.note-row{grid-template-columns:1fr}.note-index a span,.note-row span{grid-column:1}.choice{padding-left:.65rem}.bridge-top,.bridge-foot{flex-direction:column;align-items:flex-start}.paper{padding-inline:.9rem}}.service-pair{display:grid;gap:1.5rem;margin-top:2.25rem;padding-top:2rem;border-top:1px solid var(--ink)}.service-copy h3{font-size:clamp(1.8rem,3vw,2.45rem);margin-bottom:.75rem}.service-index{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--oxide);margin-right:.55rem;vertical-align:.35em}.service-copy ul{margin:1rem 0 0;padding-left:1.15rem}.service-copy li+li{margin-top:.4rem}.how{margin-top:1rem;max-width:38rem}.month-demo,.build-demo{margin:0;position:relative}.demo-media{display:none}.demo-video,.demo-poster{width:100%;height:auto;background:var(--paper)}.demo-poster{display:none}.js-motion .demo-media,.js-motion .demo-video{display:block}.js-motion .demo-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.month-demo figcaption,.build-demo figcaption{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em;color:var(--muted);margin-bottom:.7rem}.slips{list-style:none;display:grid;gap:.75rem}.week{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.slip,.answer-slip{background:#faf8f2;border:1px solid var(--ink);padding:.7rem .75rem .85rem}.cite{font-family:var(--mono);font-size:.75rem;color:var(--oxide);margin-top:.45rem}.slip-title{font-size:1.2rem;letter-spacing:-.02em;margin:.25rem 0 .4rem}.slip-line,.slip-file{margin:.15rem 0}.slip-file{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.rule{display:block;height:1px;background:var(--line);margin-top:.7rem}.rule.short{width:62%}.pipe,.notes,.questions,.agent-steps{margin:.45rem 0 0;padding:0}.pipe{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .15rem}.pipe li{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.72rem;line-height:1.3}.pipe li span{border:1px solid var(--ink);padding:.28rem .4rem;background:var(--paper)}.pipe li:not(:last-child):after{content:"→";color:var(--oxide)}.notes,.questions{padding-left:1.05rem}.notes li,.questions li{margin-top:.35rem}.vendors{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.78rem;line-height:1.35}.vendors th:first-child{width:22%}.vendors th,.vendors td{border-top:1px solid var(--line);padding:.4rem .35rem .4rem 0;text-align:left;vertical-align:top;font-weight:450;overflow-wrap:break-word}.vendors thead th{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;font-weight:400;color:var(--muted);border-top:0}.board{width:100%;height:auto;display:block}.board .mark{stroke:var(--oxide);fill:none}.board .label{fill:var(--oxide);font-family:var(--mono);font-size:14px}.agent-steps{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .2rem}.agent-steps li{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.72rem}.agent-steps li:not(:last-child):after{content:"→";color:var(--oxide)}.js-motion .slip{transform:translateY(14px)}.js-motion .slip.is-in{transform:none;transition:transform .45s linear}.js-motion .slips li:nth-child(2) .slip.is-in{transition-delay:.08s}.js-motion .slips li:nth-child(3) .slip.is-in{transition-delay:.16s}.js-motion .slips li:nth-child(4) .slip.is-in{transition-delay:.24s}.cases{display:grid;gap:.75rem}.case{border:1px solid var(--line);background:#faf8f2;padding:.75rem}.case-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem}.case-row{display:flex;align-items:center;gap:.6rem}.flow-arrow{font-family:var(--mono);color:var(--oxide)}.doc-stack{position:relative;width:78px;height:96px;flex:none}.doc-stack i{position:absolute;inset:12px 10px 0 0;background:var(--paper);border:1px solid var(--ink)}.doc-stack i:nth-child(1){transform:rotate(-7deg) translate(-4px,4px)}.doc-stack i:nth-child(2){transform:rotate(-2deg)}.doc-stack i:nth-child(3){transform:rotate(4deg) translate(6px,-4px)}.answer-slip{flex:1;min-height:0}.line-frame{position:relative;height:92px;border:1px solid var(--ink);background:var(--paper)}.line-frame>span{position:absolute;width:28px;height:18px;background:var(--line)}.line-frame>span:nth-child(1){left:12px;top:22px}.line-frame>span:nth-child(2){left:46px;top:22px}.line-frame>span:nth-child(3){left:80px;top:22px}.line-frame>span:nth-child(4){left:12px;top:52px}.defect{position:absolute;left:44px;top:18px;width:32px;height:26px;border:1.5px solid var(--oxide)}.phases{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.85rem}.phases li{border-top:2px solid var(--line);padding-top:.45rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.js-motion .demo-copy,.js-motion .demo-copy *{animation:none!important}.js-motion .phases li{animation:phase 7.8s linear infinite}.js-motion .phases li:nth-child(2){animation-delay:-5.2s}.js-motion .phases li:nth-child(3){animation-delay:-2.6s}@keyframes phase{0%,22%{border-top-color:var(--oxide)}32%,to{border-top-color:var(--line)}}.js-motion .case.is-on{border-color:var(--ink)}.js-motion .case.is-on .doc-stack i:nth-child(3){transform:rotate(2deg) translate(10px,-10px);transition:transform .4s linear}.faq{margin-top:1.25rem}.faq dt{font-size:1.25rem;letter-spacing:-.02em;padding-top:1rem;border-top:1px solid var(--line)}.faq dd{margin:.4rem 0 1rem;max-width:40rem;color:var(--ink)}.work-list{list-style:none;display:grid;grid-template-columns:1fr;margin-top:.5rem;border-top:1px solid var(--line)}.work-list>li{display:flex;min-width:0}.work-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1;width:100%;padding:1.35rem 1rem 1.3rem;border-bottom:1px solid var(--line);border-right:0;scroll-margin-top:5.5rem}.work-card .work-icon{width:3.25rem;height:3.25rem}.work-icon :is(path,circle){stroke-dasharray:1;stroke-dashoffset:0}.js-motion .work-icon :is(path,circle){stroke-dasharray:.78 .22;animation:work-trace 4.8s linear infinite}.work-card.is-paused .work-icon :is(path,circle){animation-play-state:paused}.work-list>li:nth-child(2) .work-icon :is(path,circle){animation-delay:-.8s}.work-list>li:nth-child(3) .work-icon :is(path,circle){animation-delay:-1.6s}.work-list>li:nth-child(4) .work-icon :is(path,circle){animation-delay:-2.4s}.work-list>li:nth-child(5) .work-icon :is(path,circle){animation-delay:-3.2s}.work-list>li:nth-child(6) .work-icon :is(path,circle){animation-delay:-4s}@keyframes work-trace{to{stroke-dashoffset:-1}}.work-area{margin-top:.85rem;font-size:clamp(1.55rem,2.2vw,1.95rem);letter-spacing:-.03em;line-height:1.05}.work-name{margin-top:.4rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.02em;color:var(--oxide)}.work-desc{margin-top:.7rem;max-width:38rem;line-height:1.5}.work-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:auto;padding-top:1.15rem}@media (min-width: 640px){.work-list{grid-template-columns:1fr 1fr}.work-card{border-right:1px solid var(--line)}.work-list>li:nth-child(2n) .work-card{border-right:0}}@media (min-width: 880px){.work-list{grid-template-columns:repeat(3,1fr)}.work-list>li:nth-child(2n) .work-card{border-right:1px solid var(--line)}.work-list>li:nth-child(3n) .work-card{border-right:0}.service-pair{grid-template-columns:minmax(16rem,.92fr) minmax(0,1.08fr);gap:2.5rem;align-items:start}.slips{grid-template-columns:1fr 1fr}.span-2{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-sketch .mark{transform:none!important;opacity:1!important;color:var(--ink)!important}.hero-sketch .scribble{opacity:0!important}.hero-sketch .wire{stroke-dashoffset:0!important;opacity:1!important;color:var(--ink)!important}.cap-icon :is(path,circle),.work-icon :is(path,circle){stroke-dasharray:none!important;stroke-dashoffset:0!important;animation:none!important}.js-motion .slip{opacity:1;transform:none}.demo-media{display:block}.demo-video{display:none!important}.demo-poster{display:block}.demo-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.work-media{position:relative;width:100%;aspect-ratio:16 / 9;margin:0 0 1rem;overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}.work-media img,.work-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-media .work-clip{opacity:0;pointer-events:none;transition:opacity .25s ease}@media (hover: hover) and (prefers-reduced-motion: no-preference){.js-motion .work-card:hover .work-clip,.js-motion .work-card:focus-within .work-clip{opacity:1}}.work-area a{border-bottom:0}.work-area a:hover{color:var(--oxide)}.case-figure{margin:1.75rem 0 0}.case-figure img,.case-figure video,.case-media{width:100%;border:1px solid var(--line);background:var(--paper-2)}.case-media{position:relative;aspect-ratio:960 / 600}.case-media picture{display:block;width:100%;height:100%}.case-media img,.case-media video{width:100%;height:auto;display:block;border:0}.case-video{display:none}.js-motion .case-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .3s ease}.js-motion .case-media.is-playing .case-video{opacity:1}.case-play{position:absolute;right:.9rem;bottom:.9rem;z-index:1;min-height:44px;padding:.45rem .85rem;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.case-play:hover{background:var(--oxide)}@media (prefers-reduced-motion: reduce){.case-play{display:none}}.case-figure figcaption{margin-top:.7rem;font-size:.95rem;color:var(--muted);max-width:46rem;line-height:1.5}.case-shots{display:grid;gap:1.5rem;margin-top:1.75rem}.case-stats{list-style:none;display:grid;grid-template-columns:1fr;gap:1.25rem;margin:1.6rem 0 1.8rem;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-stat-num{font-size:clamp(2.1rem,5vw,3.1rem);letter-spacing:-.03em;color:var(--oxide);line-height:1}.case-stat-lbl{margin-top:.5rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.case-table-wrap{overflow-x:auto;margin:1.5rem 0;-webkit-overflow-scrolling:touch}.case-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:36rem}.case-table th{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;font-weight:500;color:var(--muted);border-bottom:1px solid var(--ink);padding:.6rem .75rem .6rem 0}.case-table td,.case-table tbody th{border-bottom:1px solid var(--line);padding:.6rem .75rem .6rem 0;text-align:left;font-weight:400}.case-table tbody th{font-family:var(--mono);font-size:.82rem;letter-spacing:0;text-transform:none;border-bottom:1px solid var(--line);color:var(--ink)}.case-table .num{font-family:var(--mono);font-variant-numeric:tabular-nums}.case-table tfoot th,.case-table tfoot td{font-weight:500;border-bottom:0;border-top:1px solid var(--ink);padding-top:.75rem}.case-method{margin-top:.5rem}.close-note{margin-top:1rem;max-width:40rem}.close .code-panel{margin-top:1.5rem;background:#161410;color:var(--paper);border-color:#3a352e}.close .code-label{color:#c9c0b0}.close .code-label button{color:var(--paper)}.close .code-panel pre{color:#ebe4d6}@media (min-width: 640px){.case-stats{grid-template-columns:repeat(3,1fr);gap:1.5rem}.case-shots{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.work-media .work-clip,.case-video{display:none!important}.work-media .work-poster,.case-poster{display:block!important;visibility:visible!important}}.prose-block a,.case-method a{font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;border-bottom:1px solid currentColor;padding-bottom:0}.prose-block a:hover,.case-method a:hover{color:var(--oxide)}.close .code-panel{background:#161410;border-color:#3a352e}.close .code-label{background:#161410;color:#c9c0b0;border-bottom-color:#3a352e}.close .code-panel pre{background:#161410}.work-companion{margin-top:.7rem;font-size:.95rem;line-height:1.45;color:var(--muted);max-width:38rem}.work-companion a{border-bottom:1px solid currentColor;font-family:var(--mono);font-size:.85em}.work-companion a:hover{color:var(--oxide)}
