@font-face{font-family:Archivo;src:url('/fonts/Archivo-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/Archivo-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/Archivo-Semibold.ttf') format('truetype');font-weight:600;font-display:swap}
/* Field & Paper: Archivo Regular for reading, Medium for headings, Semibold for labels. */
:root{--paper:#f4f1e9;--stone:#d8d2c4;--ink:#292d2b;--green:#3f564b;--ochre:#b18a45;--margin:clamp(24px,4vw,80px);--page:clamp(48px,6.6vw,96px);--section:clamp(32px,3.2vw,48px);--subhead:26px;--lead:24px;--reading:18px;--meta:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--reading)/1.5 Archivo,Arial,sans-serif;font-synthesis:none}
button,input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:6px}
img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}h1{font-size:var(--page)}h2{font-size:var(--section)}h3{font-size:var(--subhead)}p+p{margin-top:1em}
.eyebrow,.number,dt,figcaption,.work-card p,.project-heading p,.gallery-copy,.gallery-guide,.gallery-links,.plane-caption,.site-header nav,.menu-button,.footer-bottom,form label,.form-note,.delivery-note{font-size:var(--meta);line-height:1.4}
.eyebrow{display:block;margin-bottom:28px}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid transparent;padding:8px 0;margin-top:24px}.text-link:hover{border-color:currentColor}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}
.section{padding:100px var(--margin);max-width:1800px;margin:auto}.narrow{max-width:900px}.skip{position:fixed;top:-100px;left:24px;z-index:200;background:var(--paper);padding:16px}.skip:focus{top:12px}
/* The complete original mark is scaled uniformly. */
.site-header{height:100px;padding:16px var(--margin);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:100;background:var(--paper)}
.brand{width:132px;display:block;flex-shrink:0;background:var(--ink);mask:url('/images/logo.png') center/contain no-repeat;-webkit-mask:url('/images/logo.png') center/contain no-repeat}.brand img{width:100%;height:auto;opacity:0}
@supports not (mask:url('/images/logo.png')){.brand{background:transparent}.brand img{opacity:1}}
.site-header nav{display:flex;gap:32px}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a[aria-current=page]{border-color:var(--ochre)}.menu-button{display:none;background:none;border:0}.menu-button span{font-size:var(--lead)}.home .site-header{position:fixed;top:0;left:0;right:0}
/* Static exhibition doubles as reduced-motion and rendering fallback. */
.exhibition{position:relative}.gallery-sticky{position:relative;min-height:100svh}.gallery-copy{padding:145px var(--margin) 32px}.gallery-copy h1{font-size:var(--meta);line-height:1.4;letter-spacing:0}.gallery-copy p{margin-top:4px}
.scene{padding:30px var(--margin);display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px;align-items:start}.plane{position:relative;display:block}.plane img{width:100%;filter:grayscale(1)}.plane-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:10px}
.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:24px var(--margin)}.gallery-guide{display:flex;flex-direction:column;align-items:center;gap:4px}.gallery-links{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.all-projects{display:flex;align-items:center;gap:16px;padding:8px 0}.skip-gallery{border-bottom:1px solid var(--stone);padding-bottom:4px}.gallery-scrubber{display:none}
/* Native scroll drives a field in perspective, followed by a stationary view. */
.spatial .gallery-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden}.spatial .scene{display:block;position:absolute;inset:108px 0 132px;padding:0;perspective:1200px;perspective-origin:50% 50%;transform-style:preserve-3d}
.spatial .plane{position:absolute;left:50%;top:50%;transform-style:preserve-3d;will-change:transform}.spatial .plane img{height:calc(100% - 36px);object-fit:contain;box-shadow:3px 5px 12px -9px #292d2b35}.spatial .plane-caption{height:36px;padding:5px 0;opacity:0}.spatial .plane.in-focus .plane-caption{opacity:1;background:var(--paper)}.spatial .plane:focus-visible{outline-offset:8px}
.spatial .gallery-copy{position:absolute;bottom:28px;left:var(--margin);padding:0;z-index:5;max-width:34%;pointer-events:none}.spatial .gallery-copy p{max-width:31ch}.spatial .gallery-controls{position:absolute;bottom:24px;left:45%;right:var(--margin);padding:0;z-index:6}.spatial .gallery-guide{max-width:190px;text-align:center}
.spatial .gallery-sticky:after{content:'';position:absolute;bottom:0;left:0;right:0;height:128px;background:var(--paper);z-index:4;pointer-events:none}
/* Editorial rhythm: shared alignments, full photographs, compact supporting text. */
.intro{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-block:140px}.intro h2{max-width:24ch}.intro .lead{font-size:var(--lead);line-height:1.4;max-width:38ch;margin:40px 0 24px}.intro p:not(.lead){max-width:52ch}.intro-label{padding-top:6px}.intro-label .eyebrow{margin-bottom:12px}.intro-label p{font-size:var(--meta);max-width:18ch}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.services{padding-top:20px}.service-row{display:grid;grid-template-columns:48px 1fr 1.3fr 24px;gap:28px;align-items:start;padding:32px 0;border-top:1px solid var(--stone)}.service-row:last-child{border-bottom:1px solid var(--stone)}.service-row p{max-width:48ch}.service-row .number{padding-top:5px}
.approach-feature{display:grid;grid-template-columns:1.6fr 1fr;gap:9%;align-items:center;padding-top:50px}.approach-feature>img{width:100%;object-fit:contain}.approach-feature p{margin-top:28px;max-width:37ch}.project-directory{padding-top:30px;padding-bottom:45px;border-bottom:1px solid var(--stone)}.project-directory>div{display:flex;flex-wrap:wrap;gap:8px 36px}.project-directory .text-link{margin:0}
.invitation{padding-block:130px;text-align:left;display:grid;grid-template-columns:1fr 2fr;column-gap:8%}.invitation .eyebrow{grid-row:1/4}.invitation h2{max-width:20ch}.invitation p{margin-top:24px;max-width:43ch;grid-column:2}.invitation .text-link{grid-column:2;justify-self:start;color:var(--green);border-bottom-color:var(--green)}
.page-heading{padding-top:65px;padding-bottom:90px}.page-heading h1{max-width:20ch}.page-heading>p{margin-top:32px;max-width:48ch}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px 6%;padding-top:0}.work-card:nth-child(even){margin-top:130px}.work-card img{width:100%;height:auto;object-fit:contain}.work-title{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:20px}.work-title h2{font-size:var(--subhead)}.work-card p{margin-top:8px}.image-type{display:block;margin-top:3px}.text-project{border-top:1px solid var(--stone);padding-top:30px}
.project-heading{padding-block:55px}.project-heading p{margin-top:22px}.project-opening{width:calc(100% - var(--margin)*2);max-height:85svh;object-fit:contain;margin:0 auto}.project-context{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;padding-block:85px}.project-context h2{font-size:var(--subhead)}.project-context p{margin-top:24px;max-width:50ch}dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:28px}dt{margin-bottom:6px}dd{margin:0}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:90px 6%;padding-top:0}.project-gallery .photo-0{grid-column:1/-1}.project-gallery img{width:100%;object-fit:contain;max-height:950px}.project-gallery figure{align-self:center}.project-gallery figcaption{margin-top:12px}.project-gallery figcaption:empty{display:none}.project-next{display:flex;justify-content:space-between;gap:30px;border-block:1px solid var(--stone);padding-block:36px}.project-next .text-link{margin:0}
/* Sconset: individually paced image chapters. */
.project-essay{padding-top:35px}.essay-opening{display:grid;grid-template-columns:1fr 2fr;gap:6%;align-items:start}.essay-title{padding-top:10px}.essay-title h1{margin-top:42px}.essay-title .project-location{margin-top:18px}.essay-title .project-summary{margin-top:46px;max-width:31ch}.essay-title .project-scope{margin-top:24px;font-size:var(--meta)}.essay-cover{padding-top:10px}.essay-cover img{width:100%;height:auto}.essay-cover figcaption{display:flex;justify-content:space-between;gap:24px;margin-top:12px}
.essay-facts{margin-top:50px;gap:18px;font-size:var(--meta)}.essay-facts>div{border-top:1px solid var(--stone);padding-top:10px}.essay-facts dd{font-size:var(--meta)}
.essay-chapter{margin-top:120px;display:grid;grid-template-columns:1fr 2fr;gap:48px 6%;align-items:start}.chapter-note .eyebrow{margin-bottom:24px}.chapter-note h2{font-size:var(--subhead);max-width:17ch}.chapter-note p{margin-top:24px;max-width:29ch}.essay-chapter figure img{width:100%;height:auto}.essay-chapter figure figcaption{margin-top:12px}.essay-detail{grid-column:2;width:66%;justify-self:end;margin-top:20px}.essay-pair{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;align-items:start;gap:8%}.essay-pair figure:nth-child(2){margin-top:140px}.essay-wide{grid-column:1/-1;margin-top:40px}.essay-chapter.rooms .chapter-note{grid-column:2}.essay-chapter.rooms{margin-top:110px}
.editorial{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.editorial-image{width:100%;max-height:750px;object-fit:contain}.editorial h2{margin-bottom:30px}.editorial p{max-width:48ch}.service-details article{display:grid;grid-template-columns:20% 1fr;border-top:1px solid var(--stone);padding:48px 0}.service-details h3{font-size:var(--reading);letter-spacing:0;line-height:1.55;margin:26px 0 12px}.service-details p{max-width:58ch}.approach-steps{padding-top:0}.approach-steps article{display:grid;grid-template-columns:60px 1fr 1.2fr;gap:40px;padding:45px 0;border-top:1px solid var(--stone)}.approach-steps h2{font-size:var(--subhead)}
.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;padding-top:0}.contact-layout h2{font-size:var(--subhead);margin-bottom:25px}.contact-layout p{max-width:42ch}.direct-contact{margin-top:45px}.direct-contact .eyebrow{margin-bottom:12px}.direct-contact p{margin-top:18px}form label{display:block;margin-bottom:26px}input,textarea{width:100%;display:block;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0;border-radius:0;margin-top:6px;font-size:var(--reading)}textarea{border:1px solid var(--ink);padding:14px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-note a,.delivery-note a{text-decoration:underline}.delivery-note{padding:15px 0}.submit{background:transparent;border:0;border-bottom:1px solid var(--green);padding:12px 0;cursor:pointer;display:flex;gap:35px;margin-top:20px}.submit:disabled{opacity:.5;cursor:wait}#form-status{margin-top:24px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
footer{padding:65px var(--margin) 25px;border-top:1px solid var(--stone);font-size:var(--meta)}.footer-top{display:grid;grid-template-columns:1.3fr 1.2fr .7fr 1fr;gap:30px}.footer-top>div,.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.footer-bottom{border-top:1px solid var(--stone);margin-top:65px;padding-top:20px;display:flex;justify-content:space-between;gap:20px}
@media(max-width:1000px){.section{padding-block:75px}.intro{padding-block:100px}.site-header nav{gap:24px}.spatial .gallery-copy{max-width:30%}.spatial .gallery-controls{left:39%}.essay-opening{grid-template-columns:1fr 1.6fr;gap:5%}.essay-title .project-summary{margin-top:28px}.essay-facts{grid-template-columns:1fr;margin-top:30px}.essay-chapter{margin-top:90px}.essay-pair figure:nth-child(2){margin-top:90px}.footer-top{grid-template-columns:1fr 1fr}.contact-layout{gap:7%}}
@media(max-width:700px){
 :root{--subhead:24px;--lead:24px}.section{padding-block:60px}.site-header{height:88px;padding-block:12px}.brand{width:112px}.menu-button{display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 0;cursor:pointer}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;padding:24px var(--margin);background:var(--paper);border-bottom:1px solid var(--stone)}.site-header nav.open{display:flex;flex-direction:column;gap:8px}.site-header nav a{padding:12px 0}
 .gallery-copy{padding-top:120px}.scene{grid-template-columns:1fr 1fr;gap:32px 20px}.scene .plane:nth-child(3n){grid-column:1/-1;width:85%;justify-self:center}.gallery-controls{gap:20px;align-items:flex-end}.gallery-guide{max-width:150px;text-align:center}.gallery-links{max-width:48%;gap:10px}
 .spatial .gallery-sticky{min-height:660px}.spatial .scene{inset:185px 0 145px;perspective:1000px}.spatial .plane img{height:calc(100% - 32px)}.spatial .plane-caption{height:32px;padding:4px 0}.spatial .gallery-copy{top:109px;left:var(--margin);right:var(--margin);bottom:auto;max-width:none}.spatial .gallery-copy p{max-width:31ch}.spatial .gallery-controls{left:var(--margin);bottom:20px;align-items:center}.spatial .gallery-guide{max-width:145px}.spatial .gallery-sticky:after{height:140px}
 .intro,.approach-feature,.editorial,.project-context,.contact-layout,.invitation{grid-template-columns:1fr;gap:36px}.intro-label p{max-width:none}.intro h2{max-width:22ch}.intro .lead{margin-top:28px}.intro{padding-top:80px}.section-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:30px}.service-row{grid-template-columns:24px 1fr 20px;gap:12px;padding:25px 0}.service-row p{grid-column:2;grid-row:2}.service-row>span:last-child{grid-column:3;grid-row:1}.service-row .number{padding-top:2px}.approach-feature{padding-top:20px}
 .invitation .eyebrow{grid-row:auto;margin:0}.invitation p,.invitation .text-link{grid-column:1;margin-top:0}.invitation{gap:24px;padding-block:75px}.page-heading{padding-top:40px;padding-bottom:60px}.page-heading>p{margin-top:26px}.work-grid{grid-template-columns:1fr;gap:52px;padding-top:0}.work-card:nth-child(even){margin:0}.work-card p span{display:block;margin-top:3px}.project-heading{padding-block:35px}.project-context{padding-block:50px}.project-gallery{gap:45px 20px}.project-gallery figure{grid-column:1/-1}.project-gallery .photo-1{width:86%}.project-gallery .photo-2{width:86%;justify-self:end}.project-next{padding-block:28px}
 .project-essay{padding-top:30px}.essay-opening{grid-template-columns:1fr;gap:36px}.essay-title h1{margin-top:30px}.essay-title .project-summary{max-width:40ch;margin-top:28px}.essay-facts{grid-template-columns:1fr 1fr;margin-top:30px}.essay-cover{padding:0}.essay-cover figcaption{flex-direction:column;gap:3px}.essay-chapter{grid-template-columns:1fr;gap:32px;margin-top:70px}.chapter-note h2{max-width:none}.chapter-note p{max-width:38ch;margin-top:20px}.chapter-note .eyebrow{margin-bottom:16px}.essay-detail{grid-column:1;width:85%;margin-top:0}.essay-chapter.rooms{margin-top:70px}.essay-chapter.rooms .chapter-note{grid-column:1}.essay-pair{grid-template-columns:1fr;gap:36px}.essay-pair figure:nth-child(2){width:85%;justify-self:end;margin-top:0}.essay-wide{margin-top:0}
 .service-details{padding-top:0}.service-details article{grid-template-columns:35px 1fr}.approach-steps{padding-top:0}.approach-steps article{grid-template-columns:28px 1fr;gap:18px}.approach-steps article p{grid-column:2}.form-row{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:10px;margin-top:40px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* On phones the photograph follows the title; facts follow the photograph. */
@media(max-width:700px){
 .essay-opening{gap:0}.essay-title{display:contents}.essay-title>.eyebrow{order:0;margin:0}
 .essay-title>h1{order:1;margin-top:28px}.essay-title>.project-location{order:2;margin:14px 0 28px}
 .essay-cover{order:3;margin-bottom:28px}.essay-title>.project-summary{order:4;margin:0}
 .essay-title>.project-scope{order:5}.essay-facts{order:6}.essay-title>.text-link{order:7;justify-self:start}
}
