*,:before,:after{box-sizing:border-box}*{margin:0}:root{--paper:#fff;--paper-sunk:#f4f5f7;--ink:#101114;--ink-soft:#4a4f57;--ink-faint:#6a6f78;--rule:#101114;--thin:#d9dbe0;--blue:#1533cc;--blue-lift:#8fa0ff;--fault:#e8a200;--wash:#e9ebf0;--measure:34rem;--gutter:clamp(1.25rem, 4vw, 4rem);--rhythm:clamp(3rem, 7vw, 5.5rem);--display:var(--font-display), "Helvetica Neue", Helvetica, Arial, sans-serif;--body:var(--font-body), system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, monospace}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:clamp(.975rem,.94rem + .18vw,1.05rem);font-weight:400;line-height:1.5}img{block-size:auto;max-inline-size:100%;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}::selection{background:var(--blue);color:var(--paper)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:10;background:var(--ink);color:var(--paper);text-transform:uppercase;letter-spacing:.1em;padding:.6rem 1rem;font-size:.8rem;position:absolute;inset-block-start:-100%;inset-inline-start:var(--gutter)}.skip:focus{inset-block-start:.75rem}.shell{padding-inline:var(--gutter)}h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;font-weight:800;line-height:1}h2.head,.head{text-transform:uppercase;font-size:clamp(1.6rem,1rem + 2.6vw,2.9rem)}.tag{letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-block-end:.9rem;font-size:.7rem;font-weight:700;display:block}.masthead{border-block-end:2px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1rem;display:flex;position:relative}.mark{font-family:var(--display);letter-spacing:-.04em;font-size:1.5rem;font-weight:800;line-height:1;text-decoration:none}.mark:after{content:".";color:var(--blue)}.masthead nav{letter-spacing:.09em;text-transform:uppercase;gap:clamp(1rem,2.5vw,1.75rem);font-size:.78rem;font-weight:600;display:flex}.masthead nav a{color:var(--ink);text-decoration:none;transition:color .15s}.masthead nav a:hover{color:var(--blue)}.mast-cat{--mast-cat-x:.04;--mast-cat-size:clamp(2.2rem, 3vw, 3.1rem);--mast-cat-w:calc(var(--mast-cat-size) * 64 / 44);--mast-cat-foot:calc(var(--mast-cat-size) * 5 / 44);inline-size:auto;block-size:var(--mast-cat-size);pointer-events:none;fill:none;stroke:var(--ink);stroke-linejoin:miter;position:absolute;inset-block-end:calc(var(--mast-cat-foot) * -1);inset-inline-start:calc(var(--mast-cat-x) * (100% - var(--mast-cat-w)))}.mast-cat path{stroke-width:1.5px;vector-effect:non-scaling-stroke}.mast-cat .c-far{stroke:var(--ink-faint)}.mast-cat .c-eye,.mast-cat .c-mouth{stroke-width:1.1px}.mast-cat .c-cast{display:none}.mast-cat .c-body,.mast-cat .c-head{fill:var(--paper)}.mast-cat .c-wash{fill:var(--wash);stroke:none}.mast-cat .c-ear{fill:var(--wash);stroke:var(--ink-faint)}.hero{padding-block:clamp(2rem,5vw,4rem) clamp(1.25rem,2.5vw,2.25rem)}.hero h1{max-inline-size:24ch;margin-block-start:.6rem;font-size:clamp(2rem,1rem + 3.6vw,3.9rem)}.hero .kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--blue);max-inline-size:60ch;font-size:.75rem;font-weight:700;display:block}.hero-said{min-inline-size:0}.hero-shown{min-inline-size:0;margin-block-start:1.25rem}@media (width>=60rem){.hero:has(.hero-shown){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:clamp(2rem,4vw,3.5rem);display:grid}.hero-shown{margin-block-start:0}}.build-foot{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;margin-block-start:.75rem;display:flex}.hero .intro{max-inline-size:46ch;color:var(--ink-soft);text-wrap:pretty;margin-block:1.25rem 0;font-size:clamp(.95rem,.9rem + .25vw,1.08rem);line-height:1.5}.hero .hint{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;margin-inline-start:auto;font-size:.72rem;font-weight:600}.hero .hint b{color:var(--blue)}.build{container-type:inline-size}@media (width<=60rem){.build{max-inline-size:30rem}}.b-rig{isolation:isolate;align-items:flex-end;padding-block-end:4%;display:flex;position:relative}.b-win{border:2px solid var(--rule);background:var(--paper);inline-size:76%;container-type:inline-size}.b-chrome{border-block-end:2px solid var(--rule);align-items:center;gap:1.2cqi;padding:1.6cqi 1.8cqi;display:flex}.b-chrome i{background:var(--thin);flex:none;block-size:1.5cqi;inline-size:1.5cqi}.b-bar{background:var(--thin);flex:1;block-size:1.5cqi;margin-inline-start:1.5cqi;position:relative}.b-bar-fill{background:var(--blue);inline-size:100%;position:absolute;inset-block:0;inset-inline-start:0}.b-stage{isolation:isolate;aspect-ratio:16/10;flex-direction:column;gap:2.4cqi;padding:3cqi;display:flex;position:relative}.b-guide{background:var(--blue);opacity:0;block-size:1px;position:absolute;inset-block-start:38%;inset-inline:3cqi}.b-guide+.b-guide{inset-block-start:68%}.b-picks{gap:2.4cqi;display:flex;position:absolute;inset:3cqi}.b-pick{border:2px solid var(--thin);background:var(--paper);opacity:0;flex-direction:column;flex:1;gap:1.6cqi;padding:1.6cqi;display:flex}.b-pick i{background:var(--thin);block-size:2px;display:block}.b-pick .p-nav{background:var(--rule)}.b-pick .p-media{background:repeating-linear-gradient(45deg, var(--ink-faint) 0 1px, transparent 1px 5px);flex:1;min-block-size:5cqi}.b-pick .p-media.short{flex:0 0 16%}.b-pick .p-line.short{inline-size:58%}.b-block{background:var(--thin);display:block}.b-nav{background:var(--rule);block-size:2px}.b-head{background:var(--ink);block-size:5cqi;inline-size:72%}.b-cols{flex:1;gap:2.6cqi;min-block-size:0;display:flex}.b-media{flex:0 0 44%;display:flex;position:relative}.b-media-fill{background:repeating-linear-gradient(45deg, var(--ink-faint) 0 1px, transparent 1px 6px);position:absolute;inset:0}.b-cat{fill:none;block-size:auto;inline-size:62%;stroke:var(--ink);stroke-width:2px;stroke-linejoin:miter;vector-effect:non-scaling-stroke;margin:auto;position:relative}.b-lines{flex-direction:column;flex:1;justify-content:space-between;gap:2.4cqi;display:flex}.b-para{flex-direction:column;gap:1.8cqi;display:flex}.b-line{block-size:2px}.b-line.short{inline-size:68%}.b-cta{background:var(--blue);block-size:3cqi;inline-size:58%}.b-phone{border:2px solid var(--rule);background:var(--paper);outline:.8cqi solid var(--paper);inline-size:26%;margin-block-end:-4%;margin-inline-start:-2%;position:relative;container-type:inline-size}.b-screen{aspect-ratio:39/74;position:relative}.b-p-page{flex-direction:column;gap:4cqi;padding:6cqi;display:flex;position:absolute;inset:0}.b-p-wait{z-index:1;opacity:0;flex-direction:column;gap:4cqi;display:flex;position:absolute;inset:6cqi}.w-title{background:var(--thin);block-size:5cqi;inline-size:56%}.w-bar{border:2px solid var(--thin);block-size:6cqi;min-block-size:9px;display:block}.w-fill{background:var(--blue);block-size:100%;inline-size:0%;display:block}.w-plate{border:2px solid var(--thin);flex:1;min-block-size:0}.w-row{background:var(--thin);block-size:2px}.w-row.short{inline-size:58%}.b-p-nav{background:var(--rule);block-size:2px}.b-p-headrow{align-items:center;gap:1.5cqi;display:flex}.b-p-head{background:var(--ink);block-size:9cqi;inline-size:68%}.b-caret{background:var(--blue);opacity:0;flex:none;block-size:11cqi;inline-size:2px}.b-p-media{aspect-ratio:4/3;flex:none;position:relative}.b-p-line{block-size:2px}.b-p-line.short{inline-size:64%}.b-p-cta{background:var(--blue);block-size:6cqi;inline-size:62%;margin-block-start:auto}.b-grip{background:var(--thin);block-size:2px;inline-size:34%;margin-block:2.5cqi;margin-inline:auto;display:block}.b-ok{z-index:2;fill:none;block-size:auto;inline-size:34%;stroke:var(--blue);stroke-linejoin:miter;opacity:0;position:absolute;inset-block-start:36%;inset-inline-start:33%}.b-ok path{stroke-width:3px;vector-effect:non-scaling-stroke}.b-fig{z-index:3;fill:none;block-size:58%;inline-size:auto;stroke:var(--ink);stroke-linejoin:miter;transform-origin:50% 100%;opacity:0;position:absolute;inset-block-end:calc(6% + var(--rise,0) * 51%);inset-inline-start:calc(-4.7% + var(--walk,0) * 82%)}.b-fig path{stroke-width:2px;vector-effect:non-scaling-stroke}.b-fig .f-far{stroke:var(--ink-faint)}.b-fig .f-belt{stroke-width:3.4px}.b-fig .f-rib,.b-fig .f-eye{stroke-width:1.5px}.b-fig .f-boot{stroke-width:3.6px}.b-fig .f-cast{stroke:var(--thin);stroke-width:2.6px}.b-fig .f-hem,.b-fig .f-coat,.b-fig .f-head{fill:var(--paper)}.b-fig .f-wash{fill:var(--wash);stroke:none}.b-fig .f-hem-far{fill:var(--wash);stroke:var(--ink-faint)}.b-mog{z-index:3;--mog-size:17%;--mog-foot:calc(var(--mog-size) * 5 / 44);block-size:var(--mog-size);fill:none;inline-size:auto;stroke:var(--ink);stroke-linejoin:miter;opacity:0;position:absolute;inset-block-end:calc(var(--mog-y,.073) * 100% - var(--mog-foot));inset-inline-start:calc(var(--mog-x,0) * 82%)}.b-mog path{stroke-width:2px;vector-effect:non-scaling-stroke}.b-mog .c-far{stroke:var(--ink-faint)}.b-mog .c-eye,.b-mog .c-mouth{stroke-width:1.4px}.b-mog .c-cast{stroke:var(--thin);stroke-width:2.6px}.b-mog .c-body,.b-mog .c-head{fill:var(--paper)}.b-mog .c-wash{fill:var(--wash);stroke:none}.b-mog .c-ear{fill:var(--wash);stroke:var(--ink-faint)}.b-star{z-index:3;fill:none;block-size:auto;inline-size:3.6%;stroke:var(--ink);stroke-linejoin:miter;opacity:0;position:absolute;inset-block-start:calc(var(--sy,.3) * 100%);inset-inline-start:calc(var(--sx,.4) * 100%)}.b-star path{stroke-width:2px;vector-effect:non-scaling-stroke}.b-thud{z-index:3;fill:none;block-size:auto;inline-size:13%;stroke:var(--ink-faint);stroke-linejoin:miter;opacity:0;position:absolute;inset-block-start:calc(var(--dy,.94) * 100% - 4%);inset-inline-start:calc(var(--dx,.2) * 82% - 4%)}.b-thud path{stroke-width:2px;vector-effect:non-scaling-stroke}.b-drops{z-index:2;block-size:0;position:absolute;inset-block-end:0;inset-inline:0}.b-drop{border:2px solid var(--rule);background:var(--paper);font-family:var(--mono);letter-spacing:.06em;color:var(--ink);white-space:nowrap;opacity:0;align-items:center;gap:.8cqi;padding:.7cqi 1.2cqi;font-size:clamp(.5rem,2.1cqi,.68rem);line-height:1;display:flex;position:absolute;inset-block-end:0;inset-inline-start:calc(var(--at,30) * 1%)}.d-php{--at:2}.d-py{--at:13}.d-secret{--at:27}.d-js{--at:44}.d-cs{--at:54}.d-snake{fill:none;block-size:auto;inline-size:3.4cqi;min-inline-size:12px;stroke:var(--ink-faint);stroke-width:1.5px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.b-tui,.b-gal,.b-sys{z-index:1;background:var(--paper);opacity:0;position:absolute;inset:3cqi}.b-shell{z-index:1;border:2px solid var(--rule);background:var(--paper);opacity:0;flex-direction:column;justify-content:flex-start;gap:3cqi;padding:3.4cqi 4cqi;display:flex;position:absolute;inset:3cqi}.sh-line{align-items:center;gap:1.6cqi;min-block-size:2px;display:flex}.sh-line i{transform-origin:0;block-size:2px;display:block}.sh-tok{background:var(--thin);inline-size:30%}.sh-tok.short{inline-size:15%}.sh-sig{background:var(--ink);flex:none;inline-size:2cqi;block-size:2.6cqi!important}.sh-cmd .sh-tok{background:var(--ink)}.sh-tick{border-inline-start:2px solid var(--ink-faint);border-block-end:2px solid var(--ink-faint);background:0 0;flex:none;inline-size:2.2cqi;rotate:-45deg;block-size:1.4cqi!important}.sh-ok .sh-tick{border-color:var(--blue)}.sh-ok .sh-tok{background:var(--blue)}.sh-meter{border:2px solid var(--thin);block-size:2.6cqi;margin-inline-start:3.8cqi;display:block}.sh-fill{background:var(--ink-faint);block-size:100%;inline-size:0%;display:block}.b-code{z-index:1;border-inline-start:2px solid var(--rule);background:var(--paper);opacity:0;flex-direction:column;justify-content:center;gap:2.2cqi;inline-size:46%;padding:2.4cqi;display:flex;position:absolute;inset-block:3cqi;inset-inline-end:3cqi}.c-line{align-items:center;gap:1.4cqi;min-block-size:2px;display:flex}.c-line.in1{padding-inline-start:3cqi}.c-line.in2{padding-inline-start:6cqi}.c-line:before{content:"";background:var(--thin);flex:none;block-size:2px;inline-size:1.2cqi}.c-line i{background:var(--thin);transform-origin:0;block-size:2px;display:block}.c-line .c-tok{inline-size:26%}.c-line .c-tok.short{inline-size:14%}.c-line .c-key{background:var(--ink);inline-size:18%}.c-line .c-key.short{inline-size:8%}.b-tui{border:2px solid var(--rule);flex-direction:column;display:flex}.t-head{border-block-end:2px solid var(--rule);align-items:center;gap:2cqi;padding:1.8cqi 2cqi;display:flex}.t-title{background:var(--ink);block-size:2.2cqi;inline-size:24%}.t-tab{background:var(--thin);block-size:2px;inline-size:16%}.t-body{flex:1;min-block-size:0;display:flex}.t-side{border-inline-end:2px solid var(--rule);flex-direction:column;flex:0 0 26%;gap:2.4cqi;padding:2.2cqi;display:flex}.t-main{flex-direction:column;flex:1;gap:2.4cqi;padding:2.2cqi;display:flex}.t-item,.t-row{background:var(--thin);transform-origin:0;block-size:2px;display:block}.t-item:first-child{inline-size:82%}.t-item:nth-child(2){inline-size:64%}.t-item:nth-child(3){inline-size:90%}.t-item:nth-child(4){inline-size:58%}.t-item:nth-child(5){inline-size:74%}.t-row:first-child{inline-size:88%}.t-row:nth-child(2){inline-size:62%;margin-inline-start:6%}.t-row:nth-child(3){inline-size:76%;margin-inline-start:6%}.t-row:nth-child(4){inline-size:54%;margin-inline-start:6%}.t-row:nth-child(5){inline-size:82%;margin-inline-start:6%}.t-row:nth-child(6){inline-size:46%;margin-inline-start:6%}.t-row:nth-child(7){inline-size:68%}.t-status{border-block-start:2px solid var(--rule);gap:2.4cqi;padding:1.8cqi 2cqi;display:flex}.t-key{background:var(--thin);transform-origin:0;block-size:2.2cqi;display:block}.t-key:first-child{background:var(--blue);inline-size:18%}.t-key:nth-child(2){inline-size:26%}.t-key:nth-child(3){inline-size:14%}.b-gal{flex-direction:column;gap:2.4cqi;display:flex}.g-nav,.g-head,.g-foot{transform-origin:0;display:block}.g-nav{background:var(--rule);block-size:2px}.g-head{background:var(--ink);block-size:4cqi;inline-size:46%}.g-foot{background:var(--thin);block-size:2px;inline-size:38%}.g-grid{flex:1;grid-template-columns:repeat(3,1fr);gap:2cqi;min-block-size:0;display:grid}.g-cell{border:1px solid var(--thin);background:repeating-linear-gradient(45deg, var(--ink-faint) 0 1px, transparent 1px 6px)}.s-node,.s-store,.s-cell{fill:var(--paper)}.s-node,.s-store,.s-shelf,.s-cell,.s-label{stroke:var(--rule);stroke-width:2px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.s-shelf,.s-label{stroke:var(--thin)}.s-label{stroke-width:2px}.s-wire,.s-retry{fill:none;stroke:var(--blue);stroke-width:2px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.s-retry{opacity:0}.s-bolt{fill:var(--fault);stroke:var(--paper);stroke-width:4px;stroke-linejoin:miter;paint-order:stroke;vector-effect:non-scaling-stroke;opacity:0}.b-flash{z-index:2;background:var(--fault);opacity:0;pointer-events:none;position:absolute;inset:0}.s-guard{fill:none;stroke:var(--blue);stroke-width:2px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.b-says{min-block-size:4.6rem;margin-block-start:.85rem;position:relative}.b-promise{max-inline-size:46ch;color:var(--ink);text-align:end;text-wrap:pretty;margin:0;margin-inline-start:auto;font-size:.82rem;line-height:1.45}.b-tell{z-index:4;pointer-events:none;position:absolute;inset:0}.b-tell-line{opacity:0;text-wrap:pretty;max-inline-size:min(54ch,100%);translate:0 calc(var(--stack,0) * -2.3em);margin:0;position:absolute;inset-block-end:0;inset-inline-start:0}.b-say-text{text-wrap:pretty;margin:0}.b-line-narrator{border-inline-start:3px solid var(--blue);font-family:var(--display);letter-spacing:-.02em;color:var(--ink);padding-inline-start:.55rem;font-size:clamp(.72rem,.6rem + .5vw,.92rem);font-weight:800;line-height:1.2}.b-line-sk{color:var(--ink);font-size:clamp(.78rem,.63rem + .55vw,1rem);line-height:1.35}.b-veil{z-index:1;background:var(--paper);opacity:0;position:absolute;inset:0}.b-veil.is-fault{background-image:repeating-linear-gradient(45deg, transparent 0 14px, var(--thin) 14px 15px, transparent 15px 43px, var(--fault) 43px 44px)}.b-notes{z-index:2;flex-direction:column;gap:clamp(.4rem,1.4cqi,.9rem);inline-size:min(76%,32rem);margin:0;padding:0;list-style:none;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.b-note{border:2px solid var(--rule);background:var(--paper);opacity:0;flex-direction:column;gap:clamp(.15rem,.6cqi,.35rem);padding:clamp(.45rem,1.6cqi + .3vw,1rem) clamp(.55rem,1.9cqi + .35vw,1.2rem);display:flex}.b-note b{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fault);font-size:clamp(.58rem,1.05cqi + .5vw,.84rem);font-weight:700;line-height:1}.b-note span{text-wrap:balance;color:var(--ink);font-size:clamp(.68rem,1.25cqi + .62vw,1.05rem);line-height:1.35}.b-credits{z-index:2;border:2px solid var(--rule);background:var(--paper);opacity:0;inline-size:min(78%,30rem);margin:0;padding:clamp(.6rem,2cqi,1.1rem) clamp(.8rem,3cqi,1.6rem);position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.b-cred{opacity:0;flex-wrap:wrap;align-items:baseline;gap:.15rem .7rem;padding-block:.22rem;display:flex}.b-cred+.b-cred{border-block-start:1px solid var(--thin)}.b-cred dt{letter-spacing:.14em;text-transform:uppercase;min-inline-size:8.5rem;color:var(--ink-faint);flex:none;font-size:.62rem;font-weight:700}.b-cred dd{min-inline-size:0;font-family:var(--display);letter-spacing:-.02em;color:var(--ink);flex:1;margin:0;font-size:clamp(.72rem,.62rem + .4vw,.9rem);font-weight:800}.b-cred-list{margin:0}.b-end{border-block-start:1px solid var(--thin);opacity:0;visibility:hidden;margin:.55rem 0 0;padding-block-start:.5rem}.b-credits.is-live .b-end{visibility:visible}.b-tease{text-align:center;text-wrap:pretty;color:var(--ink-faint);margin:0 0 .5rem;font-size:clamp(.64rem,.56rem + .3vw,.78rem);font-style:italic;line-height:1.35}.b-end-row{pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .6rem;display:flex}.b-again,.b-follow{border:2px solid var(--ink);background:var(--paper);font-family:var(--display);letter-spacing:-.01em;color:var(--ink);cursor:pointer;padding:.3rem .6rem;font-size:clamp(.64rem,.56rem + .3vw,.78rem);font-weight:700;line-height:1.2;text-decoration:none;display:inline-block}.b-again{border-color:var(--thin);color:var(--ink-faint)}.b-follow{background:var(--ink);color:var(--paper)}.b-again:hover{border-color:var(--ink);color:var(--ink)}.b-follow:hover{background:var(--blue);border-color:var(--blue)}.b-again:focus-visible,.b-follow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.b-tell:has([data-sk-edit-state]){background:var(--paper);pointer-events:auto;flex-direction:column;gap:.3rem;padding:.5rem;display:flex;overflow:auto}.b-tell:has([data-sk-edit-state]) .b-notes,.b-tell:has([data-sk-edit-state]) .b-credits{inline-size:auto;max-inline-size:none;position:static;translate:none;opacity:1!important}.b-tell:has([data-sk-edit-state]) .b-cred,.b-tell:has([data-sk-edit-state]) .b-end{visibility:visible;opacity:1!important}.b-tell:has([data-sk-edit-state]) .b-note{opacity:1!important}.b-tell:has([data-sk-edit-state]) .b-veil{display:none}.b-says:has([data-sk-edit-state]){flex-direction:column;gap:.3rem;display:flex}.b-says:has([data-sk-edit-state]) .b-tell-line{border:1px solid var(--thin);background:var(--paper);max-inline-size:none;padding:.4rem .55rem;position:static;translate:none;opacity:1!important}.b-says:has([data-sk-edit-state]) .b-promise{display:none}.railwrap{border-block:2px solid var(--rule)}.rail{scroll-snap-type:inline mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;display:flex;overflow-x:auto}.rail{scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.card{scroll-snap-align:start;border-inline-end:1px solid var(--thin);flex-direction:column;flex:0 0 clamp(17.5rem,28vw,26rem);gap:.75rem;padding:1.25rem;display:flex}.js .card{opacity:0;animation:.6s cubic-bezier(.2,.7,.2,1) forwards card-enter;transform:translate(2.5rem)}.js .card:first-child{animation-delay:50ms}.js .card:nth-child(2){animation-delay:.13s}.js .card:nth-child(3){animation-delay:.21s}.js .card:nth-child(4){animation-delay:.29s}.js .card:nth-child(n+5){animation-delay:.35s}@keyframes card-enter{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.js .card{opacity:1;animation:none;transform:none}}.card .num{letter-spacing:.09em;text-transform:uppercase;color:var(--blue);font-size:.72rem;font-weight:700}.card .shots{align-items:flex-end;padding-block-end:2.2rem;display:flex}.card .device{border:2px solid var(--rule);background:var(--paper-sunk)}.card .desk{inline-size:76%}.card .desk .chrome{border-block-end:2px solid var(--rule);background:var(--paper);align-items:center;gap:.2rem;padding:.3rem .35rem;display:flex}.card .desk .chrome i{background:var(--thin);block-size:.28rem;inline-size:.28rem}.card .desk .chrome .bar{background:var(--thin);flex:1;block-size:.28rem;margin-inline-start:.3rem}.card .phone{outline:.25rem solid var(--paper);inline-size:26%;margin-block-end:-2.2rem;margin-inline-start:-2%;position:relative}.card .phone .grip{background:var(--thin);block-size:2px;inline-size:34%;margin-block:.3rem;margin-inline:auto;display:block}.card .shots:not(:has(.phone)){padding-block-end:0}.card .shots:not(:has(.phone)) .desk{inline-size:100%}.card .glass{display:block;overflow:hidden}.card .desk .glass{aspect-ratio:16/10}.card .phone .glass{aspect-ratio:39/84}.card .glass img{object-fit:cover;object-position:center 0%;block-size:100%;inline-size:100%;animation:34s ease-in-out infinite alternate shot-scroll;animation-delay:var(--shot-offset,0s)}.card .phone .glass img{animation-duration:41s;animation-delay:calc(var(--shot-offset,0s) - 9s)}@keyframes shot-scroll{0%,14%{object-position:center 0%}86%,to{object-position:center 100%}}.card:nth-child(2){--shot-offset:-6s}.card:nth-child(3){--shot-offset:-13s}.card:nth-child(4){--shot-offset:-20s}.card:nth-child(n+5){--shot-offset:-27s}.card.rest .glass img{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.card .glass img{object-position:center 0%;animation:none}}.card .reel-glass{display:grid;position:relative}.card .reel-glass>*{grid-area:1/1}.card .reel-pane{object-position:center 0%;opacity:0;animation:none}.card .reel-pane:first-of-type,.card .reel-say:first-of-type{opacity:1}.card .reel.driven .reel-pane:first-of-type{opacity:0}.card .reel.driven .reel-pane.on{opacity:1}.card .reel-pane{transition:opacity .42s}.card .desk .chrome .bar{align-items:center;display:flex}.reel-name{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;padding-inline:.35rem;font-size:.5rem;font-weight:700;line-height:1;overflow:hidden}.card .reel .chrome .bar{background:0 0;block-size:auto;min-block-size:.28rem}.reel-sweep{z-index:2;background:var(--blue);opacity:0;inline-size:16%;position:absolute;inset-block:0;inset-inline-start:-22%}.reel-sweep.go{animation:.62s linear reel-sweep}@keyframes reel-sweep{0%{opacity:1;inset-inline-start:-22%}to{opacity:1;inset-inline-start:100%}}.reel-says{min-block-size:1.2em;display:grid}.reel-says>*{grid-area:1/1}.reel-say{opacity:0;font-weight:700;transition:opacity .42s}.card .reel-say.on{opacity:1}@media (prefers-reduced-motion:reduce){.reel-pane,.reel-say{transition:none}.reel-sweep{display:none}}.card-client{letter-spacing:.04em;color:var(--ink-faint);font-size:.78rem;display:block}.card h3{letter-spacing:-.02em;font-size:1.15rem;line-height:1.1}.card .what{color:var(--ink-soft);font-size:.875rem;line-height:1.5}.card .more{margin-block-start:auto}.card .more>summary{cursor:pointer;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);border-block-start:1px solid var(--thin);justify-content:space-between;gap:.75rem;padding-block:.5rem;font-size:.72rem;font-weight:700;list-style:none;display:flex}.card .more>summary::-webkit-details-marker{display:none}.card .more>summary:after{content:"+";color:var(--blue)}.card .more[open]>summary:after{content:"–"}.card .more>summary:hover{color:var(--blue)}.card.card-last{background:var(--blue);color:var(--paper);border-inline-end:0;justify-content:center;gap:1.25rem}.card.card-last .num{color:var(--blue-lift)}.card.card-last a{font-family:var(--display);letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(1.4rem,1rem + 1.4vw,2rem);font-weight:800;line-height:1.05;text-decoration:none}.card.card-last a:after{content:" →"}.progress{border-block-end:1px solid var(--thin);align-items:center;gap:1.25rem;padding-block:.75rem;display:flex}.progress .counter{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:.8rem;font-weight:700}.progress .track{background:var(--thin);flex:1;block-size:2px;position:relative}#rail-track{cursor:pointer;touch-action:none}#rail-track:before{content:"";position:absolute;inset-block:-.8rem;inset-inline:0}#rail-track:focus-visible{outline:2px solid var(--blue);outline-offset:.55rem}#rail-track.is-grabbed{cursor:grabbing}.progress .fill{background:var(--blue);inline-size:10%;transition:inline-size .12s linear;position:absolute;inset-block:0;inset-inline-start:0}section.band{padding-block:var(--rhythm)}section.band.after-hero{padding-block-start:clamp(1rem,2vw,1.75rem)}.record{border-block-start:2px solid var(--rule);margin-block-start:1.75rem;padding:0;list-style:none}.record>li{border-block-end:1px solid var(--thin);grid-template-columns:3rem minmax(0,1fr);gap:.25rem 1rem;padding-block:1.1rem;display:grid}.record .n{color:var(--blue);letter-spacing:.04em;padding-block-start:.15rem;font-size:.8rem;font-weight:800}.record .claim{max-inline-size:40ch;font-size:1rem;font-weight:500}.record h3{letter-spacing:-.015em;margin-block-end:.3rem;font-size:1.05rem}.record p{color:var(--ink-soft);max-inline-size:var(--measure);font-size:.95rem}@media (width>=60rem){.record.pairs{grid-template-columns:1fr 1fr;column-gap:3.5rem;display:grid}.record.pairs>li:nth-child(-n+2){border-block-start:0}}.section-head .lead{max-inline-size:var(--measure);color:var(--ink-soft);margin-block-start:.9rem}.conveyor{margin-block-start:3rem;position:relative}.conveyor .line{background:var(--rule);block-size:2px;position:relative}.conveyor .dot{background:var(--blue);block-size:.75rem;inline-size:.75rem;position:absolute;inset-block-start:-.3rem;inset-inline-start:calc(var(--travel,0) * (100% - .75rem))}.stations{justify-content:space-between;gap:1.25rem;margin-block-start:1rem;padding:0;list-style:none;display:flex}.station{flex:1 1 0;min-inline-size:0}.station .tick{background:var(--rule);block-size:.7rem;inline-size:2px;margin-block:-1.7rem .85rem;display:block}.station .glyph{fill:none;block-size:auto;inline-size:2rem;stroke:var(--ink);stroke-width:2px;vector-effect:non-scaling-stroke;margin-block-end:.75rem;transition:stroke .3s;display:block}.station.lit .glyph{stroke:var(--blue)}.station .n{letter-spacing:.08em;color:var(--ink-faint);font-size:.72rem;font-weight:800;display:block}.station h3{text-transform:uppercase;letter-spacing:.01em;margin-block-start:.2rem;font-size:clamp(.85rem,.6rem + .6vw,1.05rem);line-height:1.15;transition:color .3s}.station.lit h3{color:var(--blue)}.station p{color:var(--ink-soft);margin-block-start:.4rem;font-size:.8rem;line-height:1.45}.conveyor:not(.motion) .dot{inset-inline:auto 0}.conveyor:not(.motion) .station h3{color:var(--blue)}.conveyor:not(.motion) .station .glyph{stroke:var(--blue)}.hatch{margin-block-start:.6rem}.hatch>summary{cursor:pointer;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.5rem;inline-size:fit-content;padding-block:.2rem;font-size:.7rem;font-weight:700;list-style:none;transition:color .15s;display:inline-flex}.hatch>summary::-webkit-details-marker{display:none}.hatch>summary:hover{color:var(--blue)}.hatch>summary:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/55% 1px no-repeat,linear-gradient(currentColor,currentColor) 50%/1px 55% no-repeat;border:1px solid;flex:none;block-size:.8rem;inline-size:.8rem}.hatch[open]>summary:before{background:linear-gradient(currentColor,currentColor) 50%/55% 1px no-repeat}.hatch[open]>summary{color:var(--blue)}.hatch-body{border-inline-start:2px solid var(--blue);background:var(--paper-sunk);font-family:var(--mono);color:var(--ink-soft);max-inline-size:46rem;margin-block-start:.6rem;padding:.8rem .9rem;font-size:.78rem;line-height:1.6}@supports selector(::details-content){.hatch::details-content{opacity:0;block-size:0;transition:content-visibility .25s allow-discrete, opacity .25s, block-size .25s ease;overflow:hidden}.hatch[open]::details-content{opacity:1;block-size:auto}}.hard{margin-block-start:.9rem}.hard-line{font-size:.9rem;font-weight:600;line-height:1.35}.work-links{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:1.25rem;margin-block-start:.9rem;font-size:.78rem;font-weight:700;display:flex}.link-out{color:var(--ink);border-block-end:2px solid var(--blue);padding-block-end:2px;text-decoration:none;transition:color .15s}.link-out:after{content:" ↗";color:var(--blue)}.link-out:hover{color:var(--blue)}.contact{background:var(--ink);color:var(--paper);padding-block:clamp(3rem,7vw,5.5rem)}.contact .tag{color:var(--blue-lift)}.contact p{max-inline-size:var(--measure);color:#b8bcc4;margin-block-start:1rem}.mailto{background:var(--blue);color:var(--paper);letter-spacing:.01em;word-break:break-word;margin-block-start:2rem;padding-block:.9rem;padding-inline:1.6rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.mailto:hover{background:var(--ink);outline:2px solid var(--blue)}.contact-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-block-start:2rem;display:flex}.contact-actions .mailto{margin-block-start:0}.mailto.plain{color:#b8bcc4;background:0 0;border:2px solid #3a3d44;padding-block:calc(.9rem - 2px);padding-inline:calc(1.6rem - 2px)}.mailto.plain:hover{border-color:var(--blue-lift);color:var(--paper);background:0 0;outline:none}.hero-lead{max-inline-size:44ch;margin-block-start:1.1rem;font-size:clamp(1.02rem,.95rem + .45vw,1.25rem);line-height:1.45}.intro{max-inline-size:46rem;color:var(--ink-soft);font-size:clamp(1rem,.95rem + .4vw,1.2rem);line-height:1.5}.stack{border-block:2px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin-block-start:clamp(1.75rem,3.5vw,2.75rem);display:grid}.stack-cell{border-inline-end:1px solid var(--thin);padding:1.1rem 1.25rem 1.25rem}.stack-cell:last-child{border-inline-end:0}.stack dt{letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-size:.7rem;font-weight:700}.stack dd{font-family:var(--mono);text-wrap:pretty;color:var(--ink-soft);margin-block-start:.6rem;font-size:.76rem;line-height:1.55}.deep{border-block-start:2px solid var(--rule);grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem 3rem;padding-block:clamp(2rem,4vw,3rem) clamp(1.25rem,2.5vw,1.75rem);display:grid}@media (width>=60rem){.deep{grid-template-columns:minmax(0,38rem) minmax(0,19rem);justify-content:start;column-gap:3.5rem}}.deep .kind{letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-block-end:.55rem;font-size:.7rem;font-weight:700;display:block}.deep h3{text-transform:uppercase;font-size:clamp(1.35rem,1rem + 1.5vw,2.1rem)}.strip{scroll-snap-type:inline mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.frame{scroll-snap-align:start;flex-direction:column;flex:0 0 clamp(17rem,44vw,32rem);gap:.85rem;padding-inline-end:1.5rem;display:flex}.term{border:2px solid var(--rule);background:var(--paper-sunk)}.term-chrome{border-block-end:2px solid var(--rule);background:var(--paper);align-items:center;gap:.22rem;padding:.32rem .4rem;display:flex}.term-chrome i{background:var(--thin);block-size:.28rem;inline-size:.28rem}.term-name{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-inline-start:.5rem;font-size:.62rem;font-weight:700}.term-glass{aspect-ratio:1176/736;display:block;overflow:hidden}.term-glass img{object-fit:cover;object-position:center 0%;block-size:100%;inline-size:100%}.sample .term-glass{aspect-ratio:auto}.sample .term-glass img{object-fit:contain;block-size:auto}.frame figcaption{color:var(--ink-soft);font-size:.82rem;line-height:1.45}.frame figcaption b{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-block-end:.35rem;font-size:.7rem;font-weight:800;display:block}.strip-progress{margin-block-start:1.35rem}.viewer{max-inline-size:62rem;margin-block-start:clamp(1.25rem,2.5vw,2rem)}.viewer-frame{border:2px solid var(--rule);background:var(--paper-sunk)}.viewer-chrome{border-block-end:2px solid var(--rule);background:var(--paper);align-items:center;gap:.24rem;padding:.35rem .45rem;display:flex}.viewer-chrome i{background:var(--thin);block-size:.3rem;inline-size:.3rem}.viewer-name{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-inline-start:.55rem;font-size:.64rem;font-weight:700}.viewer-glass{aspect-ratio:8/5;display:grid;position:relative;overflow:hidden}.viewer-glass>*{grid-area:1/1}.screen{object-fit:cover;object-position:center 0%;opacity:0;block-size:100%;inline-size:100%;animation:26s linear infinite screen-swap}.viewer .screen:nth-child(2){animation-delay:6.5s}.viewer .screen:nth-child(3){animation-delay:13s}.viewer .screen:nth-child(4){animation-delay:19.5s}.viewer .screen:nth-child(n+5){animation-delay:26s}@keyframes screen-swap{0%{opacity:0}2%{opacity:1}24%{opacity:1}26%,to{opacity:0}}.viewer-sweep{z-index:2;background:var(--blue);opacity:0;inline-size:18%;animation:6.5s linear infinite viewer-sweep;position:absolute;inset-block:0;inset-inline-start:-22%}@keyframes viewer-sweep{0%{opacity:1;inset-inline-start:-22%}9%{opacity:1;inset-inline-start:100%}9.01%,to{opacity:0;inset-inline-start:-22%}}.viewer-tabs{display:none}.js .viewer-tabs{border-block-end:1px solid var(--thin);flex-wrap:wrap;display:flex}.viewer-tabs button{appearance:none;border:0;border-inline-end:1px solid var(--thin);font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;padding:.7rem 1rem .5rem;font-size:.72rem;font-weight:700}.viewer-tabs button:hover{color:var(--blue)}.viewer-tabs button:after{content:"";background:var(--blue);opacity:0;block-size:2px;margin-block-start:.45rem;animation:26s linear infinite screen-swap;display:block}.viewer-tabs button:nth-child(2):after{animation-delay:6.5s}.viewer-tabs button:nth-child(3):after{animation-delay:13s}.viewer-tabs button:nth-child(4):after{animation-delay:19.5s}.viewer-tabs button:nth-child(n+5):after{animation-delay:26s}.viewer-says{margin-block-start:1.1rem;display:grid}.viewer-says .say{max-inline-size:46rem;color:var(--ink-soft);opacity:0;grid-area:1/1;font-size:.9rem;line-height:1.5;animation:26s linear infinite screen-swap}.viewer-says .say:nth-child(2){animation-delay:6.5s}.viewer-says .say:nth-child(3){animation-delay:13s}.viewer-says .say:nth-child(4){animation-delay:19.5s}.viewer-says .say:nth-child(n+5){animation-delay:26s}.viewer-says .say b{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-inline-end:.6rem;font-size:.72rem;font-weight:800}.viewer.picked .screen,.viewer.picked .say,.viewer.picked .viewer-sweep,.viewer.picked .viewer-tabs button:after{animation:none}.viewer.picked .screen{transition:opacity .25s linear}.viewer.picked .screen.on,.viewer.picked .say.on,.viewer.picked .viewer-tabs button[aria-pressed=true]:after{opacity:1}.viewer.picked .viewer-tabs button[aria-pressed=true]{color:var(--ink)}.viewer.picked .viewer-sweep.go{animation:.6s linear viewer-sweep}.viewer.rest .screen,.viewer.rest .say,.viewer.rest .viewer-sweep,.viewer.rest .viewer-tabs button:after{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.viewer .screen,.viewer .say,.viewer .viewer-tabs button:after{animation:none}.viewer .viewer-sweep{opacity:0;animation:none}.viewer:not(.picked) .screen:first-child,.viewer:not(.picked) .say:first-child{opacity:1}}.console{max-inline-size:62rem;margin-block-start:clamp(1.25rem,2.5vw,2rem)}.console-frame{border:2px solid var(--rule);background:var(--paper-sunk)}.console-chrome{border-block-end:2px solid var(--rule);background:var(--paper);align-items:center;gap:.24rem;padding:.35rem .45rem;display:flex}.console-chrome i{background:var(--thin);block-size:.3rem;inline-size:.3rem}.console-name{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-inline-start:.55rem;font-size:.64rem;font-weight:700}.console-glass{isolation:isolate;aspect-ratio:8/5;display:grid;position:relative;overflow:hidden}.console-glass>*{grid-area:1/1}.pane{object-fit:cover;object-position:center 0%;opacity:0;block-size:100%;inline-size:100%;animation:27.6s step-end infinite console-swap}.console .pane:nth-child(2){animation-delay:4.6s}.console .pane:nth-child(3){animation-delay:9.2s}.console .pane:nth-child(4){animation-delay:13.8s}.console .pane:nth-child(5){animation-delay:18.4s}.console .pane:nth-child(6){animation-delay:23s}.console .pane:nth-child(n+7){animation-delay:27.6s}@keyframes console-swap{0%{opacity:1}16.6%{opacity:1}16.7%,to{opacity:0}}.console-load{z-index:3;background:var(--blue);opacity:0;block-size:3px;inline-size:0;position:absolute;inset-block-start:0;inset-inline-start:0}.console-load.go{animation:.62s linear console-load}@keyframes console-load{0%{opacity:1;inline-size:0}62%{opacity:1;inline-size:100%}to{opacity:0;inline-size:100%}}.console-point{z-index:2;left:50%;block-size:auto;inline-size:.8rem;fill:var(--paper);stroke:var(--ink);stroke-width:1.4px;stroke-linejoin:miter;opacity:0;transition:left .85s cubic-bezier(.45,0,.15,1),inset-block-start .85s cubic-bezier(.45,0,.15,1),opacity .3s linear;position:absolute;inset-block-start:50%}.console.driven .console-point{opacity:1}.console-tap{z-index:2;left:50%;border:2px solid var(--blue);opacity:0;block-size:1.4rem;inline-size:1.4rem;position:absolute;inset-block-start:50%;transform:translate(-50%,-50%)scale(.35)}.console-tap.go{animation:.42s ease-out console-tap}@keyframes console-tap{0%{opacity:1;scale:.35}to{opacity:0;scale:1.15}}.console-tabs{display:none}.js .console-tabs{border-block-end:1px solid var(--thin);flex-wrap:wrap;display:flex}.console-tabs button{appearance:none;border:0;border-inline-end:1px solid var(--thin);font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;padding:.7rem 1rem .5rem;font-size:.72rem;font-weight:700}.console-tabs button b{font-family:var(--mono);letter-spacing:0;color:var(--blue);margin-inline-end:.45rem;font-weight:400}.console-tabs button:hover{color:var(--blue)}.console-tabs button:after{content:"";background:var(--blue);opacity:0;block-size:2px;margin-block-start:.45rem;animation:27.6s step-end infinite console-swap;display:block}.console-tabs button:nth-child(2):after{animation-delay:4.6s}.console-tabs button:nth-child(3):after{animation-delay:9.2s}.console-tabs button:nth-child(4):after{animation-delay:13.8s}.console-tabs button:nth-child(5):after{animation-delay:18.4s}.console-tabs button:nth-child(6):after{animation-delay:23s}.console-tabs button:nth-child(n+7):after{animation-delay:27.6s}.console-says{margin-block-start:1.1rem;display:grid}.console-says .say{max-inline-size:46rem;color:var(--ink-soft);opacity:0;grid-area:1/1;font-size:.9rem;line-height:1.5;animation:27.6s step-end infinite console-swap}.console-says .say:nth-child(2){animation-delay:4.6s}.console-says .say:nth-child(3){animation-delay:9.2s}.console-says .say:nth-child(4){animation-delay:13.8s}.console-says .say:nth-child(5){animation-delay:18.4s}.console-says .say:nth-child(6){animation-delay:23s}.console-says .say:nth-child(n+7){animation-delay:27.6s}.console-says .say b{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-inline-end:.6rem;font-size:.72rem;font-weight:800}.console.driven .pane,.console.driven .say,.console.driven .console-tabs button:after,.console.picked .pane,.console.picked .say,.console.picked .console-tabs button:after{animation:none}.console.driven .pane.on,.console.driven .say.on,.console.driven .console-tabs button.now:after,.console.picked .pane.on,.console.picked .say.on,.console.picked .console-tabs button[aria-pressed=true]:after{opacity:1}.console.driven .console-tabs button.now,.console.picked .console-tabs button[aria-pressed=true]{color:var(--ink)}.console.picked .console-point{opacity:0}@media (prefers-reduced-motion:reduce){.console .pane,.console .say,.console .console-tabs button:after{animation:none}.console .console-point,.console .console-tap,.console .console-load{opacity:0;animation:none}.console:not(.picked) .pane:first-child,.console:not(.picked) .say:first-child{opacity:1}}.spans{border-block-start:2px solid var(--rule);margin-block-start:1.75rem;padding:0;list-style:none}.spans>li{border-block-end:1px solid var(--thin);grid-template-columns:minmax(0,1fr);gap:.3rem;padding-block:1.3rem;padding-inline-start:1.9rem;display:grid;position:relative}.spans>li:before{content:"";background:var(--thin);inline-size:1px;position:absolute;inset-block:0;inset-inline-start:.32rem}.spans>li:last-child:before{block-size:1.85rem;inset-block-end:auto}.spans>li:after{content:"";background:var(--blue);block-size:.66rem;inline-size:.66rem;position:absolute;inset-block-start:1.5rem;inset-inline-start:0}@media (width>=46rem){.spans>li{grid-template-columns:8.5rem minmax(0,1fr);align-items:start;column-gap:2rem}}.spans .years{letter-spacing:.05em;font-variant-numeric:tabular-nums;color:var(--blue);padding-block-start:.2rem;font-size:.8rem;font-weight:700}.spans h3{letter-spacing:-.015em;text-transform:uppercase;font-size:1.05rem}.spans p{color:var(--ink-soft);max-inline-size:var(--measure);margin-block-start:.4rem;font-size:.95rem}.project{border-block-end:1px solid var(--thin);grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem 3rem;padding-block:clamp(1.75rem,3.5vw,2.75rem);display:grid}.project:first-of-type{border-block-start:2px solid var(--rule)}@media (width>=60rem){.project{grid-template-columns:minmax(0,38rem) minmax(0,19rem);justify-content:start;column-gap:3.5rem}}.project .n{letter-spacing:.08em;color:var(--blue);margin-block-end:.35rem;font-size:.72rem;font-weight:800;display:block}.project h3{text-transform:uppercase;font-size:clamp(1.2rem,1rem + 1vw,1.75rem)}.project .summary,.deep .summary{color:var(--ink-soft);max-inline-size:var(--measure);margin-block-start:.5rem}.project .shows,.deep .shows{color:var(--ink-faint);border-inline-start:2px solid var(--blue);padding-inline-start:1rem;font-size:.85rem;line-height:1.5}.sample{border-block-end:1px solid var(--thin);grid-template-columns:minmax(0,1fr);align-items:start;gap:1.25rem 3rem;padding-block:clamp(1.75rem,3.5vw,2.75rem);display:grid}.sample:first-of-type{border-block-start:2px solid var(--rule)}@media (width>=60rem){.sample{grid-template-columns:minmax(0,34rem) minmax(0,23rem);justify-content:start;column-gap:3.5rem}}.sample .n{letter-spacing:.08em;color:var(--blue);margin-block-end:.35rem;font-size:.72rem;font-weight:800;display:block}.sample h3{text-transform:uppercase;font-size:clamp(1.1rem,.95rem + .9vw,1.5rem)}.sample-kind{flex-wrap:wrap;align-items:baseline;gap:.5rem .9rem;margin-block-start:.5rem;display:flex}.sample-kind .kind{letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-size:.7rem;font-weight:700}.sample .runs{font-family:var(--mono);border:1px solid var(--thin);color:var(--ink-faint);padding:.3rem .5rem;font-size:.72rem;line-height:1}.sample-side{flex-direction:column;gap:1.25rem;display:flex}.posts{border-block-start:2px solid var(--rule);margin:0;padding:0;list-style:none}.post{border-block-end:1px solid var(--thin);padding-block:clamp(1.1rem,2.2vw,1.6rem)}@media (width>=60rem){.post{grid-template-columns:minmax(0,21rem) minmax(0,34rem);justify-content:start;align-items:baseline;column-gap:3.5rem;display:grid}.post p{margin-block-start:0}}.post-link{color:var(--ink);text-decoration:none;display:block}.post-link h3{text-wrap:balance;font-size:clamp(1.05rem,.92rem + .8vw,1.4rem);line-height:1.25}.post-link h3:after{content:" →";color:var(--blue);transition:padding-inline-start .16s}.post-link:hover h3:after,.post-link:focus-visible h3:after{padding-inline-start:.3rem}.post p{max-inline-size:var(--measure);color:var(--ink-soft);margin-block-start:.5rem;font-size:.9rem;line-height:1.55}.posts-more{margin-block-start:clamp(1.25rem,2.5vw,1.75rem)}.back-band{padding-block-end:var(--rhythm)}.back-row{margin-block-start:clamp(2rem,4vw,3rem)}.back{letter-spacing:.09em;text-transform:uppercase;color:var(--ink);font-size:.78rem;font-weight:700;text-decoration:none}.back:before{content:"← ";color:var(--blue)}.back:hover{color:var(--blue)}.ask{max-inline-size:40rem}.progress.ask-progress{display:none}.js .progress.ask-progress:not([hidden]){display:flex}.ask-lead{max-inline-size:46rem;margin-block-start:1.1rem}.step{padding-block-start:.5rem}.step+.step{margin-block-start:2.5rem}.js .step+.step{margin-block-start:0}.step-n{letter-spacing:.08em;color:var(--blue);margin-block-end:.5rem;font-size:.8rem;font-weight:800;display:block}h2.q{text-transform:uppercase;max-inline-size:18ch;font-size:clamp(1.35rem,1rem + 1.6vw,2.1rem)}h2.q:focus{outline:none}.q-help{max-inline-size:var(--measure);color:var(--ink-soft);margin-block-start:.8rem;font-size:.95rem}.chips{display:none}.js .chips{flex-wrap:wrap;gap:.5rem;margin-block-start:1.4rem;display:flex}.chip{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:2px solid var(--rule);cursor:pointer;padding:.55rem .9rem;font-size:.75rem;font-weight:700;transition:background .12s,color .12s}.chip:hover{border-color:var(--blue);color:var(--blue)}.chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--paper)}.field-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-block:1.4rem .5rem;font-size:.72rem;font-weight:700;display:block}.ask input[type=text],.ask textarea{font:inherit;color:var(--ink);background:var(--paper);inline-size:100%;max-inline-size:var(--measure);border:2px solid var(--rule);appearance:none;border-radius:0;margin-block-start:1.4rem;padding:.7rem .8rem}.ask textarea{resize:vertical}.ask .field-label+input[type=text]{margin-block-start:0}.ask input[type=text]:focus,.ask textarea:focus{border-color:var(--blue)}.ask ::placeholder{color:var(--ink-faint);opacity:1}.ask-hatch{display:none}.js .ask-hatch:not([hidden]){border-block-end:1px solid var(--thin);margin-block-end:2.75rem;padding-block-end:1.5rem;display:block}.hatch-btn{font:inherit;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.72rem;font-weight:700;transition:color .15s;display:inline-flex}.hatch-btn:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/55% 1px no-repeat;border:1px solid;flex:none;block-size:.8rem;inline-size:.8rem}.hatch-btn:after{content:"→";color:var(--blue)}.hatch-btn:hover{color:var(--blue)}.hatch-note{max-inline-size:var(--measure);color:var(--ink-faint);margin-block-start:.6rem;font-size:.85rem}.ask-actions{display:none}.js .ask-actions{flex-wrap:wrap;gap:.75rem;margin-block-start:2.5rem;display:flex}.btn{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:var(--blue);border:2px solid var(--blue);cursor:pointer;padding:.8rem 1.6rem;font-size:.8rem;font-weight:700;transition:background .15s,color .15s}.btn:hover{background:var(--ink);border-color:var(--ink)}.btn[disabled]{background:var(--ink-faint);border-color:var(--ink-faint);cursor:default}.btn.ghost{color:var(--ink);background:var(--paper);border-color:var(--rule)}.btn.ghost:hover{color:var(--blue);background:var(--paper);border-color:var(--blue)}.ask-error{background:var(--ink);color:var(--paper);max-inline-size:var(--measure);margin-block-start:1.75rem;padding:.8rem 1rem;font-size:.9rem;font-weight:500}.sent{border-block-start:2px solid var(--rule);padding-block-start:2rem}.sent h2{max-inline-size:16ch}.sent h2:focus{outline:none}.sent p{max-inline-size:var(--measure);color:var(--ink-soft);margin-block-start:1rem}.ask-noscript{border-inline-start:2px solid var(--blue);color:var(--ink-soft);max-inline-size:var(--measure);margin-block-start:1.5rem;padding-inline-start:1rem;font-size:.9rem}.ask-noscript a{font-weight:600}.site-footer{background:var(--ink);color:#7d828c;border-block-start:1px solid #2a2c31;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem;padding-block:1.25rem 1.75rem;font-size:.75rem;display:flex}.site-footer p{margin:0}.site-footer a{color:#b8bcc4;border-block-end:1px solid #3a3d44;text-decoration:none}.site-footer a:hover{color:var(--paper);border-block-end-color:var(--blue-lift)}.xray{display:none}.js .xray{flex-basis:100%;order:1;margin-block-start:.9rem;display:block}.xray-toggle{appearance:none;cursor:pointer;font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#b8bcc4;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-size:.7rem;transition:color .15s;display:inline-flex}.xray-toggle:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/100% 1px no-repeat,linear-gradient(currentColor,currentColor) 50%/1px 100% no-repeat;border:1px solid;flex:none;block-size:.8rem;inline-size:.8rem}.xray-toggle:hover{color:var(--paper)}.xray-toggle[aria-expanded=true]{color:var(--blue-lift)}.xray-readout{display:none}.js .xray-readout:not([hidden]){border-block-start:1px solid #2a2c31;margin-block-start:.9rem;padding-block-start:.9rem;display:block}.xray-note{color:#6a6f78;max-inline-size:46rem}.xray-facts{font-family:var(--mono);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0 2.5rem;margin-block-start:.7rem;font-size:.7rem;display:grid}.xray-facts>div{border-block-end:1px solid #23252a;justify-content:space-between;gap:1rem;padding-block:.3rem;display:flex}.xray-facts dt{color:#6a6f78}.xray-facts dd{color:var(--blue-lift);margin:0}.xray-layer{z-index:60;pointer-events:none;block-size:0;inline-size:0;position:absolute;inset-block-start:0;inset-inline-start:0}.xray-box{border:1px solid var(--blue-lift);animation:.2s ease-out backwards xray-in;animation-delay:calc(var(--i,0) * 14ms);position:absolute}.xray-box.edit{border-color:var(--blue)}.xray-box>b{font-family:var(--mono);white-space:nowrap;background:var(--blue-lift);color:var(--ink);padding:.1rem .25rem;font-size:.6rem;font-weight:400;line-height:1.25;position:absolute;inset-block-end:100%;inset-inline-start:0}.xray-box.edit>b{background:var(--blue);color:var(--paper);inset-inline:auto 0}.xray-box.tucked>b{inset-block:0 auto}@keyframes xray-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.xray-box{animation:none}}.tier-items{max-inline-size:var(--measure);margin-block-start:.7rem;padding-inline-start:0}.tier-items li{color:var(--ink-soft);padding-block:.2rem;padding-inline-start:1rem;font-size:.9rem;list-style:none;position:relative}.tier-items li:before{content:"";background:var(--blue);block-size:2px;inline-size:.45rem;position:absolute;inset-block-start:.85em;inset-inline-start:0}.tier-note{color:var(--ink-faint);max-inline-size:42rem;margin-block-start:.8rem;font-size:.8rem}.small-print{color:var(--ink-faint);border-inline-start:2px solid var(--thin);max-inline-size:46rem;margin-block-start:2rem;padding-inline-start:1rem;font-size:.8rem;line-height:1.6}[data-sk-edit]{scroll-margin-block:6rem}@media (width<=47.5rem){.card{flex-basis:80vw}.masthead nav{letter-spacing:.05em;gap:.7rem;font-size:.68rem}.conveyor{padding-inline-start:1.75rem}.conveyor .line{block-size:auto;inline-size:2px;position:absolute;inset-block:0;inset-inline-start:0}.conveyor .dot{inset-block-start:calc(var(--travel,0) * (100% - .75rem));inset-inline-start:-.25rem}.stations{margin-block-start:0;display:block}.station+.station{margin-block-start:1.6rem}.station .tick{block-size:2px;inline-size:1.1rem;margin-block:.6rem;margin-inline-start:-1.75rem}.station .glyph{inline-size:1.6rem;margin-block-end:.5rem}.station p{max-inline-size:var(--measure)}.project .shows{margin-block-start:.4rem}.js .ask-actions .btn{flex:auto}.conveyor:not(.motion) .dot{inset-block:auto 0;inset-inline:-.25rem auto}}.play-band{margin-block:var(--rhythm)}.board{border-block-start:2px solid var(--rule);padding-block-start:.9rem}.hud{font-family:var(--mono);flex-wrap:wrap;align-items:baseline;gap:.4rem 1.5rem;margin-block-end:.75rem;font-size:.8rem;display:flex}.hud-cell{align-items:baseline;gap:.45rem;margin:0;display:flex}.hud-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.hud-value{font-variant-numeric:tabular-nums}.hud-teach{color:var(--fault)}.hud-teach .hud-label{color:inherit}.hud-teach:has(.hud-value:empty){visibility:hidden}.hud-marks{letter-spacing:.15em}.hud-button{font:inherit;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--thin);color:var(--ink-soft);cursor:pointer;background:0 0;padding:.15rem .6rem}.hud-button[aria-pressed=true]{border-color:var(--rule);color:var(--ink)}.hud-button[disabled]{color:var(--ink-faint);border-color:var(--thin);cursor:default}.board .glass{aspect-ratio:16/10;background:var(--paper);border:1px solid var(--thin);max-inline-size:115.2svh;position:relative}@media (width<=37.5rem){.board .glass{margin-inline:calc(var(--gutter) * -1)}}.poster{z-index:-1;pointer-events:none;block-size:100%;inline-size:100%;position:absolute;inset:0}.board .glass canvas{touch-action:none;block-size:100%;inline-size:100%;display:block}.board .card[hidden]{display:none}.board .card{background:var(--paper);font-family:var(--mono);text-align:center;align-content:center;justify-items:center;gap:.2rem;padding-inline:1rem;font-size:.9rem;display:grid;position:absolute;inset:0}.board .card p{margin:0}.board .card p:empty{block-size:.9rem}.deck{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-block-start:.9rem;display:flex}.press{font:inherit;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--paper);cursor:pointer;border:0;padding:.7rem 1.4rem;font-size:.8rem}.press[disabled]{background:var(--ink-faint);cursor:default}.deck .fail{color:var(--ink-soft);margin:0;font-size:.9rem}.deck .fail[hidden]{display:none}.deck .quip{min-inline-size:0;font-family:var(--mono);color:var(--ink-soft);border-inline-start:2px solid var(--ink-faint);flex:14rem;margin:0;padding-inline-start:.7rem;font-size:.8rem;line-height:1.5}.deck .quip:empty{display:none}.ranks{margin-block-start:1rem}.ranks-line{font-family:var(--mono);color:var(--ink-soft);margin:0;font-size:.75rem;line-height:1.6}.ranks-line[hidden]{display:none}.ranks-me{color:var(--ink)}.ranks-rows{font-family:var(--mono);color:var(--ink-soft);gap:.1rem;max-inline-size:24rem;margin:.5rem 0 0;padding:0;font-size:.8rem;list-style:none;display:grid}.ranks-rows:empty{display:none}.ranks-rows li{grid-template-columns:1.5rem 1fr auto;gap:.6rem;padding-block:.1rem;display:grid}.ranks-rows .rank{color:var(--ink-faint);grid-column:1}.ranks-rows .who{overflow-wrap:anywhere;grid-column:2}.ranks-rows .far{text-align:end;grid-column:3}.ranks-rows li[aria-current]{color:var(--ink)}.play-notes{margin-block-end:var(--rhythm)}.play-notes .lead{margin-block-end:1.5rem}.play-notes .legend{margin-block-start:1.5rem}.legend{border-collapse:collapse;inline-size:100%;max-inline-size:46rem;font-size:.9rem}.legend th,.legend td{text-align:start;border-block-end:1px solid var(--thin);vertical-align:baseline;padding:.55rem 1rem .55rem 0}.legend thead th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);border-block-end-color:var(--rule);font-size:.7rem;font-weight:400}.legend tbody th{font-weight:500}.legend td{font-family:var(--mono);color:var(--ink-soft)}.play-notes .fine{max-inline-size:var(--measure);color:var(--ink-soft);margin-block-start:1.5rem;font-size:.9rem}.b-mate{--sk-mate-ink:var(--ink);--sk-mate-paper:var(--paper);--sk-mate-wash:var(--wash);--sk-mate-thin:var(--thin);--sk-mate-faint:var(--ink-faint)}@media (prefers-reduced-motion:reduce){.b-mate{display:none}}
