:root{--bg:#0e0e0c;--fg:#ede8de;--accent:#c8412a;--hair:#ede8de1f;--hair-strong:#ede8de38;--dim:#ede8de8c;--serif:"Fraunces", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, monospace;--max:1440px;--pad:clamp(24px, 4vw, 64px);--gap:24px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}body{cursor:none;overflow-x:hidden}::selection{background:var(--accent);color:var(--fg)}a{color:inherit;text-decoration:none}.grain{pointer-events:none;z-index:9000;opacity:.03;mix-blend-mode:overlay;position:fixed;inset:0}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;will-change:transform;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background:var(--fg);border-radius:50%;width:6px;height:6px;transition:background .2s,opacity .2s,width .2s,height .2s}.cursor-ring{border:1px solid var(--fg);opacity:0;border-radius:50%;width:6px;height:6px;transition:width .2s,height .2s,opacity .2s,border-color .2s}body.hover-interactive .cursor-dot{opacity:0}body.hover-interactive .cursor-ring{opacity:1;width:40px;height:40px}@media (hover:none){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}}.wrap{max-width:var(--max);padding:0 var(--pad);column-gap:var(--gap);grid-template-columns:repeat(12,1fr);margin:0 auto;display:grid}.topbar{z-index:100;background:linear-gradient(to bottom, var(--bg) 60%, #0e0e0c00);position:fixed;top:0;left:0;right:0}.topbar-inner{max-width:var(--max);padding:22px var(--pad);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 auto;font-size:11px;display:flex}.wordmark{letter-spacing:.22em}.status{align-items:center;gap:10px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 #c8412ab3}@keyframes pulse{0%{box-shadow:0 0 #c8412a8c}70%{box-shadow:0 0 0 14px #c8412a00}to{box-shadow:0 0 #c8412a00}}.hero{flex-direction:column;justify-content:space-between;min-height:100vh;padding-top:12vh;padding-bottom:4vh;display:flex;position:relative}.hero-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);grid-column:1/-1;justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.hero-meta .num{color:var(--fg)}.hero-wordmark{-webkit-user-select:none;user-select:none;grid-column:1/-1;width:100%;margin-top:4vh;line-height:.9;position:relative;overflow:hidden}.hero-wordmark .hw-base,.hero-wordmark .hw-lit{font-family:var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.04em;white-space:nowrap;transform-origin:0 0;font-size:240px;font-weight:400;line-height:.9;display:block}.hero-wordmark .hw-base{color:#0000;-webkit-text-stroke:1px #ede8de2e}.hero-wordmark .hw-lit{color:var(--fg);--sx:50%;--sy:50%;--sr:360px;-webkit-mask-image:radial-gradient(ellipse var(--sr) 200% at var(--sx) 50%, #000 0%, #000 60%, #00000080 85%, transparent 100%);-webkit-mask-image:radial-gradient(ellipse var(--sr) 200% at var(--sx) 50%, #000 0%, #000 60%, #00000080 85%, transparent 100%);mask-image:radial-gradient(ellipse var(--sr) 200% at var(--sx) 50%, #000 0%, #000 60%, #00000080 85%, transparent 100%);will-change:-webkit-mask-image, mask-image;position:absolute;inset:0}.hero-wordmark .hw-lit.accent{color:var(--accent)}.hero-coords{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:right;grid-column:1/-1;justify-content:flex-end;margin-top:4vh;font-size:11px;display:flex}.hero-coords em{color:var(--fg);font-style:normal}.hero-foot{grid-column:1/-1;justify-content:space-between;align-items:end;margin-top:auto;padding-top:8vh;display:flex}.hero-foot-left{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:11px}.index-cue{letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:14px;font-size:11px;display:flex}.index-cue svg{display:block}.index-arrow{animation:2s ease-in-out infinite drift}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.section{padding:14vh 0;position:relative}.sec-num{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/3;align-self:start;font-size:11px;position:sticky;top:80px}.sec-num strong{color:var(--fg);font-weight:500}.manifesto-body{grid-column:4/12}.manifesto-line{font-family:var(--mono);letter-spacing:.01em;color:var(--fg);text-indent:-2em;opacity:0;padding-left:2em;font-size:clamp(15px,1.4vw,19px);line-height:1.7;transition:opacity .6s ease-out,transform .6s ease-out;display:block;transform:translateY(14px)}.manifesto-line.in{opacity:1;transform:translateY(0)}.manifesto-line .marker{color:var(--dim);font-feature-settings:"tnum";margin-right:1em}.manifesto-tail{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;grid-column:4/12;margin-top:3em;font-size:11px}.timeline-section{height:520vh;position:relative}.timeline-pin{height:100vh;position:sticky;top:0;overflow:hidden}.timeline-head{z-index:4;pointer-events:none;position:absolute;top:0;left:0;right:0}.timeline-head .wrap{padding-top:110px;padding-bottom:0}.timeline-head .lbl{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/3;font-size:11px}.timeline-head .lbl strong{color:var(--fg);font-weight:500}.timeline-head .desc{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);grid-column:4/8;font-size:11px}.timeline-head .scroll-hint{text-align:right;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);grid-column:11/13;font-size:11px}.timeline-track{will-change:transform;align-items:center;height:100%;display:flex;position:absolute;top:0;left:0}.year-bg-layer{pointer-events:none;will-change:transform;height:100%;position:absolute;top:0;left:0}.year-bg{font-family:var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.04em;color:var(--fg);opacity:.06;white-space:nowrap;font-size:clamp(180px,28vw,360px);font-weight:400;line-height:.9;position:absolute;top:50%;transform:translateY(-50%)}.rail{background:var(--hair-strong);height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.tick{background:var(--hair-strong);width:1px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.tick.major{background:var(--fg);opacity:.35;height:22px}.tick-label{font-family:var(--mono);letter-spacing:.18em;color:var(--dim);font-size:11px;position:absolute;top:calc(50% + 22px);transform:translate(-50%)}.node{position:absolute;top:50%;transform:translate(-50%,-50%)}.node-dot{background:var(--fg);border-radius:50%;width:11px;height:11px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.node.active .node-dot{background:var(--accent)}.node-line{background:var(--accent);width:1px;height:0;transition:height .5s ease-out .12s;position:absolute;top:6px;left:0}.node.active .node-line{height:var(--ln,120px)}.node-card{top:var(--card-top,130px);width:320px;color:var(--fg);position:absolute;left:18px;transform:translate(-50%)}.node-card .cli{font-family:var(--mono);letter-spacing:.18em;color:var(--dim);text-transform:uppercase;margin-bottom:10px;font-size:10px}.node-card h3{font-family:var(--serif);font-variation-settings:"opsz" 64;letter-spacing:-.015em;min-height:1em;margin-bottom:14px;font-size:28px;font-weight:400;line-height:1.05}.node-card .meta{font-family:var(--mono);color:var(--fg);letter-spacing:.02em;margin-bottom:12px;font-size:11px;line-height:1.6}.node-card .meta .k{color:var(--dim);width:56px;display:inline-block}.node-card .outcome{font-family:var(--mono);color:var(--fg);border-top:1px solid var(--hair);min-height:2em;padding-top:12px;font-size:12px;line-height:1.55}.node-card .outcome .num{color:var(--accent)}.node.flip .node-card{top:auto;bottom:var(--card-top,130px)}.node.flip .node-line{top:auto;bottom:6px}.terminus{align-items:center;gap:16px;padding-left:20px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.terminus .blk{background:var(--accent);width:14px;height:14px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.terminus .now{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;font-size:11px}.terminus .building{font-family:var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 64;margin-left:8px;font-size:32px;font-style:italic}.caps-head{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/-1;justify-content:space-between;align-items:baseline;margin-bottom:8vh;font-size:11px;display:flex}.caps-head strong{color:var(--fg);font-weight:500}.caps{column-gap:var(--gap);border-top:1px solid var(--hair);grid-column:1/-1;grid-template-columns:80px 1fr 1fr 80px;display:grid}.caps-row{display:contents}.caps-row>div{border-bottom:1px solid #0000;padding:28px 0;position:relative}.caps-row>div:after{content:"";background:var(--hair);width:0;height:1px;transition:width .6s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-1px;left:0}.caps.in .caps-row>div:after{width:100%}.caps.in .caps-row:first-child>div:after{transition-delay:0s}.caps.in .caps-row:nth-child(2)>div:after{transition-delay:80ms}.caps.in .caps-row:nth-child(3)>div:after{transition-delay:.16s}.caps.in .caps-row:nth-child(4)>div:after{transition-delay:.24s}.caps-row .idx{font-family:var(--mono);color:var(--dim);letter-spacing:.18em;font-size:11px}.caps-row .what{font-family:var(--serif);font-variation-settings:"opsz" 64;letter-spacing:-.02em;font-size:clamp(28px,3.4vw,44px);font-weight:400;line-height:1.05}.caps-row .stack{font-family:var(--mono);color:var(--dim);letter-spacing:.02em;align-self:center;font-size:12px;line-height:1.7}.caps-row .stack span{color:var(--fg)}.caps-row .yr{font-family:var(--mono);color:var(--dim);text-align:right;letter-spacing:.14em;font-size:11px}.work-head{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/-1;justify-content:space-between;align-items:baseline;margin-bottom:6vh;font-size:11px;display:flex}.work-head strong{color:var(--fg);font-weight:500}.tile{column-gap:var(--gap);border-top:1px solid var(--hair);cursor:none;grid-column:1/-1;grid-template-columns:80px 1fr auto;align-items:end;padding:7vh 24px;transition:background-color .25s;display:grid}.tile:last-of-type{border-bottom:1px solid var(--hair)}.tile:hover{background-color:#1a1814}.tile-idx{font-family:var(--mono);color:var(--dim);letter-spacing:.18em;align-self:start;margin-top:14px;font-size:11px}.tile-main{transition:transform .25s}.tile:hover .tile-main{transform:translate(4px)}.tile-title{font-family:var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.03em;font-size:clamp(48px,7vw,110px);font-weight:400;line-height:.95}.tile:hover .tile-title{color:var(--fg)}.tile-meta{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);flex-wrap:wrap;gap:28px;margin-top:28px;font-size:11px;display:flex}.tile-meta b{color:var(--fg);font-weight:400}.tile-arrow{align-self:end;width:60px;height:1px;margin-bottom:22px;transition:width .25s;position:relative}.tile-arrow:before{content:"";background:var(--accent);position:absolute;inset:0}.tile-arrow:after{content:"";border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform-origin:100%;width:10px;height:10px;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(45deg)}.tile:hover .tile-arrow{width:110px}.live-head{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/4;font-size:11px}.live-head strong{color:var(--fg);font-weight:500}.live-grid{column-gap:var(--gap);grid-column:5/-1;grid-template-columns:repeat(2,1fr);row-gap:32px;display:grid}.live-cell{border-top:1px solid var(--hair);padding-top:16px}.live-cell .k{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;font-size:10px}.live-cell .v{font-family:var(--serif);font-variation-settings:"opsz" 64;letter-spacing:-.015em;min-height:1.2em;font-size:clamp(24px,2.6vw,36px);font-weight:400;line-height:1.1}.live-cell .v.mono{font-family:var(--mono);letter-spacing:.02em;font-size:clamp(18px,1.8vw,24px)}.contact{padding:16vh 0 6vh;position:relative}.contact-head{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/3;font-size:11px}.contact-head strong{color:var(--fg);font-weight:500}.contact-display{font-family:var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.035em;grid-column:3/-1;font-size:clamp(56px,11vw,180px);font-weight:400;line-height:.95}.contact-display em{color:var(--accent);font-style:italic}.contact-display .l2{padding-left:6vw}.contact-mail-wrap{grid-column:3/-1;align-items:center;height:80px;margin-top:6vh;display:flex;position:relative}.contact-mail{font-family:var(--mono);letter-spacing:.02em;color:var(--fg);will-change:transform;border-bottom:1px solid var(--hair-strong);padding-bottom:6px;font-size:clamp(20px,2.2vw,30px);transition:color .2s,border-color .2s;display:inline-block}.contact-mail:hover{color:var(--accent);border-color:var(--accent)}.letterhead{column-gap:var(--gap);border-top:1px solid var(--hair);grid-column:3/-1;grid-template-columns:repeat(3,1fr);margin-top:12vh;padding-top:24px;display:grid}.letterhead div{font-family:var(--mono);letter-spacing:.04em;color:var(--fg);font-size:11px;line-height:1.7}.letterhead .k{color:var(--dim);text-transform:uppercase;letter-spacing:.18em;margin-bottom:14px;font-size:10px;display:block}.footer{border-top:1px solid var(--hair);margin-top:18vh;padding:22px 0}.footer-inner{max-width:var(--max);padding:0 var(--pad);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);justify-content:space-between;margin:0 auto;font-size:10px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.word>span{transform:none!important}.manifesto-line{opacity:1!important;transform:none!important}}@media (max-width:900px){.sec-num{grid-column:1/-1;margin-bottom:24px;position:static}.manifesto-body{grid-column:1/-1}.caps{grid-template-columns:40px 1fr 1fr 40px}.live-head{grid-column:1/-1;margin-bottom:24px}.live-grid{grid-column:1/-1;grid-template-columns:1fr}.contact-head{grid-column:1/-1;margin-bottom:24px}.contact-display,.contact-mail-wrap,.letterhead{grid-column:1/-1}.letterhead{grid-template-columns:1fr;row-gap:24px}.tile{grid-template-columns:40px 1fr;padding:6vh 0}.tile-arrow{display:none}}
