/* Gallery pass: the scene compositions and reading typography are invariant. */
:root{background-color:var(--current-ground);color:var(--current-paper,#f0dfb7);transition:background-color 340ms ease,color 240ms ease}
body{background:transparent}
#films{position:relative;height:calc(100svh - 52px);min-height:0}
.film-scene{position:absolute;inset:0;background:transparent}
.film-scene .scene-stage{height:100%;min-height:0}
.film-scene[hidden],[hidden]{display:none!important}
.site-header{background:none;color:var(--current-paper,#f0dfb7)}
.scene-dock{color:var(--current-paper,#f0dfb7);background:transparent}
#film-selector{width:min(1080px,calc(100% - 80px));height:min(850px,calc(100svh - 64px));max-height:none;max-width:none;padding:0;margin:auto;inset:0;overflow:hidden;background:var(--panel-ground);color:var(--panel-paper);border:1px solid var(--panel-line);border-radius:0;box-shadow:0 24px 90px #0005}
#film-selector::backdrop{background:transparent;backdrop-filter:none}
.print-gallery{height:100%;display:flex;flex-direction:column;min-height:0}
.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:22px 28px 12px;gap:24px;flex:none}
.gallery-heading{display:flex;align-items:baseline;gap:16px}
.gallery-heading h2{font:400 30px/1.15 Film Display,Georgia,serif;letter-spacing:-.02em}
#selector-title:focus{outline:none}
#film-count{font:400 10px/1.5 Collection Sans,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-variant-numeric:tabular-nums}
#close-selector{width:44px;height:44px;min-height:44px;display:grid;place-items:center;margin:-6px -10px -6px 0;padding:0;border:0;background:none;font:400 28px/1 Georgia,serif}
.gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 28px;padding:0 0 14px;border-bottom:1px solid #f0dfb72e;flex:none}
.gallery-search{width:230px}
#film-search{display:block;width:100%;max-width:none;border:0;border-radius:0;border-bottom:1px solid #f0dfb74d;padding:10px 0;margin:0;background:none;color:inherit;font:400 12px/1.5 Collection Sans,Arial,sans-serif;text-transform:none;outline-offset:3px}
#film-search::placeholder{color:inherit;opacity:.55}
#film-search:focus{border-bottom-color:currentColor}
.gallery-order{display:flex;align-items:center;gap:20px}
.gallery-order button{background:none;border:0;padding:12px 0;min-height:44px;color:inherit;font:400 11px/1.5 Collection Sans,Arial,sans-serif;letter-spacing:.01em;opacity:.5;text-underline-offset:5px}
.gallery-order button[aria-pressed=true]{opacity:1;text-decoration:underline;text-decoration-thickness:1px}
#color-spectrum{display:flex;gap:1px;width:84px;height:5px;opacity:0;transition:opacity 140ms ease}
#film-selector[data-sort=color] #color-spectrum{opacity:1}
#color-spectrum span{flex:1;background:color-mix(in srgb,var(--swatch) 65%,#f0dfb7)}
.gallery-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f0dfb75c transparent;padding:24px 28px 28px;scroll-padding:24px}
#film-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:26px;overflow:visible;max-height:none;height:auto;padding:0;margin:0;list-style:none}
.film-card{position:relative;min-width:0}
.film-card .film-choice{display:block;min-width:0;flex:1;min-height:0;padding:0;border:0;text-decoration:none;color:inherit;background:none;opacity:1;transform:none}
.print-image{display:block;text-decoration:none}.print-frame{display:block;aspect-ratio:1672/941;background:var(--print-ground);outline:1px solid #fff2;outline-offset:-1px;position:relative}
.print-frame::after{content:'';position:absolute;inset:-5px;border:1px solid transparent;pointer-events:none;transition:border-color 120ms ease}
.print-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;filter:none;mask:none;transform:none}
.film-card:hover .print-frame::after,.film-card:has(.film-choice:focus-visible) .print-frame::after{border-color:#f0dfb773}
.film-card[data-current=true] .print-frame::after{border-color:#f0dfb7}
.film-card .film-choice:hover .choice-name,.film-card .film-choice:focus-visible .choice-name{text-decoration:none}
.print-caption{display:flex;align-items:flex-start;gap:8px;padding-top:14px;min-height:70px}.print-caption-text{display:block;min-width:0;color:inherit}
.film-card .choice-name{display:block;font:400 21px/1.15 Film Display,Georgia,serif;letter-spacing:-.01em;text-wrap:pretty}
.film-card .choice-year{display:block;margin-top:6px;font:400 10px/1.5 Collection Sans,Arial,sans-serif;opacity:.6;font-variant-numeric:tabular-nums}
.card-download{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;margin-top:-8px;margin-right:-11px;justify-self:end;text-decoration:none;opacity:.55;transition:opacity 120ms ease}
.card-download:hover,.card-download:focus-visible{opacity:1}
.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:none;padding:12px 28px 14px;border-top:1px solid #f0dfb72e;background:#14251f}
.collection-format{font:400 10px/1.5 Collection Sans,Arial,sans-serif;opacity:.55;letter-spacing:.01em}
.gallery-footer #download-collection{display:inline-flex;align-items:center;gap:9px;min-height:44px;font:400 11px/1.5 Collection Sans,Arial,sans-serif;white-space:nowrap;text-transform:lowercase;text-decoration:none}
.gallery-footer #download-collection:hover{text-decoration:underline;text-underline-offset:5px}
#empty-search{padding:40px 0;font:400 20px/1.4 Film Display,Georgia,serif}

@media(max-width:700px){
 #film-selector{width:calc(100% - 24px);height:calc(100svh - 24px)}
 .gallery-header{padding:16px 18px 10px}.gallery-heading h2{font-size:30px}.gallery-heading{gap:12px}
 .gallery-tools{margin:0 18px;gap:15px;padding-bottom:12px;align-items:center}.gallery-search{width:auto;flex:1;min-width:0}
 #film-search{font-size:16px;padding:10px 0}.gallery-order{gap:14px}.gallery-order button{min-height:44px;font-size:11px}
 #color-spectrum{display:none}.gallery-scroll{padding:20px 18px 24px;scroll-padding:20px}
 #film-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;max-height:none}
 .film-card .film-choice{display:block;min-width:0;flex:1;min-height:0;padding:0}.film-card .choice-name{font-size:19px;line-height:1.15}
 .print-caption{padding-top:12px;min-height:69px;gap:3px}
 .card-download{margin-top:-7px;margin-right:-4px;width:36px;flex-basis:36px;position:relative}
 .card-download::after{content:'';position:absolute;inset:0 -4px}
 .gallery-footer{padding:8px 18px;gap:12px}.collection-format{font-size:9px;max-width:115px;line-height:1.6}
 .gallery-footer #download-collection{min-height:44px;font-size:10px}

}
@media(max-width:370px){.gallery-tools{gap:12px}.gallery-order{gap:10px}.film-card .choice-name{font-size:18px}.gallery-scroll{padding-inline:15px}#film-list{column-gap:14px}}
@media(prefers-reduced-motion:reduce){:root{transition:none}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0ms!important}}

.scene-visual{position:absolute;inset:0;z-index:-1}
/* A restrained paper surface continues outside the full, untouched image frame. */
.scene-paper{position:absolute;inset:0;z-index:-3;background:var(--ground);pointer-events:none}
.scene-paper::before{content:'';position:absolute;inset:0;background-image:url(assets/paper-material.svg);background-size:420px 420px;mix-blend-mode:soft-light;opacity:.10}
body::after{content:'';position:fixed;inset:0;z-index:40;pointer-events:none;background-image:url(assets/paper-grain.svg);background-repeat:repeat;opacity:.08;mix-blend-mode:soft-light}
.film-notes{text-shadow:0 1px 3px #0006}

/* Print study: heading, complete landscape, personal annotation, navigation. */
.mobile-review-source{display:none}
@media(max-width:700px){
 :root{--header-height:72px;--print-label-height:120px;--print-response-height:144px}
 .site-header{position:relative}
 #films{height:calc(var(--print-label-height) + 100vw * 941 / 1672 + var(--print-response-height))}
 .film-scene .scene-stage{display:grid;grid-template-columns:100%;grid-template-rows:var(--print-label-height) auto var(--print-response-height);overflow:visible}
 .film-notes{display:contents;text-shadow:none}
 .film-label,.film-response{grid-column:1;width:var(--label-width);margin-inline:auto;min-width:0}
 .film-label{grid-row:1;padding-top:8px}
 .film-heading h1{font-size:34px;line-height:1.08;letter-spacing:-.018em;text-wrap:pretty}
 .film-meta{margin-top:8px}
 .film-year{font-size:10px}
 .scene-visual{position:relative;inset:auto;grid-row:2;grid-column:1;aspect-ratio:1672 / 941;width:100%;z-index:0}
 .scene-art{position:relative;display:block;inset:auto;height:auto;aspect-ratio:1672 / 941;z-index:0}
 .scene-paper{display:none}
 .film-response{grid-row:3;display:grid;grid-template-rows:1fr 44px;align-items:start;padding-top:18px;padding-bottom:8px}
 .review-teaser{margin:0;max-width:none;font-size:15px;line-height:1.6;grid-row:1}
 .review-toggle,.review-source{grid-row:2;justify-self:start;align-self:end;margin:0;min-height:44px;font-size:10px;text-decoration:none}
 .review-toggle:hover,.review-source:hover{text-decoration:underline}
 .mobile-review-source{display:inline-flex}
 .scene-dock{min-height:60px;position:relative}
 .scene-dock::before{content:'';position:absolute;left:var(--page-inset);right:var(--page-inset);top:0;height:1px;background:currentColor;opacity:.16}
 .scene-dock button{font-size:11px;min-height:44px}
 .position-label{font-size:10px;letter-spacing:.04em}
}
@media(max-width:360px){
 :root{--header-height:56px;--print-label-height:120px;--print-response-height:156px}
 .film-heading h1{font-size:32px}
 .scene-dock{min-height:52px}
 .film-label{padding-top:8px}
}
