: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:var(--muted);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{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);display:grid;overflow:hidden}.project-preview{border-right:1px solid var(--border);background:var(--surface);min-width:0;display:block}.project-preview img{object-fit:contain;width:100%;height:100%;display:block}.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;margin-top:auto;padding:1.4rem 0;font-size:.68rem}@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}}@media (width<=780px){.introduction{padding-top:5rem;padding-bottom:3rem}.project{grid-template-columns:1fr}.project-preview{border-right:0;border-bottom:1px solid var(--border)}.project-preview img{height:auto}.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}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
