:root{color-scheme:light;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:30px;--blur:26px;--sat:160%;--f-display:"Bricolage Grotesque",system-ui,sans-serif;--f-body:"Newsreader",Georgia,"Times New Roman",serif;--f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--fs-xs:.6875rem;--fs-sm:.875rem;--fs-base:1.125rem;--fs-lg:1.3125rem;--fs-xl:1.625rem;--rail:228px;--measure:34rem;--paper:#f2ede5;--surface:#fffcf7b8;--surface-2:#281e0f0f;--ink:#141009;--ink-2:#443d33;--muted:#7a7164;--rule:#281e0f29;--rule-strong:#281e0f52;--accent:#ce4a22;--accent-ink:#ce4a22;--accent-soft:#ce4a221a;--before:#a08b6e;--glass:#fcf8f26b;--glass-line:#ffffffe6;--shadow:0 10px 34px #5a37191a;--b1:#ffcb95;--b2:#ffb2a8;--b3:#f7d888;--b4:#dcc4ea;--b-op:.52;--b-blur:96px;--grain:.07;--grain-blend:overlay}:root[data-mode=dark]{color-scheme:dark;--paper:#050f0e;--surface:#0c2220b8;--surface-2:#96f0d712;--ink:#f0f6f2;--ink-2:#b3c7be;--muted:#6c8078;--rule:#96f0d726;--rule-strong:#96f0d752;--accent:#5fd6c4;--accent-ink:#5fd6c4;--accent-soft:#5fd6c421;--before:#8fa39b;--glass:#0a201e61;--glass-line:#aafae633;--shadow:0 10px 34px #00000057;--b1:#0f5350;--b2:#10405c;--b3:#166052;--b4:#0a3342;--b-op:.78;--grain:.1;--grain-blend:soft-light}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.62;transition:background .45s,color .45s}a{color:inherit}img{max-width:100%;height:auto}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.field{z-index:-2;pointer-events:none;position:fixed;inset:-14%;overflow:hidden}.blob{filter:blur(var(--b-blur));opacity:var(--b-op);will-change:transform;border-radius:50%;transition:opacity .45s;position:absolute}.b1{background:radial-gradient(circle at 40% 40%,var(--b1),transparent 68%);width:56vw;height:56vw;animation:74s ease-in-out infinite d1;top:-12%;left:-8%}.b2{background:radial-gradient(circle at 55% 45%,var(--b2),transparent 68%);width:48vw;height:48vw;animation:91s ease-in-out infinite d2;top:-4%;right:-6%}.b3{background:radial-gradient(circle at 45% 55%,var(--b3),transparent 68%);width:52vw;height:52vw;animation:83s ease-in-out infinite d3;bottom:-14%;right:4%}.b4{background:radial-gradient(circle at 50% 50%,var(--b4),transparent 68%);width:44vw;height:44vw;animation:67s ease-in-out infinite d4;bottom:-8%;left:6%}@keyframes d1{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(7vw,5vh)scale(1.12)}}@keyframes d2{0%,to{transform:translate(0,0)scale(1.06)}50%{transform:translate(-6vw,7vh)scale(1)}}@keyframes d3{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-8vw,-6vh)scale(1.1)}}@keyframes d4{0%,to{transform:translate(0,0)scale(1.08)}50%{transform:translate(6vw,-5vh)scale(1)}}@media (prefers-reduced-motion:reduce){.blob{animation:none}}.grain{z-index:60;pointer-events:none;opacity:var(--grain);mix-blend-mode:var(--grain-blend);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.glass{background:var(--glass);backdrop-filter:blur(var(--blur)) saturate(var(--sat));border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow)}.shell{grid-template-columns:var(--rail) minmax(0,1fr);align-items:start;max-width:1320px;margin:0 auto;display:grid}.rail{border-radius:var(--r-lg);flex-direction:column;gap:26px;min-height:calc(100vh - 36px);margin:18px 0 18px 18px;padding:26px 22px;display:flex;position:sticky;top:18px}.wordmark{text-decoration:none;display:block}.wordmark .n{font-family:var(--f-display);letter-spacing:-.028em;font-size:1.125rem;font-weight:800;line-height:1.08;display:block}.wordmark .r{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;display:block}.railnav{flex-direction:column;gap:2px;display:flex}.railnav a{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;text-decoration:none;transition:all .15s;display:flex}.railnav a:hover{color:var(--accent-ink);background:var(--surface-2)}.railnav a[aria-current=page]{color:var(--ink);background:var(--surface-2);font-weight:500}.railnav a[aria-current=page]:after{content:"";background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.railfoot{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);margin-top:auto;line-height:1.9}.railfoot a{color:var(--muted);border-bottom:1px solid var(--rule);text-decoration:none}.railfoot a:hover{color:var(--accent-ink);border-color:var(--accent)}.langsw{align-items:center;gap:6px;display:inline-flex}.langsw b{color:var(--ink-2);font-weight:500}.langsw i{color:var(--rule-strong);font-style:normal}.langsw a{color:var(--muted);border-bottom:1px solid var(--rule);text-decoration:none}.langsw a:hover{color:var(--accent-ink);border-color:var(--accent)}.modebtn{font:inherit;font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--muted);border:1px solid var(--rule);border-radius:var(--r-sm);text-align:left;background:0 0;width:100%;margin-top:12px;padding:6px 10px;transition:all .15s}.modebtn:hover{border-color:var(--rule-strong);color:var(--ink-2)}.stage{min-width:0;padding:40px 44px 110px}.view{animation:.3s both fade;display:none}.view.on{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.view{animation:none}}.eyebrow{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 16px}h1.lede{font-family:var(--f-display);letter-spacing:-.032em;text-wrap:balance;max-width:15ch;margin:0 0 22px;font-size:clamp(2.4rem,5.6vw,4rem);font-weight:800;line-height:1}h2.sec{font-family:var(--f-display);font-weight:800;font-size:var(--fs-xl);letter-spacing:-.024em;text-wrap:balance;margin:0 0 16px;line-height:1.15}h3.sub{font-family:var(--f-display);font-weight:600;font-size:var(--fs-lg);letter-spacing:-.016em;margin:0 0 10px}p{max-width:var(--measure);margin:0 0 1.05em}.thesis{font-size:var(--fs-lg);color:var(--ink-2);max-width:40rem;line-height:1.5}.dek{color:var(--muted);max-width:38rem}strong{color:var(--ink);font-weight:600}.lnk{color:var(--accent-ink);border-bottom:1px solid var(--rule-strong);text-decoration:none}.lnk:hover{border-color:var(--accent)}.block{margin:0 0 60px}.rule{background:var(--rule);border:0;height:1px;margin:0 0 30px}.intro p{max-width:38rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metric{border-radius:var(--r-md);background:var(--glass);backdrop-filter:blur(var(--blur)) saturate(var(--sat));border:1px solid var(--rule);box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow);padding:24px;position:relative;overflow:hidden}.metric:before{content:"";z-index:-1;aspect-ratio:1;opacity:.22;filter:blur(38px);background:radial-gradient(circle at 50% 50%,var(--tint),transparent 70%);border-radius:50%;width:150%;position:absolute;top:-45%;left:-25%}:root[data-mode=dark] .metric:before{opacity:.34}.metric:first-child{--tint:var(--b1)}.metric:nth-child(2){--tint:var(--b2)}.metric:nth-child(3){--tint:var(--b3)}.metric:nth-child(4){--tint:var(--b4)}.metric .k{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.metric .v{font-family:var(--f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-weight:800;line-height:1.05;display:flex}.metric .from{color:var(--muted);font-size:1.0625rem;font-weight:600}.metric .arr{color:var(--rule-strong);font-size:.75rem}.metric .to{color:var(--accent-ink);font-size:2.5rem}.metric .note{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);margin-top:12px;line-height:1.5}.index{flex-direction:column;gap:2px;display:flex}.row{border-radius:var(--r-md);border:1px solid #0000;grid-template-columns:1fr auto;align-items:start;gap:8px 26px;padding:18px 20px;text-decoration:none;transition:all .2s;display:grid}.row:hover{background:var(--surface-2);border-color:var(--rule)}.row:hover .rt{color:var(--accent-ink)}.rt{font-family:var(--f-display);font-weight:600;font-size:var(--fs-lg);letter-spacing:-.018em;grid-column:1;line-height:1.22;transition:color .15s}.rm{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;grid-column:1;gap:4px 9px;margin-top:6px;display:flex}.rm i{color:var(--rule-strong);font-style:normal}.chip{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--rule-strong);color:var(--muted);white-space:nowrap;border-radius:100px;grid-area:1/2/3;align-self:start;padding:4px 10px}.chip.live{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.feature{grid-template-columns:repeat(auto-fit,minmax(252px,1fr));align-items:stretch;gap:20px;margin:0 0 26px;display:grid}.fcard{border-radius:var(--r-lg);color:inherit;background:var(--glass);backdrop-filter:blur(var(--blur)) saturate(var(--sat));border:1px solid var(--rule);box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow);flex-direction:column;text-decoration:none;transition:transform .25s;display:flex;overflow:hidden}.fcard:hover{transform:translateY(-3px)}.fshot{aspect-ratio:16/10;background:var(--surface-2);flex:none;position:relative;overflow:hidden}.fshot.diagram{place-items:center;padding:16px;display:grid}.fshot svg{width:100%;height:100%}.fgrid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;position:absolute;inset:0}.fgrid img{object-fit:cover;width:100%;height:100%;display:block}.fbody{flex-direction:column;flex:1;padding:22px 24px 26px;display:flex}.fcard h3{font-family:var(--f-display);letter-spacing:-.016em;margin:0 0 6px;font-size:1.0625rem;font-weight:600;transition:color .15s}.fcard:hover h3{color:var(--accent-ink)}.fcard .fm{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);margin:0 0 12px;display:block}.fcard p{font-size:var(--fs-sm);color:var(--ink-2);max-width:none;margin:0;line-height:1.55}.case{grid-template-columns:minmax(0,1fr) 252px;align-items:start;gap:0 48px;display:grid}.glance{border-radius:var(--r-md);font-family:var(--f-mono);background:var(--glass);backdrop-filter:blur(var(--blur)) saturate(var(--sat));border:1px solid var(--rule);box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow);padding:24px;position:sticky;top:40px}.glance dl{grid-template-columns:1fr;gap:14px;margin:0;display:grid}.glance dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:var(--fs-xs)}.glance dd{color:var(--ink-2);font-size:var(--fs-sm);margin:4px 0 0;line-height:1.5}.tldr{border-left:3px solid var(--accent);font-size:var(--fs-lg);max-width:var(--measure);margin:0 0 34px;padding:2px 0 2px 20px;line-height:1.48}ul.plain{max-width:var(--measure);margin:0 0 1.05em;padding-left:1.1em}ul.plain li{margin-bottom:.4em}ul.plain li::marker{color:var(--accent)}.figure{margin:0 0 32px}.figure svg{width:100%;max-width:880px;height:auto;display:block}.figcap{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);max-width:46rem;margin-top:12px;line-height:1.65}.scroller{max-width:100%;overflow-x:auto}.flow{max-width:40rem;margin:0 0 26px}.step{border-bottom:1px solid var(--rule);grid-template-columns:26px 1fr auto;align-items:baseline;gap:3px 14px;padding:14px 0;display:grid}.step .dot{grid-row:1/3;align-self:start;height:100%;margin-top:5px;position:relative}.step .dot b{background:var(--accent);border-radius:50%;width:9px;height:9px;margin-left:8px;display:block}.step .dot:after{content:"";background:var(--rule-strong);width:1px;position:absolute;top:11px;bottom:-16px;left:12px}.step:last-child .dot:after{display:none}.step .t{font-family:var(--f-display);letter-spacing:-.012em;font-size:1rem;font-weight:600}.step .d{font-size:var(--fs-sm);color:var(--ink-2);grid-column:2;line-height:1.5}.step .was{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--before);white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;grid-area:1/3}.results{max-width:42rem;margin:0 0 22px;padding:0;list-style:none}.results li{border-bottom:1px solid var(--rule);grid-template-columns:118px 1fr;align-items:baseline;gap:20px;padding:15px 0;display:grid}.results li:last-child{border-bottom:0}.results b{font-family:var(--f-display);letter-spacing:-.04em;color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1}.results span{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5}.wall{border-radius:var(--r-md);grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:5px;margin:0 0 16px;display:grid;overflow:hidden}.wall img{aspect-ratio:9/16;object-fit:cover;background:var(--surface-2);width:100%;height:auto;transition:transform .2s,filter .2s;display:block}.wall a{line-height:0;display:block}.wall a:hover img{filter:saturate(1.1);transform:scale(1.04)}.films{grid-template-columns:repeat(auto-fit,minmax(292px,1fr));gap:26px;margin:0 0 20px;display:grid}.film{text-decoration:none;display:block}.film .shot{background:var(--surface-2);border-radius:var(--r-md);border:1px solid var(--rule);line-height:0;position:relative;overflow:hidden}.film .shot img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;transition:transform .3s;display:block}.film:hover .shot img{transform:scale(1.025)}.film .shot video{aspect-ratio:16/9;object-fit:contain;background:#000;width:100%;display:block}.film .play{backdrop-filter:blur(8px);background:#0a14129e;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:38px;height:38px;transition:background .18s;display:grid;position:absolute;bottom:16px;left:16px}.film:hover .play{background:var(--accent)}.film .play:after{content:"";border-top:6.5px solid #0000;border-bottom:6.5px solid #0000;border-left:10px solid #fff;margin-left:3px}.film h3{font-family:var(--f-display);letter-spacing:-.016em;margin:15px 0 5px;font-size:1.0625rem;font-weight:600}.film .fm{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:3px 9px;margin-bottom:8px;display:flex}.film .fm i{color:var(--rule-strong);font-style:normal}.film p{font-size:var(--fs-sm);color:var(--ink-2);max-width:none;margin:0;line-height:1.5}.portrait{float:right;border-radius:var(--r-md);width:300px;margin:4px 0 26px 36px}.deets{grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:2px;max-width:46rem;display:grid}.deet{border-radius:var(--r-md);border:1px solid #0000;padding:16px 18px;transition:all .2s}.deet:hover{background:var(--surface-2);border-color:var(--rule)}.deet .k{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.deet .v{font-size:var(--fs-sm);line-height:1.55}.colophon{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--rule);max-width:46rem;margin-top:50px;padding-top:26px;line-height:1.9}.colophon b{color:var(--ink-2);font-weight:500}.nameblock{max-width:44rem;margin:30px 0 40px}.nameblock h1{font-family:var(--f-display);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.75rem,3.2vw,2.375rem);font-weight:800;line-height:1.05}.nameblock .one{font-size:var(--fs-lg);color:var(--ink-2);max-width:34ch;margin:0 0 14px;line-height:1.45}.nameblock .meta{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;gap:6px 14px;display:flex}.nameblock .meta i{color:var(--rule-strong);font-style:normal}.workgrid{grid-template-columns:repeat(6,1fr);gap:20px;display:grid}.wcard{border-radius:var(--r-lg);color:inherit;background:var(--glass);backdrop-filter:blur(var(--blur)) saturate(var(--sat));border:1px solid var(--rule);box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow);flex-direction:column;grid-column:span 3;text-decoration:none;transition:transform .25s;display:flex;overflow:hidden}.wcard:hover{transform:translateY(-3px)}.wcard.lead{flex-direction:row;grid-column:span 6;align-items:stretch}.wcard.lead .wshot{aspect-ratio:auto;flex:58%;min-height:300px}.wcard.lead .wbody{flex:42%;justify-content:center;padding:38px 40px}.wcard.quiet{opacity:.72}.wcard.quiet:hover{opacity:1}.wshot{aspect-ratio:16/10;background:var(--surface-2);flex:none;position:relative;overflow:hidden}.wshot.diagram{place-items:center;padding:18px;display:grid}.wshot svg{width:100%;height:100%}.wshot img{object-fit:cover;width:100%;height:100%;display:block}.wgrid{gap:2px;display:grid;position:absolute;inset:0;overflow:hidden}.wgrid.g6{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.wgrid.g12{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr))}.wgrid.g4{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.wgrid img{object-fit:cover;width:100%;height:100%;display:block}.wbody{flex-direction:column;flex:1;padding:24px 26px 28px;display:flex}.wcard .wnum{font-family:var(--f-display);letter-spacing:-.042em;color:var(--accent-ink);font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:2.25rem;font-weight:800;line-height:1}.wcard.lead .wnum{font-size:3rem}.wcard .wnum s{color:var(--muted);margin-right:.35em;font-size:.46em;font-weight:600;text-decoration:none}.wcard .wnum em{font-style:normal;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:9px;font-size:.3em;font-weight:400;display:block}.wcard h3{font-family:var(--f-display);letter-spacing:-.018em;margin:0 0 6px;font-size:1.1875rem;font-weight:600;transition:color .15s}.wcard.lead h3{letter-spacing:-.026em;font-size:1.625rem}.wcard:hover h3{color:var(--accent-ink)}.wcard .wm{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--muted);margin:0 0 12px;display:block}.wcard p{font-size:var(--fs-sm);color:var(--ink-2);max-width:none;margin:0;line-height:1.55}.aboutstrip{border-radius:var(--r-lg);grid-template-columns:190px 1fr;align-items:center;gap:30px;margin:44px 0 0;padding:30px;display:grid}.aboutstrip img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);width:100%;display:block}.aboutstrip p{max-width:44ch;margin:0 0 12px;font-size:1.0625rem}.aboutstrip p:last-of-type{margin:0}@media (width<=900px){.wcard{grid-column:span 6}.wcard.lead{flex-direction:column}.wcard.lead .wshot{aspect-ratio:16/10;min-height:0}.wcard.lead .wbody{padding:26px}.wcard.lead .wnum{font-size:2.25rem}.wcard.lead h3{font-size:1.3125rem}}@media (width<=560px){.aboutstrip{grid-template-columns:1fr;gap:20px;padding:22px}.aboutstrip img{max-width:200px}.metrics{grid-template-columns:1fr}}.topbar{display:none}@media (width<=920px){.case{grid-template-columns:1fr;gap:0}.glance{margin:0 0 34px;position:static}.glance dl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}}@media (width<=760px){:root{--fs-base:1.0625rem}.shell{grid-template-columns:1fr}.rail{display:none}.topbar{z-index:30;border-top:0;border-left:0;border-right:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0;padding:14px 18px;display:flex;position:sticky;top:0}.topbar .wordmark .n{font-size:1.0625rem}.topbar .wordmark .r{display:none}.topbar nav{font-family:var(--f-mono);font-size:var(--fs-sm);flex-wrap:wrap;gap:4px 14px;display:flex}.topbar nav a{color:var(--ink-2);text-decoration:none}.topbar nav a[aria-current=page]{color:var(--accent-ink);font-weight:500}.topbar .langsw{font-family:var(--f-mono);font-size:var(--fs-xs);margin-left:auto}.topbar .modebtn{width:auto;margin:0}.stage{padding:26px 18px 80px}.metric{padding:20px}.metric .to{font-size:2rem}.step{grid-template-columns:26px 1fr}.step .was{grid-area:auto/2;margin-top:3px}.wall{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:3px}.portrait{float:none;width:min(280px,66%);margin:0 0 24px}.blob{filter:blur(64px)}}
