:root{--ink:#101112;--paper:#D8D9D8;--line:rgba(16,17,18,.3);--soft:#858888;--max:1540px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}.skip-link{position:fixed;top:-4rem;left:1rem;z-index:20;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:104px;position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.5rem,4vw,4.5rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:.72rem;letter-spacing:.13em;font-size:1rem}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;font-size:.92rem;letter-spacing:0}.brand-name{font-size:.92rem;letter-spacing:.19em}.site-nav{display:flex;gap:clamp(1.2rem,3.6vw,4.5rem)}.site-nav a,.menu-toggle{color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;background:transparent;border:0;padding:.65rem 0}.site-nav a:hover,.site-nav a:focus-visible{opacity:.6}.menu-toggle{display:none}.hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;color:#fff}.hero-image,.hero-overlay,.hero-grid{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;filter:grayscale(1) contrast(1.08)}.hero-overlay{background:linear-gradient(180deg,rgba(15,18,18,.22),rgba(10,12,12,.36) 70%,rgba(5,6,6,.76))}.hero-grid{background:linear-gradient(90deg,transparent 20%,rgba(255,255,255,.36) 20%,rgba(255,255,255,.36) calc(20% + 1px),transparent calc(20% + 1px),transparent 80%,rgba(255,255,255,.36) 80%,rgba(255,255,255,.36) calc(80% + 1px),transparent calc(80% + 1px)),linear-gradient(180deg,transparent 26%,rgba(255,255,255,.36) 26%,rgba(255,255,255,.36) calc(26% + 1px),transparent calc(26% + 1px))}.hero-content,.scroll-cue{position:relative;z-index:1;margin-left:clamp(1.5rem,20vw,22rem)}.hero-content{margin-bottom:clamp(6rem,14vh,10rem)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700;margin:0 0:1rem;color:inherit}.hero h1{font-size:clamp(3.5rem,8vw,9rem);font-weight:400;line-height:.88;letter-spacing:-.07em;margin:0}.hero-role{font-size:.88rem;text-transform:uppercase;letter-spacing:.18em;margin:1.25rem 0 0}.scroll-cue{position:absolute;bottom:2rem;text-decoration:none;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.scroll-cue span{margin-left:.8rem;font-size:1rem}.section{padding:clamp(5rem,10vw,11rem) clamp(1.5rem,5vw,6rem);max-width:var(--max);margin:auto}.section-head{max-width:700px;margin-bottom:3.2rem}.section h2{font-size:clamp(2.5rem,5vw,5.7rem);line-height:.92;letter-spacing:-.065em;font-weight:400;margin:0}.section-intro{max-width:37rem;margin:1.8rem 0 0;font-size:1.06rem}.projects .eyebrow,.profile .eyebrow,.contact .eyebrow{color:var(--soft)}.project-filters{display:flex;gap:1.8rem;margin:0 0 2.2rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.filter{appearance:none;background:none;border:0;padding:0;color:var(--soft);font:inherit;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.filter.is-active{color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3.5rem) clamp(1rem,2.1vw,2.4rem)}.project-card{grid-column:span 4;min-width:0}.project-card--wide{grid-column:span 8}.project-card[hidden]{display:none}.project-open{display:block;width:100%;padding:0;border:0;background:#d7d9d6;cursor:pointer;overflow:hidden;aspect-ratio:1/1.06}.project-card--wide .project-open{aspect-ratio:1.67/1}.project-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}.project-open:hover img,.project-open:focus-visible img{transform:scale(1.035);filter:brightness(.87)}.project-caption{padding-top:.8rem;display:grid;grid-template-columns:2rem 1fr;column-gap:.7rem}.project-caption span{color:var(--soft);font-size:.7rem;padding-top:.25rem}.project-caption h3{font-size:1rem;font-weight:400;margin:0;line-height:1.15}.project-caption p{grid-column:2;margin:.3rem 0 0;color:var(--soft);font-size:.8rem}.profile{display:grid;grid-template-columns:2fr 5fr 3fr;gap:clamp(2rem,7vw,9rem);border-top:1px solid var(--line)}.profile-number{font-size:clamp(5rem,13vw,13rem);line-height:.7;letter-spacing:-.1em;color:#b8bbb7}.profile-copy p{max-width:42rem;font-size:1.07rem}.profile-copy h2{margin-bottom:2rem}.profile-data{margin:0;border-top:1px solid var(--line)}.profile-data div{padding:1.15rem 0;border-bottom:1px solid var(--line)}dt{text-transform:uppercase;color:var(--soft);font-size:.65rem;letter-spacing:.12em}dd{margin:.4rem 0 0;font-size:.87rem}.contact{min-height:70vh;background:var(--ink);color:var(--paper);max-width:none;padding-left:max(1.5rem,calc((100% - var(--max))/2 + 5vw));padding-right:max(1.5rem,calc((100% - var(--max))/2 + 5vw));display:flex;flex-direction:column;justify-content:center}.contact h2{max-width:850px}.contact-link{display:block;color:inherit;font-size:clamp(1.5rem,3.3vw,4rem);letter-spacing:-.05em;margin-top:3rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);width:max-content;max-width:100%;padding-bottom:.25rem}.contact-meta{margin-top:2.3rem;color:#bfc1bf;font-size:.85rem}.project-dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-width:min(1100px,calc(100vw - 2rem));width:100%;box-shadow:0 30px 100px rgba(0,0,0,.35)}.project-dialog::backdrop{background:rgba(11,12,12,.82)}.dialog-close{position:absolute;right:1rem;top:1rem;z-index:2;width:2.5rem;height:2.5rem;border:1px solid currentColor;background:var(--paper);font-size:1.5rem;cursor:pointer}.dialog-image-wrap{height:min(54vh,560px);background:#d3d5d2}.dialog-image-wrap img{width:100%;height:100%;object-fit:cover}.dialog-copy{padding:2rem clamp(1.5rem,5vw,5rem) 3rem}.dialog-copy h2{font-size:clamp(2.4rem,5vw,5rem);font-weight:400;letter-spacing:-.065em;line-height:.9;margin:.2rem 0 1rem}.dialog-copy p:not(.eyebrow){font-size:1.05rem;max-width:40rem}.dialog-meta{color:var(--soft);font-size:.86rem!important}.dialog-copy .eyebrow{color:var(--soft)}@media(max-width:760px){.site-header{height:76px}.brand-mark{width:36px;height:36px}.brand-name{font-size:.78rem}.menu-toggle{display:block}.site-nav{display:none;position:absolute;right:1rem;top:62px;background:rgba(16,17,18,.94);padding:1.25rem;flex-direction:column;gap:.7rem;min-width:170px}.site-nav.is-open{display:flex}.hero-grid{background:linear-gradient(90deg,transparent 14%,rgba(255,255,255,.3) 14%,rgba(255,255,255,.3) calc(14% + 1px),transparent calc(14% + 1px),transparent 86%,rgba(255,255,255,.3) 86%,rgba(255,255,255,.3) calc(86% + 1px),transparent calc(86% + 1px))}.hero-content,.scroll-cue{margin-left:1.5rem}.hero-content{margin-bottom:7.5rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem 1rem}.project-card,.project-card--wide{grid-column:span 1}.project-card--wide{grid-column:span 2}.project-card--wide .project-open{aspect-ratio:1.2/1}.profile{grid-template-columns:1fr;gap:2.5rem}.profile-number{display:none}.profile-data{max-width:500px}.contact{min-height:58vh}.contact-link{font-size:1.5rem;overflow-wrap:anywhere}.project-filters{gap:1rem;overflow-x:auto}.filter{white-space:nowrap}.dialog-image-wrap{height:43vh}}