:root{
  --ink:#1d211f;
  --paper:#e9e5db;
  --off:#ebe8df;
  --dark:#171c1d;
  --dark-soft:#1d2323;
  --line:rgba(235,232,223,.18);
  --line-dark:rgba(29,33,31,.18);
  --serif:"Sorts Mill Goudy",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
figure{margin:0}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:30px 3.5vw;color:var(--off)}
.brand{display:flex;align-items:center;gap:11px;letter-spacing:.08em;font-size:14px}
.brand span{font-size:clamp(25px,2.2vw,36px);font-weight:300;letter-spacing:.015em}
.brand i{display:block;width:24px;height:1px;background:currentColor}
.brand small{font-size:clamp(12px,1.15vw,18px);font-weight:300;letter-spacing:.02em}
.site-nav{display:flex;align-items:center;gap:28px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.25s}.site-nav a:hover:after{width:100%}
.menu-toggle{display:none;border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.13em}
.location-switch{display:flex;border-left:1px solid currentColor;padding-left:22px;gap:10px}.location-option{font:inherit;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:inherit;background:transparent;border:0;opacity:.45;padding:0;cursor:pointer}.location-option.active{opacity:1;text-decoration:underline;text-underline-offset:4px}
.hero{height:100svh;min-height:650px;position:relative;color:var(--off);overflow:hidden;background:#111}
.hero>img{position:absolute;inset:0}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,14,18,.14),rgba(7,14,18,.08) 40%,rgba(7,14,18,.58) 100%)}
.hero-copy{position:absolute;left:3.5vw;bottom:6.5vh;width:min(930px,90vw)}
.hero-location{margin:0 0 18px;font-size:clamp(12px,1.1vw,16px);letter-spacing:.035em;text-transform:uppercase}
.hero-copy h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.25vw,72px);line-height:1.04;letter-spacing:.005em;max-width:1000px}
.scroll-cue{position:absolute;right:3.5vw;bottom:7vh;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.scroll-cue span{margin-left:12px}
.section-pad{padding:105px 7vw}.section-label{margin:0 0 44px;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:12vw}.intro h2,.approach h2,.contact h2,.london-placeholder h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(42px,5.2vw,78px);line-height:.98}.intro-copy{padding-top:8px;font-family:var(--serif);font-size:22px;line-height:1.55}.intro-copy p{margin:0 0 24px}
.projects{background:var(--dark);color:var(--off);padding-bottom:8px}.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line)}.projects-heading .section-label{margin:0}.projects-heading>p:last-child{margin:0;max-width:460px;font-family:var(--serif);font-size:19px;line-height:1.45;color:#c8c8c0}
.project{padding-top:0;border-bottom:1px solid var(--line)}
.project-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:10vw;align-items:end;padding-top:95px;padding-bottom:62px}
.project-number,.project-type,.project-origin{margin:0;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.project-number{margin-bottom:24px;color:#b9b9b2}.project-heading h2{margin:0 0 14px;font-family:var(--serif);font-weight:400;font-size:clamp(52px,7vw,104px);line-height:.9}.project-type{margin-bottom:10px}.project-origin{color:#aaa9a2;text-transform:none;letter-spacing:.05em}
.project-description{margin:0;font-family:var(--serif);font-size:clamp(19px,1.8vw,25px);line-height:1.52;color:#d1d0c9}
.project-hero{height:min(67vw,840px);margin:0 2.6vw 8px;overflow:hidden}
.gallery{display:grid;gap:8px;padding:0 2.6vw 80px}.gallery-three{grid-template-columns:repeat(3,1fr)}.gallery figure{height:34vw;max-height:520px;overflow:hidden}.project-hero img,.gallery img{transition:transform .9s ease}.project-hero:hover img,.gallery figure:hover img{transform:scale(1.012)}
.approach{background:#252b25;color:#e9e6dc}.approach-intro{display:grid;grid-template-columns:1.05fr .8fr;gap:12vw}.approach-intro>p{font-family:var(--serif);font-size:22px;line-height:1.55;margin:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:6vw;margin-top:110px;border-top:1px solid rgba(255,255,255,.25);padding-top:35px}.principles article span{font-size:10px;letter-spacing:.18em}.principles h3{font-family:var(--serif);font-weight:400;font-size:40px;margin:28px 0 22px}.principles p{font-family:var(--serif);font-size:18px;line-height:1.55;margin:0;color:#cbc9c0}
.london-placeholder{min-height:72vh;display:flex;align-items:center;background:#c4c2ba}.london-placeholder[hidden]{display:none}.london-placeholder p:last-child{font-family:var(--serif);font-size:22px;max-width:620px;line-height:1.5}
.contact{background:#d8d1c2}.contact h2{font-size:clamp(58px,8vw,118px)}.contact-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:90px;padding-top:24px;border-top:1px solid var(--line-dark);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.contact-row a{text-decoration:underline;text-underline-offset:5px}
footer{display:flex;justify-content:space-between;align-items:center;padding:34px 4vw;background:#171b18;color:#dfddd4;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.footer-brand span{font-size:19px}.footer-brand small{font-size:10px}
@media(max-width:900px){.site-header{padding:22px}.menu-toggle{display:block;position:relative;z-index:2}.site-nav{position:fixed;inset:0;background:#20251f;color:#eeeade;display:flex;flex-direction:column;justify-content:center;font-size:18px;gap:28px;transform:translateY(-102%);transition:.4s}.site-nav.open{transform:translateY(0)}.location-switch{border-left:0;border-top:1px solid;padding:24px 0 0}.hero-copy{left:24px;bottom:72px;width:calc(100% - 48px)}.hero-copy h1{font-size:clamp(38px,9vw,62px)}.scroll-cue{display:none}.section-pad{padding:76px 24px}.intro-grid,.project-heading,.approach-intro{grid-template-columns:1fr;gap:42px}.intro-copy,.approach-intro>p,.project-description{font-size:20px}.projects-heading{display:block}.projects-heading .section-label{margin-bottom:26px}.project-heading{padding-top:72px;padding-bottom:42px}.project-heading h2{font-size:16vw}.project-hero{height:67vw;margin:0 8px 8px}.gallery{padding:0 8px 58px}.gallery-three{grid-template-columns:1fr}.gallery figure{height:92vw}.principles{grid-template-columns:1fr;gap:55px;margin-top:70px}.contact-row,footer{align-items:flex-start;flex-direction:column;gap:24px}.brand small{font-size:12px}}
@media(max-width:520px){.brand i{width:16px}.brand span{font-size:24px}.brand small{font-size:11px}.hero{min-height:560px}.hero-location{font-size:11px}.hero-copy h1{font-size:11vw}.project-heading h2{font-size:17vw}}
