:root{
  --bg:#f3f1ed;
  --paper:#fbfaf7;
  --ink:#121212;
  --muted:#77736c;
  --line:rgba(18,18,18,.14);
  --red:#b31b20;
  --dark:#101010;
  --max:1580px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.35}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit}
.shell{max-width:var(--max);margin:0 auto;padding:0 28px}
.topbar{position:fixed;z-index:60;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:#fff;mix-blend-mode:difference}
.brand{font-size:25px;line-height:1;font-weight:700;letter-spacing:-.07em}.brand span{font-size:10px;letter-spacing:.14em;font-weight:400;margin-left:8px;vertical-align:middle}
.nav{display:flex;gap:24px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;align-items:center}
.nav a{opacity:.78}.nav a:hover,.nav a.active{opacity:1}
.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hero{min-height:100vh;position:relative;overflow:hidden;background:#171717;color:#fff}
.hero-media{position:absolute;inset:0}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.12) 45%,rgba(0,0,0,.46))}
.hero-copy{position:absolute;left:28px;right:28px;bottom:34px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:24px}
.hero-copy h1{font-size:clamp(54px,8.5vw,146px);line-height:.86;letter-spacing:-.065em;margin:0;font-weight:500;max-width:1250px}
.hero-copy p{margin:0 0 8px;max-width:310px;font-size:13px;color:rgba(255,255,255,.78)}
.section{padding:110px 0}.section.tight{padding:72px 0}.section.dark{background:#111;color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px;gap:20px}.section-head h2{font-size:clamp(34px,5vw,70px);line-height:.95;letter-spacing:-.045em;margin:0;font-weight:500}.section-head p{max-width:420px;margin:0;color:var(--muted);font-size:13px}.dark .section-head p{color:rgba(255,255,255,.55)}
.split-landing{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#111}
.split-panel{position:relative;overflow:hidden;color:#fff;min-height:100vh}
.split-panel img{position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.7,.1,1),filter .5s ease}
.split-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.58))}
.split-panel:hover img{transform:scale(1.025)}
.split-panel:hover .split-arrow{transform:translateX(9px)}
.split-content{position:absolute;z-index:3;left:28px;right:28px;bottom:34px}.split-content h1{margin:0;font-size:clamp(42px,5.5vw,95px);line-height:.9;letter-spacing:-.055em;font-weight:500}.split-content p{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:13px 0 0;opacity:.72}.split-arrow{position:absolute;z-index:3;right:30px;bottom:34px;font-size:48px;font-weight:200;transition:transform .4s ease}
.dual-intro{padding:34px 28px 30px;background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:28px;border-bottom:1px solid var(--line)}.dual-intro p{margin:0;max-width:520px;font-size:13px;color:var(--muted)}
.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.work{position:relative;min-height:300px;overflow:hidden;background:#ddd}.work.tall{min-height:650px}.work.wide{min-height:460px}.work img{transition:transform .8s ease}.work:hover img{transform:scale(1.018)}.work .meta{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.c7{grid-column:span 7}.c5{grid-column:span 5}.c4{grid-column:span 4}.c8{grid-column:span 8}.c12{grid-column:span 12}
.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.film-card{border-top:1px solid rgba(255,255,255,.2);padding-top:12px}.film-thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:#222}.film-thumb img{transition:transform .8s ease}.film-card:hover img{transform:scale(1.025)}.play{position:absolute;inset:0;display:grid;place-items:center}.play i{width:66px;height:66px;border:1px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:20px;background:rgba(0,0,0,.12);backdrop-filter:blur(2px)}.film-title{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:12px}.film-title small{color:rgba(255,255,255,.48)}
.tour-band{display:grid;grid-template-columns:1.15fr .85fr;min-height:560px;background:#171717;color:#fff}.tour-band .visual{min-height:560px}.tour-copy{padding:52px;display:flex;flex-direction:column;justify-content:space-between}.tour-copy h3{font-size:clamp(42px,5vw,78px);line-height:.94;letter-spacing:-.05em;font-weight:500;margin:0}.tour-copy p{max-width:430px;color:rgba(255,255,255,.58);font-size:13px}.cta{display:inline-flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.32);padding-top:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;width:100%;justify-content:space-between}
.manifesto{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:100px 0;border-top:1px solid var(--line)}.manifesto h3{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:400}.manifesto p{margin:0;font-size:clamp(28px,4vw,58px);line-height:1.03;letter-spacing:-.035em;max-width:1050px}
.footer{padding:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.arch-hero{min-height:78vh;padding:150px 28px 50px;display:flex;flex-direction:column;justify-content:space-between;background:#f4f3ef}.arch-hero h1{font-size:clamp(72px,13vw,220px);font-weight:400;letter-spacing:-.075em;line-height:.75;margin:0}.arch-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);padding-top:18px}.arch-bottom p{margin:0;color:var(--muted);max-width:470px;font-size:13px}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:72px 1fr 220px 60px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.project-row .n{color:var(--muted);font-size:10px}.project-row .title{font-size:clamp(22px,3vw,42px);letter-spacing:-.035em}.project-row .type{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.project-row .arr{text-align:right;font-size:24px;transition:transform .25s}.project-row:hover .arr{transform:translateX(7px)}
.subnav{position:sticky;top:0;z-index:40;background:rgba(251,250,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 28px;height:58px;display:flex;align-items:center;justify-content:space-between}.subnav .brand{color:#111}.subnav .nav{color:#111}.subnav .swap{font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}
@media(max-width:900px){.split-landing{grid-template-columns:1fr}.split-panel{min-height:50vh}.split-panel:first-child{min-height:50vh}.dual-intro{grid-template-columns:1fr}.editorial-grid{grid-template-columns:1fr}.c7,.c5,.c4,.c8,.c12{grid-column:span 1}.work,.work.tall,.work.wide{min-height:58vw}.film-grid{grid-template-columns:1fr}.tour-band{grid-template-columns:1fr}.tour-band .visual{min-height:58vw}.tour-copy{padding:34px 24px}.manifesto{grid-template-columns:1fr;gap:24px}.hero-copy{flex-direction:column;align-items:flex-start}.project-row{grid-template-columns:42px 1fr 32px}.project-row .type{display:none}.nav .optional{display:none}}
@media(max-width:600px){.topbar{height:60px;padding:0 16px}.shell{padding:0 16px}.split-content{left:16px;right:16px;bottom:22px}.split-arrow{right:16px;bottom:20px}.dual-intro{padding:24px 16px}.section{padding:72px 0}.hero-copy{left:16px;right:16px;bottom:20px}.subnav{padding:0 16px}.nav{gap:13px}.nav a{font-size:9px}.brand span{display:none}.arch-hero{padding:118px 16px 32px}.arch-bottom{flex-direction:column;align-items:flex-start}.footer{padding:22px 16px;flex-direction:column}.tour-copy{min-height:440px}}

/* V0.2 — Architecture, Studio & Contact */
.light{color:rgba(255,255,255,.72)}
.arch-image-hero{height:90vh;min-height:650px;position:relative;overflow:hidden;background:#111;color:#fff}.arch-image-media{position:absolute;inset:0}.arch-image-media img{width:100%;height:100%;object-fit:cover}.arch-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.08) 50%,rgba(0,0,0,.62))}.arch-image-copy{position:absolute;inset:0;padding:42px 28px 34px;display:flex;flex-direction:column;justify-content:flex-end}.arch-image-copy h1{font-size:clamp(72px,12vw,190px);font-weight:400;letter-spacing:-.075em;line-height:.78;margin:18px 0 26px}.arch-image-foot{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.35);padding-top:15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.architecture-head{align-items:start}.filterbar{display:flex;flex-wrap:wrap;gap:7px;margin:-6px 0 38px}.filter{border:1px solid var(--line);background:transparent;padding:9px 13px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--muted)}.filter:hover,.filter.active{background:#111;color:#fff;border-color:#111}.architecture-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.arch-card,.arch-text-card{border:0;padding:0;cursor:pointer;text-align:left;position:relative;overflow:hidden;background:#e9e7e2;color:inherit}.arch-card{min-height:520px}.arch-card.arch-large{grid-column:span 8}.arch-card.arch-small{grid-column:span 4}.arch-card.arch-wide{grid-column:span 8;min-height:440px}.arch-card img{transition:transform .7s cubic-bezier(.2,.7,.1,1)}.arch-card:hover img{transform:scale(1.018)}.arch-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.arch-card-meta{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:12px}.arch-card-meta b{font-size:21px;font-weight:500;letter-spacing:-.025em}.arch-card-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.75}.arch-text-card{grid-column:span 4;min-height:360px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--line);background:#f3f1ed;transition:background .25s,color .25s}.arch-text-card:hover{background:#111;color:#fff}.arch-text-card>span,.arch-text-card small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.arch-text-card:hover>span,.arch-text-card:hover small{color:rgba(255,255,255,.55)}.arch-text-card strong{font-size:clamp(31px,3.4vw,55px);line-height:.92;letter-spacing:-.055em;font-weight:500}.arch-text-card i{font-style:normal;font-size:34px;align-self:flex-end}.filtered-out{display:none!important}.archive-title{display:flex;justify-content:space-between;align-items:end;margin-top:110px;margin-bottom:24px}.archive-title h3{font-size:clamp(38px,5vw,72px);line-height:.9;margin:0;font-weight:500;letter-spacing:-.045em}.arch-index button.project-row{width:100%;border-left:0;border-right:0;border-top:0;background:none;color:inherit;text-align:left;cursor:pointer}.arch-index .project-row:first-child{border-top:1px solid var(--line)}
.project-modal{position:fixed;z-index:100;inset:0;background:rgba(10,10,10,.96);color:#fff;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;overflow:auto}.project-modal.open{opacity:1;visibility:visible}.modal-close{position:fixed;z-index:2;top:18px;right:24px;border:0;background:none;color:#fff;font-size:42px;font-weight:200;cursor:pointer;line-height:1}.modal-inner{min-height:100vh;max-width:1500px;margin:0 auto;padding:130px 28px 70px;display:grid;grid-template-columns:1fr 2.2fr;gap:70px;align-items:start}.modal-aside{border-top:1px solid rgba(255,255,255,.3);padding-top:17px}.modal-category{color:rgba(255,255,255,.5)}.modal-meta{font-size:11px;line-height:1.6;margin-top:18px;color:rgba(255,255,255,.62);max-width:280px}.modal-main h2{font-size:clamp(58px,8vw,124px);line-height:.84;letter-spacing:-.065em;font-weight:400;margin:0 0 48px}.modal-main p{font-size:clamp(18px,2vw,28px);line-height:1.35;max-width:920px;color:rgba(255,255,255,.78);margin:0 0 70px}.modal-source{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.3);padding-top:14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;max-width:920px}.modal-open{overflow:hidden}
.contact-page{min-height:calc(100vh - 58px)}.contact-hero{padding-top:13vh;padding-bottom:8vh}.contact-hero h1{font-size:clamp(82px,14vw,220px);line-height:.78;letter-spacing:-.08em;font-weight:400;margin:22px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line);padding-bottom:120px}.contact-label,.contact-value{padding:28px 0;border-bottom:1px solid var(--line)}.contact-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-value{font-size:clamp(22px,3vw,44px);letter-spacing:-.035em;display:flex;flex-direction:column;gap:7px}.contact-value p{margin:0}.contact-value a{width:max-content}.contact-value a:hover{color:var(--red)}
.studio-page{padding-top:11vh}.studio-hero{min-height:64vh;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:50px}.studio-hero h1{font-size:clamp(62px,10vw,150px);line-height:.9;letter-spacing:-.07em;font-weight:400;max-width:1350px;margin:30px 0 0}.studio-copy{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:90px 0;border-bottom:1px solid var(--line)}.studio-copy p{font-size:clamp(24px,3.5vw,48px);line-height:1.08;letter-spacing:-.035em;margin:0 0 30px;max-width:1000px}.studio-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:70px 0 120px}.studio-links a{min-height:260px;background:#111;color:#fff;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s}.studio-links a:hover{transform:translateY(-4px)}.studio-links span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55)}.studio-links b{font-size:clamp(30px,4vw,58px);line-height:.95;letter-spacing:-.045em;font-weight:500}
.footer a:hover{color:var(--ink)}
@media(max-width:900px){.architecture-grid{grid-template-columns:1fr}.arch-card.arch-large,.arch-card.arch-small,.arch-card.arch-wide,.arch-text-card{grid-column:span 1}.arch-card{min-height:65vw}.arch-text-card{min-height:300px}.modal-inner{grid-template-columns:1fr;gap:40px;padding-top:100px}.contact-grid{grid-template-columns:1fr}.contact-label{padding-bottom:8px;border-bottom:0}.contact-value{padding-top:0}.studio-copy{grid-template-columns:1fr}.studio-links{grid-template-columns:1fr}}
@media(max-width:600px){.arch-image-hero{height:78vh;min-height:560px}.arch-image-copy{padding:28px 16px 22px}.arch-image-foot{gap:12px;flex-direction:column}.arch-card{min-height:82vw}.arch-card-meta{flex-direction:column;align-items:flex-start}.archive-title{margin-top:70px}.modal-inner{padding:90px 16px 50px}.contact-hero{padding-top:10vh}.contact-grid{padding-bottom:80px}.studio-page{padding-top:8vh}.studio-hero{min-height:58vh}.studio-links{padding-bottom:80px}.subnav .nav a:nth-child(3){display:none}}
