:root{--background:#faf9f6;--surface:#fff;--foreground:#171715;--muted:#676762;--border:#cecec8;color:var(--foreground);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:monospace}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:var(--background);min-width:320px;min-height:100dvh;margin:0;font-size:14px;line-height:1.6}a{color:inherit}.skip-link{z-index:10;color:var(--surface);background:var(--foreground);padding:.65rem .85rem;font-weight:700;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.page-shell{flex-direction:column;width:min(100% - 3rem,1040px);min-height:100dvh;margin:0 auto;display:flex;position:relative}.social-links{flex-wrap:wrap;justify-content:flex-end;gap:1.25rem;display:flex;position:absolute;top:1.35rem;right:0}.social-links a,.project-links a{color:inherit;letter-spacing:.07em;text-underline-offset:.25em;text-transform:uppercase;font-size:.72rem}.social-links a:hover,.project-links a:hover{color:var(--foreground)}a:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.introduction{border-bottom:1px solid var(--border);padding:clamp(4.75rem,8vw,6rem) 0 clamp(2.5rem,5vw,4rem)}h1{letter-spacing:-.075em;margin:0;font-size:clamp(3rem,7vw,5.5rem);font-weight:500;line-height:.95}.introduction p{max-width:650px;color:var(--muted);margin:1.5rem 0 0;font-size:clamp(.95rem,1.7vw,1.1rem);line-height:1.7}.projects{padding:clamp(2.75rem,5vw,4rem) 0 clamp(4rem,8vw,6rem)}.projects h2{letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.72rem}.project-filter{appearance:none;color:var(--muted);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.project-filter[aria-pressed=true]{color:var(--foreground);text-underline-offset:.28em;text-decoration:underline;text-decoration-thickness:.12em}.project-filter:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}@media (hover:hover){.project-filter[aria-pressed=false]:hover{color:var(--muted)}}.project-list{grid-auto-rows:1fr;gap:1rem;display:grid}.project[hidden]{display:none}.project{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);display:grid;overflow:hidden}.project-preview{aspect-ratio:4/3;border-right:1px solid var(--border);background:var(--surface);align-self:start;min-width:0;display:block;position:relative;overflow:hidden}.project-preview picture{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.project-preview img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.project-details{flex-direction:column;min-width:0;padding:clamp(1.75rem,4vw,2.75rem);display:flex}.project-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:.15rem .65rem;margin:0 0 1.25rem;font-size:.68rem;line-height:1.6;display:flex}.project-meta-item{white-space:nowrap}.project-meta-item+.project-meta-item:before{content:"·";margin-right:.65rem}.project-meta a{color:inherit;text-underline-offset:.22em}.project-meta a:hover{color:var(--foreground)}.project h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.2rem,2.3vw,1.55rem);font-weight:500;line-height:1.4}.project h3 a{text-decoration:none}.project h3 a:hover{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.project-links{flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:auto;padding-top:2.5rem;display:flex}.site-footer{border-top:1px solid var(--border);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:auto;padding:1.4rem 0;font-size:.68rem;display:flex}.site-footer a{color:inherit;text-transform:none;text-underline-offset:.25em}.article-shell{width:min(100% - 3rem,780px)}.article-nav{justify-content:flex-start;left:0;right:auto}.essay{padding:clamp(5.5rem,10vw,8rem) 0 clamp(4rem,8vw,6rem)}.essay-header{border-bottom:1px solid var(--border);padding-bottom:clamp(2.5rem,6vw,4rem)}.essay-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.72rem}.essay-header h1{letter-spacing:-.065em;max-width:12ch;font-size:clamp(2.6rem,6vw,4.5rem);line-height:1.02}.essay-lede{max-width:42rem;color:var(--muted);margin:2rem 0 0;font-size:1.15rem;line-height:1.7}.essay-artwork{border:1px solid var(--border);background:#f6f3eb;width:min(100%,680px);margin:clamp(2.5rem,6vw,4rem) auto 0}.essay-artwork picture,.essay-artwork img{width:100%;display:block}.essay-artwork img{height:auto}.essay-body{padding-top:clamp(2.5rem,6vw,4rem);font-size:1.1rem;line-height:1.85}.essay-body h2{letter-spacing:-.03em;margin:3.25rem 0 1rem;font-size:1.4rem;font-weight:500;line-height:1.3}.essay-body h2:first-child{margin-top:0}.essay-body p{margin:0 0 1.4rem}.essay-body p:last-child{margin-bottom:0}@media (width>=1200px){body{font-size:17.5px}h1{font-size:clamp(3.75rem,8.75vw,6.875rem)}.social-links a,.project-links a,.projects h2{font-size:1.125rem}.introduction p{font-size:clamp(1.1875rem,2.125vw,1.375rem)}.project{grid-template-columns:minmax(0,.85fr) minmax(400px,1.15fr)}.project-meta{letter-spacing:.03em;gap:.15rem .2rem;font-size:1.025rem}.project-meta-item+.project-meta-item:before{margin-right:.2rem}.project h3{font-size:clamp(1.5rem,2.875vw,1.9375rem)}.site-footer{font-size:1.125rem}.essay-kicker{font-size:.9rem}.essay-header h1{font-size:clamp(3.25rem,7.5vw,5.625rem)}.essay-lede{font-size:1.4375rem}.essay-body{font-size:1.35rem}.essay-body h2{font-size:1.75rem}}@media (width<=780px){.introduction{padding-top:5rem;padding-bottom:3rem}.project{grid-template-rows:auto 1fr;grid-template-columns:1fr}.project-preview{border-right:0;border-bottom:1px solid var(--border)}.project-links{margin-top:0}}@media (width<=480px){.page-shell{width:calc(100% - 2rem)}.social-links{flex-direction:row;gap:.75rem}.social-links a{font-size:.65rem}h1{font-size:clamp(2.35rem,12vw,3rem)}.introduction{padding-top:4.75rem;padding-bottom:2.5rem}.introduction p{margin-top:1.5rem;font-size:.92rem}.projects{padding-top:2.5rem;padding-bottom:4rem}.project-details{padding:1.4rem}.project h3{font-size:1.1rem}.project-links{padding-top:2rem}.article-shell{width:calc(100% - 2rem)}.essay{padding-top:5.25rem}.essay-header h1{font-size:clamp(2.25rem,11vw,3rem)}.essay-lede{font-size:1rem}.essay-body{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
