:root{--ink:#111;--paper:#f4f4f1;--white:#fff;--line:#c9c9c3;--accent:#d5ff3f;--pad:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:104px;padding:18px var(--pad);display:flex;justify-content:space-between;align-items:flex-start;color:#111}.wordmark{display:block;width:clamp(220px,23vw,340px);line-height:0}.wordmark img{width:100%;height:auto;object-fit:contain}.site-header nav{display:flex;gap:34px;font-size:.92rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;border-bottom:1px solid;transition:.25s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}.menu-button{display:none;border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;font-weight:500}
.hero{min-height:100svh;position:relative;background:#111;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;filter:saturate(.7);animation:hero-in 1.2s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.08) 68%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.hero-copy{position:absolute;left:var(--pad);bottom:11vh}.eyebrow{margin:0 0 28px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600}.eyebrow.light{color:rgba(255,255,255,.72)}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(3.6rem,8.6vw,9rem)/.88 Manrope,sans-serif;letter-spacing:-.065em;margin:0}.hero-project{position:absolute;right:var(--pad);bottom:42px;display:grid;gap:3px;text-align:right;font-size:.76rem}.hero-project strong{font-weight:500;font-size:.95rem}.hero-project span:first-child{color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.scroll-link{position:absolute;right:var(--pad);top:110px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;display:flex;gap:20px}
.intro,.projects,.credibility{padding:120px var(--pad)}.intro-logo{display:block;width:min(330px,58vw);height:auto;object-fit:contain;margin-bottom:42px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.section-heading h2,.about h2,.expertise h2,footer h2{font:500 clamp(2.5rem,5vw,5.6rem)/.97 Manrope,sans-serif;letter-spacing:-.055em;margin:0}.intro-grid>div:last-child{max-width:600px}.lead{font-size:clamp(1.3rem,2vw,2rem);line-height:1.35;letter-spacing:-.025em}.intro-grid p:last-child{max-width:520px;color:#5b5b57}.intro-grid .lead:last-child{max-width:600px;color:#111}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:110px;border-top:1px solid var(--line)}.metrics div{padding:24px 20px 0 0;display:flex;flex-direction:column;gap:8px}.metrics div+div{border-left:1px solid var(--line);padding-left:24px}.metrics strong{font:500 clamp(2rem,4vw,4.2rem)/1 Manrope,sans-serif;letter-spacing:-.05em}.metrics span{font-size:1rem;color:#6b6b65}
.projects{background:#fff}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}.filters{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid #c8c8c3;background:transparent;border-radius:30px;padding:9px 16px;cursor:pointer;font-size:.78rem;transition:.2s}.filter:hover,.filter.active{background:#111;color:#fff;border-color:#111}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:40px 22px}.project-card{grid-column:span 5}.project-card.large{grid-column:span 7}.project-card.wide{grid-column:span 7}.project-image{aspect-ratio:4/3;overflow:hidden;background:#ddd}.project-card.large .project-image{aspect-ratio:1.42}.project-card.wide .project-image{aspect-ratio:1.42}.project-card img{filter:saturate(.9) contrast(1.04) brightness(1.02);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.project-card:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.02) brightness(1.03)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid #222;margin-top:12px}.project-meta h3{font-size:1rem;margin-bottom:4px}.project-meta p,.project-meta>span{font-size:.74rem;color:#72726c;margin:0}.project-card.hidden{display:none}
.expertise{padding:120px var(--pad);background:#111;color:#fff}.section-heading.inverse{align-items:flex-start}.section-heading.inverse>p{max-width:400px;color:#aaa}.service-list{list-style:none;padding:0;margin:90px 0 0;border-top:1px solid #454545}.service-list li{display:grid;grid-template-columns:60px 1.2fr 1fr;gap:30px;align-items:start;padding:34px 0;border-bottom:1px solid #454545}.service-list li>span{font-size:.75rem;color:#8a8a8a}.service-list h3{font:500 clamp(1.4rem,2.5vw,2.4rem)/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:0}.service-list p{color:#aaa;max-width:430px;margin:0}
.about{display:grid;grid-template-columns:1fr 1fr;background:#252827;color:#f4f4f1}.about-image{min-height:850px}.about-image img{object-position:center}.about-copy{padding:100px var(--pad)}.about-copy>p:not(.eyebrow){max-width:600px;font-size:1.05rem;color:#c9ccca}.about-copy h2{margin-bottom:55px}.timeline{margin-top:70px;border-top:1px solid rgba(255,255,255,.28)}.timeline div{display:grid;grid-template-columns:90px 1fr;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.28)}.timeline span{font-weight:600}.timeline p{margin:0;color:#dde0de}
.credibility{display:grid;grid-template-columns:1fr 2fr 1fr;gap:50px;align-items:start}.credibility-logo{display:block;width:min(100%,245px);height:auto;margin-top:5px}.credibility blockquote{font:500 clamp(2.2rem,4.5vw,4.8rem)/1.05 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.credibility .small{color:#686863;font-size:.82rem}
footer{background:#111;color:#fff;padding:100px var(--pad) 30px}.footer-lead{padding-bottom:100px;border-bottom:1px solid #444}.footer-details{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:40px 0 80px}.footer-details span{display:block;color:#777;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;margin-bottom:14px}.footer-details a{border-bottom:1px solid #555}.footer-bottom{padding-top:25px;border-top:1px solid #444;display:flex;justify-content:space-between;font-size:.72rem;color:#888}
.hero-project small{color:rgba(255,255,255,.6);font-size:.62rem;margin-top:3px}.rotating-projects strong,.rotating-projects span,.rotating-location strong{transition:opacity .18s ease,transform .18s ease}.rotating-location strong{font-size:clamp(1.65rem,3vw,3.25rem);overflow-wrap:anywhere}.rotating-projects.is-changing strong,.rotating-projects.is-changing span,.rotating-location.is-changing strong{opacity:0;transform:translateY(5px)}
.portfolio-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 5vw;margin-top:130px;padding-top:70px;border-top:1px solid #bdbdb7}.portfolio-index-heading{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.portfolio-index-heading .eyebrow{margin:0}.portfolio-index-heading h3{font:500 clamp(2rem,4vw,4rem)/1 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.portfolio-group h4{font:500 clamp(1.35rem,2vw,2rem)/1.1 Manrope,sans-serif;letter-spacing:-.035em;margin:0 0 24px}.portfolio-group ul{list-style:none;padding:0;margin:0;border-top:1px solid #222}.portfolio-group li{display:flex;justify-content:space-between;gap:28px;padding:13px 0;border-bottom:1px solid #d7d7d2;font-size:.88rem}.portfolio-group li span{font-weight:500}.portfolio-group li small{color:#73736d;text-align:right;font-size:.75rem}.portfolio-group.hidden{display:none}
.project-grid[hidden],.category-project-grid[hidden]{display:none}.category-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 18px;margin-top:70px;align-items:start}.category-project-card{min-width:0;align-self:start}.category-project-card.hidden{display:none}.category-project-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#d8d8d2}.category-project-card div{min-width:0;padding-top:14px;border-top:1px solid #222;margin-top:12px}.category-project-card h3{font:500 1rem/1.35 Manrope,sans-serif;letter-spacing:-.025em;margin:0 0 5px;text-align:left;overflow-wrap:anywhere}.category-project-card p{font-size:.75rem;line-height:1.45;color:#73736d;margin:0;text-align:left;overflow-wrap:anywhere}
.project-card{min-width:0}.project-card img{display:block;width:100%;height:100%;object-fit:cover}.project-meta{align-items:flex-start}.project-meta>div{min-width:0;flex:1}.project-meta h3,.project-meta p{overflow-wrap:anywhere;text-align:left}.project-meta>span{flex:0 0 auto;max-width:38%;text-align:right;line-height:1.35}
.project-meta p.architect,.category-project-card p.architect{color:#222;font-weight:500;margin-bottom:3px}
@keyframes hero-in{from{transform:scale(1.05);opacity:.6}to{transform:scale(1);opacity:1}}
@media(max-width:800px){.site-header{height:70px}.menu-button{display:block;cursor:pointer}.site-header nav{display:none;position:absolute;left:0;right:0;top:0;padding:95px var(--pad) 30px;background:#111;color:#fff;flex-direction:column;gap:18px;z-index:-1;font-size:1.2rem}.site-header nav.open{display:flex}.hero-copy{bottom:18vh}.hero-project{left:var(--pad);right:auto;bottom:35px;text-align:left}.scroll-link{display:none}.intro,.projects,.credibility{padding-top:80px;padding-bottom:80px}.intro-grid,.about{grid-template-columns:1fr}.intro-grid{gap:45px}.metrics{grid-template-columns:1fr 1fr;margin-top:70px}.metrics div{border-left:0!important;padding-left:0!important;border-top:1px solid var(--line);padding-top:18px;margin-top:-1px}.section-heading{align-items:flex-start;flex-direction:column}.filters{justify-content:flex-start}.project-card,.project-card.large,.project-card.wide{grid-column:span 12}.service-list li{grid-template-columns:40px 1fr}.service-list li p{grid-column:2}.about-image{min-height:540px}.about-copy{padding-top:80px;padding-bottom:80px}.credibility{grid-template-columns:1fr;gap:25px}.footer-details{grid-template-columns:1fr 1fr}.footer-details div:first-child{grid-column:1/-1}}
@media(max-width:800px){body{overflow-x:hidden}.site-header{padding-top:16px}.wordmark{width:155px}.hero>img{object-position:58% center}.hero-copy{bottom:21vh}.hero-copy h1{font-size:clamp(2.8rem,13vw,4.4rem);line-height:.92;letter-spacing:-.055em}.hero-project{bottom:26px;max-width:75vw}.hero-project small{font-size:.58rem}.intro h2,.section-heading h2,.about h2,.expertise h2,footer h2{font-size:clamp(2.25rem,10vw,3.8rem)}.intro-grid{gap:34px}.lead{font-size:1.2rem}.metrics{gap:0}.metrics strong{font-size:2.45rem}.projects{padding-left:20px;padding-right:20px}.filters{gap:7px}.filter{padding:8px 13px}.project-grid{gap:34px}.portfolio-index{grid-template-columns:1fr;gap:54px;margin-top:90px;padding-top:50px}.portfolio-index-heading{grid-column:auto;display:block}.portfolio-index-heading .eyebrow{margin-bottom:16px}.portfolio-group li{align-items:flex-start;gap:18px}.portfolio-group li small{max-width:42%}.about-image{min-height:430px}.about-copy{padding-left:22px;padding-right:22px}.service-list{margin-top:60px}.credibility blockquote{font-size:2.35rem}.footer-lead{padding-bottom:70px}.footer-details{grid-template-columns:1fr}.footer-details div:first-child{grid-column:auto}}
@media(max-width:1000px){.category-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.category-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 14px;margin-top:50px}.footer-details{padding-top:0}}
@media(max-width:520px){.category-project-grid{grid-template-columns:1fr}.category-project-card h3{font-size:1.05rem}}
@media(max-width:420px){.hero-copy h1{font-size:2.7rem}.metrics{grid-template-columns:1fr}.metrics div{min-height:105px}.portfolio-group li{display:block}.portfolio-group li small{display:block;max-width:none;text-align:left;margin-top:3px}.credibility blockquote{font-size:2rem}}
.metrics strong{min-height:clamp(2rem,4vw,4.2rem);display:flex;align-items:flex-end}.metrics div{min-width:0}.rotating-location strong{white-space:nowrap;font-size:clamp(1.25rem,2.7vw,3.25rem)}
@media(max-width:800px){.metrics strong{min-height:2.45rem}.rotating-location strong{font-size:clamp(1.1rem,4vw,2.45rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img,.project-card img{animation:none;transition:none}.rotating-projects strong,.rotating-projects span,.rotating-location strong{transition:none}}
@media(max-width:800px){.wordmark{width:190px}}
