
:root{color-scheme:light;--background:#f5f4f0;--text:#22211f;--muted:#686661}
.header,.work-page{background:var(--background)}
.detail-heading>p,.text-detail .detail-heading>p,.text-detail .lead,.text-detail .body-copy{color:#56534f}
.text-detail .detail-section,footer,.detail-section,.project-pagination{border-color:#deddd9}
.breadcrumbs,.archive-meta,.archive-intro,.festival-list small{color:#706d67}
.role-selector a,.type-selector a,.unified-project-grid>p{color:#77736d}
.role-selector a[aria-current],.type-selector a[aria-current]{color:var(--text)}
nav a:hover,nav button:hover{color:#77736d}
.festival-list span{color:var(--text)}
.notice{background:#f5f4f0;border-color:#d3d0c9}
.project-copy{--text:#f0eee8;color:var(--text)}
.neutral-placeholder{background:#f0efec;color:#666}
.credit-list dd,.lead,.body-copy{color:#56534f}
.sample-row,.archive-bottom{border-color:#deddd9}

/* Image-led film pages: a compact opening, unaltered still, quiet editorial text. */
.image-led-detail.archive{max-width:1320px;width:calc(100% - 112px);padding-top:132px;padding-bottom:92px}
.image-led-detail .breadcrumbs{margin-bottom:32px}
.film-opening{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}
.film-kind{font:700 10px/1.5 var(--sans);letter-spacing:.08em;color:#6d6a64;margin:0 0 12px}
.archive .film-opening h1{font:400 clamp(48px,5.6vw,80px)/1 var(--serif);letter-spacing:-.025em;color:var(--text);margin:0}
.film-summary{text-align:right;padding-bottom:3px}
.film-summary>p{font:400 13px/1.8 var(--sans);color:#5b5852;margin:0}
.film-summary .film-facts{display:flex;gap:10px;justify-content:flex-end;font-size:12px;margin-top:5px}
.film-frame{margin:0;width:100%}
.film-frame img{display:block;width:100%;height:auto;filter:none;opacity:1}
.image-led-detail .detail-section{grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:48px;padding-top:0;margin-top:48px;border:0}
.image-led-detail .detail-section>h2{font-size:11px;padding-top:5px}
.image-led-detail .lead,.image-led-detail .body-copy{font-size:16px;line-height:1.85;color:#514e49;max-width:720px}
.image-led-detail .detail-section+.detail-section{border-top:1px solid #dcdad4;padding-top:32px;margin-top:40px}
.image-led-detail .festival-list{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px}
.image-led-detail .festival-list li{margin:0}
.image-led-detail .festival-list span{font-size:14px;line-height:1.6}
.image-led-detail .festival-list small{font-size:12px}
@media(max-width:700px){
.image-led-detail.archive{width:calc(100% - 40px);padding-top:106px;padding-bottom:60px}
.image-led-detail .breadcrumbs{margin-bottom:26px}
.film-opening{display:block;margin-bottom:24px}
.film-summary{text-align:left;margin-top:18px}
.film-summary .film-facts{justify-content:flex-start;flex-wrap:wrap}
.archive .film-opening h1{font-size:48px}
.image-led-detail .detail-section{display:block;margin-top:30px}
.image-led-detail .detail-section>h2{margin-bottom:16px}
.image-led-detail .detail-section+.detail-section{margin-top:30px;padding-top:26px}
.image-led-detail .festival-list{grid-template-columns:1fr}
}

.festival-feature{margin:64px 0 0;padding:42px 0;border-top:1px solid #d8d5cd;border-bottom:1px solid #d8d5cd}
.recognition-top h2,.gallery-heading h2{font:400 38px/1.2 var(--serif);letter-spacing:-.02em;margin:0}
.recognition-highlights{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:32px 0 42px}
.recognition-highlights article{display:flex;align-items:center;gap:24px;min-width:0}
.recognition-highlights img{width:43%;height:190px;object-fit:contain;mix-blend-mode:multiply}
.recognition-highlights h3{font:400 27px/1.15 var(--serif);margin:9px 0 13px;letter-spacing:-.015em}
.recognition-highlights p{font:400 12px/1.6 var(--sans);color:#666259;margin:0}
.recognition-highlights .award-status{font-size:10px;letter-spacing:.08em;font-weight:700;color:#25241f}
.qualifying-note{font:600 12px/1.6 var(--sans);text-decoration:underline;text-underline-offset:4px}
.image-led-detail .other-festivals .festival-list{grid-template-columns:repeat(3,1fr);gap:24px 40px}
.film-gallery{margin:64px 0}
.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px}
.gallery-heading p{font-size:10px;letter-spacing:.07em;color:#777}
.still-sequence{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gallery-frame{display:block;width:100%;cursor:zoom-in;line-height:0}
.gallery-frame img{width:100%;height:auto;display:block}
.gallery-frame:nth-child(3){grid-column:1/-1}
.gallery-frame:nth-child(4){grid-column:1/-1;width:74%;justify-self:center;margin-top:12px}
.still-viewer{padding:60px 24px 24px;border:0;max-width:96vw;max-height:96svh;background:#f5f4f0}
.still-viewer::backdrop{background:rgba(15,15,15,.88)}
.still-viewer img{display:block;max-width:90vw;max-height:80svh;object-fit:contain}
.close-still{position:absolute;right:24px;top:10px;min-height:40px;font-size:12px;font-weight:700;color:#222}
@media(max-width:800px){.recognition-highlights{grid-template-columns:1fr;gap:32px}.recognition-highlights article{gap:20px}.recognition-highlights img{height:165px;width:38%}.image-led-detail .other-festivals .festival-list{grid-template-columns:1fr 1fr}.festival-feature{margin-top:40px;padding:30px 0}.film-gallery{margin:40px 0}.recognition-top h2,.gallery-heading h2{font-size:32px}}
@media(max-width:500px){.still-sequence{grid-template-columns:1fr;gap:16px}.gallery-frame:nth-child(4){width:100%;margin-top:0}.image-led-detail .other-festivals .festival-list{grid-template-columns:1fr}.recognition-highlights h3{font-size:24px}.gallery-heading p{display:none}}

.festival-feature,.film-gallery{scroll-margin-top:115px}

.image-led-detail .ordered-festivals{display:flex;flex-direction:column;gap:20px}
.ordered-festivals strong,.festival-qualification{font-weight:600;color:#393730}
.festival-qualification:hover{text-decoration:underline;text-underline-offset:3px}
#recognition{scroll-margin-top:125px}

/* Readable two-column festival index, in row order. */
.image-led-detail .ordered-festivals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.image-led-detail .ordered-festivals span{font-size:18px;line-height:1.45}
.image-led-detail .ordered-festivals small{font-size:15px;line-height:1.65;margin-top:7px}
.music-detail .film-opening{align-items:flex-end}
.music-detail .film-opening h1{font-size:clamp(42px,5.4vw,76px)}
.music-detail .music-artist{font:500 18px/1.5 var(--sans);margin:16px 0 0;color:#55514b}
.music-detail .film-frame{margin-bottom:0}
@media(max-width:700px){.image-led-detail .ordered-festivals{grid-template-columns:1fr;gap:25px}.image-led-detail .ordered-festivals span{font-size:18px}.music-detail .film-opening h1{font-size:42px}.music-detail .music-artist{font-size:16px}}

.project-credits{margin-top:72px;padding-top:32px;border-top:1px solid #dcdad4}
.project-credits>h2{font:700 12px/1.5 var(--sans);letter-spacing:.04em;margin:0 0 30px}
.credit-columns{display:grid;grid-template-columns:1fr 2fr;gap:64px}
.archive .credit-group h3{font:700 11px/1.5 var(--sans);letter-spacing:.05em;margin:0 0 22px;color:#77736d}
.credit-group dl{margin:0}.credit-group dl>div{margin-bottom:19px;break-inside:avoid}
.credit-group dt{font-size:12px;line-height:1.5;color:#77736d;margin-bottom:4px}
.credit-group dd{font-size:15px;line-height:1.6;margin:0;color:#393730}
.credit-columns .credit-group:last-child dl{columns:2;column-gap:36px}
.project-credits>.credit-group{margin-top:32px;max-width:760px}
.music-player{width:100%;aspect-ratio:16/9;background:#171717;position:relative}
.video-poster{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.video-poster img{width:100%;height:100%;object-fit:contain;display:block}
.video-poster span{position:absolute;left:24px;bottom:24px;padding:14px 18px;background:#f5f4f0;color:#222;font-size:12px;font-weight:700;letter-spacing:.04em}
.music-player iframe{width:100%;height:100%;border:0;display:block}
.watch-external{font:700 11px/1.5 var(--sans);letter-spacing:.04em;margin:18px 0 0;text-align:right}
.watch-external a:hover{text-decoration:underline}
@media(max-width:700px){.credit-columns{grid-template-columns:1fr;gap:28px}.credit-columns .credit-group:last-child dl{columns:1}.project-credits{margin-top:48px}.video-poster span{left:12px;bottom:12px;padding:10px;font-size:10px}}

/* Shared detail-page typography: serif only for the project title. */
.image-led-detail{--detail-body:17px;--detail-label:13px;--detail-meta:14px}
.image-led-detail .film-opening h1{font-family:var(--serif);font-weight:400}
.image-led-detail .detail-section>h2,
.image-led-detail .gallery-heading h2,
.image-led-detail .project-credits>h2{
 font:700 var(--detail-label)/1.5 var(--sans);letter-spacing:.045em;
 text-transform:uppercase;color:var(--text);margin:0;
}
.image-led-detail .project-credits>h2{margin-bottom:30px}
.image-led-detail .lead,.image-led-detail .body-copy{
 font:400 var(--detail-body)/1.8 var(--sans);letter-spacing:0;color:#514e49;max-width:720px;
}
.image-led-detail .film-kind,.image-led-detail .credit-group h3{
 font:700 var(--detail-label)/1.5 var(--sans);letter-spacing:.045em;
}
.image-led-detail .film-summary>p,.image-led-detail .film-summary .film-facts,
.image-led-detail .gallery-heading p,.image-led-detail .credit-group dt{
 font:400 var(--detail-meta)/1.6 var(--sans);letter-spacing:0;color:#686661;
}
.image-led-detail .credit-group dd{font:400 16px/1.7 var(--sans);color:#514e49}
.image-led-detail .ordered-festivals span{font:400 18px/1.5 var(--sans);letter-spacing:0}
.image-led-detail .ordered-festivals small{font:400 15px/1.65 var(--sans)}
.image-led-detail .ordered-festivals strong,.image-led-detail .festival-qualification{font-weight:700}
@media(max-width:700px){.image-led-detail{--detail-body:16px;--detail-meta:13px}}
