@property --spectrum-angle{syntax:"<angle>";inherits:true;initial-value:0deg}@property --spectrum-mix{syntax:"<percentage>";inherits:true;initial-value:0%}@property --spectrum-on{syntax:"<percentage>";inherits:true;initial-value:0%}:root{--ink:#08090b;--ink-2:#0e1014;--ink-3:#14171d;--line:#1e222a;--line-2:#2b3039;--bone:#e9eaee;--ash:#878c96;--ash-dim:#7e838e;--accent:var(--bone);--spectrum:linear-gradient(to right in oklab, oklch(var(--rainbow-l) var(--rainbow-c) 0), oklch(var(--rainbow-l) var(--rainbow-c) 60), oklch(var(--rainbow-l) var(--rainbow-c) 120), oklch(var(--rainbow-l) var(--rainbow-c) 180), oklch(var(--rainbow-l) var(--rainbow-c) 240), oklch(var(--rainbow-l) var(--rainbow-c) 300), oklch(var(--rainbow-l) var(--rainbow-c) 360));--spectrum-inv:linear-gradient(to left in oklab, oklch(var(--rainbow-l) var(--rainbow-c) 0), oklch(var(--rainbow-l) var(--rainbow-c) 60), oklch(var(--rainbow-l) var(--rainbow-c) 120), oklch(var(--rainbow-l) var(--rainbow-c) 180), oklch(var(--rainbow-l) var(--rainbow-c) 240), oklch(var(--rainbow-l) var(--rainbow-c) 300), oklch(var(--rainbow-l) var(--rainbow-c) 360));--pulse:oklch(var(--rainbow-l) var(--rainbow-c) 144deg);--link:oklch(var(--rainbow-l) calc(var(--rainbow-c) * .8) 144deg);--shard-r:red;--shard-g:#0b0;--shard-b:#08f;--display:var(--font-display);--body:var(--font-body);--mono:var(--font-mono);--shell:1180px;--gutter:clamp(20px, 4vw, 48px);--nav-h:64px;--radius:6px;--card-shadow:0 -12px 40px #00000073;--deck-shadow:0 -10px 20px -8px #00000080;--ease:ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.65;overflow-x:clip}@media print{:root{--ink:#fff;--ink-2:#fff;--ink-3:#fff;--line:#c8ccd2;--line-2:#aeb3bb;--bone:#08090b;--ash:#3f444c;--ash-dim:#4a4f57}body{background:0 0}}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;font-weight:700;line-height:1.04}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.shell{width:100%;max-width:var(--shell);padding:0 var(--gutter);margin:0 auto}.skip-link{z-index:100;background:var(--ink-3);color:var(--bone);font:500 .8rem/1 var(--mono);padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}.eyebrow{font:400 .7rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ash-dim);margin-bottom:1.1rem;display:block}.lede{color:var(--ash);max-width:62ch;font-size:1.03rem}@keyframes rainbow-move{0%{background-position:0%;animation-timing-function:steps(320,end)}to{background-position:400%}}@keyframes rainbow-move-inv{0%{background-position:0%;animation-timing-function:steps(320,end)}to{background-position:-400%}}@keyframes spectrum-spin{0%{animation-timing-function:steps(240,end)}to{--spectrum-angle:360deg}}code{font-family:var(--mono);color:var(--bone);background:var(--ink-3);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:.88em}@supports ((-webkit-background-clip:text) or (background-clip:text)) and (background:linear-gradient(in oklab, red, blue)){.hl-spectrum,.hl-spectrum-inv,.row-spectrum .row-num,.row-spectrum .receipt-label{background:var(--spectrum);-webkit-text-fill-color:transparent;color:#0000;background-size:400%;-webkit-background-clip:text;background-clip:text;animation:32s linear infinite rainbow-move}.hl-spectrum-inv{background-image:var(--spectrum-inv);animation-name:rainbow-move-inv}.hl-spectrum,.hl-spectrum-inv,.contact-mail-text{margin-right:-.1em;padding-right:.1em}.contact-mail-text{background:var(--spectrum);color:color-mix(in oklab, var(--bone), transparent var(--spectrum-mix));transition:--spectrum-mix .3s var(--ease);background-size:400%;-webkit-background-clip:text;background-clip:text;animation:32s linear infinite rainbow-move}.contact-mail:hover .contact-mail-text{--spectrum-mix:100%}}@media print,(forced-colors:active){.hl-spectrum,.hl-spectrum-inv,.contact-mail-text,.row-spectrum .row-num,.row-spectrum .receipt-label{-webkit-text-fill-color:currentcolor;color:inherit;background:0 0;animation:none}}:is(.lede,.work-desc,.bench-foot,.prose) a{color:var(--link);border-bottom:1px solid color-mix(in oklab, var(--link) 32%, transparent);transition:color .18s var(--ease), border-color .18s var(--ease);padding-bottom:3px}:is(.lede,.work-desc,.bench-foot,.prose) a:hover{color:color-mix(in oklab, var(--link) 45%, var(--bone));border-color:currentColor}:is(.lede,.work-desc,.bench-foot,.prose) a:focus-visible{outline-color:var(--link)}a code{color:inherit;border-color:color-mix(in oklab, currentcolor 25%, var(--line))}.topline{z-index:41;background:var(--spectrum);clip-path:inset(0);height:2px;position:fixed;top:0;left:0;right:0}.nav{z-index:40;min-height:var(--nav-h);background:color-mix(in oklab, var(--ink) 82%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.mark{font:500 .9rem/1 var(--mono);letter-spacing:-.01em;align-items:baseline;display:inline-flex}.mark img{opacity:.92;width:auto;height:.88em;transition:opacity .18s var(--ease);margin-right:-.04em}.mark:hover img{opacity:1}.nav-links{font:400 .85rem/1 var(--mono);align-items:center;gap:26px;display:flex}html:not(.js) .nav-inner,html:not(.js) .nav-links{flex-wrap:wrap}.nav-links a{color:var(--ash);transition:color .18s var(--ease)}.nav-links a:hover{color:var(--bone)}@supports ((-webkit-background-clip:text) or (background-clip:text)) and (background:linear-gradient(in oklab, red, blue)){.nav-links a,.mark span,.foot-links a{--spectrum-text:linear-gradient(to right in oklab, color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 0) var(--spectrum-mix,0%)), color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 60) var(--spectrum-mix,0%)), color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 120) var(--spectrum-mix,0%)), color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 180) var(--spectrum-mix,0%)), color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 240) var(--spectrum-mix,0%)), color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 300) var(--spectrum-mix,0%)), color-mix(in oklab, var(--spectrum-base,var(--ash)), oklch(var(--rainbow-l) var(--rainbow-c) 360) var(--spectrum-mix,0%)));background:var(--spectrum-text);-webkit-text-fill-color:transparent;transition:--spectrum-mix .3s var(--ease);background-size:400%;-webkit-background-clip:text;background-clip:text;margin:-.25em 0;padding:.25em 0;animation:32s linear infinite paused rainbow-move}.mark span{--spectrum-base:var(--bone)}.nav-links a:hover,.mark:hover span,.foot-links a:hover{--spectrum-mix:100%;animation-play-state:running}@media print,(forced-colors:active){.nav-links a,.nav-links a:hover,.mark span,.foot-links a,.foot-links a:hover{-webkit-text-fill-color:currentcolor;background:0 0;animation:none}}}.nav-toggle{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:8px;width:38px;height:38px;display:none;position:relative}.nav-toggle span{background:var(--bone);width:14px;height:1.5px;transition:transform .22s var(--ease), opacity .22s var(--ease);position:absolute;left:11px}.nav-toggle span:first-child{top:15px}.nav-toggle span:last-child{top:21px}.nav-toggle.open span:first-child{transform:translateY(3px)rotate(45deg)}.nav-toggle.open span:last-child{transform:translateY(-3px)rotate(-45deg)}.poster{min-height:100svh;padding:calc(var(--nav-h) + 2.5rem) 0 3.5rem;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:clip}.poster>.shell{z-index:1;position:relative}.band-head{max-width:60ch;margin-bottom:3rem}.band-head-center{text-align:center;margin-inline:auto}.band-head-center .lede{margin-inline:auto}.band-title{margin-bottom:.9rem;font-size:clamp(1.9rem,3.8vw,2.7rem)}.shards{z-index:0;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#00000029 5.5vh,#00000080 11vh,#000000d6 16.5vh,#000 22vh calc(100% - 22vh),#000000d6 calc(100% - 16.5vh),#00000080 calc(100% - 11vh),#00000029 calc(100% - 5.5vh),#0000);mask-image:linear-gradient(#0000,#00000029 5.5vh,#00000080 11vh,#000000d6 16.5vh,#000 22vh calc(100% - 22vh),#000000d6 calc(100% - 16.5vh),#00000080 calc(100% - 11vh),#00000029 calc(100% - 5.5vh),#0000);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.bg-shard{left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--mark-ratio);rotate:var(--r);opacity:var(--o);position:absolute}.shard-face{--shard-c:calc(var(--rainbow-c) * .55);--tint:var(--rainbow-l) var(--shard-c) var(--accent-h);background:linear-gradient(var(--lit,180deg), oklch(var(--tint) / 30%), oklch(var(--tint) / 13%) 55%, oklch(var(--tint) / 5%));position:absolute;inset:0}.prism>.shard-face{background:linear-gradient(var(--lit,180deg) in oklch, oklch(var(--rainbow-l) var(--shard-c) calc(var(--accent-h) - 45deg) / 28%), oklch(var(--rainbow-l) var(--shard-c) calc(var(--accent-h) + 45deg) / 7%))}.poster:not(.hero):before{content:"";pointer-events:none;background:radial-gradient(ellipse 62% 48% at 50% 58%, color-mix(in oklab, var(--accent) 9%, transparent), transparent 72%);position:absolute;inset:0}.poster:not(.hero):after{content:"";top:0;left:var(--gutter);right:var(--gutter);pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--accent) 55%, transparent) 30% 70%, transparent);height:1px;position:absolute}.mark-k{overflow:visible}.mark-k .light{mix-blend-mode:screen}.mark-k .shard{transform-box:fill-box;transform-origin:50%}.shard-r{fill:var(--shard-r)}.shard-g{fill:var(--shard-g)}.shard-b{fill:var(--shard-b)}@keyframes light-on{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.hero-mark .light{animation:light-on .9s var(--ease) both}.hero-mark .light-g{animation-delay:.35s}.hero-mark .light-b{animation-delay:.7s}}.hero{padding-top:var(--nav-h)}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.hero-title{letter-spacing:-.028em;margin-bottom:1.4rem;font-size:clamp(2.5rem,6.4vw,4.3rem)}.hero-claim{font-family:var(--display);letter-spacing:-.01em;color:var(--bone);max-width:32ch;margin-bottom:1.4rem;font-size:clamp(1.15rem,2.1vw,1.45rem);font-weight:600;line-height:1.28}.hero-lede{color:var(--ash);max-width:46ch;margin-bottom:2rem;font-size:1.06rem}.hero-lede strong{color:var(--bone);font-weight:500}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-mark{justify-self:center;width:auto;height:min(68vh,42vw)}.btn{--btn-radius:10px;border-radius:var(--btn-radius);font:500 .88rem/1 var(--mono);cursor:pointer;transition:transform .18s var(--ease);border:1px solid #0000;align-items:center;gap:8px;padding:12px 20px;display:inline-flex;position:relative}.btn-primary,.btn-secondary{--spectrum-conic:conic-gradient(from var(--spectrum-angle,0deg) in oklch, oklch(var(--rainbow-l) var(--rainbow-c) 0 / var(--spectrum-mix)), oklch(var(--rainbow-l) var(--rainbow-c) 60 / var(--spectrum-mix)), oklch(var(--rainbow-l) var(--rainbow-c) 120 / var(--spectrum-mix)), oklch(var(--rainbow-l) var(--rainbow-c) 180 / var(--spectrum-mix)), oklch(var(--rainbow-l) var(--rainbow-c) 240 / var(--spectrum-mix)), oklch(var(--rainbow-l) var(--rainbow-c) 300 / var(--spectrum-mix)), oklch(var(--rainbow-l) var(--rainbow-c) 360 / var(--spectrum-mix)));--spectrum-core:radial-gradient(circle 18px at 50% 50%, oklch(var(--rainbow-l) 0 0 / var(--spectrum-mix)), oklch(var(--rainbow-l) 0 0 / calc(var(--spectrum-mix) * .55)) 35%, oklch(var(--rainbow-l) 0 0 / calc(var(--spectrum-mix) * .16)) 65%, oklch(var(--rainbow-l) 0 0 / 0));animation:8s linear infinite spectrum-spin}.btn-primary{--spectrum-mix:100%;--feather:6px;background:var(--spectrum-core), var(--spectrum-conic);color:var(--bone);isolation:isolate;border:none;font-weight:700}.btn-primary:after{content:"";inset:calc(var(--feather) / 2);z-index:-1;border-radius:calc(var(--btn-radius) - var(--feather) / 2);filter:blur(calc(var(--feather) / 2));background:#000b;position:absolute}.btn-primary:before,.btn-secondary:after{content:"";z-index:-1;background:var(--spectrum-conic);filter:blur(16px);border-radius:calc(var(--btn-radius) + 2px);position:absolute;inset:-2px}.btn-primary:before{opacity:0;transition:opacity .3s var(--ease)}.btn-primary:hover{transform:translateY(-2px)}.btn-primary:hover:before{opacity:.8}.btn-secondary{color:var(--bone);--btn-frame:linear-gradient(var(--ink), var(--ink)) padding-box, var(--spectrum-conic) border-box, linear-gradient(var(--line-2), var(--line-2)) border-box;background:var(--btn-frame);transition:top .18s var(--ease), --spectrum-mix .3s var(--ease);animation-play-state:paused;top:0}.btn-secondary:hover{--spectrum-mix:100%;animation-play-state:running;top:-2px}@supports ((-webkit-background-clip:text) or (background-clip:text)) and (background:linear-gradient(in oklab, red, blue)){.btn-secondary{background:var(--spectrum-core), var(--spectrum-conic);color:color-mix(in oklab, var(--bone), transparent var(--spectrum-mix));background-origin:border-box;-webkit-background-clip:text;background-clip:text}.btn-secondary:before{content:"";z-index:-1;border-radius:var(--btn-radius);background:var(--btn-frame);border:1px solid #0000;position:absolute;inset:-1px}.btn-secondary:after{z-index:-2}}@media print,(forced-colors:active){.btn-primary,.btn-secondary{color:inherit;background:0 0;border:1px solid}.btn-primary:before,.btn-primary:after,.btn-secondary:before,.btn-secondary:after{content:none}}@supports not (background:conic-gradient(in oklch, red, blue)){.btn-primary{background:var(--ink-3);border:1px solid var(--line-2)}.btn-secondary{background:var(--ink);border-color:var(--line-2)}}.wire,.bench{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--ink-2), var(--ink));box-shadow:var(--card-shadow);padding:clamp(18px,3vw,28px)}.wire{width:100%;max-width:62rem;margin-inline:auto}.wire-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.wire-title{font:500 .78rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}.wire-tag{font:400 .68rem/1 var(--mono);color:var(--ash-dim)}.wire [data-field=flags]{--f:var(--h-flux)}.wire [data-field=hp]{--f:var(--h-admin)}.wire [data-field=pos]{--f:var(--h-docs)}.wire [data-field=xp]{--f:var(--h-bench)}.wire [data-field=yaw]{--f:var(--h-hll)}.wire-body{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:18px clamp(18px,3vw,32px);display:grid}.wire-ctl{flex-direction:column;gap:16px;padding-top:2px;display:flex}.wire-slider{display:block}.wire-key{font:400 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.wire-key output,.wire-pane-title b{letter-spacing:0;text-transform:none;color:var(--bone);font-weight:500}.wire-slider input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100%;accent-color:var(--accent);cursor:pointer;display:block}.wire-flags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.wire-flag{font:500 .7rem/1 var(--mono);color:var(--ash);background:var(--ink-3);border:1px solid var(--line-2);cursor:pointer;transition:border-color .18s var(--ease), color .18s var(--ease), background .18s var(--ease);border-radius:8px;padding:8px 10px}.wire-flag:hover{border-color:var(--accent);color:var(--bone)}.wire-flag[aria-pressed=true]{color:var(--bone);border-color:var(--accent);background:color-mix(in oklab, var(--accent) 14%, var(--ink-3))}.wire-out{flex-direction:column;gap:12px;min-width:0;display:flex}.wire-pane{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in oklab, var(--ink) 55%, var(--ink-2));padding:12px 14px 13px}.wire-pane-title{font:500 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:11px;display:flex}.wire-bytes{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.wire-bytes li{background:color-mix(in oklab, var(--f) 9%, transparent);border:1px solid color-mix(in oklab, var(--f) 30%, transparent);border-radius:5px;flex-direction:column;align-items:center;gap:5px;padding:5px 5px 4px;display:flex}.wire-bytes i{grid-template-columns:repeat(8,5px);gap:2px;display:grid}.wire-bytes b{background:color-mix(in oklab, var(--f) 20%, var(--ink));border-radius:1px;height:9px;display:block}.wire-bytes b[data-on]{background:var(--f)}.wire-bytes span{font:500 .66rem/1 var(--mono);color:color-mix(in oklab, var(--f) 70%, var(--bone))}.wire-bytes li.hit{animation:wire-hit .45s var(--ease)}@keyframes wire-hit{0%{filter:brightness(1.9);scale:1.12}}.wire-json{font:400 .74rem/1.7 var(--mono);color:var(--ash-dim);white-space:pre-wrap;word-break:break-all}.wire-json [data-field]{color:color-mix(in oklab, var(--f) 78%, var(--bone));background:color-mix(in oklab, var(--f) 9%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:1px 0}.wire-fields{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px;padding-top:16px;display:grid}.wire-fields li{border-left:2px solid var(--f);font:400 .68rem/1.4 var(--mono);color:var(--ash-dim);flex-direction:column;gap:3px;padding-left:10px;display:flex}.wire-field-row{justify-content:space-between;gap:8px;display:flex}.wire-field-row b{color:color-mix(in oklab, var(--f) 70%, var(--bone));font-weight:500}.wire-count{color:var(--bone)}.wire-type{color:var(--ash)}.wire-foot{border-top:1px solid var(--line);font:400 .74rem/1.65 var(--mono);color:var(--ash-dim);margin-top:16px;padding-top:14px}.wire-foot b{color:var(--bone);font-weight:500}.wire-foot>b:first-child{color:var(--accent)}.stack{gap:var(--stack-gap,5vh);flex-direction:column;display:flex}#work{--stack-inset:1.25rem;--stack-step:.75rem;--stack-gap:5vh;--head-gap:3rem;--head-h:9rem;--last-h:clamp(320px, 46vh, 520px);--deck-hold:30vh;--deck-top:calc(var(--nav-h) + var(--stack-inset) + var(--head-h) + var(--head-gap));--deck-tail:calc(var(--last-h) + (var(--count,1) - 1) * var(--stack-step))}#work .band-head{top:calc(var(--nav-h) + var(--stack-inset));z-index:2;padding-bottom:calc(var(--head-gap) + var(--deck-tail));transform-origin:50% 0;pointer-events:none;margin-bottom:0;position:sticky}#work .band-head>*{pointer-events:auto}#work .stack{margin-top:calc(-1 * var(--deck-tail))}#work .stack:after{content:"";margin-top:calc(-1 * var(--stack-gap));height:var(--deck-hold);flex:none}.wash-stack{z-index:0;pointer-events:none;position:absolute;inset:0}.wash-view{height:100vh;position:sticky;top:0}.wash{opacity:0;background:radial-gradient(ellipse 62% 48% at 50% 58%, color-mix(in oklab, var(--accent) 9%, transparent), transparent 72%);position:absolute;inset:0}.panel{top:calc(var(--deck-top) + var(--i,0) * var(--stack-step));isolation:isolate;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--ink-2), var(--ink));min-height:clamp(320px,46vh,520px);box-shadow:var(--deck-shadow);transition:border-color .3s var(--ease);flex-direction:column;padding:clamp(24px,4vw,44px);display:flex;position:sticky;overflow:hidden}.panel:hover{border-color:color-mix(in oklab, var(--accent) 40%, var(--line))}.panel:before{content:"";z-index:-1;background:radial-gradient(circle 420px at 100% 0%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 62%);opacity:0;transition:opacity .35s var(--ease);position:absolute;inset:0}.panel:hover:before{opacity:1}.panel:after{content:"";background:linear-gradient(90deg, var(--accent), transparent 70%);opacity:.6;height:2px;transition:opacity .3s var(--ease);position:absolute;top:0;left:0;right:0}.panel:hover:after{opacity:1}.panel-shard{z-index:-1;--sash:66%;--sash-a:color-mix(in oklab, var(--accent) 17%, transparent);--sash-b:color-mix(in oklab, var(--accent) 34%, transparent);background:linear-gradient(150deg, transparent calc(var(--sash) - 5% - 1px), var(--sash-a) calc(var(--sash) - 5% + 1px), var(--sash-a) calc(var(--sash) + 5% - 1px), transparent calc(var(--sash) + 5% + 1px), transparent calc(var(--sash) + 7.2% - 1px), var(--sash-b) calc(var(--sash) + 7.2% + 1px), var(--sash-b) calc(var(--sash) + 7.6% - 1px), transparent calc(var(--sash) + 7.6% + 1px));mix-blend-mode:screen;pointer-events:none;position:absolute;inset:-40% -30%;-webkit-mask-image:linear-gradient(#000 50%,#000000e9 55.56%,#000000b4 61.11%,#00000074 66.67%,#0000003f 72.22%,#00000029 77.78%);mask-image:linear-gradient(#000 50%,#000000e9 55.56%,#000000b4 61.11%,#00000074 66.67%,#0000003f 72.22%,#00000029 77.78%)}.work-index{z-index:-1;font:700 clamp(4rem, 9vw, 7rem)/1 var(--display);letter-spacing:-.05em;color:color-mix(in oklab, var(--accent) 18%, transparent);transition:color .3s var(--ease);pointer-events:none;position:absolute;top:6px;right:20px}.panel:hover .work-index{color:color-mix(in oklab, var(--accent) 32%, transparent)}.work-kind{font:400 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-self:flex-start;align-items:center;gap:8px;margin-bottom:1rem;display:inline-flex}.work-kind:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px color-mix(in oklab, var(--accent) 70%, transparent);border-radius:50%}.work-name{letter-spacing:-.02em;color:color-mix(in oklab, var(--accent) 30%, var(--bone));transition:color .3s var(--ease);margin-bottom:.7rem;font-size:clamp(1.8rem,3.4vw,2.7rem)}.panel:hover .work-name{color:color-mix(in oklab, var(--accent) 58%, var(--bone))}.work-desc{color:var(--ash);max-width:58ch;margin-bottom:1.1rem}.work-tags{flex-wrap:wrap;gap:7px;margin-bottom:1.4rem;display:flex}.work-tags li{font:400 .68rem/1 var(--mono);color:var(--ash-dim);border:1px solid var(--line);transition:border-color .25s var(--ease), color .25s var(--ease);border-radius:5px;padding:5px 8px}.panel:hover .work-tags li{color:color-mix(in oklab, var(--accent) 25%, var(--ash-dim));border-color:color-mix(in oklab, var(--accent) 25%, var(--line))}.work-foot{border-top:1px dashed var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 14px;margin-top:auto;padding-top:1rem;display:flex}.work-stat{font:400 .8rem/1.5 var(--mono);color:var(--ash)}.work-stat b{color:var(--accent);font-weight:500}.work-links{flex-wrap:wrap;gap:6px 1.6rem;display:flex}.work-links a{font:500 .8rem/1.5 var(--mono);color:var(--bone);transition:color .18s var(--ease);align-items:center;gap:8px;display:inline-flex}.work-links a:hover{color:var(--accent)}.bench{container-type:inline-size}.bench-chart{content-visibility:auto;contain-intrinsic-block-size:auto max(calc(560px * 287 / 960), calc(100cqw * 287 / 960));overflow-x:auto}.bench-chart svg{width:100%;min-width:560px;height:auto}@media print{.bench-chart{content-visibility:visible}.bench-chart svg{filter:invert()hue-rotate(180deg)}}.bench-foot{border-top:1px solid var(--line);font:400 .74rem/1.65 var(--mono);color:var(--ash-dim);margin-top:18px;padding-top:16px}.ledger{border-top:1px solid var(--line)}.row{border-bottom:1px solid var(--line);grid-template-columns:clamp(4rem,7vw,6rem) minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:0 clamp(1.4rem,3vw,3rem);padding:clamp(1.4rem,3vw,2.2rem) 0;display:grid;position:relative}.row:before{content:"";background:var(--accent);opacity:.8;width:42px;height:1px;transition:width .5s var(--ease), opacity .35s var(--ease);position:absolute;top:-1px;left:0}.row:hover:before{opacity:.6;width:100%}.row-spectrum:before{background:var(--spectrum)}.row-num{font:700 clamp(3rem, 6.5vw, 5rem) / .85 var(--display);letter-spacing:-.05em;color:var(--accent);margin-top:-.04em}.row-main h3{margin-bottom:.6rem;font-size:clamp(1.25rem,2vw,1.5rem)}.row-main p{color:var(--ash);max-width:44ch;font-size:.98rem}.row-receipt{font:400 .76rem/1.65 var(--mono);color:var(--ash-dim);flex-direction:column;gap:.45rem;padding-top:.4rem;display:flex}.receipt-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.62rem}.row-receipt a{color:var(--bone);transition:color .18s var(--ease);align-items:baseline;gap:10px;margin-top:.35rem;font-weight:500;display:flex}.row-receipt a:before{content:"";border-bottom:1px dotted var(--line-2);transition:border-color .18s var(--ease);flex:1;translate:0 -.35em}.row-receipt a:after,.work-links a:after{content:"";width:.42em;height:.42em;transition:translate .18s var(--ease);border:1.5px solid;border-width:1.5px 1.5px 0 0;align-self:center;rotate:45deg}.row-receipt a:hover{color:var(--accent)}.row-receipt a:hover:before{border-color:var(--accent)}.row-receipt a:hover:after,.work-links a:hover:after{translate:3px}.row-spectrum .row-receipt a:hover{color:var(--bone)}@supports ((-webkit-background-clip:text) or (background-clip:text)) and (background:linear-gradient(in oklab, red, blue)) and ((-webkit-mask-image:linear-gradient(red, red)) or (mask-image:linear-gradient(red, red))){.row-spectrum .row-receipt a{--spectrum-fade:linear-gradient(to right in oklab, oklch(var(--rainbow-l) var(--rainbow-c) 0 / var(--spectrum-on)), oklch(var(--rainbow-l) var(--rainbow-c) 60 / var(--spectrum-on)), oklch(var(--rainbow-l) var(--rainbow-c) 120 / var(--spectrum-on)), oklch(var(--rainbow-l) var(--rainbow-c) 180 / var(--spectrum-on)), oklch(var(--rainbow-l) var(--rainbow-c) 240 / var(--spectrum-on)), oklch(var(--rainbow-l) var(--rainbow-c) 300 / var(--spectrum-on)), oklch(var(--rainbow-l) var(--rainbow-c) 360 / var(--spectrum-on)));transition:--spectrum-mix .18s var(--ease), --spectrum-on 0s .18s}.row-spectrum .row-receipt a:hover{--spectrum-mix:100%;--spectrum-on:100%;transition:--spectrum-mix .18s var(--ease), --spectrum-on 0s}.row-spectrum .row-receipt a>span,.row-spectrum .row-receipt a:before,.row-spectrum .row-receipt a:after{background-size:400%;animation:32s linear infinite paused rainbow-move}.row-spectrum .row-receipt a:hover>span,.row-spectrum .row-receipt a:hover:before,.row-spectrum .row-receipt a:hover:after{animation-play-state:running}.row-spectrum .row-receipt a>span{background-image:var(--spectrum-fade);-webkit-text-fill-color:color-mix(in oklab, var(--bone), transparent var(--spectrum-mix));-webkit-background-clip:text;background-clip:text}.row-spectrum .row-receipt a:before{--leader:color-mix(in oklab, var(--line-2), transparent var(--spectrum-mix));background-image:linear-gradient(var(--leader), var(--leader)), var(--spectrum-fade);border:0;height:1px;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 1px,#0000 1px 2px);mask-image:repeating-linear-gradient(90deg,#000 0 1px,#0000 1px 2px)}.row-spectrum .row-receipt a:after{--chevron:color-mix(in oklab, var(--bone), transparent var(--spectrum-mix));background-image:linear-gradient(var(--chevron), var(--chevron)), var(--spectrum-fade);border-color:#0000;-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000);-webkit-mask-position:top,100%;mask-position:top,100%;-webkit-mask-size:100% 1.5px,1.5px 100%;mask-size:100% 1.5px,1.5px 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}@media print,(forced-colors:active){.row-spectrum .row-receipt a>span,.row-spectrum .row-receipt a:before,.row-spectrum .row-receipt a:after{-webkit-text-fill-color:currentcolor;background:0 0;animation:none;-webkit-mask:none;mask:none}.row-spectrum .row-receipt a:before{border-bottom:1px dotted var(--line-2);height:auto}.row-spectrum .row-receipt a:after{border-color:currentColor}}#contact{padding-bottom:1.6rem}.contact-shell{margin-block:auto}.contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,5vw,4rem);margin-bottom:clamp(2.2rem,6vh,4rem);display:grid}.contact-label{font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ash-dim);margin-bottom:1.2rem}.contact-mail{font:700 clamp(2.5rem, 6.4vw, 4.6rem) / 1 var(--display);letter-spacing:-.03em;color:var(--bone);margin-bottom:1.3rem;padding-bottom:.22em;display:inline-block;position:relative}.contact-mail:after{content:"";background:var(--spectrum);height:.08em;transition:height .25s var(--ease);background-size:400%;animation:32s linear infinite rainbow-move;position:absolute;inset:auto 0 0}.contact-mail:hover:after{height:.14em}.contact-copy .lede{max-width:44ch;margin-bottom:2rem}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.contact-mark{height:min(56vh,36vw);aspect-ratio:var(--mark-ratio);justify-self:center;position:relative}.mark-lights{z-index:0;pointer-events:none;position:absolute;inset:0}.mark-light{mix-blend-mode:screen;position:absolute;inset:0}.mark-light.light-r{background:var(--shard-r)}.mark-light.light-g{background:var(--shard-g)}.mark-light.light-b{background:var(--shard-b)}.ocean{z-index:0;pointer-events:none;filter:hue-rotate();mix-blend-mode:plus-lighter;position:absolute;inset:0;overflow:clip;-webkit-mask-image:radial-gradient(50% 50%,#000,#000000fb 10%,#000000ef 20%,#000000db 30%,#000000c1 40%,#000000a1 50%,#0000007d 60%,#00000057 70%,#00000032 80%,#00000012 90%,#00000006 95%,#0000);mask-image:radial-gradient(50% 50%,#000,#000000fb 10%,#000000ef 20%,#000000db 30%,#000000c1 40%,#000000a1 50%,#0000007d 60%,#00000057 70%,#00000032 80%,#00000012 90%,#00000006 95%,#0000)}.swell{left:calc(var(--x) - var(--w) / 2);top:calc(var(--y) - var(--h) / 2);width:var(--w);height:var(--h);rotate:var(--a);--swell:var(--rainbow-l) var(--rainbow-c) var(--hue);background:radial-gradient(ellipse closest-side, oklch(var(--swell) / .42), oklch(var(--swell) / .105) 60%, oklch(var(--swell) / .059) 70%, oklch(var(--swell) / .026) 80%, oklch(var(--swell) / .0066) 90%, oklch(var(--swell) / 0) 100%);mix-blend-mode:screen;opacity:.5;border-radius:50%;position:absolute}.grain{z-index:0;pointer-events:none;opacity:.015;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3 0 0 0 -1'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23g)'/%3E%3C/svg%3E") 0 0/256px 256px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 8% 92%,#0000);mask-image:linear-gradient(#0000,#000 8% 92%,#0000)}#contact:before{display:none}@media print{.ocean,.grain{display:none}}@keyframes swell-drift{0%{translate:var(--dx) var(--dy)}to{translate:calc(var(--dx) * -1) calc(var(--dy) * -1)}}@keyframes ocean-hue{to{filter:hue-rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.swell{animation:swell-drift var(--d) ease-in-out var(--t) infinite alternate}.ocean{animation:150s linear infinite ocean-hue}}.avail-status{font:400 .7rem/0 var(--mono);color:var(--pulse);display:inline-block}.pulse{vertical-align:middle;background:var(--pulse);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;position:relative;top:-1px}.pulse:after{content:"";background:color-mix(in oklab, var(--pulse) 55%, transparent);animation:pulse 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{0%{opacity:1;transform:scale(1)}70%,to{opacity:0;transform:scale(3.6)}}.readout{grid-template-columns:max-content minmax(0,1fr);gap:14px 18px;margin-top:2.6rem;display:grid}.readout-group{grid-template-columns:subgrid;grid-column:span 2;align-items:baseline;row-gap:6px;display:grid}.readout dt{font:500 .64rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash-dim)}.readout dd{font:400 .78rem/1 var(--mono);color:var(--bone);flex-wrap:wrap;row-gap:6px;display:flex}.readout dd span{white-space:nowrap}.readout dd span:not(:last-child):after{content:"·";color:var(--ash-dim);margin:0 .7em}@media (width<=600px){.readout{row-gap:18px}.readout-group{grid-template-columns:minmax(0,1fr)}}.contact-foot .foot-inner{padding-top:22px;position:relative}.contact-foot .foot-inner:before{content:"";background:linear-gradient(90deg, transparent, var(--line-2) 30% 70%, transparent);height:1px;position:absolute;inset:0 0 auto}.foot{border-top:1px solid var(--line);padding:30px 0}.foot-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.foot-id{font:400 .76rem/1 var(--mono);color:var(--ash);align-items:baseline;gap:9px;display:flex}.foot-id img{opacity:.5;margin-top:-16px}.foot-links{font:400 .76rem/1 var(--mono);color:var(--ash);flex-wrap:wrap;gap:20px;display:flex}.foot-links a:hover{color:var(--bone)}.page{padding:calc(var(--nav-h) + clamp(2.5rem, 7vw, 5rem)) 0 clamp(3rem, 7vw, 5rem)}.prose{--accent:var(--link);max-width:68ch}.prose h1,.prose h2{color:color-mix(in oklab, var(--accent) 32%, var(--bone))}.prose h2{margin:2.2rem 0 .6rem;font-size:1.2rem}.prose p{color:var(--ash);margin-bottom:.9rem}.anim-off,.anim-off:before,.anim-off:after,.anim-off *,.anim-off :before,.anim-off :after{animation-play-state:paused!important}@keyframes rise{0%{opacity:0;translate:0 3rem;scale:.97}}@keyframes shard-drift-l{0%{translate:5vw -24vh}to{translate:-5vw 24vh}}@keyframes shard-drift-r{0%{translate:-5vw -24vh}to{translate:5vw 24vh}}@keyframes shard-turn{0%{rotate:-8deg}to{rotate:8deg}}@keyframes shard-lock{entry 0%{translate:var(--fx) var(--fy);rotate:calc(-1 * var(--spin));opacity:0;animation-timing-function:cubic-bezier(.3,.6,.6,1)}contain 40%,exit 0%{opacity:1;animation-timing-function:cubic-bezier(.4,0,.7,.4);translate:0;rotate:0deg}exit 100%{translate:calc(var(--fx) * -.6) calc(var(--fy) * -.6 - 14vh);rotate:var(--spin);opacity:0}}@keyframes poster-out{to{opacity:0;translate:0 -9vh}}@keyframes wash{0%,entry 35%,to{opacity:0}entry 100%,exit 0%{opacity:1}exit 70%{opacity:0}}@keyframes rule-in{0%{transform:scaleX(0)}}@keyframes wash-in{0%{opacity:0}to{opacity:1}}@keyframes wash-out{0%{opacity:1}to{opacity:0}}@keyframes panel-in{0%{opacity:.35;translate:0 10vh;scale:.94}}@keyframes panel-shard-in{0%{opacity:0;translate:-55%}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes fly{to{translate:var(--fx) var(--fy);rotate:var(--spin);opacity:0}}@keyframes hero-copy-out{to{opacity:0;translate:0 -12vh}}@keyframes progress{0%{clip-path:inset(0 100% 0 0)}}@keyframes nav-stick{0%{background:0 0;border-bottom-color:#0000}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.topline{animation:linear both progress;animation-timeline:scroll(root)}.nav{animation:linear both nav-stick;animation-timeline:scroll(root);animation-range:0 120px}.poster{view-timeline-name:--poster}.hero-copy{animation:linear both hero-copy-out;animation-timeline:--poster;animation-range:exit exit 80%}.hero-mark .shard{animation:linear both fly;animation-timeline:--poster;animation-range:exit}.hero-mark .shard-r{--fx:-160%;--fy:-45%;--spin:-26deg}.hero-mark .shard-g{--fx:85%;--fy:-75%;--spin:20deg}.hero-mark .shard-b{--fx:75%;--fy:90%;--spin:30deg}.poster:not(.hero)>.shell{animation:linear both poster-out;animation-timeline:--poster;animation-range:var(--out-from,exit 0%) var(--out-to,exit 75%)}#work{--out-from:exit 55%;--out-to:exit 100%}.poster:not(.hero):before{animation:linear both wash;animation-timeline:--poster}.poster:not(.hero):after{animation:linear both rule-in;animation-timeline:--poster;animation-range:entry 15% entry 95%}@supports (timeline-scope:--x){#work{timeline-scope:var(--cards)}#work:before{content:none}.panel{view-timeline-name:var(--tl)}.wash-view{animation:linear both wash;animation-timeline:--poster}.wash{animation:linear both wash-in,linear forwards wash-out;animation-timeline:var(--in), var(--out);animation-range:entry 10%,entry 10%}.wash:last-child{animation:linear both wash-in;animation-timeline:var(--in);animation-range:entry 10%}}.rise{animation:ease-out both rise;animation-timeline:view();animation-range:entry 5% entry 50%}.rise-2,.row:nth-child(2){animation-range:entry 15% entry 60%}.rise-3,.row:nth-child(3){animation-range:entry 25% entry 70%}.bg-shard{animation:linear both shard-drift-l;animation-timeline:view();animation-range:cover}.bg-shard.from-right{animation-name:shard-drift-r}.shard-face{animation:linear both shard-turn;animation-timeline:view();animation-range:cover}.from-right>.shard-face{animation-direction:reverse}.mark-light{animation:linear both shard-lock;animation-timeline:view();animation-range:cover}.panel{animation:linear both panel-in;animation-timeline:view();animation-range:entry entry 90%}.panel-shard{animation:linear both panel-shard-in;animation-timeline:view();animation-range:entry 10%}.bench-chart rect[rx][fill]{transform-box:fill-box;transform-origin:0;animation:linear both grow;animation-timeline:view();animation-range:entry 25% entry 95%}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hl-spectrum,.hl-spectrum-inv,.contact-mail-text,.contact-mail:after,.row-spectrum .row-num,.row-spectrum .receipt-label,.row-spectrum .row-receipt a>span,.row-spectrum .row-receipt a:before,.row-spectrum .row-receipt a:after,.nav-links a,.mark span,.foot-links a,.btn-primary,.btn-secondary{animation:none}.pulse:after{content:none}}@media print{.topline,.shards,.mark-lights,.wash-stack,.panel-shard,.mark-k{display:none}.nav{-webkit-backdrop-filter:none;backdrop-filter:none;position:static}.poster{min-height:0}.panel,#work .band-head{position:static}#work .band-head{margin-bottom:var(--head-gap);padding-bottom:0}#work .stack{margin-top:0}#work .stack:after{content:none}.panel,.wire,.bench{box-shadow:none}}@media (width<=940px){.hero-grid,.contact-grid{grid-template-columns:1fr}.hero-mark{order:-1;height:min(34vh,70vw)}.row{grid-template-columns:3.2rem minmax(0,1fr)}.row-num{font-size:2.4rem}.row-receipt{grid-column:2;margin-top:1rem}.contact-mark{order:-1;height:min(30vh,56vw)}#work{--stack-inset:.75rem;--stack-step:.5rem}.panel{min-height:0}.panel-shard{--sash:58%}}@media (width<=720px){.js .nav-toggle{display:block}.js .nav-links{top:var(--nav-h);background:var(--ink-2);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:6px 24px 16px;display:none;position:absolute;left:0;right:0}.js .nav-links.open{display:flex}.js .nav-links a{width:100%;padding:12px 0}.wire{padding:12px}.wire-body{grid-template-columns:1fr}.wire-fields{grid-template-columns:1fr 1fr}}@media (width<=480px){.wire-fields{grid-template-columns:1fr}}
