:root{--ink:#181d1b;--muted:#636b65;--paper:#fafaf7;--accent:#cfb47a;--line:#dcded7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #8a662c;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(3.4rem,6.8vw,7rem)}h2{font-size:clamp(2.2rem,3.7vw,4rem)}h3{font-size:1.3rem;font-weight:400;line-height:1.35}p{color:var(--muted)}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-family:Georgia,serif;font-size:1.62rem;font-weight:bold;letter-spacing:.055em;line-height:1.2}.brand span{display:block;font-family:Arial,sans-serif;font-size:.65rem;letter-spacing:.2em;margin-top:9px;font-weight:400}nav{display:flex;gap:36px;font-size:.9rem}nav a:hover,.text-link:hover{color:#8a662c}.menu{display:none}.eyebrow{display:block;font-size:.76rem;letter-spacing:.16em;font-weight:600;margin-bottom:26px}.hero{position:relative;min-height:720px;height:calc(100svh - 108px);max-height:1000px;color:white;isolation:isolate}.hero-image{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 48%}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,14,12,.83),rgba(7,14,12,.24) 70%),linear-gradient(0deg,rgba(7,14,12,.3),transparent 50%)}.hero-content{padding:8% 6%;max-width:900px}.hero h1{margin-bottom:32px}.hero p{color:#fff;font-size:1.1rem;line-height:1.6;margin-bottom:34px}.hero-note{position:absolute;bottom:32px;left:6%;font-size:.72rem;letter-spacing:.16em}.button{display:inline-block;border:1px solid var(--ink);padding:14px 25px;font-size:.9rem;background:transparent;transition:.2s}.button.light{border-color:white;color:white}.button.light:hover{background:white;color:var(--ink)}.button.dark{background:var(--ink);color:white}.button:hover{background:var(--ink);color:white}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding:120px 8%}.intro p{max-width:680px;font-size:1.13rem;margin:28px 0}.text-link{display:inline-block;font-size:.9rem;border-bottom:1px solid;padding-bottom:5px}.selected,.portfolio{padding:0 6% 110px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px;gap:24px}.section-head .eyebrow{margin-bottom:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 30px}.project{border:0;padding:0;text-align:left;background:transparent;width:100%}.project .image{overflow:hidden;background:#e3e5e0}.project img{aspect-ratio:1.45;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project-caption{display:flex;justify-content:space-between;gap:16px;margin-top:17px;align-items:center}.project-caption span{font-size:.83rem;color:var(--muted)}.cap-band{padding:90px 8%;background:var(--ink);color:var(--paper)}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.three article>span{color:var(--accent);font-size:.85rem}.three h3{margin:24px 0 15px;font-size:1.55rem}.cap-band p{color:#bfc6bf;line-height:1.8}.heritage{padding:120px 8%;display:grid;grid-template-columns:1fr 1.3fr;gap:10%;align-items:center}.year{font-family:Georgia,serif;font-size:clamp(5rem,12vw,12rem);letter-spacing:-.08em;line-height:1;color:#8c7448}.year span{display:block;font-family:Arial,sans-serif;font-size:.76rem;letter-spacing:.17em;margin-top:28px}.heritage p{margin:30px 0}.cta{padding:95px 8%;background:#e8eae4;position:relative}.cta h2{margin-bottom:32px}.cta .button{position:absolute;right:8%;top:50%}.page-heading{padding:95px 8% 75px}.page-heading h1{max-width:1100px}.page-heading p{font-size:1.15rem;max-width:630px;margin-top:30px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 40px}.filters button{background:transparent;border:1px solid var(--line);padding:10px 20px;font-size:.9rem}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project[hidden]{display:none}.portfolio-note{font-size:.9rem;margin-top:50px}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:25px 8% 100px;align-items:center}.split img{aspect-ratio:4/5}.split p{margin-top:24px}.services{padding:0 8% 95px}.service-row{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;padding:30px 0;border-top:1px solid var(--line)}.service-row h3{font-size:1.6rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:80px}.two p{margin-top:26px}.material-list{font-size:1.35rem}.references{padding:15px 8% 100px}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:45px}.reference-grid p{border-top:1px solid var(--line);padding-top:20px;color:var(--ink);font-size:1.1rem}.reference-grid span{display:block;color:var(--muted);font-size:.87rem;margin-top:4px}.contact-grid{padding:15px 8% 120px;display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.contact-email{font-size:clamp(1.2rem,2.2vw,2rem);display:block;overflow-wrap:anywhere}.contact-phone{display:block;font-size:1.4rem;margin-top:12px}.contact-grid p{margin:28px 0;max-width:480px}footer{padding:70px 6% 30px;display:grid;grid-template-columns:1.6fr 1fr .6fr;gap:50px;background:#111713;color:#eee}footer p{color:#aab5aa;font-size:.9rem;margin-top:20px}footer>div>a:not(.brand){display:block;font-size:.9rem;margin-bottom:8px}footer .brand{font-size:1.4rem}.legal{grid-column:1/-1;border-top:1px solid #354035;padding-top:24px;display:flex;justify-content:space-between;font-size:.8rem;color:#aab5aa}.legal>div{display:flex;gap:24px}dialog{border:0;background:#111713;color:white;padding:55px 30px 25px;width:min(1100px,95vw);max-height:94svh}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{object-fit:contain;max-height:72svh}.viewer-caption{padding-top:16px;font-size:.95rem}.close{position:absolute;right:20px;top:10px;color:white;border:0;background:none;padding:6px 10px}.skip{position:fixed;top:-80px;left:10px;background:white;padding:10px;z-index:99}.skip:focus{top:5px}
@media(min-width:1600px){.hero-content{padding-top:120px}}
@media(max-width:800px){header{height:88px;padding:0 6%;position:relative;z-index:3}.brand{font-size:1.25rem}.brand span{font-size:.6rem;letter-spacing:.12em}.menu{display:block;border:1px solid var(--line);background:none;padding:8px 12px;font-size:.87rem}nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:20px}.hero{height:730px;min-height:0;max-height:none}.hero-content{padding:100px 7% 80px}.hero h1{font-size:clamp(3.6rem,10vw,5rem)}.hero-image{object-position:61% center}.hero:before{background:linear-gradient(90deg,rgba(7,14,12,.83),rgba(7,14,12,.36))}.hero p{font-size:1rem}.hero-note{left:7%;right:7%;font-size:.65rem}.intro,.heritage,.split,.two,.contact-grid{grid-template-columns:1fr;gap:40px;padding:65px 7%}.intro>div h2 br{display:none}.grid{gap:32px 20px}.selected,.portfolio{padding:0 7% 65px}.section-head{align-items:start;flex-direction:column;gap:20px}.project-caption{align-items:start;flex-direction:column;gap:5px}.project h3{font-size:1.1rem}.project-caption span{font-size:.8rem}.three{grid-template-columns:1fr;gap:35px}.cap-band{padding:60px 7%}.three h3{margin:12px 0}.heritage .year{font-size:7rem}.cta{padding:60px 7%}.cta .button{position:static}.page-heading{padding:65px 7% 50px}.page-heading h1{font-size:clamp(3rem,8vw,5rem)}.split{padding-top:0}.split img{aspect-ratio:1.1}.services,.references{padding:0 7% 65px}.service-row{grid-template-columns:1fr;gap:15px}.reference-grid{grid-template-columns:1fr 1fr;gap:25px}.two{padding:0}.contact-grid{padding-top:0}footer{grid-template-columns:1fr 1fr;gap:30px;padding:55px 7% 25px}footer>div:first-child{grid-column:1/-1}.legal{flex-direction:column;gap:16px}}
@media(max-width:480px){.grid{grid-template-columns:1fr}.hero{height:680px}.hero-content{padding-top:85px}.hero h1{font-size:3.6rem}.reference-grid{grid-template-columns:1fr}.filters{gap:8px}.filters button{padding:9px 12px}.project-caption{flex-direction:row;align-items:center}.project-caption span{white-space:nowrap}.legal>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep portrait project photography proportional within the existing cards. */
.project img{height:auto;aspect-ratio:1.45;object-fit:cover}.project-caption h3{overflow-wrap:anywhere}.hero-image{object-position:center 52%}
@media(max-width:480px){.project-caption{align-items:flex-start;flex-direction:column}.hero-image{object-position:60% center}}

/* Frame the Hermes corner entrance around the sign and doorway. */
.project[data-title="Hermès · corner entrance"] img{object-position:50% 28%;transform:scale(1.06)}
.project[data-title="Hermès · corner entrance"]:hover img{transform:scale(1.085)}

.policy-content{max-width:1000px;margin:auto;padding:0 7% 80px;overflow-wrap:anywhere}.policy-content p,.policy-content li{margin-bottom:18px}.policy-content h2,.policy-content h3{margin:32px 0 16px;font-size:1.5rem}.policy-content a{text-decoration:underline}
