@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/playfair-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/playfair-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/playfair-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/playfair-3.ttf) format('truetype');
}

:root{--ink:#141414;--gray:#727272;--line:#dedede;--paper:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'Helvetica Now','Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #858585;outline-offset:5px}button{border:0;background:none}::selection,mark{background:#111;color:white}mark{padding:0 .07em}mark.current{outline:1px solid #777;outline-offset:3px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:15px}header{position:fixed;z-index:30;top:0;left:0;width:100%;padding:30px 4.4%;display:flex;align-items:center;justify-content:space-between;transition:background .4s,color .4s;pointer-events:none}header>*{pointer-events:auto}.wordmark{font-size:22px;line-height:.92;letter-spacing:-1px;font-weight:500;display:block}.wordmark span{font-weight:300}header.on-light{background:linear-gradient(white 55%,#fffffff0 80%,#ffffff00);color:#141414}header.on-dark{color:#fff}header.on-dark nav{background:#1113;border-color:#ffffff80;backdrop-filter:blur(16px)}.nav-wrap{display:flex;align-items:center;gap:25px}nav{position:relative;display:flex;border:1px solid #999;border-radius:40px;padding:4px;background:#ffffffd9}nav a{position:relative;z-index:1;font-size:14px;text-align:center;padding:9px 20px;min-width:91px;transition:color .3s}nav a[aria-current]{color:white}#nav-pill{position:absolute;left:4px;top:4px;height:34px;width:91px;background:#151515;border-radius:30px;opacity:0;will-change:transform}.on-dark #nav-pill{background:white}.on-dark nav a[aria-current]{color:#111}.icon-button{width:28px;height:30px;padding:3px}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.3;width:24px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.8px;line-height:1.6}.small-note{font-size:13px;line-height:1.6;color:var(--gray)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.5px;line-height:1.08;margin:0}h1{font-size:clamp(52px,5.2vw,82px)}h2{font-size:clamp(48px,4.5vw,70px)}em{font-weight:400}.chapter{min-height:100vh;padding:130px 6% 60px;position:relative;background:white;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:64px}.section-top>span:last-child{color:#777}#landing{height:100vh;min-height:650px;position:relative;overflow:hidden;background:black;color:white}.hero-pictures,.hero-pictures img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-pictures img{object-fit:cover;transition:opacity 1.3s;animation:drift 14s linear infinite alternate}.hero-pictures img#hero-b{opacity:0}.hero-shade{background:linear-gradient(180deg,#0007,transparent 30%,#0001 55%,#0009);z-index:1}.hero-logo{position:absolute;z-index:2;left:50%;top:48%;width:clamp(240px,28vw,445px);aspect-ratio:1;transform:translate(-50%,-50%);mix-blend-mode:screen;pointer-events:none}.hero-logo img,.hero-logo video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.hero-logo video{opacity:0}#solid-video{z-index:2}.hero-foot{position:absolute;bottom:45px;left:4.4%;right:4.4%;display:flex;align-items:end;justify-content:space-between;z-index:4}.hero-foot p{margin:9px 0 0;font-size:20px;letter-spacing:-.5px}.hero-foot .eyebrow{opacity:.7}.hero-foot button{font-size:13px;display:flex;gap:15px;margin-left:auto;margin-right:55px;padding-bottom:2px}.scroll-cue{font-size:13px;display:flex;gap:35px}.hero-count{position:absolute;right:4.4%;bottom:118px;font-size:13px;z-index:3;letter-spacing:1px}.hero-count>span:last-child{opacity:.5}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.06)}}.studio-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;min-height:57vh}.studio-copy h1{margin-bottom:35px}.type-copy{max-width:490px;font-family:var(--serif);font-size:20px;line-height:1.6}.type-copy p{margin:0 0 20px}.type-copy .untyped{color:#d9d9d9}.studio-copy>.small-note{display:block;margin-top:35px}.studio-art{text-align:center}.studio-orbit{position:relative;width:min(360px,29vw);aspect-ratio:1;margin:auto auto 24px}.dark-logo{filter:invert(1);mix-blend-mode:multiply}.studio-orbit img,.studio-orbit video{width:100%;height:100%;object-fit:contain}.studio-orbit video{position:absolute;inset:0;filter:invert(1);mix-blend-mode:multiply;opacity:0}.orbit-wordmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;line-height:.97;letter-spacing:-.5px}.next-section{display:flex;gap:40px;font-size:13px;margin-top:65px}.spaces-layout{display:grid;grid-template-columns:30% 1fr;gap:7%}.project-sidebar h2{font-size:43px;letter-spacing:-1.7px;margin-bottom:32px}.filter-wrap{position:relative;width:172px;margin-bottom:22px}.filter-wrap select{appearance:none;width:100%;border-radius:24px;background:#111;color:white;padding:11px 20px;border:0;font-size:14px;cursor:pointer}.filter-wrap>span{position:absolute;right:18px;top:10px;color:white;pointer-events:none}#project-list{max-height:330px;overflow-y:auto;overscroll-behavior:contain;padding-right:20px;scrollbar-width:thin;scrollbar-color:#ddd transparent;mask-image:linear-gradient(transparent,#000 5%,#000 93%,transparent);padding-block:13px}.project-item{display:block;text-align:left;width:100%;padding:10px 0;font-size:15px;color:#929292;transition:color .2s;line-height:1.4}.project-item:hover{color:#111}.project-item.active{color:#111;font-weight:500}.project-item.active:before{content:'—';margin-right:10px}.project-item .code{font-size:11px;margin-right:12px;color:#999}.album-frame{position:relative;height:clamp(360px,37vw,610px);background:#f4f4f4;overflow:hidden}.album-frame>img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}.image-expand{position:absolute;right:15px;top:15px;background:#ffffffd9;width:36px;height:36px;border-radius:50%;font-size:22px}.album-controls{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:8px;background:white;border-radius:30px;padding:4px 9px 4px 15px}.album-controls span{font-size:12px;margin-right:15px;letter-spacing:1px}.album-controls button{font-size:20px;width:30px;height:30px}.album-caption{display:flex;justify-content:space-between;gap:20px;padding-top:23px}.album-caption h3{font-weight:400;font-size:18px;margin:0 0 9px}.album-caption p{font-family:var(--serif);font-size:15px;color:#666;line-height:1.6;max-width:510px;margin:0}.album-caption>.small-note{white-space:nowrap}#objects{overflow:hidden}.objects-heading{display:flex;align-items:end;justify-content:space-between}.objects-heading>p{color:#747474;font-size:15px;line-height:1.6;margin:0 0 4px}.object-stage{display:flex;align-items:center;gap:18px;margin:30px -2% 0}.round-button{width:42px;height:42px;border:1px solid #ccc;border-radius:50%;flex-shrink:0;font-size:21px}#object-track{display:flex;gap:4%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;padding:35px 31%;width:100%;height:420px;overscroll-behavior-x:contain}.object-card{flex:0 0 100%;scroll-snap-align:center;perspective:900px;text-align:left;min-width:240px;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .6s;transform:scale(.83);opacity:.5;padding:0}.object-card.center{transform:scale(1);opacity:1}.object-visual{height:260px;background:#f3f3f3;position:relative;overflow:hidden;border-radius:3px}.object-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);animation:studyturn 9s ease-in-out infinite}.object-visual .study-label{position:absolute;bottom:13px;left:14px;background:#fffe;padding:6px 9px;font-size:11px;letter-spacing:.8px;text-transform:uppercase}.object-card h3{font-size:17px;font-weight:400;margin:18px 0 5px;display:flex;justify-content:space-between}.object-card p{font-size:12px;color:#777;margin:0;line-height:1.5}@keyframes studyturn{0%,100%{transform:perspective(900px) rotateY(-7deg) scale(1.09)}50%{transform:perspective(900px) rotateY(7deg) scale(1.09)}}.object-footer{display:flex;justify-content:space-between;align-items:center;margin-top:5px}#object-dots{display:flex;gap:8px}#object-dots button{width:8px;height:8px;padding:0;border-radius:50%;background:#ccc}#object-dots button.active{background:#111}.contact-main{padding-top:9vh;padding-bottom:10vh}.contact-main h2{font-size:clamp(75px,8.3vw,132px);line-height:1.08;letter-spacing:-4px;margin:25px 0 43px}.contact-links{display:flex;align-items:center;gap:25px}.email-pill{display:flex;justify-content:space-between;align-items:center;gap:38px;background:#111;color:white;border-radius:40px;padding:15px 24px;font-size:14px}.email-pill span{font-size:20px}.socials{display:flex;gap:10px}.socials a{background:#111;color:#fff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.socials svg{width:20px;height:20px;fill:currentColor}.socials svg.stroke{stroke:currentColor;fill:none;stroke-width:1.7}footer{border-top:1px solid #ddd;padding-top:25px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#777}footer a{display:flex;align-items:center;gap:15px}footer img{width:43px;height:43px}#transition-veil{position:fixed;inset:0;background:white;z-index:20;pointer-events:none;opacity:0}#search-panel{position:fixed;right:4.4%;top:95px;z-index:40;background:white;color:#111;box-shadow:0 8px 60px #0002;border:1px solid #ddd;padding:25px;width:420px;border-radius:4px}#search-panel>label{font-size:13px}.search-row{display:flex;margin-top:18px;border-bottom:1px solid #aaa}.search-row input{border:0;width:100%;padding:10px 0;font-size:15px;outline:none}.search-row button{font-size:25px}.search-bottom{display:flex;align-items:center;gap:10px;padding-top:15px;font-size:12px;color:#666}.search-bottom span{margin-right:auto}.search-bottom button{font-size:20px}dialog{border:0;padding:0;background:white;color:#111;max-height:88vh;max-width:90vw;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#0009;backdrop-filter:blur(9px)}dialog[open]{animation:flipin .55s cubic-bezier(.2,.8,.2,1)}@keyframes flipin{from{opacity:0;transform:perspective(1200px) rotateY(-50deg) scale(.9)}to{opacity:1;transform:perspective(1200px) rotateY(0) scale(1)}}.dialog-close{position:absolute;right:15px;top:12px;z-index:2;background:white;border-radius:50%;width:36px;height:36px;font-size:27px}#object-detail{display:grid;grid-template-columns:1.2fr 1fr;width:900px;max-width:90vw}#object-detail img{width:100%;height:510px;object-fit:cover;filter:grayscale(1)}.object-detail-copy{padding:75px 40px;align-self:center}.object-detail-copy h2{font-size:43px;margin:20px 0}.object-detail-copy p{font-size:15px;line-height:1.7;color:#777}#image-dialog img{max-width:88vw;max-height:76vh;display:block;object-fit:contain}#image-dialog p{padding:0 24px;font-size:14px}#contact-chat{position:fixed;bottom:25px;right:25px;width:390px;z-index:50;background:white;box-shadow:0 10px 70px #0003;border:1px solid #ddd;border-radius:10px;overflow:hidden;max-height:90vh;overflow-y:auto}.chat-header{display:flex;justify-content:space-between;background:#111;color:white;padding:25px}.chat-header .eyebrow{font-size:10px;color:#bbb}.chat-header h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:6px 0 0}.chat-header button{font-size:27px;align-self:start}#contact-form{padding:24px}#contact-form label{display:block;font-size:12px;margin-bottom:8px}#contact-form input,#contact-form textarea{width:100%;padding:11px;border:1px solid #ddd;background:#fafafa;border-radius:3px;font-size:14px;margin-bottom:18px;resize:vertical}#contact-form .email-pill{width:100%}#form-status{font-size:12px;margin-bottom:0}[hidden]{display:none!important}@media(max-width:900px){header{padding:24px 4%}.wordmark{font-size:18px}nav a{min-width:70px;padding:8px 12px}.nav-wrap{gap:12px}.chapter{padding:115px 5% 50px}.studio-layout{gap:5%}.studio-orbit{width:30vw}.spaces-layout{grid-template-columns:32% 1fr;gap:4%}.project-sidebar h2{font-size:35px}.album-frame{height:400px}.object-card{min-width:180px}.contact-main h2{font-size:85px}}@media(max-width:640px){header{align-items:start}.wordmark{font-size:16px}nav a{min-width:0;padding:8px 10px;font-size:12px}.nav-wrap{gap:8px}.icon-button{width:20px}.icon-button svg{width:20px}.section-top{margin-bottom:40px}.section-top>span:last-child{display:none}.studio-layout,.spaces-layout{grid-template-columns:1fr}.studio-art{padding:45px 0}.studio-orbit{width:230px}.studio-copy h1{font-size:52px}.hero-foot{flex-wrap:wrap;gap:25px}.hero-foot p{font-size:16px}.hero-foot button{margin:0 0 0 auto}.scroll-cue{width:100%}.hero-count{bottom:165px}.hero-logo{width:240px}#project-list{max-height:180px;margin-bottom:25px}.album-frame{height:340px}.objects-heading{display:block}.objects-heading>p{margin-top:25px}.object-stage{gap:2px;margin-left:-4%;margin-right:-4%}.round-button{width:30px;height:30px}#object-track{padding-left:20%;padding-right:20%;gap:8%;height:390px}.object-card{min-width:210px}.object-footer>.small-note:last-child{display:none}.contact-main h2{font-size:66px}.contact-links{align-items:start;flex-direction:column}footer>span:nth-child(2){display:none}#search-panel{width:92%;right:4%}#contact-chat{width:calc(100% - 24px);bottom:12px;right:12px}#object-detail{display:block}#object-detail img{height:260px}.object-detail-copy{padding:25px}h2{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.type-copy .untyped{color:inherit}}

/* Fixed desktop chapters. Scroll selects a chapter; the panels never translate. */
html.fixed-story, .fixed-story body {height:100%;overflow:hidden;scroll-behavior:auto;overscroll-behavior:none}
.fixed-story main {position:fixed;inset:0;background:#fff;overflow:hidden}
.fixed-story main>section {position:absolute;inset:0;width:100%;height:100dvh;min-height:0;opacity:0;visibility:hidden;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;outline:none;will-change:opacity}
.fixed-story main>#landing {overflow:hidden}
.fixed-story .chapter {padding:112px 6% 32px}
.fixed-story .section-top {margin-bottom:36px}
.fixed-story header {background:none;transition:color .25s}
.fixed-story header.on-light {background:linear-gradient(#fff 60%,#ffffff00)}
.wordmark {width:120px;line-height:0;mix-blend-mode:multiply}
.wordmark img {display:block;width:100%;height:auto;filter:contrast(2)}
.on-dark .wordmark {mix-blend-mode:screen}
.on-dark .wordmark img {filter:contrast(2) invert(1)}
.hero-pictures img {animation:none!important;transform:none!important}
.hero-pictures,.hero-shade,.hero-logo,.hero-foot,.hero-count {will-change:opacity}
#transition-video {opacity:0;z-index:2}
.studio-orbit img {filter:none;mix-blend-mode:multiply}
.studio-orbit video {filter:none;mix-blend-mode:multiply}
.studio-orbit {width:min(420px,34vw);margin-bottom:12px}
.fixed-story .studio-layout {min-height:0;height:calc(var(--screen-height, 100dvh) - 280px);gap:7%;align-items:center}
.fixed-story .studio-copy h1 {font-size:clamp(50px,4.8vw,76px);margin-bottom:26px}
.fixed-story .type-copy {font-size:19px;line-height:1.55}
.fixed-story .studio-copy>.small-note {margin-top:24px}
.fixed-story .next-section {margin-top:20px}
.fixed-story .spaces-layout {grid-template-columns:29% minmax(0,1fr);gap:6%;height:calc(var(--screen-height, 100dvh) - 225px);min-height:480px}
.project-sidebar {display:flex;flex-direction:column;min-height:0}
.fixed-story .project-sidebar h2 {font-size:40px;margin-bottom:24px}
.filter-wrap {flex-shrink:0;margin-bottom:16px}
#project-list {position:relative;flex:1;min-height:200px;max-height:none;overflow:hidden;padding:0;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);touch-action:none;scrollbar-width:none}
#project-list:before {content:'';position:absolute;left:0;top:50%;height:1px;width:17px;background:#111;transform:translateY(-50%)}
#project-list .project-item {position:absolute;top:50%;left:0;width:100%;height:48px;display:flex;align-items:center;padding:0 5px 0 30px;font-size:15px;line-height:1.35;transform:translateY(calc(-50% + var(--row-offset)));transition:transform .34s cubic-bezier(.18,.8,.22,1),opacity .25s,color .25s;font-weight:400;color:#141414;cursor:pointer}
#project-list .project-item.active {font-weight:600}
#project-list .project-item.active:before {content:none}
#project-list .project-item:not(.active):hover {text-decoration:underline;text-underline-offset:4px}
#project-list-help {font-size:12px;margin:14px 0 4px}
#filter-count {font-size:12px;margin:0;flex-shrink:0}
.project-album {display:flex;flex-direction:column;min-height:0}
.fixed-story .album-frame {height:auto;min-height:180px;flex:1;max-height:51vh;background:#f4f4f4}
.album-frame>img {object-fit:cover}
.fixed-story .album-caption {padding-top:21px;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.94fr);gap:24px;flex-shrink:0}
.album-caption h3 {font-size:21px;line-height:1.2;margin:0 0 12px;letter-spacing:-.5px}
.album-caption p {font-size:14px;line-height:1.55;max-width:none}
#project-facts {margin:0;font-size:13px;line-height:1.55}
#project-facts>div {display:grid;grid-template-columns:62px 1fr;gap:12px;margin-bottom:3px}
#project-facts dt {color:#858585}
#project-facts dd {margin:0;color:#414141}
.fixed-story .objects-heading h2 {font-size:clamp(44px,4.2vw,64px)}
.fixed-story .object-stage {margin-top:12px}
.fixed-story #object-track {height:calc(var(--screen-height, 100dvh) - 425px);min-height:280px;max-height:440px;padding-top:22px;padding-bottom:22px}
.fixed-story .object-visual {height:clamp(170px,27vh,270px)}
.fixed-story .contact-main {padding-top:5vh;padding-bottom:6vh}
.fixed-story .contact-main h2 {font-size:clamp(65px,8vw,120px);margin:18px 0 32px}
.email-pill .email-address {font-size:14px}
@media(max-height:750px) and (min-width:901px){
.fixed-story .chapter{padding-top:96px;padding-bottom:20px}.fixed-story .section-top{margin-bottom:22px;padding-top:12px}.fixed-story .spaces-layout{height:calc(var(--screen-height, 100dvh) - 175px);min-height:0}.fixed-story .project-sidebar h2{font-size:32px;margin-bottom:16px}.fixed-story .album-caption{padding-top:14px;gap:18px}.album-caption h3{font-size:19px}.album-caption p{font-size:13px}.fixed-story .studio-layout{height:calc(var(--screen-height, 100dvh) - 245px)}.fixed-story .studio-copy h1{font-size:53px}.fixed-story .type-copy{font-size:17px}.fixed-story .studio-copy>.small-note{margin-top:15px}.fixed-story .contact-main{padding-top:2vh;padding-bottom:4vh}.fixed-story .contact-main h2{font-size:80px}.fixed-story .objects-heading h2{font-size:46px}.fixed-story #object-track{height:calc(var(--screen-height, 100dvh) - 345px);min-height:240px}.fixed-story .object-visual{height:170px}
}
@media(max-width:900px){.wordmark{width:100px}.fixed-story .chapter{padding:110px 5% 30px}.fixed-story .spaces-layout{grid-template-columns:31% minmax(0,1fr);gap:4%}.fixed-story .album-caption{display:block}#project-facts{margin-top:18px}.studio-orbit{width:32vw}.fixed-story .studio-layout{height:auto;min-height:65vh}}
@media(max-width:640px){.wordmark{width:72px}.fixed-story .chapter{padding-top:110px}.fixed-story .studio-layout,.fixed-story .spaces-layout{display:block;height:auto;min-height:0}.fixed-story #project-list{height:250px;min-height:250px}.fixed-story .album-frame{height:260px;margin-top:25px;min-height:260px}.fixed-story .project-sidebar h2{font-size:36px}.fixed-story .studio-orbit{width:260px}.fixed-story .studio-copy h1{font-size:50px}.fixed-story .studio-art{padding:35px 0}.fixed-story .contact-main h2{font-size:60px}.fixed-story .objects-heading h2{font-size:43px}.fixed-story #object-track{height:350px;min-height:350px}.fixed-story .object-visual{height:220px}.fixed-story .contact-main{padding-top:3vh}}
@media(prefers-reduced-motion:reduce){#project-list .project-item{transition:none}.hero-logo{filter:none!important}}
.wordmark,.on-dark .wordmark {mix-blend-mode:normal}
.wordmark img {filter:none}
.on-dark .wordmark img {filter:brightness(0) invert(1)}

/* Compact project taxonomy tags. */
html.fixed-story{zoom:1.25;--screen-height:calc(100dvh / 1.25)}
.fixed-story main>section,.fixed-story main>#landing{height:var(--screen-height)}
.fixed-story header{padding-left:6%;padding-right:6%}
.fixed-story .hero-foot{left:6%;right:6%}
header .wordmark{width:102px}
header nav a{font-size:11.9px;min-width:77.35px;padding:7.65px 17px}
header nav{padding:4px;border-radius:34px}
header #nav-pill{top:50%;height:27px;border-radius:24px;transform-origin:center}
header .nav-wrap{gap:21px}
@media(max-width:900px){header .wordmark{width:85px}header nav a{min-width:59.5px;padding:6.8px 10.2px}}
@media(max-width:640px){header .wordmark{width:61.2px}header nav a{min-width:0;padding:6.8px 8.5px;font-size:10.2px}header .nav-wrap{gap:7px}}
.fixed-story .project-sidebar h2{font-size:clamp(44px,3.6vw,54px);margin-bottom:16px}
#project-filters{display:flex;flex-direction:column;gap:5px;flex-shrink:0;margin-bottom:10px}
.filter-tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.filter-label{text-transform:uppercase;font-size:9px;letter-spacing:1px;color:#777;width:36px}
.filter-tag{font-size:11px;line-height:1.2;border:1px solid #d5d5d5;border-radius:20px;padding:5px 9px;background:#fff;transition:background .15s,color .15s}
.filter-tag[aria-pressed="true"]{background:#151515;border-color:#151515;color:white}
.filter-tag:hover:not(:disabled){border-color:#151515}
.filter-tag:disabled{opacity:.35}
#project-list-help{margin-top:7px}
@media(max-height:750px) and (min-width:901px){.fixed-story .project-sidebar h2{font-size:40px;margin-bottom:12px}}

/* Spaces proportions: compact taxonomy block, centered project rail, wide gallery. */
.fixed-story .spaces-layout{grid-template-columns:minmax(205px,28%) minmax(0,1fr);gap:3%;align-items:start}
.fixed-story .project-sidebar{padding-top:0}
.fixed-story .project-sidebar h2{max-width:230px}
.fixed-story #project-filters{max-width:100%;margin-bottom:12px}
.fixed-story #project-list{flex:none;height:250px;min-height:250px;margin:0 0 4px}
.fixed-story #project-list .project-item{height:42px;padding-left:26px;color:#a2a2a2;font-size:13px}
.fixed-story #project-list .project-item:before{content:'';position:absolute;left:5px;top:50%;width:13px;height:1px;background:#c8c8c8;transform:translateY(-50%);opacity:.9;transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s ease,background-color .28s ease}
.fixed-story #project-list .project-item.active{color:#111;font-size:15px;font-weight:700;letter-spacing:-.1px}
.fixed-story #project-list .project-item.active:before{content:'';background:#111;width:25px;height:2px}
.fixed-story #project-list:before{display:none}
.fixed-story #project-list-help{margin-top:0}
.fixed-story .project-album{min-width:0}
.fixed-story .album-frame{max-height:46vh;min-height:270px}
.fixed-story .album-caption{grid-template-columns:minmax(0,1.15fr) minmax(190px,.85fr)}
.fixed-story .project-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:start;gap:0}
.fixed-story .project-sidebar h2{grid-row:1;margin-bottom:18px}
.fixed-story #project-list{grid-row:2;height:290px;min-height:290px;margin-bottom:6px}
.fixed-story #project-list-help{grid-row:3;margin:0 0 10px}
.fixed-story #project-filters{grid-row:4;align-self:end;margin:0}
.fixed-story #filter-count{position:absolute;left:0;bottom:42px;margin:0}
.fixed-story .album-frame{aspect-ratio:4/3;height:auto;min-height:0;max-height:none;background:#000}
.fixed-story .album-frame>img{object-fit:cover}
.fixed-story .album-caption{padding-top:30px}
.fixed-story main>#spaces{overflow:hidden}
.fixed-story .spaces-layout{height:calc(var(--screen-height, 100dvh) - 185px);min-height:0;overflow:hidden}
.fixed-story #project-list{height:230px;min-height:230px}
.fixed-story .project-album{height:100%;overflow:hidden}
.fixed-story .album-frame{height:min(calc(var(--screen-height, 100dvh) - 290px), 54vh);aspect-ratio:auto;flex:none}
.fixed-story .album-caption{min-height:0;overflow:hidden}
@media(max-height:750px) and (min-width:901px){
  .fixed-story .spaces-layout{height:calc(var(--screen-height, 100dvh) - 150px)}
  .fixed-story #project-list{height:205px;min-height:205px}
  .fixed-story .album-frame{height:calc(var(--screen-height, 100dvh) - 245px)}
}
/* Approved Spaces composition; all rows share the available viewport height. */
.fixed-story main>#spaces{display:flex;flex-direction:column;padding:140px 5.6% 64px;overflow:hidden}
#spaces .section-top{flex:none;margin-bottom:22px;padding-top:18px}
#spaces .spaces-layout{flex:1;min-height:0;height:auto;overflow:visible;grid-template-columns:minmax(0,29%) minmax(0,1fr);gap:3%}
#spaces .project-sidebar{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}
#spaces .project-sidebar h2{grid-row:1;max-width:none;font-size:clamp(48px,4.3vw,70px);margin:12px 0 30px;line-height:1.04}
#spaces #project-list-help{grid-row:2;margin:0 0 10px;font-size:18px}
#spaces #filter-count{grid-row:3;position:static;transform:none;margin:0;font-size:18px}
#spaces #project-list{grid-row:4;min-height:0;height:100%;margin:16px 0;align-self:stretch}
#spaces #project-filters{grid-row:5;margin:24px 0 0;gap:7px;align-self:end}
#spaces .filter-tag{font-size:16px;padding:7px 12px}
#spaces .filter-label{font-size:13px;width:58px}
#spaces #project-list .project-item{font-size:17px;padding-left:38px;height:46px}
#spaces #project-list .project-item.active{font-size:22px;font-weight:700}
#spaces .project-album{height:100%;container-type:size;display:flex;align-items:center;overflow:visible}
#spaces .album-frame{width:min(100%,calc((100cqh - 280px) * 16 / 9));height:auto;aspect-ratio:16/9;min-height:0;max-height:none;flex:none;background:#f4f4f4}
#spaces .album-caption{display:block;width:min(84%,880px);padding:22px 0 0;margin:0 auto;overflow:visible}
#spaces #project-name,#spaces #project-facts{display:none}
#spaces .album-caption p{font-size:21px;line-height:1.5;text-align:justify;margin:0;hyphens:auto}
#image-dialog{width:min(1500px,92vw);max-width:92vw;max-height:90vh;background:#f5f4f1}
.expanded-project{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:64px}
.expanded-photos{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-content:start}
#image-dialog .expanded-photos img{width:100%;height:260px;max-width:none;max-height:none;object-fit:cover}
#image-dialog .expanded-photos img:first-child{grid-column:1/-1;height:auto;aspect-ratio:4/3}
.expanded-copy{position:relative;min-width:0;padding-bottom:60px}
.expanded-brand{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #999;padding-bottom:14px;color:#777}
#image-dialog .expanded-brand img{width:30px;height:30px;mix-blend-mode:multiply}
.expanded-copy h2{font-family:var(--sans);font-size:44px;font-weight:700;letter-spacing:-1px;margin:70px 0 28px}
.expanded-copy dl{font-size:18px;color:#777}
.expanded-copy dl>div{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:5px 0}
.expanded-copy dd{margin:0}
#image-dialog .expanded-copy p{padding:0;font-size:18px;text-align:justify;line-height:1.5}
.expanded-scale{display:block;text-transform:uppercase;text-align:right;color:#999;margin-top:48px;font-size:22px}
@media(max-height:700px){.fixed-story main>#spaces{padding-top:100px;padding-bottom:35px}#spaces .project-sidebar h2{font-size:46px;margin-bottom:20px}#spaces .album-frame{width:min(100%,calc((100cqh - 260px) * 16 / 9))}#spaces .album-caption p{font-size:18px}#spaces #project-list-help,#spaces #filter-count{font-size:15px}}
/* Supplied object rotations and expanded studies. */
.object-visual video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#f5f5f3}
#object-dialog{width:88%;max-width:1100px;max-height:85%;margin:auto}
#object-detail{width:100%;max-width:100%;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);overflow:auto}
.object-detail-media{align-self:center;min-width:0;background:#f5f5f3}
.object-detail-media video{display:block;width:100%;max-height:65dvh;object-fit:contain}
.object-studies{display:flex;gap:8px;flex-wrap:wrap;padding:16px}
.object-studies button{padding:7px 12px;border:1px solid #ccc;border-radius:20px;font-size:12px}
.object-studies button[aria-pressed=true]{background:#111;color:white;border-color:#111}
#object-detail .object-detail-copy{padding:45px 32px}
#object-detail .object-detail-copy h2{font-size:38px}
#object-dialog[open]{animation:objectReveal .42s cubic-bezier(.2,.8,.2,1)}
@keyframes objectReveal{from{opacity:0;transform:perspective(1400px) rotateY(-12deg) scale(.92)}to{opacity:1;transform:perspective(1400px) rotateY(0) scale(1)}}
@media(max-width:640px){#object-detail{display:block}.object-detail-media video{max-height:42dvh}}

/* Keep the Studio animation opaque so its poster cannot overlay the moving logo. */
.studio-orbit img,.studio-orbit video{filter:none;mix-blend-mode:normal}

/* Portrait previews; source videos retain their landscape dimensions. */
.fixed-story main>#objects{display:flex;flex-direction:column;overflow:hidden}
#objects .section-top,#objects .objects-heading,#objects .object-footer{flex-shrink:0}
#objects .section-top{margin-bottom:22px}
#objects .object-stage{flex:1;min-height:0;margin-top:20px;margin-bottom:16px}
#objects #object-track{height:100%;min-height:0;max-height:none;padding:10px 33%;gap:6%;container-type:size}
#objects .object-card{flex:0 0 100%;min-width:0;max-width:100%;transform-origin:center center}
#objects .object-visual{height:auto;width:min(100%,calc((100cqh - 84px) * .8));aspect-ratio:4/5;margin-inline:auto;border-radius:0}
#objects .object-card h3,#objects .object-card p{width:min(100%,calc((100cqh - 84px) * .8));margin-inline:auto}
#objects .object-card h3{margin-top:12px;font-size:16px}
#objects .object-card p{font-size:12px}
#objects .object-visual img{object-fit:cover;object-position:center;animation:none}
#objects .object-footer{margin-top:0}

