@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_ae301a{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_ae301a{--font-serif:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2e87b23cef325683-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c95d0e421d34c90b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d8848e31105c7f17-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fragment Mono Fallback;src:local("Arial");ascent-override:68.53%;descent-override:18.03%;line-gap-override:0.00%;size-adjust:138.63%}.__className_e3d99f{font-family:Fragment Mono,Fragment Mono Fallback;font-weight:400;font-style:normal}.__variable_e3d99f{--font-mono:"Fragment Mono","Fragment Mono Fallback"}:root{--bg:#f8f8f3;--ink:#111110;--accent:#b4532a;--serif:var(--font-serif),Georgia,serif;--sans:var(--font-sans),system-ui,sans-serif;--mono:var(--font-mono),monospace;--ease:cubic-bezier(.23,.98,.56,1)}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.col{max-width:40rem;margin:0 auto;padding:0 1.5rem}.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:rgb(17 17 16/.5)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}header{padding:1.75rem 0}header .col{display:flex;justify-content:space-between;align-items:baseline}.name{font:italic 400 1.35rem var(--serif)}nav{display:flex;gap:1.25rem;font-size:.875rem;color:rgb(17 17 16/.65)}nav a:hover{color:var(--ink)}.intro{padding:5.5rem 0 4rem}.intro h1{font:400 clamp(2.4rem,6vw,3.4rem)/1.05 var(--serif);letter-spacing:-.01em}.intro h1 em{color:var(--accent)}.intro p{font-size:1.075rem;line-height:1.65;color:rgb(17 17 16/.72);margin-top:1.5rem}.intro p a{color:var(--ink);border-bottom:1px solid rgb(17 17 16/.25)}.intro p a:hover{border-color:var(--accent)}section.block{padding:3rem 0;border-top:1px solid rgb(17 17 16/.1)}section.block h2{font:400 1.6rem var(--serif);margin:.5rem 0 1.5rem}.projects{list-style:none;padding:0}.proj{display:grid;grid-template-columns:40px 1fr auto;grid-gap:1rem;gap:1rem;align-items:center;padding:.9rem .6rem;margin:0 -.6rem;border-radius:10px;transition:background .2s}.proj:hover{background:rgb(17 17 16/.04)}.proj .mark,.proj img{width:40px;height:40px;border-radius:10px}.proj .mark{display:grid;place-items:center;background:var(--ink);color:var(--bg)}.proj h3{font:500 1rem var(--sans)}.proj p{font-size:.9rem;color:rgb(17 17 16/.6);margin-top:.1rem;line-height:1.4}.proj .arrow{font-family:var(--mono);font-size:.8rem;color:rgb(17 17 16/.35);transition:transform .3s var(--ease),color .2s}.proj:hover .arrow{transform:translate(2px,-2px);color:var(--accent)}.posts{list-style:none;padding:0}.posts a{display:flex;gap:1.5rem;align-items:baseline;padding:.75rem 0;border-bottom:1px dashed rgb(17 17 16/.12)}.posts time{font-family:var(--mono);font-size:.75rem;color:rgb(17 17 16/.45);min-width:5.5rem}.posts span{font:400 1.2rem var(--serif)}.posts a:hover span{color:var(--accent)}.all{display:inline-block;margin-top:1.25rem;font-size:.875rem;color:rgb(17 17 16/.65)}.all:hover{color:var(--accent)}footer{padding:3rem 0 4rem;border-top:1px solid rgb(17 17 16/.1)}footer .col{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:rgb(17 17 16/.6)}footer .links{display:flex;gap:1.25rem}footer a:hover{color:var(--accent)}article{padding:4.5rem 0 5rem}article .back{font-size:.875rem;color:rgb(17 17 16/.6)}article h1{font:400 clamp(2.2rem,5vw,3rem)/1.08 var(--serif);margin-top:2.5rem}article .meta{font-family:var(--mono);font-size:.75rem;color:rgb(17 17 16/.5);margin-top:1rem}article .body{margin-top:2.5rem;font-size:1.075rem;line-height:1.75;color:rgb(17 17 16/.82)}article .body p+p{margin-top:1.25rem}article .body h2{font:400 1.6rem var(--serif);margin:2.5rem 0 .75rem;color:var(--ink)}article blockquote{border-left:2px solid var(--accent);padding-left:1.1rem;margin:1.75rem 0;font:italic 400 1.3rem/1.4 var(--serif);color:var(--ink)}article code{font-family:var(--mono);font-size:.9em;background:rgb(17 17 16/.05);padding:.1em .35em;border-radius:4px}.reveal{animation:up .6s var(--ease) both;animation-delay:calc(var(--i, 0) * .1s)}@keyframes up{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.reveal{animation:none}}@media (max-width:520px){.intro{padding:3.5rem 0 3rem}.posts a{flex-direction:column;gap:.2rem}.proj .arrow{display:none}.proj{grid-template-columns:40px 1fr}}.hl{font:italic 400 1.22em/1 var(--serif);color:var(--accent)}.intro h1{font-size:clamp(2.6rem,7vw,4rem)}.intro{padding-bottom:2rem}.kind{display:inline-block;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-right:.5rem}.empty{font:italic 400 1.2rem var(--serif);color:rgb(17 17 16/.5)}.ark{padding:1rem 0 4rem}.col.wide{max-width:46rem}.stage{position:relative;aspect-ratio:600/420;container-type:inline-size}.stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--ink);stroke-linecap:round}.arch{animation:draw 1.6s var(--ease) .3s forwards}.arch,.deck{stroke-width:10;stroke-dasharray:1;stroke-dashoffset:1}.deck{animation:draw .9s var(--ease) 1.4s forwards}@keyframes draw{to{stroke-dashoffset:0}}.maker{position:absolute;left:50%;top:21%;transform:translateX(-50%);text-align:center;opacity:0;animation:fade .6s var(--ease) 1.2s forwards}.maker span{display:block;font:italic 400 7cqw/1 var(--serif)}.maker small{display:block;margin-top:.4em;font-family:var(--mono);font-size:max(10px,1.9cqw);color:rgb(17 17 16/.5)}.maker:hover span{color:var(--accent)}.prod{position:absolute;left:var(--x);top:calc(50cqw - 10.9cqw - 1.4cqw);width:21%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;animation:rise .8s var(--ease) forwards;animation-delay:calc(2s + var(--d) * .18s)}.prod img{height:auto;width:52%;aspect-ratio:1;border-radius:23%;box-shadow:0 10px 24px -10px rgb(0 0 0/.4);transition:transform .4s var(--ease)}.prod b{margin-top:5.4cqw;font:500 max(11px,2.4cqw) var(--sans)}.prod small{max-width:12ch;margin-top:.25em;font-family:var(--mono);font-size:max(9px,1.7cqw);color:rgb(17 17 16/.55);text-transform:uppercase;letter-spacing:.03em}.prod:hover img{transform:translateY(-5%) scale(1.06)}.prod:hover b{color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translate(-50%,30%)}to{opacity:1;transform:translate(-50%)}}@keyframes fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.arch,.deck{animation:none;stroke-dashoffset:0}.maker,.prod{animation:none;opacity:1}}.socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.socials a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;background:var(--brand);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.socials a[aria-label=Instagram]{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.socials svg{width:18px;height:18px;fill:currentColor}.socials a:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px var(--brand)}footer .links{flex-wrap:wrap}.empty,.eyebrow,.maker small,.posts time,article .meta{color:#696963}.proj .arrow{color:#73736d}.prod small{color:#63635e}article .body a{text-decoration:underline;text-underline-offset:3px}article .body ol,article .body ul{padding-left:1.5rem;margin:1.25rem 0}article .body pre{overflow-x:auto;padding:1rem;background:rgb(17 17 16/.05)}article .body pre code{background:none;padding:0}article .body img{max-width:100%;height:auto}article .body{overflow-wrap:anywhere}.writing-page{padding:4.5rem 0 5rem;min-height:55vh}.writing-page h1{font:400 3rem var(--serif);margin-bottom:2rem}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}.prod:hover img,.proj:hover .arrow,.socials a:hover{transform:none}}