/* Touch layouts keep the active film and controls inside the safe viewport. */
button,a{touch-action:manipulation}
button:disabled{opacity:.3;cursor:default}
.stage.show-cinema #film-orbit{visibility:hidden;pointer-events:none}
@media(max-width:1100px),(pointer:coarse){
  .menu,.mark,.close,.screen-bottom button,.view-controls button,.watch{min-width:44px;min-height:44px}
  .screen-bottom button{display:inline-flex;align-items:center;justify-content:center;padding:8px}
  .collection-tabs button,.project-item,.archive-tools button,.header-right>a{min-height:44px;display:flex;align-items:center}
  .archive-tools input{font-size:16px;min-height:44px}
  .close{display:grid;place-items:center;flex-shrink:0}
  .media-notice button,.media-notice a{min-height:44px;display:inline-flex;align-items:center}
  .project-details p{font-size:14px;line-height:1.6}
  #player-dialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px)}
  #player-dialog.vertical #player-mount{height:min(66svh,700px)}
  .player-bottom{flex-wrap:wrap;gap:8px}.player-bottom button{min-height:44px}
  dialog{overscroll-behavior:contain}.dialog-bar{position:sticky;top:0;z-index:8;background:#101210}
  .archive-tools{position:relative}
}
@media(max-width:1100px) and (orientation:portrait), (max-width:700px){
  .stage{height:100svh;min-height:0}
  header{height:64px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
  .header-right{gap:12px}.header-right>button[data-open=about]{display:none}
  footer{padding:10px 18px max(10px,env(safe-area-inset-bottom));background:#0b0c0cf5}
  footer>button{display:none}footer .micro,footer>div{font-size:9px}
  .cinema{padding:72px max(18px,env(safe-area-inset-right)) calc(46px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:12px;align-items:stretch}
  .project-index{grid-row:auto;max-height:none;height:auto;display:block;align-self:start}
  .collection-tabs{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin:0}
  .collection-tabs button{font-size:11px;letter-spacing:0;padding:0 2px;min-height:44px}
  .collection-tabs button[aria-pressed=true]{border-left:0;border-bottom:1px solid #eee;padding:0 2px}
  #chapter-note{margin:5px 0 0;max-width:65%;font-size:9px;line-height:1.5;min-height:27px;display:flex;align-items:center}
  .project-index #project-list{display:none}
  .all-work{position:absolute;inset:auto 0 -5px auto;min-height:44px;margin:0;padding:0;border:0;font-size:9px;display:flex;align-items:center}.all-work span{display:none}
  .screen{align-self:start;min-height:0}.screen-cover{width:100%;height:min(36svh,calc((100vw - 36px)*.5625));max-height:none;aspect-ratio:auto}
  .cinema[data-collection=Motion] .screen-cover{height:min(38svh,340px)}
  .screen-bottom{min-height:44px;margin:4px 0 0;font-size:10px;gap:8px}.screen-bottom #preview-status{font-size:9px;max-width:45%;display:block}
  .project-details{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) 44px;gap:8px 14px;align-self:stretch;min-height:0;overflow:visible}
  .project-details>div:first-child{grid-column:1/-1;grid-row:1;overflow-y:auto;scrollbar-width:thin;min-height:0;padding-right:3px}
  .project-details h2{font-size:clamp(24px,5vw,34px);margin:7px 0 10px;line-height:1.12}
  .project-details p{font-size:14px;line-height:1.6;margin:0 0 10px;max-width:65ch}
  .project-details #selected-credit{font-size:12px;padding-top:8px;margin-bottom:8px}
  .project-details #selected-duration{display:block;font-size:10px;line-height:1.6}
  .project-details .view-controls{grid-column:1;grid-row:2;flex-direction:row;gap:18px;position:static;padding:0;align-items:center}
  .view-controls button{font-size:11px;padding:0;min-height:44px}
  .project-details .watch{grid-column:2;grid-row:2;align-self:stretch;align-items:center;width:auto;position:static;font-size:13px;padding:0;gap:12px;min-height:44px}
  .screen-cover>img{object-fit:contain}
}
@media(min-width:701px) and (max-width:1100px) and (orientation:portrait){
  .cinema{padding:85px 32px 60px;gap:20px}.collection-tabs{justify-content:flex-start;gap:30px}.collection-tabs button{font-size:13px}
  .screen-cover{height:min(43svh,calc((100vw - 64px)*.5625))}.cinema[data-collection=Motion] .screen-cover{height:43svh}
  .project-details{gap:14px 22px}.project-details h2{font-size:36px}.project-details p{font-size:16px}.project-details .micro{font-size:12px}
  .intro-bio{left:32px;width:21%}.intro h1{left:29%;font-size:10vw}.stats{width:110px}.disciplines{flex-wrap:wrap;max-width:80%;line-height:2}
}
@media(max-width:700px){
  .intro .statement{top:19%;left:28px}.intro h1{top:33%;left:24px;font-size:19vw}
  .intro-bio{left:28px;top:65%;width:calc(100% - 135px)}.intro-bio p{font-size:13px;line-height:1.5}
  .bio-links{gap:20px;margin-top:8px}.bio-links button{min-height:44px;font-size:11px}
  .stats{top:65%;right:24px;width:76px}.stats span{font-size:9px}.stats p{margin-bottom:12px}
  .disciplines{top:59%;left:28px;gap:12px;flex-wrap:wrap;font-size:8px;max-width:85%;line-height:1.5}
  .enter{left:28px;right:auto;bottom:44px;transform:none;font-size:10px;min-height:44px;display:flex;align-items:center;gap:12px;padding:0}.enter span{display:inline;margin:0;font-size:20px}
  .small-logo{font-size:12px}.header-right>a{font-size:12px}footer>div{gap:12px}
  .about-content>.micro{font-size:11px;line-height:1.7}.archive-card .micro{font-size:10px}.archive-image{aspect-ratio:4/3}
}
@media(max-width:700px) and (max-height:700px){
  .cinema{padding-top:62px;padding-bottom:40px;gap:6px}.collection-tabs button{font-size:10px}.screen-cover{height:min(25svh,calc((100vw - 36px)*.5625))}.cinema[data-collection=Motion] .screen-cover{height:27svh}
  .project-details h2{font-size:23px;margin:5px 0 8px}.project-details p{font-size:13px}.project-details #selected-credit{font-size:11px}
  .intro-bio{top:62%;width:calc(100% - 125px)}.intro-bio p{font-size:12px}.stats{top:63%;right:20px;width:66px}.intro .stats strong{font-size:17px}.disciplines{top:55%;font-size:7px}.intro h1{top:30%}.intro .statement{top:16%}
  .enter{bottom:36px}.bio-links{margin-top:0}footer{padding-top:7px;padding-bottom:max(7px,env(safe-area-inset-bottom))}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:700px){
  .stage{height:100svh;min-height:0}.cinema{padding:58px max(18px,env(safe-area-inset-right)) 34px max(18px,env(safe-area-inset-left));grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);grid-template-rows:44px minmax(0,1fr);gap:10px 22px}
  header{height:54px;padding:5px 18px}.project-index{grid-column:1/-1;grid-row:1;display:block;max-height:none;align-self:stretch}.collection-tabs{flex-direction:row;gap:24px;margin:0}.collection-tabs button{font-size:11px;min-height:44px}.collection-tabs button[aria-pressed=true]{border-left:0;border-bottom:1px solid;padding:0}
  #chapter-note,.project-index #project-list{display:none}.all-work{position:absolute;inset:0 0 auto auto;margin:0;padding:0;min-height:44px;border:0;display:flex;align-items:center;font-size:10px}.all-work span{display:none}
  .screen{align-self:stretch;display:grid;grid-template-rows:minmax(0,1fr) 44px;min-height:0}.screen-cover,.cinema[data-collection=Motion] .screen-cover{height:100%;max-height:none;aspect-ratio:auto}.screen-bottom{margin:0;min-height:44px}
  .project-details{align-self:stretch;display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(0,1fr) 44px;gap:8px;min-height:0;overflow:visible}.project-details>div:first-child{grid-row:1;grid-column:1/-1;min-height:0;overflow:auto}.project-details h2{font-size:24px;margin:6px 0 10px}.project-details p{font-size:13px;margin-bottom:8px}.project-details #selected-credit{font-size:11px;padding-top:7px;margin-bottom:6px}.project-details .view-controls{grid-row:2;grid-column:1;flex-direction:row;gap:12px;align-items:center}.project-details .watch{grid-row:2;grid-column:2;font-size:12px;min-height:44px;align-items:center;gap:8px;padding:0}.view-controls button{font-size:10px}
  footer{padding:8px 18px}footer>button{display:none}footer .micro,footer>div{font-size:8px}.screen-bottom #preview-status{font-size:8px}
  .intro h1{top:30%;left:30%;font-size:11vw}.intro .statement{left:30%;top:18%;font-size:9px}.intro-bio{left:22px;top:31%;width:23%;max-width:180px}.intro-bio p{font-size:12px}.stats{top:28%;right:20px;left:auto;width:85px}.stats p{margin-bottom:10px}.stats strong{font-size:18px}.stats span{font-size:9px}.disciplines{top:auto;bottom:70px;left:22px;font-size:8px}.enter{left:50%;right:auto;bottom:32px;transform:translateX(-50%);min-height:44px;font-size:10px}.enter span{display:none}
}
@media(max-width:380px){.header-right>a{display:none}.collection-tabs button{font-size:10px}.view-controls{gap:12px!important}}
@media(max-width:700px),(max-height:500px){
  .media-notice{inset:6px;max-height:calc(100% - 12px);overflow-y:auto;align-content:center;font-size:12px;gap:6px 14px;padding:10px}
}
@media(max-width:1100px),(pointer:coarse){footer a{padding:8px;margin:-8px;min-width:44px}footer>div{gap:26px}}
