:root{--bg:#f7f3ee;--surface:#efe8df;--ink:#2b2622;--muted:#6f655c;--accent:#9a4b32;--line:#ddd3c7;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--wrap:1180px;--gutter:clamp(16px, 4vw, 48px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:300 17px/1.7 var(--sans);margin:0}img{background:var(--surface);max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);margin:0 0 .5em;font-weight:500;line-height:1.15}h1{font-size:clamp(2.4rem,5vw,3.6rem)}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--ink);color:var(--bg);z-index:10;padding:8px 12px;top:16px;left:16px}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.narrow{max-width:820px}.site-header{padding:28px var(--gutter);max-width:var(--wrap);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-inline:auto;display:flex}.wordmark{font:500 1.75rem/1 var(--serif);letter-spacing:.01em;text-decoration:none}.site-header ul,.site-footer ul,.social{flex-wrap:wrap;gap:8px 28px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #0000;padding-bottom:4px;font-size:.8rem;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-color:var(--ink)}.site-footer{max-width:var(--wrap);padding:32px var(--gutter) 48px;border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin:96px auto 0;font-size:.85rem;display:flex}.site-footer p{margin:0}.hero{max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto;position:relative}.hero img{aspect-ratio:16/9;object-fit:cover;width:100%}.hero-link{right:calc(var(--gutter) + 24px);background:var(--bg);letter-spacing:.14em;text-transform:uppercase;padding:10px 20px;font-size:.8rem;text-decoration:none;position:absolute;bottom:24px}.philosophy{text-align:center;padding-block:88px 40px}.philosophy blockquote{font:italic 400 clamp(1.35rem, 2.6vw, 1.8rem) / 1.5 var(--serif);margin:0}.eyebrow{font:400 .78rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.eyebrow a{text-decoration:none}.section-title{margin:56px 0 32px;font-size:clamp(2rem,4vw,2.8rem)}.card-grid,.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:32px;margin:0;padding:0;list-style:none;display:grid}.card,.project-card{text-decoration:none;display:block}.card img,.project-card img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:opacity .3s}.project-card img{aspect-ratio:4/3}.card:hover img,.project-card:hover img{opacity:.85}.card span{font:500 1.6rem/1.2 var(--serif);margin-top:14px;display:block}.project-card h2{margin:14px 0 2px;font-size:1.5rem}.meta{color:var(--muted);margin:0;font-size:.9rem}.links{flex-wrap:wrap;gap:10px;margin:0 0 32px;display:flex}.pill{border:1px solid var(--ink);border-radius:999px;padding:6px 16px;font-size:.85rem;text-decoration:none;display:inline-block}.pill:hover{background:var(--ink);color:var(--bg)}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:16px;margin-top:72px;padding-top:24px;display:flex}.pager a{font:500 1.25rem/1.3 var(--serif);text-decoration:none}.project-head{max-width:900px;padding-top:40px}.summary{font:italic 400 1.4rem/1.5 var(--serif);color:var(--muted);margin:0 0 28px}.facts{flex-wrap:wrap;gap:16px 48px;margin:0 0 28px;display:flex}.facts dt{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.facts dd{margin:0}.project-cover{width:100%;max-width:calc(var(--wrap) - 2 * var(--gutter));margin:8px auto 56px;padding-inline:0}@media (width<=1180px){.project-cover{width:calc(100% - 2 * var(--gutter))}}.prose{max-width:900px}.prose p,.prose ol,.prose ul{max-width:68ch}.prose h3{margin-top:1.8em;font-size:1.8rem}.prose img{width:100%;margin:40px 0 8px}.prose p:has(>img){max-width:none}.prose p:has(>img)>em{color:var(--muted);font-size:.9rem;font-style:normal;display:block}.about{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px;padding-top:32px;display:grid}.portrait{width:100%;position:sticky;top:24px}@media (width<=760px){.about{grid-template-columns:1fr}.portrait{position:static}}.contact{text-align:center;padding-block:80px}.big-link{font:400 clamp(1.3rem, 4vw, 2rem) / 1.3 var(--serif);overflow-wrap:anywhere}.social{justify-content:center;margin-top:24px}
