/* ARCTIC / PHOTOGRAPHIC FRONTISPIECE. One image, one credit, one clear action.
   Presentation never mediates the media transaction or changes the film view. */
html[data-entry="closed"] { background:#f5f3ed; }
html[data-entry="closed"] body { overflow:hidden; }
html[data-entry="closed"] .skip-link { display:none; }
html[data-entry="closed"] #site-shell,html[data-entry="closed"] #exhibition { visibility:hidden; pointer-events:none; }
.film-entrance { --entry-paper:#f5f3ed; --entry-ink:#343b3e; --entry-muted:#626461; --entry-accent:#805747; position:fixed; inset:0; z-index:30; display:flex; flex-direction:column; min-width:0; height:100dvh; padding:max(24px,var(--safe-top)) max(24px,var(--safe-right)) max(24px,var(--safe-bottom)) max(24px,var(--safe-left)); overflow:auto; overscroll-behavior:contain; color:var(--entry-ink); background:var(--entry-paper); }
.film-entrance > * { position:relative; min-width:0; }
.entrance-composition { display:grid; grid-template-columns:minmax(0,1fr); align-content:center; gap:20px; width:min(100%,430px); flex:0 0 auto; margin:auto auto 0; }
.entrance-art { position:relative; min-width:0; width:100%; height:clamp(220px,40svh,360px); overflow:hidden; background:#e4e4df; }
.entrance-plate { display:block; width:100%; height:100%; object-fit:cover; object-position:center 36%; }
.cover-title { position:absolute; inset:22px 24px auto; margin:0; color:#343b3e; font:300 clamp(68px,22vw,98px)/.9 var(--serif); letter-spacing:-.065em; }
.entrance-imprint { display:flex; flex-direction:column; gap:18px; min-width:0; width:100%; }
.entrance-credit { max-width:100%; font:400 clamp(20px,5.4vw,23px)/1.3 var(--serif); letter-spacing:-.012em; text-wrap:balance; }
.entrance-credit em { font-weight:500; }
.enter-film { display:flex; align-items:center; justify-content:center; gap:24px; width:100%; min-height:60px; padding:12px 24px; border:1px solid #6f4e40; border-radius:999px; color:#faf8f2; background:var(--entry-accent); font:italic 1.5rem/1.2 var(--serif); cursor:pointer; transition:background .2s,transform .2s; }
.enter-film > span { min-width:0; overflow-wrap:anywhere; }
.enter-film svg { flex:0 0 32px; width:32px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
.enter-film:focus-visible { outline:2px solid var(--entry-accent); outline-offset:5px; }
.enter-film:active { transform:translateY(1px); }
.enter-film[aria-busy="true"] { background:var(--entry-ink); border-color:var(--entry-ink); }
#entry-status { margin:0; max-width:100%; color:var(--entry-muted); font:.8125rem/1.5 var(--serif); }
#entry-status:empty { display:none; }
.entrance-colophon { flex:0 0 auto; width:min(100%,430px); margin:28px auto auto; padding-top:14px; border-top:1px solid #c8c8bd; }
.entrance-rights { display:block; max-width:100%; font:.8125rem/1.45 var(--serif); color:var(--entry-muted); text-wrap:pretty; }
.entrance-copyright { display:block; margin-bottom:7px; color:#535955; }
.film-entrance[data-leaving] { pointer-events:none; }
.film-entrance[data-leaving] .entrance-imprint { opacity:0; transform:translateY(-6px); transition:opacity .2s,transform .35s; }
@media (hover:hover) and (pointer:fine) {
 .enter-film:hover { background:#634638; transform:translateY(-1px); }
 .enter-film:hover svg { transform:translateX(3px); }
}
@media (max-width:760px) and (max-height:700px) {
 .film-entrance { padding-top:max(16px,var(--safe-top)); padding-bottom:max(16px,var(--safe-bottom)); }
 .entrance-composition { gap:16px; }
 .entrance-art { height:clamp(150px,34svh,225px); }
 .cover-title { top:18px; font-size:68px; }
 .entrance-imprint { gap:16px; }
 .entrance-credit { font-size:20px; line-height:1.24; }
 .enter-film { min-height:56px; font-size:1.375rem; }
 .entrance-colophon { margin-top:20px; padding-top:12px; }
}
@media (min-width:1000px), (min-width:761px) and (max-height:650px) {
 .film-entrance { padding:max(40px,var(--safe-top)) max(48px,var(--safe-right)) max(24px,var(--safe-bottom)) max(48px,var(--safe-left)); }
 .entrance-composition { width:min(100%,1000px); flex:1 0 auto; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:clamp(40px,6vw,76px); padding-bottom:40px; margin:0 auto; }
 .entrance-art { height:clamp(340px,64svh,620px); }
 .cover-title { top:32px; left:34px; right:24px; font-size:clamp(85px,8vw,122px); }
 .entrance-imprint { gap:28px; }
 .entrance-credit { font-size:clamp(26px,2.25vw,32px); line-height:1.3; text-wrap:pretty; }
 .enter-film { width:min(100%,300px); min-height:64px; font-size:1.5rem; }
 .entrance-colophon { width:min(100%,1000px); margin:0 auto; padding-top:16px; }
 .entrance-rights { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,540px); column-gap:52px; }
 .entrance-copyright { margin:0; }
}
@media (min-width:761px) and (max-height:650px) {
 .film-entrance { padding-top:max(16px,var(--safe-top)); padding-bottom:max(16px,var(--safe-bottom)); }
 .entrance-composition { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:40px; padding-bottom:20px; }
 .entrance-art { height:clamp(190px,62svh,350px); }
 .cover-title { top:20px; left:24px; font-size:76px; }
 .entrance-credit { font-size:24px; }
 .entrance-imprint { gap:20px; }
 .enter-film { min-height:56px; font-size:1.375rem; }
 .entrance-rights { grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); column-gap:28px; }
}
/* Portrait tablets remain one folio; desktop columns would squeeze the credit. */
@media (min-width:761px) and (max-width:999px) and (min-height:651px) {
 .entrance-composition,.entrance-colophon { width:min(100%,480px); }
 .entrance-art { height:clamp(300px,43svh,480px); }
 .cover-title { font-size:108px; }
 .entrance-credit { font-size:26px; }
 .entrance-colophon { margin-top:32px; }
}
/* User-enlarged text gets scrollable flow instead of clipped/fixed panels. */
body[data-large-type] .film-entrance { padding:clamp(12px,3vw,24px); }
body[data-large-type] .entrance-composition { width:min(100%,640px); flex:0 0 auto; grid-template-columns:minmax(0,1fr); gap:24px; padding:0; margin:auto auto 0; }
body[data-large-type] .entrance-art { height:300px; }
body[data-large-type] .cover-title { top:24px; left:24px; font-size:80px; }
body[data-large-type] .entrance-credit { font-size:1.1rem; overflow-wrap:anywhere; }
body[data-large-type] .enter-film { width:100%; min-height:64px; font-size:1rem; }
body[data-large-type] .entrance-colophon { width:min(100%,640px); margin:28px auto auto; }
body[data-large-type] .entrance-rights { display:block; overflow-wrap:anywhere; }
body[data-large-type] .entrance-copyright { display:block; margin-bottom:.5rem; }
@media (prefers-reduced-motion:reduce) { .enter-film,.enter-film svg { transition:none; } }
@media (forced-colors:active) {
 .film-entrance { color:CanvasText; background:Canvas; }
 .cover-title { background:Canvas; color:CanvasText; padding:8px; width:fit-content; }
 .enter-film { color:ButtonText; background:ButtonFace; border:1px solid ButtonText; }
 .entrance-colophon { border-color:CanvasText; }
}
