:root{--paper:#e7e5df;--ink:#232622;--line:#b8b8b0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}header{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,4vw,60px);border-bottom:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}header nav{display:flex;gap:26px}header>span{text-align:right}.brand{font-weight:700}.hero{height:calc(100svh - 78px);position:relative;padding:clamp(18px,3vw,40px)}.hero img{width:100%;height:100%;object-fit:cover}.hero-title{position:absolute;left:clamp(36px,7vw,110px);bottom:clamp(36px,7vw,100px);background:var(--paper);padding:24px 30px;min-width:min(520px,calc(100% - 72px))}.hero-title p,.index{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.hero-title h1,h2{font:400 clamp(2.7rem,6vw,6rem)/.95 Georgia,serif;margin:.25em 0}.hero-title a,.project-meta button{display:inline-flex;gap:40px;border:0;border-bottom:1px solid;background:none;padding:8px 0;cursor:pointer}.manifesto,.process,.contact{padding:clamp(85px,12vw,165px) clamp(18px,7vw,105px);display:grid;grid-template-columns:1fr 3fr;gap:7vw;border-top:1px solid var(--line)}.manifesto h2{max-width:1100px;margin-top:0}.manifesto div>p{max-width:650px;margin-left:auto}.projects{background:var(--ink);color:var(--paper);padding:clamp(85px,12vw,165px) clamp(18px,5vw,75px)}.project-heading{display:grid;grid-template-columns:1fr 3fr;gap:7vw;margin-bottom:80px}.project-heading h2{margin-top:0}.project{margin-bottom:70px}.project-image{position:relative;background-image:url('./assets/house-courtyard.png');background-size:cover;min-height:65vw;filter:saturate(.75)}.project-image span{position:absolute;right:14px;top:12px;background:var(--paper);color:var(--ink);padding:7px 10px;font-size:.7rem}.project-meta{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;border-top:1px solid #4a4d48;padding:18px 0}.project-meta h3,.project-meta p{margin:0}.project-meta h3{font:400 1.6rem Georgia,serif}.project-meta p{color:#aaa}.project-meta button{color:var(--paper)}.project-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-row .project-image{min-height:44vw}.image-crop-a{background-position:left center}.image-crop-b{background-position:right center}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.process-list article{border-top:1px solid var(--ink);padding-top:15px}.process-list span{font-size:.72rem}.process-list h3{font:400 1.6rem Georgia,serif}.contact{background:#d2d1ca}.contact h2{margin:.3em 0}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label{display:grid;gap:6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.contact input,.contact select,.contact textarea{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0;font:inherit;border-radius:0}.contact .wide{grid-column:1/-1}.contact form button{grid-column:1/-1;justify-self:start;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:13px 22px;cursor:pointer}.success{grid-column:1/-1}footer{padding:30px clamp(18px,4vw,60px);display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}dialog{width:min(650px,calc(100% - 24px));background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:clamp(28px,5vw,60px)}dialog::backdrop{background:rgba(0,0,0,.65)}dialog h2{font-size:3.5rem}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}dl{border-top:1px solid var(--line);margin-top:35px}dl div{display:grid;grid-template-columns:1fr 2fr;padding:12px 0;border-bottom:1px solid var(--line)}dd{margin:0}.reveal{opacity:0;transform:translateY(25px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){header{grid-template-columns:1fr auto}header nav{display:none}header>span{display:none}.hero-title{min-width:0}.manifesto,.process,.contact,.project-heading{grid-template-columns:1fr}.project-row,.process-list{grid-template-columns:1fr}.project-row .project-image,.project-image{min-height:78vw}.project-meta{grid-template-columns:1fr}.contact form{grid-template-columns:1fr}.contact .wide{grid-column:1}footer{flex-direction:column;gap:14px}}
:root body.architecture-subpage{min-height:100vh}.architecture-subpage header{position:sticky;top:0;background:var(--paper);z-index:5}.arch-title{padding:clamp(80px,12vw,170px) clamp(18px,7vw,105px)}.arch-title h1,.studio-arch-hero h1{font:400 clamp(3.8rem,8vw,8rem)/.9 Georgia,serif;margin:.3em 0}.case-full{display:grid;grid-template-columns:1.7fr 1fr;border-top:1px solid var(--line);min-height:75vh}.case-full.flip{grid-template-columns:1fr 1.7fr}.case-full.flip img{order:2}.case-full img{display:block;width:100%;height:100%;max-height:900px;object-fit:cover}.case-full>div{padding:clamp(35px,7vw,100px);align-self:center}.case-full h2{font-size:clamp(2.8rem,5vw,5rem)}.case-full dl{margin-top:35px;border-top:1px solid var(--line)}.case-full dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.case-full dd{margin:0}.studio-arch-hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:calc(100vh - 78px)}.studio-arch-hero>div{padding:clamp(50px,8vw,120px);align-self:center}.studio-arch-hero img{width:100%;height:100%;object-fit:cover}.arch-statement,.arch-team{padding:clamp(80px,12vw,160px) clamp(18px,7vw,105px);display:grid;grid-template-columns:1fr 3fr;gap:7vw;border-top:1px solid var(--line)}.arch-statement div{max-width:850px}.arch-statement div p{max-width:620px}.names{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.names article{border-top:1px solid var(--ink);padding-top:16px}.names span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.names h3{font:400 1.8rem Georgia,serif;margin:25px 0 5px}@media(max-width:760px){.case-full,.case-full.flip,.studio-arch-hero,.arch-statement,.arch-team,.names{grid-template-columns:1fr}.case-full.flip img{order:0}.case-full img{height:78vw}.studio-arch-hero img{height:110vw}}
:root body.architecture-subpage{overflow-x:hidden}@media(max-width:760px){body.architecture-subpage .studio-arch-hero>div{padding:55px 24px}body.architecture-subpage .studio-arch-hero h1{font-size:clamp(3rem,14vw,4.5rem);overflow-wrap:anywhere}}
