/* Silver as a material: an aperture for films, folded foil for the press. */
body[data-page=cases] .site-header, body[data-page=press] .site-header { position: fixed; height: 82px; background: #090a0be8; backdrop-filter: blur(18px); z-index: 40; }
.sculpture-hero { position: relative; isolation: isolate; min-height: 480px; height: min(76svh,680px); display: flex; align-items: center; padding: 100px var(--pad) 40px; overflow: hidden; }
.sculpture-copy { position: relative; z-index: 2; width: 55%; pointer-events: none; }
.sculpture-copy > p { font-size: 14px; color: #b5bbc2; margin-bottom: 35px; }
.sculpture-copy h1 { font-size: clamp(56px,7.4vw,116px); font-weight: 400; line-height: .98; letter-spacing: -.065em; }
.sculpture-copy > span { display: block; font-size: 16px; line-height: 1.6; margin-top: 30px; max-width: 380px; color: #aeb4ba; }
.page-sculpture { position: absolute; inset: 35px 0 0 38%; touch-action: pan-y; }
.page-sculpture canvas { width: 100%; height: 100%; position: absolute; inset: 0; }
.page-sculpture:has(canvas[data-rendered]:not([hidden]))::before { display: none; }
.page-sculpture::before { content: ''; position: absolute; width: 52%; height: 70%; left: 25%; top: 17%; border-radius: 50%; border: 28px solid #bbc2c9; box-shadow: inset 8px 8px 30px #fff7,15px 25px 60px #000; transform: rotate(-30deg); }
.page-sculpture.foil::before { border: 0; border-radius: 12% 2% 20% 6%; transform: rotate(-14deg); background: linear-gradient(100deg,#161a21,#e7edf5 15%,#525b68 26%,#12161e 42%,#eaf1f7 56%,#737e8c 70%,#10131b 86%,#f2f4f6); }
.case-index { position: sticky; top: 82px; z-index: 32; display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 16px var(--pad); background: #090a0bf5; border-block: 1px solid #ffffff1f; backdrop-filter: blur(16px); }
.case-index p { font-size: 12px; color: #9098a1; }
.case-index nav { display: flex; gap: 34px; font-size: 12px; }
.case-index a { padding: 8px 0; }
.case-stack { position: relative; padding: 0 var(--pad) 50px; }
.case-panel { position: relative; height: min(680px,calc(100svh - 169px)); min-height: 480px; scroll-margin-top: 149px; margin-bottom: 32px; --shine: 50%; }
.case-surface { position: relative; height: 100%; padding: clamp(24px,3vw,48px); background: #101318; display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.25fr); gap: 6%; align-items: center; overflow: hidden; }
.case-panel:nth-child(2) .case-surface { background: #13171b; }
.case-panel:nth-child(3) .case-surface { background: #10161b; }
.case-surface::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg,#171c24,#a3afbd 12%,#f1f4f7 22%,#2d3541 40%,#06090e 48%,#b7c3ce 67%,#f4f5f6 78%,#242c35); background-size: 160% 100%; background-position: var(--shine) 0; clip-path: polygon(0 0,100% 0,100% 45%,74% 100%,52% 60%,22% 100%,0 30%); }
.case-copy { position: relative; min-width: 0; }
.case-copy > p { color: #a8b2bd; font-size: 12px; margin-bottom: 21px; }
.case-copy h2 { font-size: clamp(34px,4.3vw,72px); font-weight: 400; line-height: 1.04; letter-spacing: -.055em; margin-bottom: 24px; }
.case-summary { font-size: clamp(13px,1.1vw,16px); color: #aeb7c1; line-height: 1.65; max-width: 410px; }
.case-copy details { margin-top: 24px; font-size: 12px; color: #c7cdd4; }
.case-copy summary { cursor: pointer; padding: 10px 0; width: fit-content; }
.case-copy details[open] { position: absolute; left: 0; bottom: 0; width: 100%; max-height: 100%; overflow: auto; background: #101318; z-index: 5; padding: 18px 22px; box-shadow: 0 0 40px #0008; }
.case-copy dl { margin: 16px 0; }
.case-copy dl > div { margin: 0 0 14px; }
.case-copy dt { color: #8d98a5; font-size: 11px; }
.case-copy dd { margin: 5px 0; line-height: 1.5; }
.case-screen { min-width: 0; }
.case-screen .film-window { max-width: min(100%,760px,calc((100svh - 330px)*1.7778)); margin-inline: auto; border-radius: 4px; padding: 1px; box-shadow: 0 24px 65px #0006; }
.case-screen .window-screen { border-radius: 3px; }
.case-screen .playback-toolbar { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; padding: 4px 12px; }
.case-screen:has(.playing) > p { visibility: hidden; }
.case-screen > p { display: flex; justify-content: space-between; gap: 20px; max-width: 760px; margin: 22px auto 0; font-size: 11px; color: #8b96a3; }
.case-screen > p a { color: #c6ced8; }

/* One film-like display for press, with publication names as direct controls. */
.press-exhibit { padding: 72px var(--pad) 75px; position: relative; background: #090b0e; overflow: hidden; }
.press-exhibit, #archive-title { scroll-margin-top: 110px; }
.press-exhibit-top { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; }
.press-exhibit-top h2 { font-size: 15px; font-weight: 400; color: #c4c9cf; }
.press-exhibit-top > p { color: #7f8994; font-size: 12px; }
.exhibit-stage { min-height: 490px; display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 5%; padding: 25px 0; }
.exhibit-stories { position: relative; z-index: 2; }
.exhibit-story > p { font-family: Georgia,'Times New Roman',serif; font-size: 24px; color: #e1e5e9; margin-bottom: 25px; }
.exhibit-story h3 { font-size: clamp(30px,3.3vw,54px); font-weight: 400; letter-spacing: -.047em; line-height: 1.12; text-wrap: pretty; }
.exhibit-story .story-link { display: inline-flex; gap: 28px; align-items: center; font-size: 12px; margin-top: 30px; min-height: 44px; border-bottom: 1px solid #ffffff50; }
.story-link svg { width: 17px; height: 17px; }
.press-visual { position: relative; height: min(37vw,520px); min-height: 360px; touch-action: pan-y; }
.press-image-link { position: absolute; inset: 0; display: block; }
.press-visual canvas { width: 100%; height: 100%; position: absolute; inset: 0; }
.visual-fallback { position: absolute; inset: 22% 13%; overflow: hidden; border: 2px solid #949da8; border-radius: 12%; }
.visual-fallback img { position: absolute; max-width: none; }
.publication-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 25px; position: relative; border-bottom: 1px solid #ffffff20; }
.publication-tabs button { position: relative; padding: 22px 0 26px; min-height: 86px; text-align: left; font-family: Georgia,'Times New Roman',serif; font-size: clamp(19px,1.8vw,28px); line-height: 1.15; color: #79838d; transition: color .25s; }
.publication-tabs button[aria-selected=true] { color: #eef1f4; }
.publication-tabs button::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 100%; height: 2px; background: linear-gradient(90deg,#505d6b,#eff4f8,#7f8e9e); transition: right .4s; }
.publication-tabs button[aria-selected=true]::after { right: 0; }
.publication-tabs button:nth-child(2) { font-style: italic; font-size: clamp(22px,2.1vw,34px); }
.publication-tabs button:nth-child(3) { font-weight: 700; }
.exhibit-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 30px; }
.exhibit-bottom > p { font-size: 12px; color: #858f9b; }
.exhibit-bottom .press-more { margin: 0; }

/* The archive is a visual contact sheet, with photographs given real space. */
body[data-page=press] .press-archive { padding-top: 70px; }
.press-archive .section-heading h2 { font-size: clamp(36px,4vw,64px); }
.press-archive .press-filters { grid-template-columns: 2fr 1fr; gap: 30px; margin-top: 38px; }
.press-rows { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px 28px; }
.press-rows .press-row { border: 0; min-width: 0; }
.press-rows .press-row > a { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; }
.press-rows .press-thumb { aspect-ratio: 16/10; margin-bottom: 22px; }
.press-rows .press-thumb img { position: absolute; max-width: none; filter: saturate(.65); transition: filter .4s; }
.press-rows a:hover .press-thumb img { filter: saturate(1); }
.press-rows .publication { font-size: 12px; color: #909aa5; margin-bottom: 12px; }
.press-rows h3 { font-size: 20px; line-height: 1.4; }
.press-rows .press-row svg { display: none; }
@media(max-width:1050px){
  .case-surface { grid-template-columns: minmax(230px,.85fr) minmax(0,1fr); gap: 5%; }
  .case-copy h2 { font-size: 42px; }
  .exhibit-stage { min-height: 440px; }
  .press-visual { min-height: 320px; }
  .press-rows { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px){
  body[data-page=cases] .site-header,body[data-page=press] .site-header { height: 74px; }
  .sculpture-hero { height: 650px; min-height: 0; align-items: flex-end; padding: 100px var(--pad) 45px; }
  .sculpture-copy { width: 100%; }
  .sculpture-copy > p { margin-bottom: 21px; font-size: 12px; }
  .sculpture-copy h1 { font-size: 16vw; max-width: 360px; }
  .sculpture-copy > span { font-size: 14px; max-width: 280px; margin-top: 24px; }
  .page-sculpture { inset: 64px 0 220px 5%; z-index: -1; }
  .page-sculpture.foil { inset: 62px -5% 235px 20%; }
  .case-index { top: 74px; padding-block: 10px; gap: 10px; }
  .case-index > p { display: none; }
  .case-index nav { width: 100%; justify-content: space-between; gap: 15px; font-size: 10px; }
  .case-panel { scroll-margin-top: 118px; height: auto; min-height: 530px; }
  .case-stack { padding-inline: 12px; }
  .case-surface { display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 25px; padding: 30px 20px; }
  .case-copy > p { margin-bottom: 12px; font-size: 11px; }
  .case-copy h2 { font-size: 37px; margin-bottom: 15px; }
  .case-summary { font-size: 12px; line-height: 1.5; }
  .case-copy details { margin-top: 10px; }
  .case-copy details[open] { bottom: auto; top: 0; max-height: 290px; }
  .case-screen .film-window { max-width: 100%; width: 100%; }
  .case-screen > p { margin-top: 12px; font-size: 10px; }
  .case-screen .film-play { left: 12px; bottom: 12px; }
  .press-exhibit { padding: 48px var(--pad); }
  .press-exhibit-top > p { display: none; }
  .exhibit-stage { display: flex; flex-direction: column-reverse; align-items: stretch; min-height: 0; padding: 0 0 28px; gap: 5px; }
  .press-visual { height: 290px; min-height: 0; margin: 0 -6vw; }
  .exhibit-story > p { font-size: 19px; margin-bottom: 17px; }
  .exhibit-story h3 { font-size: 33px; line-height: 1.12; }
  .exhibit-story .story-link { margin-top: 22px; }
  .publication-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 25px; border-bottom: 0; }
  .publication-tabs button { min-height: 76px; font-size: 18px; padding: 17px 0; border-bottom: 1px solid #ffffff22; }
  .publication-tabs button:nth-child(2) { font-size: 23px; }
  .exhibit-bottom { margin-top: 28px; }
  .exhibit-bottom > p { display: none; }
  .press-archive .press-filters { grid-template-columns: 1fr; }
  .press-rows { gap: 32px 20px; }
  .press-rows .press-thumb { margin-bottom: 16px; }
  .press-rows h3 { font-size: 17px; }
  .press-rows .publication { font-size: 11px; }
}
@media(max-width:480px){.press-rows{grid-template-columns:1fr}.press-rows .press-thumb{aspect-ratio:1.8}}
@media(max-width:700px) and (max-height:700px){
  .case-panel{height:calc(100svh - 138px);min-height:410px;}
  .case-surface{padding:20px 18px;gap:16px;}
  .case-copy h2{font-size:30px;margin-bottom:10px;}
  .case-copy > p{margin-bottom:8px;}
  .case-summary{display:none;}
  .case-copy details{margin-top:0;}
  .sculpture-hero{height:590px;}
}
@media(max-width:700px) and (max-height:550px){.case-panel{height:auto;}}
@media(prefers-reduced-motion:reduce){.case-surface{transform:none;filter:none}.page-sculpture canvas,.press-visual canvas{touch-action:pan-y}}
