@font-face{font-family:Instrument;src:url(fonts/instrument-serif-regular.ttf);font-display:swap}
@font-face{font-family:Instrument;src:url(fonts/instrument-serif-italic.ttf);font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-tight-400.ttf);font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-tight-600.ttf);font-weight:600;font-display:swap}
@font-face{font-family:Mono;src:url(fonts/jetbrains-mono-400.ttf);font-display:swap}
:root{--paper:#eeece4;--ink:#222620;--muted:#51564d;--olive:#69735b;--line:#c6c8bd;--blue:#334be0;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}p+p{margin-top:20px}h1,h2,h3{font-family:Instrument,Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:.98}h1{font-size:clamp(64px,8.2vw,126px)}h2{font-size:clamp(56px,6.6vw,98px)}h3{font-size:clamp(36px,4.2vw,65px)}em{color:var(--olive);font-weight:400}.wrap{width:calc(100% - 96px);max-width:var(--max);margin-inline:auto}.micro{font:11px/1.5 Mono,monospace;letter-spacing:.075em;text-transform:uppercase}.fine{font-size:13px;line-height:1.65;color:var(--muted)}.skip{position:fixed;top:-100px;left:16px;z-index:100;padding:12px;background:var(--ink);color:var(--paper)}.skip:focus{top:12px}
.site-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 3.3%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;white-space:nowrap}.brand-name{font:32px/1 Instrument,Georgia,serif}.site-header nav{display:flex;align-items:center;gap:30px;font-size:15px}.site-header nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.nav-contact{border:1px solid var(--ink);border-radius:99px;padding:9px 22px;font:11px Mono,monospace;text-transform:uppercase}.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.hero{border-bottom:1px solid var(--line);overflow:hidden}.hero-inner{position:relative;padding-top:86px;min-height:980px}.hero h1{position:relative;z-index:2;max-width:1130px;margin:32px 0 42px}.hero-lede{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 1fr;gap:38px;max-width:740px}.hero-lede>p:first-child{font-size:23px;line-height:1.4}.hero-lede>p+p{margin:0;color:var(--muted);font-size:17px}.actions{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:22px 30px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;border-radius:99px;background:var(--ink);color:var(--paper);padding:15px 27px;text-decoration:none;font-size:15px;font-weight:600}.button:hover{background:var(--olive);text-decoration:none}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600}.hero-art{position:absolute;right:-48px;bottom:25px;width:min(72vw,1000px);z-index:0}.hero-art img{width:100%;aspect-ratio:3/2;object-fit:cover}.hero-art figcaption{font:9px/1.5 Mono,monospace;text-transform:uppercase;text-align:right;padding:10px 36px}.experience-strip{display:flex;align-items:center;gap:48px;padding-block:38px}.experience-strip ul{list-style:none;display:flex;justify-content:space-between;gap:30px;flex:1;padding:0;margin:0}.experience-strip li{font:clamp(26px,3.1vw,42px) Instrument,Georgia,serif}.editorial{padding-block:110px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.section-heading>p{max-width:520px;color:var(--muted)}.service-list{padding:0;margin:70px 0 0;list-style:none;border-top:1px solid var(--line)}.service-list>li{display:grid;grid-template-columns:75px 1fr 1.1fr;gap:30px;padding:40px 0;border-bottom:1px solid var(--line)}.service-list h3{font-size:45px}.service-list p{color:var(--muted)}.index{font:italic 60px/.9 Instrument,Georgia,serif;color:var(--olive)}
.experience{background:var(--ink);color:var(--paper)}.experience em{color:#b3baa5}.experience .section-heading>p{color:#c7c9bf}.chapter{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:80px 0;border-bottom:1px solid #55594e;scroll-margin-top:30px}.chapter:first-of-type{margin-top:60px;border-top:1px solid #55594e}.chapter.reverse figure{order:2}.chapter img{width:100%;aspect-ratio:4/3;object-fit:cover}.chapter figcaption{color:#bbc0b0;font:9px/1.6 Mono,monospace;text-transform:uppercase;margin-top:12px}.chapter .micro{color:#d6bc8f}.chapter h3{margin:24px 0}.chapter-copy>p:not(.micro){color:#d3d6c9;font-size:17px}.chapter .tags{font:10px/1.8 Mono,monospace!important;text-transform:uppercase;border-top:1px solid #55594e;padding-top:20px;margin-top:24px}.chapter .context{font-size:13px!important;color:#b9bfae!important;margin-top:20px}.chapter a{color:var(--paper);margin-top:20px}.experience .fine{color:#c7c9bf;margin-top:24px}#background .section-heading{align-items:start}#background .text-link{margin-top:22px;margin-right:30px}
.portfolio-hero{padding-block:100px 90px}.portfolio-hero h1{margin:32px 0;max-width:1150px}.lede{max-width:710px;font-size:23px;line-height:1.45}.portfolio-hero .fine{margin-top:35px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 65px;margin-top:65px}.project{border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;align-items:start;min-width:0}.project h3{font-size:43px;margin:18px 0 22px}.project>p{max-width:570px}.project .status{color:#374b9c}.project a{margin-top:24px}.project .fine{margin-top:18px}.soft{background:#e3e4d9}.sources{padding-block:90px}.sources h2{font-size:60px;margin-bottom:28px}.sources p{max-width:800px}.sources ul{padding-left:20px;margin:26px 0}.sources .text-link{font-size:16px}.contact{padding-block:100px;background:var(--ink);color:var(--paper)}.contact h2{margin:25px 0 32px}.contact h2 em{color:#b3baa5}.contact p:not(.micro):not(.fine){max-width:690px;font-size:21px}.contact .fine{color:#b9bfae;margin-top:26px}.button.light{background:var(--paper);color:var(--ink)}footer{padding-block:35px}.footer-row{display:flex;align-items:center;gap:20px 35px;flex-wrap:wrap;font-size:13px}.footer-row .brand{font:28px Instrument,Georgia,serif}.footer-row p{flex:1;margin:0;min-width:220px}.footer-row a{min-height:44px;display:inline-flex;align-items:center}footer>.fine{margin-top:22px;max-width:950px}
@media(min-width:1450px){.hero-inner{min-height:1080px}.hero-art{width:1080px}.hero h1{max-width:1160px}}
@media(max-width:1100px){.hero-inner{min-height:0;padding-top:65px}.hero-art{position:relative;right:auto;bottom:auto;width:calc(100% + 96px);max-width:none;margin:20px -48px 50px}.hero-art img{max-height:620px;object-fit:cover}.hero h1{max-width:100%}.hero-lede{max-width:740px}.section-heading{gap:40px}.chapter{gap:6%}.site-header nav{gap:22px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{padding:16px 20px;display:block}.site-header .brand{justify-content:center}.site-header nav{justify-content:center;gap:10px 20px;flex-wrap:wrap;margin-top:12px;font-size:13px}.nav-contact{padding:8px 14px}.hero-inner{padding-top:44px}.hero h1{font-size:clamp(52px,9.5vw,80px);line-height:.97;margin:25px 0 32px}.hero-lede{grid-template-columns:1fr;gap:20px}.hero-lede>p:first-child{font-size:21px}.hero-art{width:calc(100% + 40px);margin:25px -20px 25px}.hero-art figcaption{padding:10px 20px;font-size:8px}.actions{gap:15px 24px;margin-top:28px}.button{font-size:14px}.experience-strip{display:block;padding-block:28px}.experience-strip ul{margin-top:22px;flex-wrap:wrap;gap:16px 28px}.experience-strip li{font-size:31px}.editorial{padding-block:65px}.section-heading{grid-template-columns:1fr;gap:28px}h2{font-size:60px}.service-list{margin-top:40px}.service-list>li{grid-template-columns:45px 1fr;gap:18px;padding:30px 0}.service-list h3{font-size:38px}.service-list p{grid-column:2}.index{font-size:44px}.chapter{grid-template-columns:1fr;gap:30px;padding:50px 0}.chapter.reverse figure{order:0}.chapter:first-of-type{margin-top:40px}.chapter h3{font-size:49px}.chapter img{max-height:450px}.portfolio-hero{padding-block:55px}.portfolio-hero h1{font-size:60px}.lede{font-size:21px}.project-grid{grid-template-columns:1fr;gap:40px;margin-top:42px}.project h3{font-size:40px}.sources{padding-block:60px}.sources h2{font-size:50px}.contact{padding-block:65px}.contact h2{font-size:64px}.contact .actions{align-items:start;flex-direction:column}.footer-row{gap:12px 25px}.footer-row p{flex-basis:100%}}
@media(max-width:360px){h2{font-size:52px}.site-header nav{gap:5px 14px}.hero h1{font-size:49px}.portfolio-hero h1{font-size:51px}.contact h2{font-size:56px}.text-link{font-size:14px}.hero-art figcaption{font-size:7px}.experience-strip li{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{html{scroll-behavior:auto}body{background:white;color:#222;font-size:11pt}.site-header,.hero-art,.skip{display:none}.wrap{width:100%}.hero-inner,.portfolio-hero,.editorial,.contact,.sources{padding-block:25px;min-height:0}.experience,.contact,.soft{background:white;color:#222}.experience em,.contact em{color:#51564d}.experience p,.chapter-copy>p:not(.micro),.chapter a,.experience .fine,.contact .fine{color:#333!important}.chapter{padding:25px 0;break-inside:avoid}.chapter img{max-height:200px;width:auto}.chapter h3{font-size:30pt}h1{font-size:42pt}h2{font-size:34pt}.button,.text-link{font-size:11pt}.project{break-inside:avoid}.contact .button{background:white;color:#222;border:1px solid #222}}
/* Keep the architectural study clear of the headline at every desktop width. */
.hero-inner{min-height:0;padding-bottom:25px}.hero-art{position:relative;right:auto;bottom:auto;width:calc(100% + 96px);max-width:none;margin:24px -48px 0}.hero-art img{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain}.hero-art figcaption{padding-bottom:18px}@media(max-width:760px){.hero-art{width:calc(100% + 40px);margin:24px -20px 0}.hero-inner{min-height:0}}@media print{.hero-art{display:none}}
