/* The seasonal contact sheet and film rebate, scoped to standalone pieces. */
.story-index-link{margin-top:16px;color:var(--f3-ink);gap:18px;font-size:11px}
.film-index{background:var(--f3-rebate);color:var(--f3-paper);padding:clamp(70px,13vh,160px) var(--f3-gutter);scroll-margin-top:24px}
.film-index .film-wrap{max-width:1280px;margin:0 auto}
.film-index .f3-eyebrow{color:rgba(237,234,224,.62);margin-bottom:14px}
.film-index .film-title{font:300 clamp(35px,6vw,74px)/1 var(--f3-serif);letter-spacing:-.02em;margin:0 0 clamp(24px,4vh,44px)}
.film-index .film-intro{font:300 18px/1.65 var(--f3-serif);color:rgba(237,234,224,.72);margin:-8px 0 24px;max-width:65ch}
.film-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(26px,4vh,46px)}
.film-filters button{font:400 9px/1.7 var(--f3-mono);letter-spacing:.2em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--f3-line);border-radius:999px;color:rgba(237,234,224,.68);min-height:36px;transition:color .25s,border-color .25s,background-color .25s}
.film-filters button:hover{color:var(--f3-paper);border-color:rgba(237,234,224,.4)}
.film-filters button[aria-pressed=true]{color:var(--f3-rebate);background:var(--f3-paper);border-color:var(--f3-paper)}
.film-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px 12px}
.film-slot{display:flex;flex-direction:column;min-width:0}
.film-slot>a{display:block;background:var(--f3-field)}
.film-slot>a:hover{opacity:1}
.film-slot .film-box{display:block;aspect-ratio:3/2;overflow:hidden}
.film-slot img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .25s ease}
.film-slot>a:hover img{opacity:.75}
.film-slot .film-holes{height:12px;flex:none;background-image:repeating-linear-gradient(90deg,transparent 0 7px,rgba(237,234,224,.2) 7px 16px,transparent 16px 23px);background-size:23px 6px;background-position:center;background-repeat:repeat-x}
.film-slot .film-slot-meta{display:flex;justify-content:space-between;gap:8px;padding:5px 2px 0;font:400 8px/1.7 var(--f3-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--f3-edge);white-space:nowrap;overflow:hidden}
.film-slot .film-slot-title{color:rgba(237,234,224,.62);overflow:hidden;text-overflow:ellipsis}
.film-index .film-count{margin-top:clamp(22px,4vh,40px);font:400 10px/1.8 var(--f3-mono);letter-spacing:.2em;text-transform:uppercase;color:rgba(237,234,224,.62)}
.film-open,.photo-open{overflow:hidden}
.film-viewer{position:fixed;inset:0;width:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--f3-rebate);color:var(--f3-paper);overflow:hidden}
.film-viewer[open]{display:flex;flex-direction:column}
.film-viewer::backdrop{background:var(--f3-rebate)}
.film-viewer button,.film-viewer a{color:inherit}
.film-viewer .film-bar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:18px clamp(18px,4vw,40px) 10px;flex:none}
.film-viewer .film-issue{font:400 9px/1.7 var(--f3-mono);letter-spacing:.28em;text-transform:uppercase;color:rgba(237,234,224,.62);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.film-viewer .film-current{font:400 11px/1.7 var(--f3-mono);letter-spacing:.26em;font-variant-numeric:tabular-nums;white-space:nowrap}
.film-viewer [data-viewer-current]{color:var(--f3-red)}
.film-viewer .film-close{justify-self:end;font:400 11px/1.7 var(--f3-mono);letter-spacing:.24em;text-transform:uppercase;min-height:28px}
.film-viewer .film-edge{display:flex;justify-content:space-between;gap:14px;padding:2px clamp(18px,4vw,40px) 6px;font:400 10px/1.7 var(--f3-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--f3-edge);flex:none;background:none;height:auto;margin-bottom:0}
.film-viewer .film-frame{white-space:nowrap}
.film-viewer>.film-holes{height:16px;margin:0 clamp(18px,4vw,40px);flex:none;background-image:repeating-linear-gradient(90deg,transparent 0 10px,rgba(237,234,224,.18) 10px 24px,transparent 24px 34px);background-size:34px 8px;background-position:center;background-repeat:repeat-x}
.film-viewer .film-stage{position:relative;flex:1;min-height:0;overflow:hidden;margin:6px clamp(18px,4vw,40px)}
.film-viewer .film-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s ease}
.film-viewer .film-layer.on{opacity:1}
.film-viewer .film-arrow{position:absolute;top:0;bottom:0;width:32%;z-index:2;display:flex;align-items:center;min-width:44px}
.film-viewer .film-arrow.prev{left:0;justify-content:flex-start;padding-left:clamp(6px,2vw,24px)}
.film-viewer .film-arrow.next{right:0;justify-content:flex-end;padding-right:clamp(6px,2vw,24px)}
.film-viewer .film-arrow svg{width:18px;height:28px;opacity:.65;transition:opacity .25s}
.film-viewer .film-arrow:hover svg{opacity:1}
.film-viewer .film-caption{position:relative;flex:none;display:flex;flex-direction:column;gap:6px;align-items:center;padding:14px 20px clamp(22px,4.5vh,36px);text-align:center}
.film-viewer .film-caption-title{font:italic 300 clamp(20px,3vw,28px)/1.2 var(--f3-serif);margin:0}
.film-viewer .film-caption-meta{font:400 9px/1.8 var(--f3-mono);letter-spacing:.2em;text-transform:uppercase;color:rgba(237,234,224,.62);margin:0;max-width:85ch}
.film-viewer .film-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 30px;margin-top:8px}
.film-viewer .film-actions a,.film-viewer .film-actions button{font:400 9px/1.7 var(--f3-mono);letter-spacing:.2em;text-transform:uppercase;color:rgba(237,234,224,.65);border-bottom:1px solid rgba(237,234,224,.25);padding-bottom:2px;text-decoration:none;min-height:28px;transition:color .25s,border-color .25s}
.film-viewer .film-actions a:hover,.film-viewer .film-actions button:hover{color:var(--f3-paper);border-color:rgba(237,234,224,.6)}
.film-viewer .film-status{font:400 11px/1.7 var(--f3-mono);color:var(--f3-paper);margin:0}
.film-viewer .film-status:empty{display:none}
.film-viewer .film-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.film-viewer [data-viewer-copy]{width:min(100%,60ch);font:400 12px/1.6 var(--f3-mono);padding:8px;border:1px solid var(--f3-line);border-radius:0;background:var(--f3-field);color:var(--f3-paper);text-overflow:ellipsis;caret-color:var(--f3-red)}
.film-viewer .film-error{position:absolute;bottom:8px;left:20%;right:20%;z-index:3;padding:12px;background:var(--f3-rebate);font:400 11px/1.8 var(--f3-mono);text-align:center}
.film-viewer .film-error a{text-decoration:underline;text-underline-offset:4px}
.film-index [hidden],.film-viewer [hidden]{display:none!important}
.film-index ::selection,.film-viewer ::selection{background:var(--f3-red);color:var(--f3-paper)}
.film-index :focus-visible,.film-viewer :focus-visible{outline:2px solid var(--f3-red);outline-offset:4px}
.film-index,.film-viewer{scrollbar-color:var(--f3-soft) var(--f3-rebate)}
@media(max-width:760px){.film-index{padding-left:20px;padding-right:20px}.film-index .film-title{font-size:clamp(36px,9vw,58px)}.film-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.film-filters button{min-height:44px}.film-viewer .film-bar{gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding-top:14px}.film-viewer .film-issue{font-size:8px;letter-spacing:.15em}.film-viewer .film-current,.film-viewer .film-close{font-size:11px;letter-spacing:.12em}.film-viewer .film-close{min-height:36px}.film-viewer .film-edge{font-size:8px;letter-spacing:.12em}.film-viewer .film-caption{padding-bottom:max(20px,env(safe-area-inset-bottom))}.film-viewer .film-caption-meta{font-size:8px;letter-spacing:.12em;max-width:45ch}.film-viewer .film-actions{gap:12px 20px}.film-viewer .film-actions a,.film-viewer .film-actions button{min-height:36px}.film-viewer .film-error{left:8%;right:8%}}
@media(max-height:500px){.film-viewer .film-bar{padding-top:6px;padding-bottom:4px}.film-viewer .film-caption{padding:6px 20px 8px;gap:2px}.film-viewer .film-caption-title{font-size:19px}.film-viewer .film-actions{margin-top:2px}.film-viewer>.film-holes{height:10px}.film-viewer .film-edge{padding-bottom:2px}}
@media(prefers-reduced-motion:reduce){.film-viewer .film-layer,.film-slot img,.film-filters button,.film-viewer .film-arrow svg,.film-viewer .film-actions a,.film-viewer .film-actions button{transition:none}}
