:root{--bg:#151619;--bg2:#1d1f23;--paper:#eceae4;--ink:#111214;--muted:#a9aaa7;--line:rgba(255,255,255,.2);--accent:#e8955c;--sand:#d8c3a5;--sans:"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:#fff;font-family:var(--sans);font-size:16px}body.menu-open,body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}::selection{background:var(--accent);color:#111}.micro-label{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700}.micro-label.dark{color:#656761}.micro-label.accent{color:var(--accent)}
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;height:94px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:#fff}.brand{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:800;line-height:1.1;letter-spacing:.11em;text-transform:uppercase}.brand img{width:39px;height:39px;object-fit:cover;border:1px solid rgba(255,255,255,.5)}.main-nav{display:flex;gap:45px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.18em}.main-nav a{position:relative;padding:12px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#fff;transition:.3s}.main-nav a:hover:after{right:0}.menu-toggle{display:none;border:0;background:none;padding:12px 0 12px 12px}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:6px 0}.mobile-menu{position:fixed;z-index:50;inset:0;padding:110px 30px 35px;background:#111214;opacity:0;visibility:hidden;transition:.35s}.mobile-menu.is-open{opacity:1;visibility:visible}.menu-close{position:absolute;top:28px;right:28px;border:0;background:none;text-transform:uppercase;font-size:9px;letter-spacing:.18em}.menu-close span{font-size:20px;margin-left:8px}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-size:18vw;font-weight:800;letter-spacing:-.07em;line-height:.95}
.home-hero{height:100svh;min-height:660px;position:relative;overflow:hidden;background:#090a0a}.hero-media,.hero-slide,.hero-vignette{position:absolute;inset:0;width:100%;height:100%}.hero-slide{object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .9s ease,transform 6s ease}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-vignette{background:linear-gradient(90deg,rgba(5,6,5,.78),rgba(5,6,5,.2) 62%,rgba(5,6,5,.08)),linear-gradient(0deg,rgba(5,6,5,.74),transparent 52%,rgba(5,6,5,.2));pointer-events:none}.hero-numbers{position:absolute;z-index:3;left:42px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:17px}.hero-numbers button{display:flex;align-items:center;gap:12px;width:75px;padding:0;border:0;background:none;color:rgba(255,255,255,.45);cursor:pointer;font:10px monospace}.hero-numbers i{width:15px;height:1px;background:currentColor;transition:.35s}.hero-numbers button.is-active{color:#fff}.hero-numbers button.is-active i{width:40px;background:var(--accent)}.hero-content{position:absolute;z-index:4;left:13.5vw;right:10vw;bottom:15vh}.hero-copy{display:none}.hero-copy.is-active{display:block;animation:rise .7s ease both}@keyframes rise{from{opacity:0;transform:translateY(22px)}}.hero-copy h1{max-width:1000px;margin:20px 0 18px;font-size:clamp(66px,9.4vw,148px);line-height:.82;letter-spacing:-.075em;font-weight:800;text-wrap:balance}.hero-intro{max-width:620px;margin:0 0 32px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.7}.line-link{width:min(240px,100%);display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid currentColor;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.16em}.line-link span{transition:.25s}.line-link:hover span{transform:translateX(5px)}.hero-arrows{position:absolute;z-index:5;right:42px;bottom:42px;display:flex}.hero-arrows button{width:54px;height:54px;border:1px solid var(--line);background:rgba(0,0,0,.1);cursor:pointer}.hero-arrows button+button{border-left:0}.hero-arrows button:hover{background:#fff;color:#111}.scroll-label{position:absolute;z-index:5;left:42px;bottom:50px;display:flex;align-items:center;gap:13px;text-transform:uppercase;font-size:8px;letter-spacing:.16em}.scroll-label i{width:55px;height:1px;background:#fff}.empty-hero{min-height:85svh;display:grid;place-items:center;padding:120px 7vw;background:linear-gradient(135deg,#101113,#25272b)}.empty-hero h1{margin:20px 0;font-size:12vw;line-height:.85;letter-spacing:-.075em}
.selected-work{padding:145px 6vw 170px;background:var(--paper);color:var(--ink)}.section-title{display:grid;grid-template-columns:1fr 2.3fr 1fr;align-items:end;margin-bottom:105px}.section-title h2{margin:0;font-size:clamp(86px,14vw,220px);line-height:.7;letter-spacing:-.08em;font-weight:800}.section-title a{justify-self:end;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.14em;border-bottom:1px solid;padding-bottom:10px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw 5vw}.work-card:nth-child(3){grid-column:1/-1;width:72%;margin:0 auto}.work-card.is-offset{margin-top:150px}.work-image{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:#222}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease,opacity .4s}.work-image span{position:absolute;right:22px;bottom:22px;padding:16px 20px;border-radius:30px;background:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:0;transform:translateY(10px);transition:.35s}.work-image:hover img{transform:scale(1.035);opacity:.78}.work-image:hover span{opacity:1;transform:none}.work-meta>p{margin:22px 0 12px;color:#6c6e69;text-transform:uppercase;font-size:9px;letter-spacing:.15em}.work-meta h3{margin:0 0 24px;font-size:clamp(42px,5vw,78px);line-height:.9;letter-spacing:-.065em}.work-meta small{display:block;padding-top:17px;border-top:1px solid #bbb9b2;color:#666862;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
.studio-section{padding:150px 7vw;background:#17181b;color:#fff}.studio-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin:12vh 0}.studio-grid h2{margin:0;font-size:clamp(65px,9vw,135px);line-height:.83;letter-spacing:-.08em}.studio-grid h2 em{font-style:normal;color:var(--accent)}.studio-grid>p{max-width:530px;color:#aaa;font-size:15px;line-height:1.9}.capabilities{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:#c2c2bf}
.contact-section{min-height:88svh;position:relative;display:flex;align-items:center;justify-content:center;padding:130px 7vw;background-image:var(--contact-image);background-position:center;background-size:cover;background-attachment:fixed;overflow:hidden}.contact-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,9,.82),rgba(9,10,9,.35),rgba(9,10,9,.82));backdrop-filter:saturate(.75)}.contact-inner{position:relative;z-index:2;width:100%;max-width:1500px}.contact-inner h2{max-width:1100px;margin:28px 0 12vh;font-size:clamp(68px,10vw,150px);line-height:.82;letter-spacing:-.075em}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-actions a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.65);font-size:clamp(14px,1.5vw,22px)}.contact-actions span{transition:.25s}.contact-actions a:hover span{transform:translate(4px,-4px)}.site-footer{padding:28px 42px;display:flex;justify-content:space-between;background:#101113;color:#8f908d;text-transform:uppercase;font-size:8px;letter-spacing:.14em}
.archive-main{min-height:100vh;padding:170px 5vw 140px;background:#17181b}.archive-header{display:grid;grid-template-columns:.7fr 1.7fr 1fr;gap:5vw;align-items:start;margin-bottom:130px}.archive-header h1{margin:-10px 0 0;font-size:clamp(110px,18vw,270px);line-height:.7;letter-spacing:-.085em}.archive-header>p:last-child{justify-self:end}.project-filters{display:flex;flex-direction:column;gap:7px}.project-filters a{padding:16px 18px;border:1px solid transparent;border-radius:8px;color:var(--sand);font-size:18px;font-weight:800}.project-filters a.is-active,.project-filters a:hover{border-color:#3d4046;background:#222429;color:#fff}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:100px 4vw}.archive-card>a{display:block;aspect-ratio:16/10;overflow:hidden;background:#222}.archive-card img{width:100%;height:100%;object-fit:cover;transition:1s}.archive-card:hover img{transform:scale(1.035)}.archive-card>div>p{margin:20px 0 12px;color:#888;text-transform:uppercase;font-size:9px;letter-spacing:.14em}.archive-card h2{margin:0 0 20px;font-size:clamp(42px,5vw,72px);line-height:.9;letter-spacing:-.06em}.archive-card>div>span{color:#9c9d98;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
.project-hero{height:100svh;min-height:660px;position:relative;background:#111}.project-hero>img,.project-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-hero-shade{background:linear-gradient(0deg,rgba(5,6,5,.82),transparent 58%),linear-gradient(90deg,rgba(5,6,5,.55),transparent 65%)}.project-hero-copy{position:absolute;z-index:2;left:7vw;right:7vw;bottom:10vh}.project-hero-copy h1{margin:20px 0 24px;max-width:1200px;font-size:clamp(70px,11vw,168px);line-height:.8;letter-spacing:-.08em}.project-hero-copy>p:last-child{max-width:620px;color:rgba(255,255,255,.72);line-height:1.7}.project-story{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:140px 8vw;background:var(--paper);color:var(--ink)}.project-facts dl{display:grid;grid-template-columns:110px 1fr;gap:18px 30px;margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.project-facts dt{color:#777}.project-facts dd{margin:0}.project-description{font-size:clamp(25px,3vw,46px);line-height:1.23;letter-spacing:-.035em}.project-description p:first-child{margin-top:0}.project-video{padding:120px 7vw;background:#111}.project-video .micro-label{margin-bottom:32px}.project-video video,.project-video iframe{display:block;width:100%;aspect-ratio:16/9;max-height:85vh;background:#000;border:0}.project-gallery{padding:8vw 5vw;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw;background:#17181b}.gallery-item{padding:0;border:0;background:#222;cursor:zoom-in;overflow:hidden}.gallery-item.is-wide{grid-column:1/-1}.gallery-item img{width:100%;height:100%;max-height:90vh;object-fit:cover;transition:.8s}.gallery-item:hover img{transform:scale(1.02)}.project-next{padding:120px 7vw;background:var(--paper);color:var(--ink)}.project-next a{display:flex;flex-direction:column;gap:20px}.project-next span{text-transform:uppercase;font-size:9px;letter-spacing:.15em}.project-next strong{font-size:clamp(50px,8vw,120px);line-height:.9;letter-spacing:-.07em}.lightbox{position:fixed;z-index:100;inset:0;padding:60px;background:rgba(7,8,7,.96);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.lightbox.is-open{opacity:1;visibility:visible}.lightbox img{max-width:100%;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;top:24px;right:28px;border:0;background:none;text-transform:uppercase;font-size:9px;letter-spacing:.15em}.standard-page{min-height:80vh;padding:170px 8vw;background:var(--paper);color:var(--ink)}.standard-page>h1{font-size:12vw;letter-spacing:-.08em}
@media(max-width:900px){.site-header{height:78px;padding:0 24px}.main-nav{display:none}.menu-toggle{display:block}.hero-numbers{left:24px;top:39%;flex-direction:row}.hero-numbers button{width:auto}.hero-content{left:24px;right:24px;bottom:16vh}.hero-copy h1{font-size:clamp(58px,16vw,105px)}.hero-intro{display:none}.hero-arrows{right:24px;bottom:25px}.scroll-label{display:none}.section-title{display:block;margin-bottom:75px}.section-title h2{margin:25px 0 40px}.section-title a{display:inline-block}.work-grid{grid-template-columns:1fr;gap:90px}.work-card.is-offset{margin-top:0}.work-card:nth-child(3){grid-column:auto;width:100%;margin:0}.studio-grid{grid-template-columns:1fr;margin:80px 0}.capabilities{display:grid;grid-template-columns:1fr 1fr}.contact-section{background-attachment:scroll}.contact-actions{grid-template-columns:1fr}.site-footer{padding:26px 24px;flex-direction:column;gap:15px}.archive-header{grid-template-columns:1fr;margin-bottom:80px}.archive-header h1{margin:18px 0 45px}.archive-header>p:last-child{justify-self:start}.archive-grid{grid-template-columns:1fr;gap:80px}.project-story{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.gallery-item.is-wide{grid-column:auto}}
@media(max-width:600px){.brand img{width:34px;height:34px}.home-hero{min-height:620px}.hero-vignette{background:linear-gradient(0deg,rgba(5,6,5,.9),rgba(5,6,5,.15) 78%)}.hero-content{bottom:18vh}.hero-copy h1{font-size:17vw}.hero-numbers{top:35%}.selected-work{padding:100px 24px 120px}.section-title h2{font-size:30vw}.work-meta h3{font-size:14vw}.studio-section{padding:105px 24px}.studio-grid h2{font-size:18vw}.contact-section{min-height:82svh;padding:100px 24px}.contact-inner h2{font-size:18vw;margin-bottom:90px}.contact-actions a{font-size:13px}.archive-main{padding:130px 24px 100px}.archive-header h1{font-size:30vw}.project-filters a{font-size:16px}.archive-card h2{font-size:14vw}.project-hero-copy{left:24px;right:24px;bottom:9vh}.project-hero-copy h1{font-size:17vw}.project-story{padding:90px 24px}.project-facts dl{grid-template-columns:90px 1fr}.project-description{font-size:25px}.project-video{padding:80px 24px}.project-gallery{padding:24px;gap:24px}.lightbox{padding:20px}.project-next{padding:90px 24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Balanced typography scale — 1.1.1 */
.micro-label{font-size:11px;line-height:1.5;letter-spacing:.16em}
.brand,.main-nav{font-size:11px}
.hero-copy h1{font-size:clamp(56px,7vw,112px);line-height:.88;letter-spacing:-.06em}
.hero-intro{max-width:650px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.76)}
.line-link{font-size:11px;letter-spacing:.14em}
.section-title h2{font-size:clamp(72px,10vw,150px);line-height:.78;letter-spacing:-.065em}
.work-meta>p{font-size:11px;letter-spacing:.13em;color:#5f615c}
.work-meta h3{font-size:clamp(34px,3.6vw,56px);line-height:.96;letter-spacing:-.045em}
.work-meta small{font-size:10px;line-height:1.6;letter-spacing:.1em;color:#5d5f5a}
.studio-grid h2{font-size:clamp(52px,7vw,102px);line-height:.9;letter-spacing:-.06em}
.studio-grid>p{max-width:560px;font-size:16px;line-height:1.8;color:#b7b7b3}
.capabilities{font-size:11px;letter-spacing:.11em}
.contact-inner h2{font-size:clamp(54px,7.5vw,112px);line-height:.88;letter-spacing:-.06em}
.contact-actions a{font-size:clamp(16px,1.35vw,20px)}
.site-footer{font-size:9px;line-height:1.5}
.archive-header h1{font-size:clamp(84px,11vw,168px);line-height:.78;letter-spacing:-.07em}
.archive-card>div>p{font-size:11px;letter-spacing:.12em}
.archive-card h2{font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:-.045em}
.archive-card>div>span{font-size:10px;line-height:1.6;letter-spacing:.1em}
.project-hero-copy h1{font-size:clamp(54px,7vw,112px);line-height:.88;letter-spacing:-.06em}
.project-hero-copy>p:last-child{max-width:680px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.78)}
.project-story{grid-template-columns:.7fr 1.3fr;padding:120px 8vw}
.project-facts dl{font-size:12px;line-height:1.5;gap:20px 30px;letter-spacing:.09em}
.project-facts dt{color:#6f716c}.project-facts dd{font-weight:600}
.project-description{max-width:850px;font-size:clamp(20px,2.2vw,32px);line-height:1.48;letter-spacing:-.02em}
.project-next strong{font-size:clamp(42px,6vw,90px);line-height:.95;letter-spacing:-.055em}

@media(max-width:600px){
  .hero-copy h1,.project-hero-copy h1{font-size:13vw}
  .section-title h2,.archive-header h1{font-size:22vw}
  .work-meta h3,.archive-card h2{font-size:11vw}
  .studio-grid h2,.contact-inner h2{font-size:14vw}
  .project-story{padding:80px 24px}
  .project-facts dl{font-size:11px}
  .project-description{font-size:20px;line-height:1.55}
  .contact-actions a{font-size:14px}
}

/* Works sidebar composition — 1.1.7 */
.archive-main{padding:145px 3vw 120px}
.works-layout{display:grid;grid-template-columns:minmax(235px,22vw) minmax(0,1fr);gap:4vw;align-items:start}
.works-sidebar{position:sticky;top:115px;min-width:0}
.works-sidebar h1{margin:18px 0 44px;font-size:clamp(58px,6vw,94px);font-weight:800;line-height:.84;letter-spacing:-.065em}
.works-sidebar .project-filters{gap:5px}
.works-sidebar .project-filters a{padding:13px 15px;font-size:15px}
.works-layout .archive-grid{columns:3;column-gap:2vw}
@media(max-width:1250px){
  .works-layout{grid-template-columns:230px minmax(0,1fr);gap:34px}
  .works-layout .archive-grid{columns:3;column-gap:22px}
}
@media(max-width:820px){
  .archive-main{padding:115px 24px 90px}
  .works-layout{display:block}
  .works-sidebar{position:static;margin-bottom:58px}
  .works-sidebar h1{margin:16px 0 32px;font-size:72px}
  .works-sidebar .project-filters{display:grid;grid-template-columns:1fr 1fr}
  .works-layout .archive-grid{columns:2;column-gap:24px}
}
@media(max-width:560px){
  .works-sidebar .project-filters{grid-template-columns:1fr}
  .works-layout .archive-grid{columns:1}
}

/* Native image proportions — 1.1.2 */
.hero-slide{object-fit:cover;background:#090a0a}
.work-image,.archive-card>a{aspect-ratio:auto;overflow:visible;background:transparent}
.work-image img,.archive-card img{display:block;width:100%;height:auto;object-fit:contain}
.project-hero{height:auto;min-height:0;overflow:hidden}
.project-hero>img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:contain}
.project-gallery{display:block;columns:2;column-gap:3vw}
.gallery-item,.gallery-item.is-wide{display:block;width:100%;margin:0 0 3vw;break-inside:avoid;grid-column:auto;overflow:visible;background:transparent}
.gallery-item img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:900px){
  .project-gallery{columns:1}
  .gallery-item,.gallery-item.is-wide{margin-bottom:24px}
}

/* Lazy-loaded homepage interactive tour — 1.3.0 */
.interactive-tour-section{padding:125px 5vw 145px;background:#111214;color:#fff}
.interactive-tour-head{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;margin-bottom:48px}
.interactive-tour-head h2{max-width:900px;margin:14px 0 0;font-size:clamp(40px,5vw,76px);line-height:.95;letter-spacing:-.05em}
.interactive-tour-head>p{max-width:480px;margin:0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.7}
.interactive-tour-cover{position:relative;display:block;width:100%;height:min(70vh,760px);min-height:460px;padding:0;overflow:hidden;border:0;border-radius:6px;background-image:var(--tour-cover);background-position:center;background-size:cover;color:#fff;cursor:pointer;text-align:left}
.interactive-tour-cover:before{content:"";position:absolute;inset:0;background-image:var(--tour-cover);background-position:center;background-size:cover;transition:transform 1.2s ease}
.interactive-tour-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,5,.72),rgba(4,5,5,.2) 62%),rgba(4,5,5,.2);transition:background .35s}
.tour-enter-icon{position:absolute;left:50%;top:50%;display:flex;width:112px;height:112px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(8,9,9,.25);color:#fff;transform:translate(-50%,-50%);backdrop-filter:blur(3px);transition:transform .35s,background .35s}
.tour-enter-icon:before,.tour-enter-icon:after{content:"";position:absolute;left:-9px;right:-9px;height:1px;background:rgba(255,255,255,.32)}
.tour-enter-icon:before{top:50%;transform:rotate(18deg)}.tour-enter-icon:after{top:50%;transform:rotate(-18deg)}
.tour-enter-icon b,.tour-enter-icon small{position:relative;z-index:1}.tour-enter-icon b{font-size:23px;letter-spacing:-.03em}.tour-enter-icon small{margin-top:5px;font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.interactive-tour-cta{position:absolute;left:32px;right:32px;bottom:28px;display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.72);text-transform:uppercase;font-size:12px;letter-spacing:.14em}
.interactive-tour-cta i{font-style:normal;font-size:26px;transition:transform .3s}
.interactive-tour-cover:hover:before{transform:scale(1.025)}
.interactive-tour-cover:hover .interactive-tour-shade{background:linear-gradient(0deg,rgba(4,5,5,.74),rgba(4,5,5,.12) 62%),rgba(4,5,5,.12)}
.interactive-tour-cover:hover .tour-enter-icon{background:rgba(238,144,77,.88);transform:translate(-50%,-50%) scale(1.06)}
.interactive-tour-cover:hover .interactive-tour-cta i{transform:translate(4px,-4px)}
.tour-modal{position:fixed;z-index:200;inset:0;display:flex;flex-direction:column;background:#090a0a;opacity:0;visibility:hidden;transition:opacity .3s ease}
.tour-modal.is-open{opacity:1;visibility:visible}
.tour-toolbar{position:relative;z-index:3;height:58px;flex:0 0 58px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15);background:#111214;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.13em}
.tour-toolbar button{height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.38);border-radius:20px;background:transparent;color:#fff;text-transform:uppercase;font-size:9px;letter-spacing:.12em;cursor:pointer}
.tour-toolbar b{margin-left:7px;font-size:16px}
.tour-loader{position:absolute;z-index:0;inset:58px 0 0;display:grid;place-items:center;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.tour-modal iframe{position:relative;z-index:1;display:block;width:100%;height:calc(100% - 58px);flex:1;border:0;background:transparent}
body.tour-open{overflow:hidden}
.project-tour{padding:120px 7vw 130px;background:#111214;color:#fff}
.project-tour-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:42px}
.project-tour-head h2{margin:13px 0 0;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.045em}
.project-tour-head>p{max-width:520px;margin:0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.7}
@media(max-width:700px){
  .interactive-tour-section{padding:85px 24px 105px}
  .interactive-tour-head{display:block;margin-bottom:34px}
  .interactive-tour-head h2{font-size:42px}
  .interactive-tour-head>p{margin-top:22px;font-size:14px}
  .interactive-tour-cover{height:58svh;min-height:390px}
  .interactive-tour-cta{left:20px;right:20px;bottom:18px;font-size:10px}
  .tour-enter-icon{width:92px;height:92px}.tour-enter-icon b{font-size:19px}
  .tour-toolbar{height:54px;flex-basis:54px;padding:0 12px}
  .tour-modal iframe{height:calc(100% - 54px)}
  .project-tour{padding:82px 24px 95px}
  .project-tour-head{display:block;margin-bottom:30px}
  .project-tour-head h2{font-size:36px}
  .project-tour-head>p{margin-top:20px;font-size:14px}
}

/* Full gallery lightbox controls — 1.2.6 */
.lightbox{padding:72px 90px 54px}
.lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;margin:0;min-width:0;min-height:0}
.lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 145px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{margin-top:16px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.14em}
.lightbox .lightbox-close{position:absolute;z-index:3;top:22px;right:26px;width:auto;height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.42);border-radius:20px;background:rgba(0,0,0,.35);color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;cursor:pointer}
.lightbox .lightbox-close span{margin-left:7px;font-size:17px;line-height:1}
.lightbox .lightbox-nav{position:absolute;z-index:3;top:50%;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:22px;cursor:pointer;transform:translateY(-50%)}
.lightbox .lightbox-prev{left:22px;right:auto}
.lightbox .lightbox-next{right:22px;left:auto}
.lightbox .lightbox-close:hover,.lightbox .lightbox-nav:hover{background:#fff;color:#111}
@media(max-width:700px){
  .lightbox{padding:66px 18px 42px}
  .lightbox figure img{max-height:calc(100svh - 125px)}
  .lightbox .lightbox-nav{top:auto;bottom:16px;width:46px;height:46px;transform:none}
  .lightbox .lightbox-prev{left:calc(50% - 54px)}
  .lightbox .lightbox-next{right:calc(50% - 54px)}
  .lightbox figcaption{margin-top:10px;margin-bottom:44px}
}

/* Compact Work gallery — 1.1.4 */
.archive-main{padding:135px 4vw 120px}
.archive-header{grid-template-columns:.55fr 1.2fr 1fr;gap:4vw;margin-bottom:80px}
.archive-header h1{font-size:clamp(72px,9vw,138px)}
.project-filters{gap:4px}
.project-filters a{padding:12px 15px;font-size:15px}
.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:64px 2.2vw}
.archive-card{display:block;min-width:0}
.archive-card article{display:block}
.archive-card-image{overflow:hidden;background:#222}
.archive-card-image img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .8s ease,opacity .35s ease}
.archive-card:hover .archive-card-image img{transform:scale(1.025);opacity:.86}
.archive-card-copy p{margin:16px 0 8px;color:#888;text-transform:uppercase;font-size:10px;line-height:1.5;letter-spacing:.12em}
.archive-card-copy h2{margin:0 0 12px;font-size:clamp(25px,2.35vw,40px);line-height:.98;letter-spacing:-.04em}
.archive-card-copy span{display:block;color:#9c9d98;text-transform:uppercase;font-size:9px;line-height:1.55;letter-spacing:.1em}
@media(max-width:1100px){
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 3vw}
}
@media(max-width:700px){
  .archive-main{padding:110px 24px 90px}
  .archive-header{margin-bottom:58px}
  .archive-grid{grid-template-columns:1fr;gap:52px}
  .archive-card-copy h2{font-size:36px}
}

/* Masonry Work wall — 1.1.5 */
.archive-header{grid-template-columns:.6fr 1.35fr 1fr;align-items:start;margin-bottom:70px}
.archive-header h1{margin:-12px 0 0;font-size:clamp(86px,10vw,154px);line-height:.76}
.archive-grid{display:block;columns:4;column-gap:2.25vw}
.archive-card{display:inline-block;width:100%;margin:0 0 58px;break-inside:avoid;vertical-align:top}
.archive-card-image{width:100%}
.archive-card-copy p{margin-top:15px}
@media(max-width:1300px){
  .archive-grid{columns:3}
}
@media(max-width:960px){
  .archive-header{grid-template-columns:1fr 1.3fr;gap:35px}
  .archive-header .project-filters{grid-column:2}
  .archive-grid{columns:2;column-gap:28px}
}
@media(max-width:650px){
  .archive-header{display:block;margin-bottom:52px}
  .archive-header h1{margin:18px 0 38px;font-size:24vw}
  .archive-grid{columns:1}
  .archive-card{margin-bottom:48px}
}

/* Homepage category gateway — 1.1.6 */
.selected-work{padding:105px 5vw 150px}
.category-showcase-head{display:flex;justify-content:flex-end;margin-bottom:52px}
.category-showcase-head a{padding-bottom:10px;border-bottom:1px solid;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.14em}
.category-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2vw}
.category-card{display:block;min-width:0}
.category-card-image{position:relative;overflow:hidden;background:#222}
.category-card-image img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .8s ease,opacity .35s ease}
.category-card-image span{position:absolute;right:16px;bottom:16px;padding:12px 15px;border-radius:30px;background:var(--accent);color:#111;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.1em;opacity:0;transform:translateY(8px);transition:.3s}
.category-card:hover img{transform:scale(1.025);opacity:.82}
.category-card:hover span{opacity:1;transform:none}
.category-card h2{margin:13px 0 0;font-size:clamp(16px,1.1vw,21px);line-height:1.1;letter-spacing:-.015em;white-space:nowrap}
@media(max-width:1050px){
  .category-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 3vw}
}
@media(max-width:600px){
  .selected-work{padding:85px 24px 110px}
  .category-showcase-head{margin-bottom:38px}
  .category-showcase{grid-template-columns:1fr;gap:48px}
  .category-card-image img{aspect-ratio:auto;height:auto;object-fit:contain}
  .category-card h2{font-size:18px}
}

/* Three-column Works grid and compact contact heading — 1.1.9 */
.works-layout .archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;column-gap:0;gap:58px 2vw;align-items:start}
.works-layout .archive-card{display:block;width:auto;margin:0;break-inside:auto}
.contact-inner h2{max-width:none;font-size:clamp(46px,5vw,78px);line-height:.96;letter-spacing:-.045em;white-space:nowrap}
@media(max-width:900px){
  .works-layout .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 24px}
  .contact-inner h2{white-space:normal}
}
@media(max-width:560px){
  .works-layout .archive-grid{grid-template-columns:1fr}
  .contact-inner h2{font-size:12vw}
}

/* Definitive mobile hero and project-story layout — 1.2.2 */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:900px){
  .home-hero{height:100svh;min-height:620px}
  .hero-slide{object-position:center center}
  .hero-content{left:24px;right:24px;bottom:15vh;max-width:calc(100% - 48px);min-width:0}
  .hero-copy{max-width:100%;min-width:0}
  .hero-copy h1{max-width:100%;font-size:clamp(46px,13vw,72px);line-height:.9;letter-spacing:-.05em;overflow-wrap:anywhere}
  .hero-copy .micro-label{max-width:100%;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
  .hero-numbers{left:24px;right:24px;top:40%;max-width:calc(100% - 48px);gap:14px;overflow:hidden}
  .hero-numbers button{flex:0 1 auto;min-width:0}
  .line-link{width:min(100%,260px)}
  .hero-arrows{right:24px;bottom:24px}
  .hero-arrows button{width:50px;height:50px}

  .project-story{display:block!important;width:100%;min-width:0;padding:72px 24px!important}
  .project-facts,.project-description{width:100%;min-width:0;max-width:100%}
  .project-facts dl{grid-template-columns:92px minmax(0,1fr);gap:16px 20px;width:100%;font-size:11px;line-height:1.55}
  .project-facts dd{min-width:0;overflow-wrap:anywhere;word-break:normal}
  .project-description{margin-top:54px;font-size:20px!important;line-height:1.55;letter-spacing:-.015em;overflow-wrap:anywhere}
  .project-description>*{max-width:100%}
}
@media(max-width:420px){
  .brand{gap:10px;font-size:9px}
  .site-header{padding:0 20px}
  .hero-content{left:20px;right:20px;max-width:calc(100% - 40px)}
  .hero-copy h1{font-size:clamp(44px,12.5vw,58px)}
  .hero-numbers{left:20px;right:20px;max-width:calc(100% - 40px)}
  .project-story{padding:64px 20px!important}
  .project-facts dl{grid-template-columns:78px minmax(0,1fr);gap:14px 16px;font-size:10px}
  .project-description{margin-top:46px;font-size:19px!important}
}

/* Subtle thumbnail corners — 1.2.4 */
.category-card-image,.archive-card-image{border-radius:6px}

/* Compact cinematic hero titles — 1.2.5 */
.hero-copy h1,.project-hero-copy h1{max-width:820px;margin:15px 0 16px;font-size:clamp(34px,3vw,48px);font-weight:800;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.hero-intro,.project-hero-copy>p:last-child{font-size:16px;line-height:1.6}
@media(max-width:900px){
  .hero-copy h1,.project-hero-copy h1{font-size:clamp(34px,10.5vw,44px);line-height:1.03;letter-spacing:-.03em;overflow-wrap:normal}
  .hero-copy .micro-label,.project-hero-copy .micro-label{font-size:10px}
}

/* Order-safe three-column Works masonry — 1.3.4 */
.works-layout .archive-grid{--masonry-gap:54;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;gap:54px 2vw;align-items:start}
.works-layout .archive-grid.is-masonry-ready{grid-auto-rows:1px;row-gap:0}
.works-layout .archive-card{display:block;width:auto;margin:0;break-inside:auto;min-width:0}
@media(max-width:900px){
  .works-layout .archive-grid{--masonry-gap:48;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
}

/* Expanded project facts — 1.3.5 */
.project-facts dl{grid-template-columns:minmax(120px,155px) minmax(0,1fr);align-items:start}
.project-facts dt{line-height:1.45}.project-facts dd{line-height:1.55;overflow-wrap:anywhere}
@media(max-width:900px){
  .project-facts dl{grid-template-columns:minmax(105px,135px) minmax(0,1fr)}
}
@media(max-width:420px){
  .project-facts dl{grid-template-columns:92px minmax(0,1fr)}
}
@media(max-width:560px){
  .works-layout .archive-grid{--masonry-gap:42;grid-template-columns:1fr}
}
