:root{--bg:#0e0d0b;--card:#16140f;--ink:#f3efe6;--muted:#c9c1b4;--quiet:#a3988c;--line:#f3efe624;--copper:#e0c09a;--copper-deep:#c4a27a;--inverse:#16140f;--serif:"Instrument Serif", "Iowan Old Style", Palatino, "Palatino Linotype", serif;--sans:"Instrument Sans", "Avenir Next", "Segoe UI", sans-serif;--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:400;line-height:1.5}body.chat-open{overflow:hidden}::selection{background:var(--copper);color:var(--inverse)}:focus-visible{outline:1px solid var(--copper);outline-offset:3px}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.sr,.hp{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--ink);color:var(--inverse);z-index:30;padding:8px 12px;position:absolute;top:-40px;left:16px}.skip:focus{top:12px}#webgl{z-index:0;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity 1.6s;position:fixed;inset:0}#webgl.ready{opacity:1}.veil{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0e0d0b6b 0%,#0e0d0b14 36%,#0e0d0b00 58%);position:fixed;inset:0}#grain{z-index:6;pointer-events:none;opacity:.18;mix-blend-mode:overlay;background-repeat:repeat;position:fixed;inset:-20%}.nav{z-index:12;pointer-events:none;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:18px;left:22px;right:22px}.wordmark{pointer-events:auto;font-family:var(--serif);letter-spacing:-.03em;text-shadow:0 8px 24px #00000073;font-size:22px;font-style:italic;text-decoration:none}.glass-bar{pointer-events:auto;-webkit-backdrop-filter:blur(22px)saturate(1.6);background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:4px;padding:5px;display:flex;box-shadow:inset 0 1px #ffffff47,0 12px 40px #00000047}.nav a,.nav button{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:0 0;border:0;border-radius:999px;padding:9px 14px;font-size:12px;text-decoration:none}.nav a[aria-current=true],.ask-chip{color:var(--ink);background:#ffffff24;box-shadow:inset 0 1px #ffffff59}.ask-chip{color:var(--copper)}.ask-dock{z-index:14;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(22px)saturate(1.6);background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:14px 20px;font-size:12px;position:fixed;bottom:22px;right:22px;box-shadow:inset 0 1px #ffffff57,0 16px 40px #00000059}body.chat-open .ask-dock{display:none}main,.colophon{z-index:2;position:relative}.wrap{width:min(640px,100% - 56px);margin-left:7vw}.wrap.wide{width:min(760px,100% - 56px)}.eyebrow,.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--quiet);text-shadow:0 1px 16px #000000d9;justify-content:flex-start;gap:18px;margin:0 0 18px;font-size:11px;display:flex}.kicker{display:block}.hero{z-index:2;flex-direction:column;justify-content:space-between;min-height:100svh;padding:112px 0 36px;display:flex;position:relative}.hero .eyebrow{width:min(640px,100% - 56px);margin-left:7vw}.hero-copy{width:min(920px,100% - 48px);margin-left:7vw}.hero h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(4.6rem,12.4vw,10.6rem);font-weight:400;line-height:.82}.mask{margin-bottom:-.08em;padding-bottom:.14em;display:block;overflow:hidden}.rise{animation:rise 1.15s var(--ease) both;display:block}.rise.d2{animation-delay:80ms}@keyframes rise{0%{transform:translateY(108%)}to{transform:none}}.hero-foot{justify-content:space-between;align-items:flex-end;gap:24px;max-width:560px;margin-top:28px;display:flex}.hero-foot p{font-family:var(--serif);margin:0;font-size:clamp(1.7rem,2.5vw,2.25rem);line-height:1.12}.hero-foot .line-link{vertical-align:3px;margin-left:8px}.line-link{letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--copper-deep);flex:none;padding-bottom:4px;font-size:12px;text-decoration:none}.line-link:hover{color:var(--copper)}.hint{letter-spacing:.24em;text-transform:uppercase;writing-mode:vertical-rl;color:var(--copper);margin:0;font-size:11px;position:absolute;bottom:36px;right:28px}.index,.case,.record,.book,.colophon,.stack-board{background:linear-gradient(90deg,#0e0d0bfc 0%,#0e0d0be8 46%,#0e0d0b80 100%)}body[data-view=work] .home-block,body[data-view=home] .work-page,body[data-view=home] .work-back,body[data-view=work] .work-page{display:none}body[data-view=work] .work-page.active{padding-top:28px;display:block}.work-back{z-index:3;color:var(--copper);letter-spacing:.14em;text-transform:uppercase;margin:108px 0 0 7vw;font-size:12px;text-decoration:none;display:none;position:relative}body[data-view=work] .work-back{display:inline-block}.shots:empty{display:none}.shots{gap:12px;margin:8px 0 22px;display:grid}.shots.pair{grid-template-columns:1.4fr .8fr;align-items:start}.shots img{filter:sepia(.32)saturate(.62)contrast(1.04)brightness(.76);border:1px solid #ffffff1f;border-radius:16px;width:100%;display:block}.shots.half{max-width:280px}.try-now{-webkit-backdrop-filter:blur(16px)saturate(1.4);color:var(--ink);letter-spacing:.16em;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;align-items:center;padding:12px 18px;font-size:12px;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffff47}.try-now:hover{color:var(--copper)}.index{padding:10vh 0 6vh}.rows{border-bottom:1px solid var(--line)}.row{border-top:1px solid var(--line);transition:transform .45s var(--ease), background .45s var(--ease);border-radius:16px;grid-template-columns:52px minmax(110px,.7fr) 1.5fr auto auto;align-items:baseline;gap:12px;padding:26px 8px;text-decoration:none;display:grid}.row:hover{background:#ffffff0b;transform:scale(1.02)}.row .go{color:var(--copper);font-size:1.1rem}.row .num,.row .year{letter-spacing:.14em;text-transform:uppercase;color:var(--quiet);font-size:12px}.row .name{letter-spacing:-.03em;transition:transform .55s var(--ease);font-size:1.35rem;font-weight:500}.row .sum{color:var(--muted)}.row:hover .name{font-family:var(--serif);font-style:italic;font-weight:400;transform:translate(8px)}.row:hover .num{color:var(--copper)}.case{padding:16vh 0}.case h2,.record h2,.book h2{font-family:var(--serif);letter-spacing:-.035em;margin:0 0 22px;font-size:clamp(2.8rem,5.4vw,4.5rem);font-weight:400;line-height:.96}.case h2 em,.record h2 em,.book h2 em{color:var(--copper);font-style:italic}.figure{width:min(240px,70%);color:var(--copper);margin:8px 0 26px}.figure.wide{width:min(420px,100%)}.figure svg{width:100%;height:auto;display:block}.figure [data-draw]{fill:none;stroke:currentColor;stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:1px}.case.in .figure [data-draw]{animation:draw 1.7s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}.figure .node{fill:currentColor;opacity:.55}.prose p{color:var(--muted);max-width:58ch;margin:0;font-size:1.05rem;line-height:1.65}.prose p+p{margin-top:1rem}.stack{letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)!important;margin-top:1.5rem!important;font-size:.78rem!important}.out{gap:18px;display:flex;margin-top:1.4rem!important}.out a{color:var(--ink);text-underline-offset:4px;-webkit-text-decoration-color:var(--copper-deep);text-decoration-color:var(--copper-deep)}.mega{font-family:var(--serif);letter-spacing:-.05em;margin:0;font-size:clamp(5.5rem,12vw,8.5rem);font-weight:400;line-height:.82}.mega span{color:var(--copper);margin-left:.06em;font-size:.45em}.mega-note{letter-spacing:.18em;text-transform:uppercase;color:var(--quiet);margin:10px 0 28px;font-size:12px}.command{letter-spacing:-.04em;color:var(--copper);margin:0 0 6px;font-size:clamp(1.6rem,3vw,2.3rem)}.command.quiet{color:var(--quiet);margin-bottom:22px;font-size:1.05rem}.switcher{font-family:var(--serif);color:var(--quiet);gap:22px;margin:0 0 26px;font-size:clamp(1.8rem,3vw,2.4rem);display:flex}.switcher .on{color:var(--ink);font-style:italic}.record{padding:12vh 0 8vh}.stats{grid-template-columns:1fr 1fr;margin:10px 0 42px;display:grid}.stats div{border-top:1px solid var(--line);padding:20px 18px 22px 0}.stats dt{font-family:var(--serif);letter-spacing:-.04em;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:400;line-height:1}.stats dd{color:var(--muted);max-width:26ch;margin:8px 0 0}.trail{margin:8px 0 36px;padding:0;list-style:none}.trail-label{margin-top:8px}.trail li{border-left:1px solid #e0c09a73;padding:0 0 28px 28px;position:relative}.trail li:last-child{padding-bottom:8px}.trail .when{letter-spacing:.16em;text-transform:uppercase;color:var(--quiet);margin-bottom:6px;font-size:11px;display:block}.trail h3{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 8px;font-size:1.7rem;font-weight:400}.trail p{color:var(--muted);max-width:58ch;margin:0}.trail a{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration-color:var(--copper-deep);text-decoration-color:var(--copper-deep)}.trail li.mark h3{color:var(--copper);font-size:2.15rem}.stack-board{padding:8vh 0 4vh}.stack-board h2{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 22px;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:400}.stack-board h2 em{color:var(--copper);font-style:italic}.pills{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pills li{-webkit-backdrop-filter:blur(16px)saturate(1.4);letter-spacing:.04em;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;padding:10px 14px;font-size:13px;box-shadow:inset 0 1px #ffffff47}.status{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:12px}.trail li:before{content:"";background:var(--copper);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:-4px;box-shadow:0 0 0 4px #0e0d0b}.book{padding:10vh 0 14vh}.book-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);align-items:start;gap:48px;width:min(1080px,100% - 56px);margin-left:7vw;display:grid}.deck{font-family:var(--serif);max-width:16em;margin:0;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.3}.or{color:var(--muted);margin:28px 0 0}.or a{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration-color:var(--copper-deep);text-decoration-color:var(--copper-deep)}.card{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#16140feb;min-width:0;max-width:100%;padding:28px 26px 22px}#month-label{letter-spacing:.12em;overflow-wrap:anywhere;line-height:1.45}.days,.slots{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.days::-webkit-scrollbar{display:none}.slots::-webkit-scrollbar{display:none}.slots{flex-wrap:wrap;margin:14px 0 8px;overflow:visible}.day,.slot{border:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;flex:none;min-width:76px;padding:10px 12px}.day small{letter-spacing:.16em;text-transform:uppercase;color:var(--quiet);font-size:10px;display:block}.day b{font-family:var(--serif);margin-top:4px;font-size:1.45rem;font-weight:400;display:block}.slot{letter-spacing:.04em;min-width:0;padding:10px 14px}.day[aria-pressed=true],.slot[aria-pressed=true]{background:var(--ink);color:var(--inverse);border-color:var(--ink)}.day[aria-pressed=true] small{color:#5e574e}.card label{letter-spacing:.16em;text-transform:uppercase;color:var(--quiet);margin:18px 0 6px;font-size:11px;display:block}.card input,.card textarea,.ask-form textarea{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;outline:none;width:100%;padding:8px 0 12px}.card textarea{resize:vertical;min-height:72px}.card input:focus,.card textarea:focus,.ask-form textarea:focus{border-bottom-color:var(--copper)}.confirm,.ask-form button,.text-btn{background:var(--ink);color:var(--inverse);letter-spacing:.04em;border:0;padding:14px 18px}.confirm{margin-top:22px}.confirm:hover,.ask-form button:hover,.text-btn:hover{background:var(--copper)}.confirm:disabled{opacity:.38;cursor:default;background:var(--ink)}.note{min-height:1.2em;color:var(--quiet);font-size:.92rem}.note.error{color:#e7b2a2}.success .when{font-family:var(--serif);letter-spacing:-.03em;margin:8px 0 10px;font-size:clamp(2rem,4vw,2.8rem);line-height:1.05}.success p:last-child{color:var(--muted);margin-bottom:0}.colophon{padding:4vh 0 10vh}.mail{font-family:var(--serif);letter-spacing:-.03em;margin:8px 0 26px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;text-decoration:none;display:inline-block}.mail:hover{color:var(--copper)}.links{gap:22px;margin:0 0 18px;padding:0;list-style:none;display:flex}.links a{letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #0000;font-size:12px;text-decoration:none}.links a:hover{border-bottom-color:var(--copper)}.loc{color:var(--quiet);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px}.scrim{z-index:18;background:#08070675;position:fixed;inset:0}.scrim[hidden]{display:none}.ask{z-index:20;-webkit-backdrop-filter:blur(28px)saturate(1.5);width:min(440px,100%);min-height:0;transition:transform .65s var(--ease);background:#100f0db8;border-left:1px solid #ffffff29;flex-direction:column;padding:22px 22px 18px;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(104%);box-shadow:inset 1px 0 #ffffff2e}.ask.open{transform:none}.ask-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ask-head h2{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:2.4rem;font-style:italic;font-weight:400}.text-btn{color:var(--ink);border:1px solid var(--line);background:0 0;padding:8px 12px}.ask-log{overflow-anchor:none;overscroll-behavior:contain;touch-action:pan-y;flex:auto;min-height:0;margin:12px 0;padding-right:4px;overflow:hidden auto}.msg{border-top:1px solid var(--line);padding:16px 0}.msg p{margin:0}.msg.user p{font-family:var(--serif);font-size:1.35rem;line-height:1.25}.msg.bot p{color:var(--muted);line-height:1.6}.msg.live p:after{content:"";background:var(--copper);vertical-align:text-bottom;width:7px;height:.9em;margin-left:3px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.jumps{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.jumps a{color:var(--copper);font-size:.92rem}.suggestions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.suggestions button{border:1px solid var(--line);color:var(--muted);background:0 0;padding:7px 10px;font-size:13px}.suggestions button:hover{color:var(--ink);border-color:var(--copper-deep)}.ask-form{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.ask-form textarea{resize:none;grid-column:1;min-height:52px}@media (width<=860px){.veil{opacity:0;background:#0e0d0b;transition:opacity .35s linear}body.reading .veil{opacity:1}.nav{top:12px;left:12px;right:12px}.nav a[href="/#path"]{display:none}.ask-dock{bottom:12px;right:12px}.wrap,.wrap.wide,.hero .eyebrow,.hero-copy,.book-grid{width:calc(100% - 36px);margin-left:18px}.hero{padding-top:96px}.hint{display:none}.hero-foot{flex-direction:column;align-items:flex-start}.shots.pair{grid-template-columns:1fr}.row{grid-template-columns:36px 1fr auto auto;grid-template-areas:"num name year go""num sum sum go";row-gap:4px}.row .num{grid-area:num}.row .name{grid-area:name}.row .year{grid-area:year}.row .sum{grid-area:sum}.row .go{grid-area:go;align-self:center}.book-grid{grid-template-columns:minmax(0,1fr);gap:28px}.card{padding:22px 16px 18px}.slot{padding:10px 12px}.stats{grid-template-columns:1fr}.ask{border-left:0;width:100%}}@media (prefers-reduced-motion:reduce){.rise,.case.in .figure [data-draw]{animation:none}.figure [data-draw]{stroke-dashoffset:0}.row .name,.ask{transition:none}}
