@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500&display=swap');
.collection-page { --paper:#eae7df; --ink:#302e29; --muted:#79766c; --line:#c9c5bb; margin:0; background:var(--paper); color:var(--ink); font:400 13px Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.collection-page *, .collection-page *::before, .collection-page *::after { box-sizing:border-box; }
.collection-page [hidden] { display:none!important; }
.collection-page a { color:inherit; text-decoration:none; }
.collection-page button { font:inherit; color:inherit; cursor:pointer; }
.collection-page h1,.collection-page h2,.collection-page p { margin:0; }
.collection-page img { display:block; width:100%; height:100%; object-fit:cover; }
.collection-page :focus-visible { outline:2px solid #8d816b; outline-offset:5px; }
.collection-skip { position:absolute; z-index:20; top:8px; left:8px; padding:12px; background:white; transform:translateY(-150%); }
.collection-skip:focus { transform:none; }
.collection-header { position:relative; z-index:3; height:86px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 4vw; }
.collection-brand { width:145px; }
.collection-brand img { height:auto; filter:brightness(0); }
.collection-header nav { display:flex; gap:34px; align-items:center; font-size:9px; font-weight:600; letter-spacing:.055em; }
.collection-header nav a { padding:11px 0; }
.collection-header [aria-current] { border-bottom:1px solid var(--ink); }
.archive { margin:auto; }
.archive-heading { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:620px; height:calc(86svh - 86px); max-height:850px; text-align:center; overflow:hidden; padding:60px 5vw 90px; }
.daylight-shadow { position:absolute; inset:-45%; pointer-events:none; z-index:-1; background:linear-gradient(112deg,transparent 16%,#71654d17 17%,#71654d17 22%,transparent 23%,transparent 39%,#71654d20 40%,#71654d20 44%,transparent 45%,transparent 60%,#71654d19 61%,#71654d19 66%,transparent 67%),linear-gradient(25deg,transparent 46%,#695c4515 47%,#695c4515 51%,transparent 52%); filter:blur(9px); transform:rotate(-15deg); animation:daylight-drift 24s ease-in-out infinite alternate; }
.archive-perspective { position:absolute; inset:0; width:100%; height:100%; z-index:-1; fill:none; stroke:#8c877930; stroke-width:1; }
.archive-kicker { font-size:9px; letter-spacing:.16em; }
.archive-heading h1 { margin:44px 0 28px; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(65px,7.7vw,120px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.archive-heading h1 > span { display:block; }
.archive-heading h1 > span:last-child { font-style:italic; margin-top:7px; }
.archive-intro { font-size:11px; line-height:1.8; color:#676358; }
.archive-heading-foot { position:absolute; bottom:28px; left:4vw; right:4vw; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:8px; letter-spacing:.09em; }
.archive-heading-foot a { display:flex; gap:20px; align-items:center; }
.archive-heading-foot a span { font-size:21px; animation:explore-nudge 2s ease-in-out infinite; }
.archive-toolbar { display:flex; align-items:center; justify-content:space-between; margin:0 4vw; padding:22px 0; border-bottom:1px solid var(--line); scroll-margin-top:15px; }
.archive-filters { display:flex; gap:34px; }
.archive-filters button { border:0; background:none; padding:8px 0; font-size:9px; letter-spacing:.06em; color:var(--muted); }
.archive-filters button::after { content:''; display:block; height:1px; background:var(--ink); margin-top:7px; transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.archive-filters button[aria-pressed=true] { color:var(--ink); }
.archive-filters button[aria-pressed=true]::after { transform:scaleX(1); }
.archive-filters sup { font-size:7px; }
.archive-toolbar > p { font-size:8px; color:var(--muted); letter-spacing:.12em; }
.archive-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:28px; padding:32px 4vw 0; max-width:2240px; margin:auto; }
.archive-card { position:relative; min-width:0; grid-column:span 6; overflow:hidden; background:#b6afa1; }
.archive-card:nth-child(5n+1) { grid-column:span 12; }
.archive-image { position:relative; display:block; width:100%; height:clamp(360px,39vw,620px); border:0; padding:0; background:#b6afa1; overflow:hidden; }
.archive-card:nth-child(5n+1) .archive-image { height:clamp(470px,64vw,760px); max-height:84svh; }
.archive-image img { filter:blur(2.5px); transform:scale(1.035); transition:filter .8s ease,transform 1.6s cubic-bezier(.2,.7,.2,1); }
.archive-image-shade { position:absolute; inset:0; background:linear-gradient(180deg,#16120b25 0%,transparent 35%,#16120b0d 55%,#16120b9e 100%); transition:opacity .8s; }
.archive-card-head { position:absolute; z-index:2; top:26px; left:28px; right:28px; display:flex; justify-content:space-between; gap:20px; pointer-events:none; color:#fff; font-size:9px; letter-spacing:.08em; }
.archive-card-caption { position:absolute; bottom:32px; left:30px; right:90px; color:white; pointer-events:none; }
.archive-card-caption > span { display:block; font-size:8px; letter-spacing:.1em; line-height:1.6; margin-bottom:12px; }
.archive-card-caption h2 { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(40px,4.3vw,68px); font-weight:400; letter-spacing:-.04em; line-height:1; }
.archive-image-link { position:absolute; right:30px; bottom:35px; width:44px; height:44px; display:grid; place-items:center; border:1px solid #fff7; border-radius:50%; color:white; font-size:26px; transition:background .6s,color .6s,transform .6s; }
.archive-image:hover img,.archive-image:focus-visible img { filter:blur(0); transform:scale(1.005); }
.archive-image:hover .archive-image-link,.archive-image:focus-visible .archive-image-link { background:var(--paper); color:var(--ink); transform:rotate(45deg); }
.archive.is-filtered .archive-card { grid-column:span 6; }
.archive.is-filtered .archive-card .archive-image { height:clamp(360px,39vw,620px); }
.archive-card.reveal-ready { opacity:.15; clip-path:inset(9% 0 0); transform:translateY(35px); transition:opacity 1.2s var(--reveal-delay),clip-path 1.5s cubic-bezier(.2,.7,.2,1) var(--reveal-delay),transform 1.5s cubic-bezier(.2,.7,.2,1) var(--reveal-delay); }
.archive-card.reveal-ready.is-visible { opacity:1; clip-path:inset(0); transform:none; }
.archive-card.reveal-ready .archive-card-caption { opacity:0; transform:translateY(16px); transition:opacity 1s .35s,transform 1.2s .35s; }
.archive-card.reveal-ready.is-visible .archive-card-caption { opacity:1; transform:none; }
.archive-end { display:flex; justify-content:space-between; gap:20px; margin:0 4vw; padding:30px 0 75px; font-size:8px; letter-spacing:.1em; color:var(--muted); }
.archive-opening { position:fixed; z-index:999; inset:0; background:#ded9ce; pointer-events:none; display:grid; place-items:center; animation:opening-aperture 1.6s cubic-bezier(.76,0,.24,1) forwards; }
.archive-opening > span { font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; letter-spacing:.06em; animation:signature-out .8s both; }
.index-footer { position:relative; overflow:hidden; padding:28px 4vw; background:#dfd9cc; }
.index-footer::before { content:''; position:absolute; inset:-80%; background:repeating-linear-gradient(115deg,transparent 0 140px,#7b6b4c0a 160px 230px,transparent 250px 400px); pointer-events:none; transform:rotate(-10deg); }
.index-footer-top,.index-footer-bottom { position:relative; display:flex; justify-content:space-between; gap:20px; font-size:8px; letter-spacing:.1em; }
.index-footer-top { border-bottom:1px solid #aaa28e70; padding-bottom:24px; }
.index-footer-body { position:relative; display:flex; justify-content:space-between; gap:40px; padding:80px 8vw 100px; }
.index-footer-label,.index-footer-links span { color:var(--muted); font-size:8px; letter-spacing:.13em; }
.index-footer-body h2 { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(52px,6.8vw,105px); font-weight:400; letter-spacing:-.05em; line-height:.98; margin:25px 0 35px; }
.index-footer-body h2 em { font-weight:400; }
.index-footer-cta { display:inline-block; font-size:9px; padding:0 0 13px; border-bottom:1px solid #88816f; }
.index-footer-links { display:flex; flex-direction:column; gap:11px; align-self:end; font-size:12px; }
.index-footer-links span { margin:20px 0 8px; }
.index-footer-bottom { border-top:1px solid #aaa28e70; padding-top:24px; }
@keyframes daylight-drift { from { transform:translate(-3%,-2%) rotate(-15deg); opacity:.55; } to { transform:translate(4%,4%) rotate(-9deg); opacity:1; } }
@keyframes opening-aperture { 0%,25% { clip-path:inset(0); } 100% { clip-path:inset(0 0 100%); visibility:hidden; } }
@keyframes signature-out { 0%,50% { opacity:1; } 100% { opacity:0; } }
@keyframes title-arrive { from { opacity:0; transform:translateY(28px); clip-path:inset(100% 0 0); } to { opacity:1; transform:none; clip-path:inset(0); } }
@keyframes explore-nudge { 0%,100% { transform:translateY(0); } 50% { transform:translateY(5px); } }
@media(prefers-reduced-motion:no-preference) { .archive-heading h1 > span { animation:title-arrive 1.4s cubic-bezier(.2,.7,.2,1) .5s both; }.archive-heading h1 > span:last-child { animation-delay:.7s; } }
@media(max-width:800px) { .collection-header { height:76px; padding:0 5vw; }.collection-brand { width:115px; }.collection-header nav { gap:16px; font-size:8px; }.archive-heading { min-height:570px; height:76svh; }.archive-heading h1 { font-size:clamp(58px,9vw,85px); }.archive-heading-foot { left:5vw; right:5vw; }.archive-heading-foot > span:last-child { display:none; }.archive-grid { gap:20px; padding:24px 5vw 0; }.archive-toolbar { margin:0 5vw; }.archive-image,.archive.is-filtered .archive-card .archive-image { height:410px; }.archive-card-head { top:18px; left:20px; right:20px; font-size:8px; }.archive-card-caption { left:20px; right:65px; bottom:25px; }.archive-card-caption h2 { font-size:40px; }.archive-image-link { width:34px; height:34px; right:20px; bottom:25px; font-size:22px; }.index-footer-body { padding:65px 0; } }
@media(max-width:600px) { .collection-header nav { gap:12px; font-size:7px; }.collection-brand { width:100px; }.archive-heading { min-height:520px; padding:60px 5vw 90px; }.archive-kicker { font-size:8px; }.archive-heading h1 { font-size:clamp(48px,11.6vw,70px); margin:42px 0 25px; }.archive-intro { font-size:10px; }.archive-heading-foot { font-size:7px; }.archive-filters { gap:23px; }.archive-toolbar { padding:16px 0; }.archive-filters button { font-size:8px; }.archive-grid { display:block; }.archive-card { margin-bottom:22px; }.archive-card:nth-child(n) .archive-image,.archive.is-filtered .archive-card .archive-image { height:470px; max-height:72svh; }.archive-card-caption h2 { font-size:43px; }.archive-card-caption > span { font-size:7px; }.archive-end { font-size:7px; padding:10px 0 50px; }.index-footer-body { display:block; }.index-footer-links { margin-top:45px; }.index-footer-bottom { font-size:6px; }.archive-perspective { opacity:.6; } }
@media(prefers-reduced-motion:reduce) { .archive-opening { display:none; }.daylight-shadow,.archive-heading-foot a span { animation:none; }.archive-image img,.archive-image-link,.archive-image-shade { transition:none; }.archive-card.reveal-ready,.archive-card.reveal-ready .archive-card-caption { transition:none; opacity:1; transform:none; clip-path:none; } }
.detail-shell { position:fixed; inset:0; padding:0; border:0; width:100%; height:100%; max-width:none; max-height:none; background:var(--paper); color:var(--ink); overflow:hidden; }.detail-shell::backdrop { background:#151b18e8; }.detail-shell iframe { display:block; border:0; width:100%; height:100%; opacity:0; }.detail-shell iframe.is-ready { opacity:1; }.detail-shell-close { position:absolute; top:16px; right:20px; z-index:5; padding:10px 14px; border:1px solid #7d8078; background:var(--paper); color:var(--ink); font-size:10px; }.detail-shell:has(iframe.is-ready) .detail-shell-close { display:none; }.detail-loading,.detail-error { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:11px; letter-spacing:.08em; }.detail-error a { text-decoration:underline; }.collection-page:has(.detail-shell[open]) { overflow:hidden; }

/* A single motion rhythm: opening, image depth, then the next scene. */
.archive-scroll-progress { position:fixed; top:0; left:0; right:0; height:2px; z-index:20; background:#8b7858; transform:scaleX(0); transform-origin:left; pointer-events:none; }
.archive-heading h1 { perspective:900px; transform:translateY(var(--heading-shift,0px)); }
.archive-heading h1 > span { animation:none; }
.title-word-mask { display:inline-block; overflow:hidden; vertical-align:bottom; padding:0 .065em .12em; margin:0 -.065em -.12em; perspective:700px; }
.title-word { display:inline-block; transform-origin:50% 100%; }
.archive-perspective path { stroke-dasharray:4000; stroke-dashoffset:4000; animation:perspective-draw 2.8s cubic-bezier(.2,.65,.25,1) .4s forwards; }
.archive-opening { background:transparent; animation:opening-finish 2.2s both; }
.archive-opening::before,.archive-opening::after { content:''; position:absolute; top:0; bottom:0; width:50%; background:#ded9ce; animation:shutter-left 1.5s cubic-bezier(.76,0,.24,1) .55s both; }
.archive-opening::before { left:0; border-right:1px solid #b6aa91; }
.archive-opening::after { right:0; animation-name:shutter-right; }
.archive-opening > span { position:relative; z-index:1; animation:signature-out .9s both; }
.archive-image img { transform:translate3d(var(--pointer-x,0px),calc(var(--scroll-y,0px) + var(--pointer-y,0px)),0) scale(1.12); transition:filter .85s ease,scale 1.4s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
.archive-image:hover img,.archive-image:focus-visible img { transform:translate3d(var(--pointer-x,0px),calc(var(--scroll-y,0px) + var(--pointer-y,0px)),0) scale(1.09); }
.archive-image::after { content:''; position:absolute; inset:-30%; background:linear-gradient(110deg,transparent 38%,#fff2 48%,#fff3 50%,transparent 62%); transform:translateX(-80%); pointer-events:none; }
.archive-image:hover::after { animation:light-pass 1.4s cubic-bezier(.2,.65,.25,1) both; }
.archive-image-link { transform:translate(var(--pointer-x,0px),var(--pointer-y,0px)); }
.archive-image:hover .archive-image-link { transform:translate(var(--pointer-x,0px),var(--pointer-y,0px)) rotate(45deg); }
.archive-card.reveal-ready { opacity:0; clip-path:none; transform:translate(var(--reveal-x,-24px),28px) scale(.985); transition:opacity .85s var(--reveal-delay),transform 1.1s cubic-bezier(.16,1,.3,1) var(--reveal-delay); }
.archive-card.reveal-ready.is-visible { opacity:1; clip-path:inset(0); transform:none; }
.index-footer.reveal-ready h2,.index-footer.reveal-ready .index-footer-cta { opacity:0; transform:translateY(30px); transition:opacity 1.3s,transform 1.5s cubic-bezier(.16,1,.3,1); }
.index-footer.reveal-ready .index-footer-cta { transition-delay:.2s; }
.index-footer.reveal-ready.is-visible h2,.index-footer.reveal-ready.is-visible .index-footer-cta { opacity:1; transform:none; }
@keyframes shutter-left { to { transform:translateX(-101%); } }
@keyframes shutter-right { to { transform:translateX(101%); } }
@keyframes opening-finish { 0%,99% { visibility:visible; } 100% { visibility:hidden; } }
@keyframes perspective-draw { to { stroke-dashoffset:0; } }
@keyframes word-unfold { from { opacity:0; transform:translate3d(0,110%,0) rotateX(28deg); } to { opacity:1; transform:translate3d(0,0,0) rotateX(0); } }
@keyframes light-pass { to { transform:translateX(80%); } }
@media(prefers-reduced-motion:no-preference) { .title-word { animation:word-unfold 1.5s cubic-bezier(.16,1,.3,1) var(--word-delay) both; } }
@media(prefers-reduced-motion:reduce) { .archive-perspective path { animation:none; stroke-dashoffset:0; }.archive-heading h1 { transform:none; }.archive-card.reveal-ready,.index-footer.reveal-ready h2,.index-footer.reveal-ready .index-footer-cta { opacity:1; clip-path:none; transform:none; transition:none; }.archive-image:hover::after { animation:none; }.archive-image img,.archive-image:hover img,.archive-image:focus-visible img { transform:scale(1.035); transition:none; } }

/* The film is the first scene; navigation floats directly over it. */
.collection-header { position:absolute; inset:0 0 auto; height:72px; color:#fff; padding:0 3vw; }
.collection-brand { position:absolute; left:50%; transform:translateX(-50%); width:143px; }
.collection-brand img { filter:brightness(0) invert(1); }
.collection-header nav { width:100%; gap:30px; font-size:8px; }
.collection-header nav a:last-child { margin-left:auto; }
.collection-header [aria-current] { border-bottom-color:#ffffff80; }
.archive-heading--film { height:100svh; min-height:620px; max-height:none; align-items:flex-start; justify-content:flex-end; text-align:left; padding:140px 5vw 105px 50%; color:#fff; background:#454035; }
.archive-hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; animation:film-settle 3.2s cubic-bezier(.16,1,.3,1) both; }
.archive-film-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#17140c45,transparent 35%,#17140c15 55%,#17140c80); }
.archive-heading--film h1 { font-size:clamp(45px,4.25vw,77px); line-height:.92; letter-spacing:-.055em; font-weight:500; margin:0; }
.archive-heading--film h1 > span:last-child { font-style:normal; margin-top:0; }
.archive-heading--film .archive-heading-foot { left:3vw; right:3vw; bottom:22px; font-size:8px; }
.archive-heading--film .archive-heading-foot a { position:absolute; left:50%; gap:18px; }
.hero-film-toggle { margin-left:auto; border:1px solid #fff6; border-radius:0; padding:10px 13px; background:transparent; color:#fff; font-size:8px!important; letter-spacing:.06em; }
.archive-opening { background:#eae7df; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:65px; animation:film-opening-exit 2.6s cubic-bezier(.76,0,.24,1) both; }
.archive-opening::before,.archive-opening::after { display:none; }
.archive-opening > .opening-statement { font-size:clamp(50px,6vw,85px); line-height:.85; text-align:center; letter-spacing:-.06em; animation:opening-type 2.2s both; }
.archive-opening > .opening-brand { font-size:18px; letter-spacing:.04em; text-align:center; animation:opening-type 2.2s both; }
.opening-brand small { display:block; font-family:Manrope,Arial,sans-serif; font-size:7px; letter-spacing:.12em; margin-top:13px; }
@keyframes film-opening-exit { 0%,55% { clip-path:inset(0); visibility:visible; } 100% { clip-path:inset(0 0 100%); visibility:hidden; } }
@keyframes opening-type { 0% { opacity:0; transform:translateY(15px); } 25%,65% { opacity:1; transform:none; } 100% { opacity:0; transform:translateY(-12px); } }
@keyframes film-settle { from { transform:scale(1.09); } to { transform:scale(1); } }
@media(prefers-reduced-motion:no-preference) { .archive-heading--film .title-word { animation-delay:calc(var(--word-delay) + 1100ms); } }
@media(max-width:800px) { .collection-header { height:65px; padding:0 5vw; }.collection-brand { width:120px; }.collection-header nav { gap:18px; font-size:7px; }.archive-heading--film { min-height:600px; padding:120px 5vw 110px 44%; }.archive-heading--film h1 { font-size:clamp(43px,5.5vw,65px); }.archive-heading--film .archive-heading-foot { left:5vw; right:5vw; }.archive-heading--film .archive-heading-foot > span:first-child { display:none; }.archive-heading--film .archive-heading-foot a { left:0; } }
@media(max-width:600px) { .collection-header { height:95px; align-items:flex-end; padding-bottom:10px; }.collection-brand { top:22px; width:130px; }.collection-header nav { font-size:7px; gap:18px; }.archive-heading--film { min-height:580px; padding:140px 7vw 125px; }.archive-heading--film h1 { font-size:clamp(47px,10.5vw,65px); }.archive-heading--film .archive-heading-foot { left:7vw; right:7vw; bottom:24px; }.archive-heading--film .archive-heading-foot a { font-size:7px; }.hero-film-toggle { font-size:7px!important; } }
@media(prefers-reduced-motion:reduce) { .archive-opening { display:none; }.archive-hero-film { animation:none; } }

/* Intro sequence: aligned type → scattered composition → image aperture → film. */
.collection-page.intro-playing { overflow:hidden; }
.archive-opening { --intro-duration:6.2s; display:block; overflow:hidden; color:#292a26; background:#f2f1ed; gap:0; pointer-events:auto; animation:intro-curtain var(--intro-duration) linear both; }
.archive-opening::before,.archive-opening::after { display:none; }
.opening-grid { position:absolute; inset:0; pointer-events:none; }
.opening-grid i { position:absolute; inset:0 auto 0; width:1px; background:#282a2410; }
.opening-grid i:nth-child(1) { left:7.5%; }.opening-grid i:nth-child(2) { left:25%; }.opening-grid i:nth-child(3) { left:60%; }.opening-grid i:nth-child(4) { left:77%; }
.archive-opening > .opening-logo { position:absolute; top:24px; left:7.5%; font-family:'Cormorant Garamond',Georgia,serif; font-size:24px; letter-spacing:.1em; animation:intro-details var(--intro-duration) both; }
.opening-progress { position:absolute; top:calc(46% - 26px); left:0; width:7.5%; display:flex; justify-content:space-between; font-family:'Cormorant Garamond',Georgia,serif; font-size:12px; padding-right:6px; animation:intro-details var(--intro-duration) both; }
.opening-words { position:absolute; inset:0; }
.opening-words > span { position:absolute; top:46%; font:400 clamp(38px,4.6vw,88px)/.95 'Cormorant Garamond',Georgia,serif; letter-spacing:-.055em; white-space:nowrap; animation-duration:var(--intro-duration); animation-timing-function:cubic-bezier(.65,0,.25,1); animation-fill-mode:both; }
.opening-words > span:nth-child(1) { left:7.5%; animation-name:intro-word-one; }
.opening-words > span:nth-child(2) { left:25%; animation-name:intro-word-two; }
.opening-words > span:nth-child(3) { left:60%; animation-name:intro-word-three; }
.opening-words > span:nth-child(4) { left:77%; animation-name:intro-word-four; }
.opening-aperture { position:absolute; z-index:2; inset:0; overflow:hidden; clip-path:inset(37% 19% 51% 54%); opacity:0; animation:intro-aperture var(--intro-duration) cubic-bezier(.7,0,.2,1) both; pointer-events:none; }
.opening-aperture img { width:100%; height:100%; object-fit:cover; transform:scale(1.08); animation:intro-image var(--intro-duration) cubic-bezier(.2,.7,.2,1) both; }
.opening-credit { position:absolute; bottom:26px; left:60%; display:flex; flex-direction:column; gap:5px; animation:intro-details var(--intro-duration) both; }
.opening-credit strong { font-size:9px; font-weight:500; }.opening-credit > span { font:16px 'Cormorant Garamond',Georgia,serif; }
.opening-skip { position:absolute; z-index:4; bottom:26px; right:3vw; border:0; border-bottom:1px solid #292a2640; padding:9px 0; background:none; font-size:8px!important; letter-spacing:.08em; }
.intro-playing .collection-header { opacity:0; }
.intro-finished .collection-header { transition:opacity .8s; opacity:1; }
.intro-playing .archive-heading--film .title-word { animation-play-state:paused; }
.intro-finished .archive-heading--film .title-word { animation-delay:calc(var(--word-delay) - 850ms); }
@keyframes intro-curtain { 0%,91% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; } }
@keyframes intro-details { 0% { opacity:0; } 12%,63% { opacity:1; } 76%,100% { opacity:0; } }
@keyframes intro-word-one { 0% { opacity:0; transform:translateY(30px); } 14%,39% { opacity:1; transform:none; } 62%,74% { opacity:1; transform:translate(-6vw,-21vh); } 85%,100% { opacity:0; transform:translate(-6vw,-25vh); } }
@keyframes intro-word-two { 0% { opacity:0; transform:translateY(30px); } 18%,39% { opacity:1; transform:none; } 62%,74% { opacity:1; transform:translate(-9vw,-6vh); } 85%,100% { opacity:0; transform:translate(-9vw,-10vh); } }
@keyframes intro-word-three { 0% { opacity:0; transform:translateY(30px); } 22%,39% { opacity:1; transform:none; } 62%,74% { opacity:1; transform:translate(-6vw,24vh); } 85%,100% { opacity:0; transform:translate(-6vw,20vh); } }
@keyframes intro-word-four { 0% { opacity:0; transform:translateY(30px); } 26%,39% { opacity:1; transform:none; } 62%,74% { opacity:1; transform:translate(-7vw,-34vh); } 85%,100% { opacity:0; transform:translate(-7vw,-38vh); } }
@keyframes intro-aperture { 0%,41% { opacity:0; clip-path:inset(42.9% 19% 57% 54%); } 55%,68% { opacity:1; clip-path:inset(37% 19% 51% 54%); } 91%,100% { opacity:1; clip-path:inset(0); } }
@keyframes intro-image { 0%,65% { transform:scale(1.08); } 100% { transform:scale(1); } }
@media(max-width:600px) { .opening-words > span { font-size:clamp(25px,6.3vw,38px); }.opening-progress { top:calc(46% - 22px); font-size:9px; left:7.5%; width:82%; }.archive-opening > .opening-logo { font-size:21px; }.opening-credit { left:7.5%; bottom:30px; }.opening-credit > span { font-size:13px; }.opening-skip { right:7.5%; bottom:28px; }.opening-words > span:nth-child(1) { left:7.5%; }.opening-words > span:nth-child(2) { left:31%; }.opening-words > span:nth-child(3) { left:53%; }.opening-words > span:nth-child(4) { left:72%; } }
@media(prefers-reduced-motion:reduce) { .archive-opening { display:none; }.collection-page.intro-playing { overflow:visible; }.intro-playing .collection-header { opacity:1; }.intro-playing .archive-heading--film .title-word { animation:none; } }

/* Soft white and faint window shadows carry the main site's palette into the intro. */
.opening-grid::before { content:''; position:absolute; inset:-30%; background:linear-gradient(115deg,transparent 25%,#343b2c08 26%,#343b2c08 31%,transparent 32%,transparent 55%,#343b2c06 56%,#343b2c06 61%,transparent 62%); filter:blur(18px); transform:rotate(-10deg); pointer-events:none; }

/* Entrance typography follows the clean, modern Satoshi direction. */
.opening-words > span { font-family:Satoshi,Manrope,Arial,sans-serif; font-weight:400; letter-spacing:-.055em; line-height:1.08; }
.archive-heading--film h1 { font-family:Satoshi,Manrope,Arial,sans-serif; font-weight:400; font-size:clamp(43px,3.9vw,71px); letter-spacing:-.055em; line-height:1.05; }
.opening-progress,.opening-credit > span { font-family:Satoshi,Manrope,Arial,sans-serif; }
.opening-credit > span { font-size:12px; }
@media(max-width:600px) { .opening-words > span { font-size:clamp(22px,5.5vw,33px); }.archive-heading--film h1 { font-size:clamp(40px,9.2vw,58px); }.opening-credit > span { font-size:10px; } }

/* The intro image continues into the hero without switching to a video. */
.archive-heading--photo { align-items:center; justify-content:center; padding:130px 5vw 90px; }
.archive-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.archive-heading--photo h1 { text-align:center; max-width:950px; }
.archive-heading--photo .archive-film-shade { background:linear-gradient(180deg,#151b1740, #151b171a 25%,#151b174d 60%,#151b1759); }
.archive-heading--photo .archive-heading-foot a { left:50%; transform:translateX(-50%); }
@media(max-width:800px) { .archive-heading--photo { padding:120px 7vw 95px; }.archive-heading--photo .archive-heading-foot a { left:50%; } }
@media(max-width:600px) { .archive-heading--photo { padding:130px 6vw 95px; }.archive-heading--photo h1 { font-size:clamp(36px,8.7vw,52px); } }

.archive-card-caption h2 { font-family:Satoshi,Manrope,Arial,sans-serif; font-weight:400; font-size:clamp(34px,3.5vw,56px); line-height:1.1; letter-spacing:-.045em; }
.archive-card-caption > span,.archive-card-head { font-family:Satoshi,Manrope,Arial,sans-serif; }
@media(max-width:800px) { .archive-card-caption h2 { font-size:34px; } }
@media(max-width:600px) { .archive-card-caption h2 { font-size:clamp(29px,7.5vw,38px); } }

/* Familiar word choreography with a centered image and a quieter rhythm. */
.archive-opening--signature { --intro-duration:6.2s; }
.archive-opening--signature .opening-words > span:nth-child(1) { animation-name:signature-word-one; }
.archive-opening--signature .opening-words > span:nth-child(2) { animation-name:signature-word-two; }
.archive-opening--signature .opening-words > span:nth-child(3) { animation-name:signature-word-three; }
.archive-opening--signature .opening-words > span:nth-child(4) { animation-name:signature-word-four; color:#737d69; }
.archive-opening--signature .opening-aperture { inset:0; clip-path:inset(40% 30% 40% 40%); animation-name:signature-aperture; }
.archive-opening--signature .opening-progress { top:auto; bottom:35px; left:7.5%; width:110px; padding:0; font-size:9px; }
@keyframes signature-word-one { 0% { opacity:0; transform:translateY(25px); } 14%,34% { opacity:1; transform:none; } 58%,74% { opacity:1; transform:translate(0,-25vh); } 85%,100% { opacity:0; transform:translate(0,-28vh); } }
@keyframes signature-word-two { 0% { opacity:0; transform:translateY(25px); } 18%,34% { opacity:1; transform:none; } 58%,74% { opacity:1; transform:translate(-5vw,19vh); } 85%,100% { opacity:0; transform:translate(-5vw,16vh); } }
@keyframes signature-word-three { 0% { opacity:0; transform:translateY(25px); } 22%,34% { opacity:1; transform:none; } 58%,74% { opacity:1; transform:translate(-7vw,-27vh); } 85%,100% { opacity:0; transform:translate(-7vw,-30vh); } }
@keyframes signature-word-four { 0% { opacity:0; transform:translateY(25px); } 26%,34% { opacity:1; transform:none; } 58%,74% { opacity:1; transform:translate(-4vw,23vh); } 85%,100% { opacity:0; transform:translate(-4vw,20vh); } }
@keyframes signature-aperture { 0%,39% { opacity:0; clip-path:inset(49.9% 30% 50% 40%); } 55%,70% { opacity:1; clip-path:inset(37% 27% 39% 37%); } 94%,100% { opacity:1; clip-path:inset(0); } }
@media(max-width:600px) { .archive-opening--signature .opening-progress { bottom:36px; width:95px; font-size:8px; }.archive-opening--signature .opening-aperture { animation-name:signature-aperture-mobile; } }
@keyframes signature-aperture-mobile { 0%,39% { opacity:0; clip-path:inset(49.9% 12% 50% 12%); } 55%,70% { opacity:1; clip-path:inset(38% 12% 40% 12%); } 94%,100% { opacity:1; clip-path:inset(0); } }

/* Card actions share a quiet baseline instead of floating round buttons. */
.archive-card-caption { left:30px; right:30px; bottom:86px; }
.archive-card-caption > span { font-size:9px; letter-spacing:.08em; margin-bottom:11px; color:#ffffffbd; }
.archive-image-link { left:30px; right:30px; bottom:25px; width:auto; height:35px; display:flex; align-items:flex-end; justify-content:space-between; border:0; border-top:1px solid #ffffff50; border-radius:0; padding:10px 0 0; background:transparent; color:#fff; font:500 9px Satoshi,Manrope,Arial,sans-serif; letter-spacing:.1em; transform:none; transition:border-color .5s,color .5s; }
.archive-image-link svg { width:21px; height:21px; stroke:currentColor; stroke-width:1.2; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.archive-image:hover .archive-image-link,.archive-image:focus-visible .archive-image-link { background:transparent; color:#fff; transform:none; border-color:#ffffffc0; }
.archive-image:hover .archive-image-link svg,.archive-image:focus-visible .archive-image-link svg { transform:translate(3px,-3px); }
.archive-image-shade { background:linear-gradient(180deg,#16120b30 0%,transparent 35%,#16120b20 55%,#16120bb3 100%); }
.archive-card-head { text-shadow:0 1px 10px #0008; }
@media(max-width:800px) { .archive-card-caption { left:22px; right:22px; bottom:81px; }.archive-image-link { left:22px; right:22px; bottom:23px; font-size:8px; height:33px; }.archive-card-caption > span { font-size:8px; }.archive-image-link svg { width:19px; height:19px; } }
@media(prefers-reduced-motion:reduce) { .archive-image-link svg { transition:none; } }

/* Alternate wide, portrait and panoramic frames without leaving empty columns. */
@media(min-width:901px) {
 .archive-grid { gap:32px; align-items:stretch; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+1) { grid-column:span 8; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+2) { grid-column:span 4; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+3) { grid-column:span 5; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+4) { grid-column:span 7; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+5) { grid-column:span 12; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+1) .archive-image,
 .archive:not(.is-filtered) .archive-card:nth-child(5n+2) .archive-image { height:clamp(390px,40vw,620px); max-height:none; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+3) .archive-image,
 .archive:not(.is-filtered) .archive-card:nth-child(5n+4) .archive-image { height:clamp(350px,33vw,530px); max-height:none; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+5) .archive-image { height:clamp(460px,49vw,720px); max-height:none; }
 .archive:not(.is-filtered) .archive-card:nth-child(5n+2) .archive-card-caption h2 { font-size:clamp(30px,2.8vw,45px); }
}

.archive-image-link { opacity:0; transform:translateY(9px); pointer-events:none; transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1),border-color .5s; }
.archive-image:hover .archive-image-link,.archive-image:focus-visible .archive-image-link { opacity:1; transform:translateY(0); }
@media(hover:none) { .archive-image-link { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .archive-image-link { transition:none; } }

/* A soft frame opens on hover, then the selected photograph fills the detail view. */
.archive-card-caption h2 { transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.archive-card:has(.archive-image:hover) .archive-card-caption h2,.archive-card:has(.archive-image:focus-visible) .archive-card-caption h2 { transform:translateY(-5px); }
.archive-image-link { border-top-color:transparent; }
.archive-image-link::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:#ffffff9e; transform:scaleX(0); transform-origin:left; transition:transform .85s cubic-bezier(.2,.7,.2,1) .08s; }
.archive-image:hover .archive-image-link,.archive-image:focus-visible .archive-image-link { border-top-color:transparent; }
.archive-image:hover .archive-image-link::before,.archive-image:focus-visible .archive-image-link::before { transform:scaleX(1); }
.detail-transition { position:fixed; z-index:2; inset:0; pointer-events:none; overflow:hidden; }
.detail-transition img { position:absolute; max-width:none; object-fit:cover; }
.detail-shell iframe { transition:opacity .45s ease; }
.detail-shell.is-opening .detail-loading { z-index:3; top:auto; bottom:28px; left:50%; transform:translateX(-50%); background:#f2f1edeb; padding:12px 18px; }
@media(hover:none) { .archive-image-link::before { transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .archive-card-caption h2,.archive-image-link::before,.detail-shell iframe { transition:none; } }

.archive-image { isolation:isolate; }
.archive-image-link { z-index:2; }
.archive-card-caption { z-index:2; }
.archive-heading--photo h1,.archive-heading--photo .archive-heading-foot { z-index:1; }
.archive-heading--photo h1 { position:relative; }

.image-cursor { position:fixed; z-index:40; top:0; left:0; width:30px; height:30px; border:1px solid #ffffffd9; border-radius:50%; background:#ffffff08; box-shadow:0 0 0 1px #25282318; opacity:0; pointer-events:none; transition:opacity .2s,width .25s,height .25s; }
.image-cursor.is-visible { opacity:1; }
.image-cursor.is-pressed { width:23px; height:23px; }
.collection-page:has(.detail-shell[open]) .image-cursor,.intro-playing .image-cursor { opacity:0; }
@media(hover:none),(prefers-reduced-motion:reduce) { .image-cursor { display:none; } }

@media(min-width:801px) {
 .archive-grid { align-items:start; row-gap:clamp(55px,7vw,110px); column-gap:4vw; }
 .archive:not(.is-filtered) .archive-card:nth-child(4n+1),
 .archive:not(.is-filtered) .archive-card:nth-child(4n) { grid-column:span 7; }
 .archive:not(.is-filtered) .archive-card:nth-child(4n+2),
 .archive:not(.is-filtered) .archive-card:nth-child(4n+3) { grid-column:span 5; }
 .archive:not(.is-filtered) .archive-card:nth-child(4n+2),
 .archive:not(.is-filtered) .archive-card:nth-child(4n) { margin-top:7vw; }
 .archive:not(.is-filtered) .archive-card:nth-child(n) .archive-image { height:clamp(370px,43vw,670px); max-height:82svh; }
 .archive:not(.is-filtered) .archive-card:nth-child(4n+2) .archive-image,
 .archive:not(.is-filtered) .archive-card:nth-child(4n+3) .archive-image { height:clamp(320px,34vw,520px); }
}


/* The next scene grows out of its preview and becomes the hero. */
.collection-page { overflow-x:clip; }
.archive-grid { overflow-x:clip; }
.archive-heading--photo { align-items:flex-start; justify-content:flex-end; padding:130px 5vw clamp(105px,14vh,155px); }
.archive-heading--photo h1 { max-width:min(850px,70%); text-align:left; font-family:'Poppins',sans-serif; font-size:clamp(45px,5.7vw,96px); font-weight:400; line-height:.99; letter-spacing:-.045em; text-transform:uppercase; text-shadow:0 2px 28px #0005; opacity:calc(1 - var(--seam-progress,0) * .65); }
.archive-heading--photo .archive-film-shade { background:linear-gradient(180deg,#10150f55 0%,#10150f12 32%,#10150f8c 100%); }
.archive-heading--photo::before,.archive-heading--photo::after { content:''; position:absolute; z-index:0; left:0; right:0; bottom:0; pointer-events:none; }
.archive-heading--photo::before { height:calc(clamp(180px,30vh,340px) * var(--seam-progress,0)); background:linear-gradient(to top,#ebe9e2 0%,#ebe9e2 14%,#ebe9e2d4 35%,#ebe9e252 65%,transparent 100%); }
.archive-heading--photo::after { left:-15%; right:-15%; bottom:-45px; height:clamp(160px,25vh,290px); opacity:var(--seam-progress,0); background:radial-gradient(ellipse 30% 55% at 18% 78%,#f6f5f0a6,transparent 75%),radial-gradient(ellipse 28% 60% at 48% 90%,#f6f5f0c2,transparent 75%),radial-gradient(ellipse 35% 65% at 83% 83%,#f6f5f0a6,transparent 76%); filter:blur(28px); -webkit-mask-image:linear-gradient(to top,transparent 0%,transparent 40%,#000 75%); mask-image:linear-gradient(to top,transparent 0%,transparent 40%,#000 75%); animation:hero-mist-drift 12s ease-in-out infinite alternate; }
@keyframes hero-mist-drift { from { transform:translate3d(-3%,12px,0) scale(1.04); } to { transform:translate3d(3%,-8px,0) scale(1.08); } }
.archive-hero-next { position:absolute; z-index:4; right:0; bottom:0; width:clamp(112px,11vw,185px); height:clamp(130px,20vh,210px); padding:0; border:0; border-radius:58px 0 0 0; overflow:hidden; background:#30362f; color:#fff; opacity:calc(1 - var(--seam-progress,0)); transform-origin:right bottom; transition:transform .9s cubic-bezier(.22,1,.36,1),border-radius .9s cubic-bezier(.22,1,.36,1); }
.archive-hero-next img { position:absolute; inset:0; transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.archive-hero-next::after { content:''; position:absolute; inset:0; background:#131b1760; transition:background .5s; }
.archive-hero-next .hero-next-arrow { position:absolute; z-index:1; top:50%; left:50%; width:68px; height:68px; transform:translate(-50%,-50%); overflow:hidden; }
.hero-next-arrow i { position:absolute; inset:0; display:grid; place-items:center; font:normal 300 clamp(28px,3vw,48px)/1 Arial,sans-serif; }
.hero-next-arrow i + i { opacity:0; transform:translate(-18px,18px); }
.archive-hero-next:focus-visible:not(:disabled) .hero-next-arrow i:first-child { animation:hero-arrow-first 1.8s cubic-bezier(.65,0,.25,1) infinite; }
.archive-hero-next:focus-visible:not(:disabled) .hero-next-arrow i + i { animation:hero-arrow-second 1.8s cubic-bezier(.65,0,.25,1) infinite; }
@keyframes hero-arrow-first { 0%,12% { opacity:1; transform:translate(0,0); } 38%,82% { opacity:0; transform:translate(18px,-18px); } 83% { opacity:0; transform:translate(-18px,18px); } 100% { opacity:1; transform:translate(0,0); } }
@keyframes hero-arrow-second { 0%,12% { opacity:0; transform:translate(-18px,18px); } 38%,55% { opacity:1; transform:translate(0,0); } 82%,100% { opacity:0; transform:translate(18px,-18px); } }
.archive-hero-next:focus-visible { outline:3px solid #fff; outline-offset:-5px; }
.archive-hero-next:disabled { cursor:wait; }
.archive-hero-next.is-transitioning { visibility:hidden; }
@media(hover:hover) and (pointer:fine) {
 .archive-hero-next:hover:not(:disabled), .archive-hero-next:focus-visible:not(:disabled) { transform:scale(1.16); border-radius:74px 0 0 0; }
 .archive-hero-next:hover img, .archive-hero-next:focus-visible img { transform:scale(1.08); }
 .archive-hero-next:hover::after, .archive-hero-next:focus-visible::after { background:#131b1730; }
 .archive-hero-next:hover:not(:disabled) .hero-next-arrow i:first-child { animation:hero-arrow-first 1.8s cubic-bezier(.65,0,.25,1) infinite; }
 .archive-hero-next:hover:not(:disabled) .hero-next-arrow i + i { animation:hero-arrow-second 1.8s cubic-bezier(.65,0,.25,1) infinite; }
}
.archive-hero-expansion { position:absolute; z-index:0; overflow:hidden; pointer-events:none; background:#30362f; }
.archive-hero-expansion img { position:absolute; inset:0; }
.archive-hero-expansion::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#10150f55 0%,#10150f12 32%,#10150f8c 100%); }
@media(max-width:700px) {
 .archive-heading--photo { min-height:560px; padding:120px 6vw 150px; }
 .archive-heading--photo h1 { max-width:calc(100% - 110px); font-size:clamp(30px,8vw,50px); }
 .archive-hero-next { width:105px; height:130px; border-radius:45px 0 0 0; }
}
@media(prefers-reduced-motion:reduce) { .archive-hero-next, .archive-hero-next img, .archive-hero-next::after { transition:none; } .archive-heading--photo::after,.archive-hero-next:hover .hero-next-arrow i,.archive-hero-next:focus-visible .hero-next-arrow i { animation:none; } }

/* Project disciplines */
.discipline-browser { position:relative; overflow:clip; background:#ece9e1; color:#292f29; padding:clamp(60px,7vw,120px) 0 45px; }
.discipline-head { padding:0 5vw; }
.discipline-head-top,.discipline-rule,.discipline-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; color:#72796d; font-size:10px; letter-spacing:.12em; }
.discipline-head-top { margin-bottom:clamp(32px,5vw,80px); }
.discipline-tabs { display:flex; align-items:baseline; gap:clamp(55px,10vw,190px); overflow-x:auto; scrollbar-width:none; padding-bottom:clamp(36px,5vw,76px); }
.discipline-tabs::-webkit-scrollbar { display:none; }
.discipline-tabs button { flex:none; position:relative; padding:0; border:0; background:none; color:#9b9d95; font-family:'Poppins',sans-serif; font-size:clamp(36px,5.2vw,90px); font-weight:400; letter-spacing:-.055em; line-height:1.1; transition:color .55s,transform .7s cubic-bezier(.22,1,.36,1); }
.discipline-tabs button[aria-pressed=true] { color:#272e27; }
.discipline-tabs button:hover,.discipline-tabs button:focus-visible { color:#272e27; transform:translateY(-4px); }
.discipline-tabs button:focus-visible,.discipline-bottom a:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.discipline-rule { padding:17px 0; border-top:1px solid #a2a99a; }
.discipline-gallery { position:relative; }
.discipline-browser .archive-grid { display:flex; align-items:flex-start; gap:clamp(14px,1.7vw,30px); overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-width:thin; padding:0 5vw 25px; margin:0; max-width:none; }
.discipline-browser .archive-card,.discipline-browser .archive-card:nth-child(n) { flex:0 0 clamp(260px,27vw,480px); margin:0; background:none; overflow:visible; scroll-snap-align:start; }
.discipline-browser .archive-card[hidden] { display:none; }
.discipline-browser .archive-card:nth-child(3n+2) { margin-top:clamp(35px,5vw,90px); }
.discipline-browser .archive-card:nth-child(3n+3) { margin-top:clamp(18px,2.8vw,48px); }
.discipline-browser .archive-card .archive-image,.discipline-browser .archive-card:nth-child(n) .archive-image { height:clamp(300px,31vw,540px); max-height:none; }
.discipline-browser .archive-card:nth-child(3n+2) .archive-image { height:clamp(340px,35vw,600px); }
.discipline-browser .archive-image img { filter:none; transform:scale(1.01); transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .7s; }
.discipline-browser .archive-image:hover img,.discipline-browser .archive-image:focus-visible img { transform:scale(1.07); }
.discipline-browser .archive-image-shade { opacity:0; background:linear-gradient(180deg,transparent 35%,#101811d9 100%); transition:opacity .55s; }
.discipline-browser .archive-card-caption { display:flex; flex-direction:column; align-items:flex-start; gap:12px; position:absolute; left:24px; right:24px; bottom:25px; z-index:2; opacity:0; transform:translateY(18px); transition:opacity .55s,transform .65s cubic-bezier(.22,1,.36,1); text-align:left; }
.discipline-browser .archive-card-caption > span { margin:0; }
.discipline-browser .archive-card-caption > span:first-child { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#ffffffe6; }
.discipline-browser .archive-card-caption > .discipline-project-title { font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(25px,2.2vw,36px); letter-spacing:-.035em; line-height:1.15; color:#fff; }
.discipline-browser .archive-card-caption > .discipline-project-arrow { font-size:26px; line-height:1; color:#fff; }
.discipline-browser .archive-image:hover .archive-image-shade,.discipline-browser .archive-image:focus-visible .archive-image-shade,.discipline-browser .archive-image:hover .archive-card-caption,.discipline-browser .archive-image:focus-visible .archive-card-caption { opacity:1; }
.discipline-browser .archive-image:hover .archive-card-caption,.discipline-browser .archive-image:focus-visible .archive-card-caption { transform:translateY(0); }
.discipline-mist { position:absolute; inset:-15% 0; z-index:3; pointer-events:none; opacity:0; background:radial-gradient(ellipse at 35% 45%,#ece9e1ed 0%,#ece9e190 34%,transparent 72%); filter:blur(30px); }
.discipline-browser.is-changing .discipline-mist { animation:discipline-mist 1.1s ease both; }
.discipline-browser.is-changing .archive-card:not([hidden]) { animation:discipline-enter 1s cubic-bezier(.22,1,.36,1) both; }
.discipline-browser.is-changing .archive-card:nth-child(3n+2) { animation-delay:.08s; }
.discipline-browser.is-changing .archive-card:nth-child(3n+3) { animation-delay:.14s; }
.discipline-browser.is-changing .discipline-tabs button[aria-pressed=true] { animation:discipline-title .8s cubic-bezier(.22,1,.36,1) both; }
.discipline-bottom { padding:24px 5vw 0; }
.discipline-bottom a { color:#30382f; text-decoration:none; border-bottom:1px solid #87917f; padding-bottom:6px; }
@media (min-width:701px) and (hover:hover) {
 .discipline-head { position:sticky; z-index:4; top:0; background:#ece9e1; }
 .discipline-bottom { position:sticky; z-index:4; bottom:0; padding-bottom:20px; background:#ece9e1; }
}
@keyframes discipline-mist { 0% { opacity:0; transform:translateX(12%); } 35% { opacity:.9; } 100% { opacity:0; transform:translateX(-12%); } }
@keyframes discipline-enter { from { opacity:0; filter:blur(12px); transform:translateY(35px) scale(.98); } to { opacity:1; filter:blur(0); transform:none; } }
@keyframes discipline-title { from { opacity:.3; filter:blur(5px); transform:translateY(15px); } to { opacity:1; filter:blur(0); transform:none; } }
@media (hover:none) { .discipline-browser .archive-image-shade,.discipline-browser .archive-card-caption { opacity:1; } .discipline-browser .archive-card-caption { transform:none; } }
@media(max-width:700px) { .discipline-browser { padding-top:60px; } .discipline-tabs { gap:42px; } .discipline-tabs button { font-size:clamp(34px,9vw,52px); } .discipline-rule,.discipline-bottom { font-size:9px; } .discipline-browser .archive-card,.discipline-browser .archive-card:nth-child(n) { flex-basis:76vw; } .discipline-browser .archive-card .archive-image,.discipline-browser .archive-card:nth-child(n) .archive-image { height:420px; max-height:60svh; } .discipline-browser .archive-card:nth-child(n) { margin-top:0; } }
@media(prefers-reduced-motion:reduce) { .discipline-browser.is-changing .discipline-mist,.discipline-browser.is-changing .archive-card:not([hidden]),.discipline-browser.is-changing .discipline-tabs button[aria-pressed=true] { animation:none; } .discipline-tabs button,.discipline-browser .archive-image img,.discipline-browser .archive-card-caption { transition:none; } }

/* The page scroll carries the project strip across the screen. */
.discipline-browser { padding:0; background:#ebe9e2; }
.discipline-stage { display:flex; flex-direction:column; justify-content:center; min-height:100svh; padding:clamp(44px,6vh,78px) 0 30px; }
.discipline-head { position:relative; top:auto; background:none; }
.discipline-head-top { margin-bottom:clamp(24px,4vh,48px); color:#81887c; }
.discipline-tabs { gap:clamp(48px,9vw,150px); padding-bottom:clamp(22px,3vh,36px); }
.discipline-tabs button { font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(40px,5vw,82px); letter-spacing:-.05em; }
.discipline-tabs button::after { content:''; display:block; height:2px; width:100%; margin-top:16px; background:#404f40; transform:scaleX(0); transform-origin:left; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.discipline-tabs button[aria-pressed=true]::after { transform:scaleX(1); }
.discipline-rule { padding:13px 0 18px; }
.discipline-gallery { overflow:hidden; }
.discipline-browser .archive-grid { gap:clamp(18px,2vw,34px); padding:0 5vw 5px; scrollbar-width:none; }
.discipline-browser .archive-grid::-webkit-scrollbar { display:none; }
.discipline-browser .archive-card,.discipline-browser .archive-card:nth-child(n) { flex-basis:clamp(280px,31vw,510px); margin:0; }
.discipline-browser .archive-card:nth-child(2n) { margin-top:clamp(20px,4vh,38px); }
.discipline-browser .archive-card .archive-image,.discipline-browser .archive-card:nth-child(n) .archive-image { height:clamp(245px,42vh,500px); }
.discipline-browser .archive-image img { transform:scale(1.001); }
.discipline-browser .archive-card-caption { gap:8px; }
.discipline-project-title { font-family:Satoshi,Manrope,Arial,sans-serif; }
.discipline-browser.is-changing .archive-card:not([hidden]) { animation:none; }
.discipline-mist { inset:0; opacity:0; filter:blur(40px); background:linear-gradient(90deg,transparent,#ebe9e2a8,transparent); }
.discipline-browser.is-changing .discipline-mist { animation:discipline-mist .9s ease both; }
.discipline-bottom { position:relative; bottom:auto; background:none; padding:25px 5vw 0; }
.discipline-browser.is-scroll-driven { height:calc(100svh + var(--discipline-travel, 0px)); }
.discipline-browser.is-scroll-driven .discipline-stage { position:sticky; top:0; height:100svh; }
.discipline-browser.is-scroll-driven .archive-grid { overflow:hidden; scroll-snap-type:none; }
@media(max-width:700px) {
 .discipline-stage { min-height:0; padding:65px 0 40px; }
 .discipline-head-top { margin-bottom:32px; }
 .discipline-tabs { gap:38px; }
 .discipline-tabs button { font-size:clamp(36px,9vw,52px); }
 .discipline-browser .archive-card,.discipline-browser .archive-card:nth-child(n) { flex-basis:76vw; margin:0; }
 .discipline-browser .archive-card .archive-image,.discipline-browser .archive-card:nth-child(n) .archive-image { height:360px; max-height:53svh; }
}
@media(max-height:650px) and (min-width:701px) {
 .discipline-stage { padding-top:20px; padding-bottom:15px; }
 .discipline-head-top { margin-bottom:14px; }
 .discipline-tabs { padding-bottom:12px; }
 .discipline-tabs button { font-size:clamp(34px,4vw,60px); }
 .discipline-browser .archive-card .archive-image,.discipline-browser .archive-card:nth-child(n) .archive-image { height:35vh; }
 .discipline-bottom { padding-top:12px; }
}

/* A continuous ribbon of projects, with the same rhythm at the loop seam. */
.discipline-browser .archive-card:nth-child(n) { margin-top:0; }
@media(min-width:701px) { .discipline-browser .archive-card.is-offset:nth-child(n) { margin-top:clamp(20px,4vh,38px); } }
.discipline-browser.has-entered .discipline-head { animation:discipline-head-enter 1.2s cubic-bezier(.22,1,.36,1) both; }
.discipline-browser.has-entered .discipline-gallery { animation:discipline-gallery-enter 1.4s cubic-bezier(.22,1,.36,1) .15s both; }
.discipline-mist { background:radial-gradient(ellipse at center,#f7f6f0e6 0%,#ebe9e2a8 42%,transparent 78%); filter:blur(32px); }
.discipline-browser.is-changing .discipline-mist { animation:discipline-mist 1.25s ease both; }
@keyframes discipline-head-enter { from { opacity:0; transform:translateY(38px); filter:blur(8px); } to { opacity:1; transform:none; filter:blur(0); } }
@keyframes discipline-gallery-enter { from { opacity:0; transform:translateY(45px); filter:blur(10px); } to { opacity:1; transform:none; filter:blur(0); } }
@media(prefers-reduced-motion:reduce) { .discipline-browser.has-entered .discipline-head,.discipline-browser.has-entered .discipline-gallery { animation:none; } }

/* Proportions for the project ribbon. */
@media(min-width:701px) {
 .discipline-stage { justify-content:flex-start; padding-top:clamp(42px,6.8vh,82px); }
 .discipline-head { padding-inline:3.35vw; }
 .discipline-head-top { margin-bottom:clamp(32px,4.5vh,55px); }
 .discipline-tabs { gap:clamp(65px,6.3vw,150px); padding-bottom:clamp(22px,2.8vh,34px); }
 .discipline-tabs button { font-size:clamp(40px,3.45vw,82px); }
 .discipline-browser .archive-grid { gap:clamp(16px,1.4vw,34px); padding-inline:3.35vw; }
 .discipline-browser .archive-card,.discipline-browser .archive-card:nth-child(n) { flex-basis:clamp(200px,20.9vw,520px); }
 .discipline-browser .archive-card.is-offset:nth-child(n) { margin-top:clamp(20px,3.2vh,40px); }
 .archive:not(.is-filtered) .discipline-browser .archive-card:nth-child(n) .archive-image { height:clamp(220px,43vh,530px); }
 .archive:not(.is-filtered) .discipline-browser .archive-card.is-tall:nth-child(n) .archive-image { height:clamp(280px,55.5vh,680px); }
 .discipline-bottom { padding-inline:3.35vw; }
}
@media(max-height:650px) and (min-width:701px) {
 .discipline-stage { padding-top:20px; }
 .discipline-head-top { margin-bottom:14px; }
 .discipline-tabs { padding-bottom:12px; }
 .archive:not(.is-filtered) .discipline-browser .archive-card:nth-child(n) .archive-image { height:35vh; }
 .archive:not(.is-filtered) .discipline-browser .archive-card.is-tall:nth-child(n) .archive-image { height:44vh; }
}

/* A shared top edge and expanding project images, following the reference layout. */
.discipline-head-top,.discipline-rule { display:none; }
.discipline-browser .discipline-stage { padding:0 0 24px; }
.discipline-browser .discipline-head { position:relative; z-index:4; padding:0; }
.discipline-tabs button::after { display:none; }
.discipline-bottom > span { visibility:hidden; }
.discipline-browser .archive-card-caption { bottom:20px; left:20px; right:20px; }
.discipline-browser .archive-image { box-shadow:0 18px 28px #302d261c; }
@media(min-width:701px) {
 .discipline-browser .discipline-head { height:clamp(140px,17vw,235px); display:flex; align-items:center; }
 .discipline-browser .discipline-tabs { display:grid; grid-template-columns:29vw 29vw; gap:0; width:100%; padding:0 4.6vw; overflow:visible; }
 .discipline-browser .discipline-tabs button { justify-self:start; font-size:clamp(34px,3.55vw,69px); color:#9a9a94; letter-spacing:-.045em; }
 .discipline-browser .discipline-tabs button[aria-pressed=true],.discipline-browser .discipline-tabs button:hover,.discipline-browser .discipline-tabs button:focus-visible { color:#292e29; }
 .discipline-gallery { min-height:min(48vh,40vw); }
 .discipline-browser .archive-grid { gap:clamp(12px,1.6vw,30px); padding:0 4.6vw 35px; align-items:flex-start; }
 .archive:not(.is-filtered) .discipline-browser .archive-card:nth-child(n) { margin:0; }
 .discipline-browser .archive-card:nth-child(n) { flex-basis:clamp(180px,var(--ribbon-width,23vw),520px); }
 .archive:not(.is-filtered) .discipline-browser .archive-card:nth-child(n) .archive-image { height:clamp(120px,var(--ribbon-height,16vw),37vh); max-height:none; transition:height .8s cubic-bezier(.22,1,.36,1),box-shadow .7s; }
 .archive:not(.is-filtered) .discipline-browser .archive-card:nth-child(n) .archive-image:hover,.archive:not(.is-filtered) .discipline-browser .archive-card:nth-child(n) .archive-image:focus-visible { height:min(44vh,31vw); box-shadow:0 25px 45px #29271f32; }
 .discipline-bottom { margin-top:auto; padding:0 4.6vw; }
}
@media(max-width:700px) {
 .discipline-browser .discipline-stage { padding:0 0 30px; }
 .discipline-browser .discipline-head { padding:48px 6vw 34px; }
 .discipline-browser .discipline-tabs { gap:38px; padding:0; }
 .discipline-browser .archive-grid { padding:0 6vw 25px; }
 .discipline-browser .archive-card:nth-child(n) { margin:0; flex-basis:clamp(220px,calc(var(--ribbon-width,23vw) * 3),83vw); }
 .discipline-browser .archive-card .archive-image,.discipline-browser .archive-card:nth-child(n) .archive-image { height:clamp(200px,calc(var(--ribbon-height,16vw) * 4),50svh); max-height:50svh; }
}
@media(prefers-reduced-motion:reduce) { .discipline-browser .archive-image { transition:none; } }

/* Balanced spacing around the project ribbon. */
@media(min-width:701px) {
 .discipline-browser .discipline-stage { justify-content:center; padding:clamp(26px,4vh,48px) 0 calc(clamp(26px,4vh,48px) + clamp(42px,8vh,84px)); }
 .discipline-browser .discipline-head { height:clamp(125px,17vh,190px); border-color:#a6aaa0; }
 .discipline-browser .archive-grid { gap:clamp(16px,1.45vw,28px); padding-inline:4.6vw; padding-bottom:clamp(24px,4vh,40px); }
 .discipline-gallery { min-height:min(49vh,440px); }
}
@media(max-width:700px) {
 .discipline-browser .discipline-head { padding:42px 6vw 30px; border-color:#a6aaa0; }
 .discipline-browser .archive-grid { gap:16px; padding-bottom:36px; }
}

/* Selected projects */
.featured-projects { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(50px,8vw,150px); align-items:center; padding:clamp(90px,11vw,180px) 5vw clamp(110px,12vw,190px); background:#ebe9e2; color:#2b332c; }
.featured-projects-copy { max-width:570px; }
.featured-projects-eyebrow,.featured-projects-current > span,.featured-projects-counter { display:block; color:#788172; font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.featured-projects-copy h2 { margin:clamp(32px,4vw,70px) 0 22px; font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(48px,5.6vw,96px); font-weight:400; letter-spacing:-.06em; line-height:.98; }
.featured-projects-copy h2 > span { color:#83917e; }
.featured-projects-intro { max-width:390px; color:#6d756a; font-size:clamp(15px,1.05vw,18px); line-height:1.7; }
.featured-projects-current { margin-top:clamp(44px,5vw,78px); padding-top:24px; border-top:1px solid #aeb5a8; }
.featured-projects-current h3 { margin:12px 0 10px; font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(27px,2.6vw,43px); font-weight:400; letter-spacing:-.045em; line-height:1.15; }
.featured-projects-current p { max-width:470px; color:#70786d; font-size:14px; line-height:1.7; }
.featured-projects-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:30px; }
.featured-projects-nav { display:flex; gap:8px; }
.featured-projects-nav button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #a5aea0; border-radius:50%; background:transparent; font-size:23px; line-height:1; transition:background .35s,color .35s,border-color .35s,transform .35s; }
.featured-projects-nav button:hover,.featured-projects-nav button:focus-visible { background:#303b30; color:#fff; border-color:#303b30; transform:translateY(-2px); }
.featured-projects-link { min-height:48px; padding:0 20px; border:1px solid #8a9585; border-radius:30px; background:transparent; font-size:11px!important; letter-spacing:.08em; transition:background .35s,color .35s; }
.featured-projects-link span { display:inline-block; margin-left:12px; font-size:17px; transition:transform .35s; }
.featured-projects-link:hover,.featured-projects-link:focus-visible { background:#303b30; color:#fff; }
.featured-projects-link:hover span,.featured-projects-link:focus-visible span { transform:translate(4px,-4px); }
.featured-projects-counter { display:flex; align-items:center; gap:13px; margin-top:clamp(45px,5vw,80px); }
.featured-projects-counter-line { display:block; width:88px; height:1px; background:#b6bdb1; }
.featured-projects-visual { position:relative; min-width:0; }
.featured-projects-image { position:relative; display:block; width:100%; height:clamp(500px,58vw,850px); max-height:85svh; overflow:hidden; padding:0; border:0; background:#c9cec1; }
.featured-projects-image img { transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.featured-projects-image:hover img,.featured-projects-image:focus-visible img { transform:scale(1.035); }
.featured-projects-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,#14201655); pointer-events:none; }
.featured-projects-image-action { position:absolute; z-index:1; right:25px; bottom:25px; display:grid; place-items:center; width:52px; height:52px; border:1px solid #ffffffa8; border-radius:50%; color:#fff; font-size:24px; transition:background .4s,transform .4s; }
.featured-projects-image:hover .featured-projects-image-action,.featured-projects-image:focus-visible .featured-projects-image-action { background:#ffffff33; transform:translate(4px,-4px); }
.featured-projects-lines { position:absolute; z-index:2; pointer-events:none; left:-1px; top:8%; bottom:8%; width:clamp(40px,6vw,100px); opacity:.75; background:repeating-linear-gradient(to bottom,#ffffffd9 0 1px,transparent 1px 8px); mask-image:linear-gradient(to right,#000,transparent); }
@media(max-width:800px) { .featured-projects { gap:38px; padding-inline:6vw; } .featured-projects-image { height:560px; } }
@media(max-width:700px) { .featured-projects { display:flex; flex-direction:column; align-items:stretch; gap:38px; padding:85px 6vw 100px; } .featured-projects-copy h2 { font-size:clamp(46px,11vw,65px); } .featured-projects-current { margin-top:38px; } .featured-projects-counter { margin-top:30px; } .featured-projects-image { height:115vw; max-height:70svh; } .featured-projects-lines { width:65px; } }
@media(prefers-reduced-motion:reduce) { .featured-projects-image img,.featured-projects-nav button,.featured-projects-link,.featured-projects-link span,.featured-projects-image-action { transition:none; } }

/* Editorial project story */
.featured-projects { display:block; padding:clamp(100px,10vw,165px) 4.6vw clamp(115px,11vw,180px); background:#ebe9e2; }
.featured-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:clamp(38px,4vw,70px); }
.featured-eyebrow { display:block; margin-bottom:26px; color:#7b8477; font-size:12px; letter-spacing:.12em; }
.featured-intro h2 { margin:0; color:#29312a; font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(60px,7.2vw,120px); font-weight:400; line-height:.92; letter-spacing:-.065em; }
.featured-intro h2 em { color:#7d8b79; font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; letter-spacing:-.05em; }
.featured-intro > p { width:min(300px,27%); margin:0 0 8px; color:#687367; font-size:15px; line-height:1.7; }
.featured-stage { position:relative; min-width:0; height:clamp(520px,65vw,850px); max-height:85svh; background:#222c25; overflow:hidden; }
.featured-stage .featured-projects-image { position:absolute; inset:0; width:100%; height:100%; max-height:none; }
.featured-stage .featured-projects-image::after { background:linear-gradient(90deg,#101a13aa 0%,#101a1352 48%,#101a1314 100%),linear-gradient(0deg,#101a13c2,transparent 56%); }
.featured-overlay { position:absolute; z-index:2; left:clamp(25px,4vw,70px); bottom:clamp(28px,4vw,65px); width:min(55%,650px); color:#fff; pointer-events:none; }
.featured-stage .featured-projects-current { margin:0; padding:0; border:0; }
.featured-stage .featured-projects-current > span { color:#e4ebe1; font-size:12px; letter-spacing:.12em; }
.featured-stage .featured-projects-current h3 { margin:14px 0; color:#fff; font-size:clamp(42px,5.5vw,90px); line-height:1; letter-spacing:-.06em; }
.featured-stage .featured-projects-current p { max-width:470px; color:#f5f7f1df; font-size:15px; line-height:1.65; }
.featured-stage .featured-projects-actions { gap:12px; margin-top:28px; pointer-events:auto; }
.featured-stage .featured-projects-link { min-height:52px; padding:0 22px; border:1px solid #ffffffa6; color:#fff; background:#ffffff12; backdrop-filter:blur(8px); font-size:12px!important; }
.featured-stage .featured-projects-link:hover,.featured-stage .featured-projects-link:focus-visible { background:#fff; color:#263128; }
.featured-previous { display:grid; place-items:center; width:52px; height:52px; padding:0; border:1px solid #ffffffa6; border-radius:50%; background:#ffffff12; color:#fff!important; font-size:25px!important; transition:background .35s,transform .35s; }
.featured-previous:hover,.featured-previous:focus-visible { background:#ffffff40; transform:translateX(-3px); }
.featured-index { margin-left:7px; color:#fff; font-size:12px; letter-spacing:.12em; }
.featured-next { position:absolute; z-index:3; right:clamp(20px,3vw,48px); bottom:clamp(24px,3vw,48px); width:clamp(190px,20vw,310px); height:clamp(135px,15vw,220px); overflow:hidden; padding:0; border:0; color:white!important; background:#233127; text-align:left; }
.featured-next > img { position:absolute; inset:0; transition:transform 1s cubic-bezier(.22,1,.36,1); }
.featured-next::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#0e1810d9,transparent 80%); }
.featured-next:hover > img,.featured-next:focus-visible > img { transform:scale(1.08); }
.featured-next-copy { position:absolute; z-index:1; left:18px; right:45px; bottom:18px; display:flex; flex-direction:column; gap:6px; }
.featured-next-copy > span { font-size:10px; letter-spacing:.12em; }
.featured-next-copy strong { font-size:clamp(15px,1.3vw,20px); font-weight:500; line-height:1.2; }
.featured-next-arrow { position:absolute; z-index:1; right:17px; bottom:18px; font-size:25px; transition:transform .4s; }
.featured-next:hover .featured-next-arrow,.featured-next:focus-visible .featured-next-arrow { transform:translate(5px,-5px); }
@media(max-width:700px) {
 .featured-projects { display:block; padding:85px 6vw 100px; }
 .featured-intro { display:block; margin-bottom:32px; }
 .featured-intro h2 { font-size:clamp(52px,12vw,78px); }
 .featured-intro > p { width:auto; max-width:310px; margin-top:25px; }
 .featured-stage { height:720px; max-height:90svh; min-height:600px; }
 .featured-overlay { left:22px; right:22px; bottom:180px; width:auto; }
 .featured-stage .featured-projects-current h3 { font-size:clamp(39px,10vw,56px); }
 .featured-stage .featured-projects-current p { font-size:14px; }
 .featured-next { left:22px; right:22px; bottom:22px; width:auto; height:125px; }
}
@media(prefers-reduced-motion:reduce) { .featured-next > img,.featured-next-arrow,.featured-previous { transition:none; } }

/* Featured projects: a selectable collection of project images. */
.featured-projects { background:#1d2620; color:#f2efe7; }
.featured-intro h2 { color:#f4f1e8; }
.featured-intro h2 em { color:#aab69f; }
.featured-intro > p { color:#c6cdc1; }
.featured-eyebrow { color:#bbc5b5; }
.featured-stage { background:#121a15; }
.featured-stage .featured-projects-image::after { background:linear-gradient(90deg,#101a13bf 0%,#101a135c 48%,#101a1314 100%),linear-gradient(0deg,#101a13c2,transparent 60%); }
.featured-stack { --stack-card-width:clamp(125px,12vw,180px); position:absolute; z-index:4; right:clamp(24px,3vw,48px); bottom:clamp(28px,4vw,60px); width:var(--stack-card-width); height:clamp(100px,9vw,140px); }
.featured-stack-label { position:absolute; right:0; bottom:calc(100% + 23px); color:#fff; white-space:nowrap; font-size:11px; letter-spacing:.12em; }
.featured-stack-label > span { display:inline-block; margin-left:8px; font-size:17px; transition:transform .4s; }
.featured-stack-card { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:hidden; padding:0; border:2px solid #ebe9e2; border-radius:3px; background:#29362d; color:#fff!important; box-shadow:0 12px 35px #0006; transform-origin:bottom right; transform:translate(calc(var(--stack-order) * -8px),calc(var(--stack-order) * -7px)) rotate(calc(var(--stack-order) * -3deg)); z-index:calc(3 - var(--stack-order)); transition:transform .8s cubic-bezier(.22,1,.36,1),box-shadow .6s,border-color .4s; }
.featured-stack-card img { position:absolute; inset:0; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.featured-stack-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#111b14d9,transparent 75%); opacity:.15; transition:opacity .45s; }
.featured-stack-card > span { position:absolute; z-index:1; left:10px; right:10px; bottom:10px; opacity:0; transform:translateY(8px); text-align:left; font-size:12px; line-height:1.3; transition:opacity .4s,transform .4s; }
.featured-stack:hover .featured-stack-card,.featured-stack:focus-within .featured-stack-card { transform:translate(calc(var(--stack-order) * -1 * (var(--stack-card-width) + 12px)),0) rotate(0deg); }
.featured-stack:hover .featured-stack-card::after,.featured-stack:focus-within .featured-stack-card::after { opacity:1; }
.featured-stack:hover .featured-stack-card > span,.featured-stack:focus-within .featured-stack-card > span { opacity:1; transform:translateY(0); }
.featured-stack:hover .featured-stack-label > span,.featured-stack:focus-within .featured-stack-label > span { transform:translate(4px,-4px); }
.featured-stack-card:hover,.featured-stack-card:focus-visible { border-color:#c0ceb7; box-shadow:0 18px 40px #0008; }
.featured-stack-card:hover img,.featured-stack-card:focus-visible img { transform:scale(1.08); }
.featured-stack-card[aria-pressed=true] { z-index:4; border-color:#c4d2b9; }
@media(min-width:701px) and (hover:hover) {
 .featured-stack.is-collapsed .featured-stack-card { transform:translate(calc(var(--stack-order) * -8px),calc(var(--stack-order) * -7px)) rotate(calc(var(--stack-order) * -3deg)); }
 .featured-stack.is-collapsed .featured-stack-card::after { opacity:.15; }
 .featured-stack.is-collapsed .featured-stack-card > span { opacity:0; transform:translateY(8px); }
}
@media(max-width:700px), (hover:none) {
 .featured-stack { left:22px; right:22px; bottom:22px; width:auto; height:112px; display:flex; align-items:stretch; gap:9px; }
 .featured-stack-label { right:auto; left:0; bottom:calc(100% + 12px); }
 .featured-stack-card,.featured-stack:hover .featured-stack-card,.featured-stack:focus-within .featured-stack-card { position:relative; inset:auto; flex:1 1 0; width:0; height:100%; transform:none; }
 .featured-stack-card::after { opacity:1; }
 .featured-stack-card > span { opacity:1; transform:none; font-size:11px; }
}
@media(max-width:700px) { .featured-stage { min-height:650px; } .featured-overlay { bottom:205px; } }
@media(prefers-reduced-motion:reduce) { .featured-stack-card,.featured-stack-card img,.featured-stack-card > span,.featured-stack-label > span { transition:none; } }

/* The project collection is a full part of the composition. */
.featured-projects .featured-stack { position:relative; inset:auto; display:block; width:100%; height:auto; margin-top:clamp(55px,6vw,100px); }
.featured-stack-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; color:#e7ede3; font-size:13px; letter-spacing:.09em; }
.featured-stack-heading > span:last-child { color:#b6c0b1; font-size:13px; letter-spacing:.02em; }
.featured-stack-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.8vw,28px); }
.featured-projects .featured-stack-card,.featured-projects .featured-stack:hover .featured-stack-card,.featured-projects .featured-stack:focus-within .featured-stack-card,.featured-projects .featured-stack.is-collapsed .featured-stack-card { position:relative; inset:auto; display:block; width:100%; height:clamp(220px,25vw,360px); padding:0; overflow:hidden; border:0; border-radius:0; background:#29362d; box-shadow:none; transform:none; transition:transform .8s cubic-bezier(.22,1,.36,1),box-shadow .8s; }
.featured-projects .featured-stack-card img { transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .6s; }
.featured-projects .featured-stack-card::after,.featured-projects .featured-stack.is-collapsed .featured-stack-card::after { opacity:1; background:linear-gradient(0deg,#0e1811dc 0%,#101a1240 44%,transparent 75%); }
.featured-projects .featured-stack-card > span,.featured-projects .featured-stack.is-collapsed .featured-stack-card > span { display:flex; flex-direction:column; gap:7px; left:clamp(16px,2vw,30px); right:16px; bottom:clamp(16px,2vw,28px); opacity:1; transform:none; }
.featured-stack-card > span small { color:#e1e9df; font-size:12px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.featured-stack-card > span strong { color:#fff; font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(20px,2vw,32px); font-weight:400; letter-spacing:-.035em; line-height:1.15; }
.featured-stack-card[aria-pressed=true]::before { content:'SEÇİLİ'; position:absolute; z-index:2; right:18px; top:18px; padding:7px 10px; color:#1d2820; background:#edf1e9; font-size:11px; letter-spacing:.08em; }
@media(hover:hover) and (pointer:fine) {
 .featured-projects .featured-stack-card:hover,.featured-projects .featured-stack-card:focus-visible,.featured-projects .featured-stack:hover .featured-stack-card:hover,.featured-projects .featured-stack:focus-within .featured-stack-card:focus-visible { z-index:5; transform:translateY(-14px); box-shadow:0 25px 50px #0006; }
 .featured-projects .featured-stack-card:hover img,.featured-projects .featured-stack-card:focus-visible img { transform:scale(1.08); }
}
@media(max-width:700px) {
 .featured-projects .featured-stack { margin-top:48px; }
 .featured-overlay { bottom:28px; }
 .featured-stack-heading { align-items:flex-start; font-size:12px; }
 .featured-stack-cards { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:16px; }
 .featured-projects .featured-stack-card,.featured-projects .featured-stack:hover .featured-stack-card,.featured-projects .featured-stack:focus-within .featured-stack-card { flex:0 0 82%; width:82%; height:260px; scroll-snap-align:start; }
 .featured-stack-card > span strong { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { .featured-projects .featured-stack-card,.featured-projects .featured-stack-card img { transition:none; } }

/* Featured project file */
.project-files { padding:clamp(100px,10vw,165px) 4.6vw clamp(115px,11vw,180px); background:#e9e7df; color:#263128; }
.project-files-header { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:clamp(45px,5vw,80px); }
.project-files-header > div > span { display:block; margin-bottom:24px; color:#768172; font-size:12px; letter-spacing:.12em; }
.project-files-header h2 { margin:0; font-family:Satoshi,Manrope,Arial,sans-serif; font-weight:400; font-size:clamp(58px,7vw,116px); letter-spacing:-.065em; line-height:.92; }
.project-files-header h2 em { color:#7d8b79; font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; }
.project-files-header p { max-width:295px; margin:0 0 6px; color:#697468; font-size:15px; line-height:1.7; }
.project-files-theatre { position:relative; overflow:hidden; min-height:clamp(560px,57vw,780px); background:#202b23; }
.project-files-collection { position:absolute; inset:0; display:grid; place-items:center; transition:opacity .5s,transform .8s cubic-bezier(.22,1,.36,1); }
.project-files-collection::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 55%,#52665348,transparent 57%); pointer-events:none; }
.project-files-folder { position:absolute; left:50%; bottom:13%; width:min(57%,790px); height:34%; transform:translateX(-50%); background:#3b4c3f; border-radius:8px 8px 4px 4px; box-shadow:0 35px 70px #0e17124f; }
.project-files-folder::before { content:''; position:absolute; left:0; bottom:100%; width:31%; height:23px; background:#3b4c3f; border-radius:8px 12px 0 0; }
.project-files-folder span { position:absolute; inset:0; background:linear-gradient(150deg,#ffffff0d,transparent 70%); }
.project-files-cards { position:absolute; inset:0; z-index:2; }
.project-file-card { position:absolute; left:50%; bottom:23%; width:clamp(210px,25vw,370px); height:clamp(280px,33vw,465px); padding:0; border:0; overflow:hidden; background:#2d392e; color:#fff!important; text-align:left; box-shadow:0 20px 50px #08120c66; transform-origin:50% 100%; transition:transform .95s cubic-bezier(.22,1,.36,1),box-shadow .8s; }
.project-file-card:nth-child(1) { z-index:1; transform:translateX(calc(-50% - 42px)) rotate(-8deg); }
.project-file-card:nth-child(2) { z-index:2; transform:translateX(-50%) rotate(1deg); }
.project-file-card:nth-child(3) { z-index:3; transform:translateX(calc(-50% + 42px)) rotate(8deg); }
.project-file-card img { position:absolute; inset:0; transition:transform 1s cubic-bezier(.22,1,.36,1); }
.project-file-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#101b13e8,transparent 65%); pointer-events:none; }
.project-file-caption { position:absolute; z-index:1; left:clamp(18px,2vw,30px); right:20px; bottom:clamp(18px,2vw,30px); display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.project-file-caption small { color:#e3ebe0; font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.project-file-caption strong { color:#fff; font-family:Satoshi,Manrope,Arial,sans-serif; font-weight:400; font-size:clamp(23px,2.2vw,34px); letter-spacing:-.04em; line-height:1.1; }
.project-file-caption > span { font-size:24px; line-height:1; }
.project-files-cards:has(.project-file-card:focus-visible) .project-file-card:nth-child(1),.project-files.is-expanded .project-file-card:nth-child(1) { transform:translateX(calc(-50% - clamp(195px,25vw,370px))) translateY(-16px) rotate(-4deg); }
.project-files-cards:has(.project-file-card:focus-visible) .project-file-card:nth-child(2),.project-files.is-expanded .project-file-card:nth-child(2) { transform:translateX(-50%) translateY(-35px) rotate(0); }
.project-files-cards:has(.project-file-card:focus-visible) .project-file-card:nth-child(3),.project-files.is-expanded .project-file-card:nth-child(3) { transform:translateX(calc(-50% + clamp(195px,25vw,370px))) translateY(-16px) rotate(4deg); }
.project-file-card:hover img,.project-file-card:focus-visible img { transform:scale(1.07); }
.project-files-toggle { position:absolute; z-index:4; left:50%; bottom:5%; transform:translateX(-50%); padding:14px 21px; border:1px solid #e6ede394; border-radius:30px; color:#f6f7f2!important; background:#202b23d9; font-size:12px!important; letter-spacing:.08em; white-space:nowrap; transition:background .35s; }
.project-files-toggle:hover,.project-files-toggle:focus-visible { background:#526d55; }
.project-files-toggle span { display:inline-block; margin-left:12px; font-size:18px; }
.project-files.is-open .project-files-collection { opacity:0; transform:scale(.96); pointer-events:none; }
.project-file-detail { position:absolute; inset:0; display:grid; grid-template-columns:.82fr 1.18fr; align-items:stretch; background:#202b23; color:#f5f5ef; }
.project-file-detail-copy { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; padding:clamp(30px,4vw,65px); animation:project-file-copy-in 1s cubic-bezier(.22,1,.36,1) .25s both; }
.project-file-back { padding:0; border:0; background:none; color:#e9efe5!important; font-size:24px!important; }
.project-file-back span { margin-left:10px; font-size:11px; letter-spacing:.1em; }
.project-file-detail-text > span { color:#cad5c6; font-size:12px; letter-spacing:.11em; text-transform:uppercase; }
.project-file-detail-text h3 { margin:20px 0; font-family:Satoshi,Manrope,Arial,sans-serif; font-size:clamp(42px,5.3vw,85px); font-weight:400; letter-spacing:-.06em; line-height:1; }
.project-file-detail-text p { max-width:410px; color:#dae1d7; font-size:15px; line-height:1.75; }
.project-file-link { padding:16px 21px; border:1px solid #e5eee0a6; border-radius:30px; background:none; color:#fff!important; font-size:12px!important; letter-spacing:.07em; transition:background .35s,color .35s; }
.project-file-link span { margin-left:12px; font-size:18px; }
.project-file-link:hover,.project-file-link:focus-visible { background:#f3f5ee; color:#202b23!important; }
.project-file-detail-image { position:relative; overflow:hidden; padding:0; border:0; background:#29382d; }
.project-file-detail-image img { transition:transform 1s cubic-bezier(.22,1,.36,1); }
.project-file-detail-image:hover img,.project-file-detail-image:focus-visible img { transform:scale(1.04); }
.project-file-detail-image > span { position:absolute; right:24px; bottom:24px; display:grid; place-items:center; width:52px; height:52px; border:1px solid #fff9; border-radius:50%; color:#fff; font-size:24px; }
.project-file-flight { position:absolute; z-index:5; overflow:hidden; pointer-events:none; background:#29382d; }
.project-files-theatre.is-opening .project-file-detail-image img { opacity:0; }
@keyframes project-file-copy-in { from { opacity:0; transform:translateY(25px); filter:blur(5px); } to { opacity:1; transform:none; filter:blur(0); } }
@media(max-width:700px) {
 .project-files { padding:80px 6vw 100px; }
 .project-files-header { display:block; margin-bottom:35px; }
 .project-files-header h2 { font-size:clamp(52px,12vw,75px); }
 .project-files-header p { margin-top:22px; }
 .project-files-theatre { min-height:610px; }
 .project-files-folder { width:82%; height:28%; bottom:16%; }
 .project-file-card { width:27vw; height:260px; bottom:30%; }
 .project-file-caption { left:10px; right:8px; bottom:15px; gap:6px; }
 .project-file-caption small { font-size:9px; letter-spacing:.06em; }
 .project-file-caption strong { font-size:15px; letter-spacing:-.025em; }
 .project-file-card:nth-child(1) { transform:translateX(calc(-50% - 20px)) rotate(-7deg); }
 .project-file-card:nth-child(3) { transform:translateX(calc(-50% + 20px)) rotate(7deg); }
 .project-files-cards:has(.project-file-card:focus-visible) .project-file-card:nth-child(1),.project-files.is-expanded .project-file-card:nth-child(1) { transform:translateX(calc(-50% - 27vw)) translateY(-14px) rotate(-3deg); }
 .project-files-cards:has(.project-file-card:focus-visible) .project-file-card:nth-child(3),.project-files.is-expanded .project-file-card:nth-child(3) { transform:translateX(calc(-50% + 27vw)) translateY(-14px) rotate(3deg); }
 .project-files-toggle { bottom:7%; }
 .project-file-detail { display:flex; flex-direction:column-reverse; }
 .project-file-detail-image { flex:1 1 44%; min-height:230px; }
 .project-file-detail-copy { flex:1 1 56%; gap:22px; padding:25px; }
 .project-file-detail-text h3 { font-size:clamp(36px,9vw,52px); margin:10px 0; }
 .project-file-detail-text p { font-size:14px; line-height:1.6; }
}
@media(prefers-reduced-motion:reduce) { .project-files-collection,.project-file-card,.project-file-card img,.project-file-link,.project-file-detail-image img { transition:none; } .project-file-detail-copy { animation:none; } }

@media(hover:hover) and (pointer:fine) {
 .project-files-collection:hover .project-file-card:nth-child(1) { transform:translateX(calc(-50% - clamp(195px,25vw,370px))) translateY(-16px) rotate(-4deg); }
 .project-files-collection:hover .project-file-card:nth-child(2) { transform:translateX(-50%) translateY(-35px) rotate(0); }
 .project-files-collection:hover .project-file-card:nth-child(3) { transform:translateX(calc(-50% + clamp(195px,25vw,370px))) translateY(-16px) rotate(4deg); }
}
@media(max-width:700px) and (hover:hover) and (pointer:fine) {
 .project-files-collection:hover .project-file-card:nth-child(1) { transform:translateX(calc(-50% - 27vw)) translateY(-14px) rotate(-3deg); }
 .project-files-collection:hover .project-file-card:nth-child(3) { transform:translateX(calc(-50% + 27vw)) translateY(-14px) rotate(3deg); }
}
