/* AMIF 2025: the films lead the festival archive. */
.festival-film-hero{padding:118px clamp(24px,6.25vw,120px) 0;background:#0b0b0b}
.festival-film-heading{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:27px}
.festival-film-brand{display:flex;align-items:center;gap:25px;flex:none}
.festival-film-brand img{width:148px;height:70px;object-fit:contain}
.festival-film-brand span{font-size:10px;line-height:1.55;letter-spacing:.08em;color:#a9a9a9;padding-left:23px;border-left:1px solid #494949}
.festival-film-heading>div:last-child{text-align:right}
.festival-film-heading .eyebrow{font-size:9px;color:#999;letter-spacing:.12em;margin-bottom:10px}
.festival-film-heading h1{font-weight:400;font-size:clamp(29px,3.5vw,58px);line-height:1;letter-spacing:-.035em}
.film-player{position:relative;background:#050505;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden}
.film-player-hero{height:clamp(330px,56svh,700px);aspect-ratio:auto}
.film-player video{width:100%;height:100%;object-fit:contain;display:block;background:#050505}
.film-cover{position:absolute;inset:0;pointer-events:none;z-index:1;transition:opacity .25s}
.film-cover img{width:100%;height:100%;object-fit:cover;display:block}
.film-player-hero .film-cover img{object-position:center 55%}
.film-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 45%,rgba(0,0,0,.5))}
.film-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:2;color:white}
.film-play[hidden]{display:none}
.film-play-icon{width:72px;height:72px;border:1px solid #ffffffb0;border-radius:50%;display:grid;place-items:center;background:#1115;backdrop-filter:blur(8px);padding-left:3px;font-size:20px;transition:background .2s,transform .2s}
.film-play:hover .film-play-icon{background:#eee;color:#111;transform:scale(1.06)}
.film-play-caption{font-size:11px;letter-spacing:.13em;display:flex;align-items:center;gap:15px;text-shadow:0 1px 8px #000}
.film-play-caption small{font-size:10px;border-left:1px solid #bbb;padding-left:15px;letter-spacing:.06em}
.is-playing .film-cover{opacity:0;visibility:hidden}
.film-error{position:absolute;bottom:16px;left:16px;right:16px;z-index:3;font-size:12px;color:white;background:#111d;padding:10px}
.film-loading{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;gap:10px;background:#111e;color:#fff;padding:12px 18px;border-radius:4px;font-size:13px;white-space:nowrap;pointer-events:none}
.film-loading[hidden],.film-error[hidden]{display:none}
.film-loading span{width:17px;height:17px;border:2px solid #777;border-top-color:#fff;border-radius:50%;animation:film-spin .8s linear infinite}
@keyframes film-spin{to{transform:rotate(360deg)}}
.archive-video-player{position:relative;width:100%}
.archive-video-status{background:#292720;color:#fff;padding:18px;font-size:14px;line-height:1.7}
.archive-video-status[hidden]{display:none}
.archive-video-status button,.archive-video-status a{text-decoration:underline;margin-left:14px}
@media(prefers-reduced-motion:reduce){.film-loading span{animation:none}}
.film-hero-footer{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:22px 0 28px}
.film-hero-footer>p:first-child{font-size:13px;line-height:1.6;color:#ddd}
.film-hero-footer>p:first-child span{color:#888}
.film-spec{display:flex;gap:15px;align-items:center;font-size:9px;letter-spacing:.06em;color:#a6a6a6}
.film-spec span{border-left:1px solid #555;padding-left:15px}
.film-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #444;border-bottom:1px solid #444;padding:20px 0;gap:25px}
.film-chapters a{display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.05em}
.film-chapters a>span{color:#707070;font-size:10px}
.film-chapters b{margin-left:auto;font-size:15px;font-weight:400;color:#aaa}
.film-chapters a:hover{color:#d1d992}
.feature-film-section{padding:85px clamp(24px,6.25vw,120px);scroll-margin-top:30px;background:#111}
.feature-film-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}
.feature-film-heading .eyebrow{font-size:10px;letter-spacing:.1em;color:#929389;margin-bottom:21px}
.feature-film-heading h2{font-size:clamp(30px,4.25vw,68px);font-weight:400;letter-spacing:-.035em;line-height:1.06}
.feature-film-heading>div:last-child{max-width:360px;padding-bottom:3px}
.feature-film-heading>div:last-child>p{font-size:13px;line-height:1.65;color:#aaa}
.feature-film-heading a{display:inline-block;font-size:10px;letter-spacing:.05em;margin-top:24px;border-bottom:1px solid #777;padding-bottom:7px}
.film-bottom-line{display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.08em;color:#999;border-bottom:1px solid #444;padding:20px 0}
.awards-film-section{background:#181814}
.award-film-chapters{margin-top:28px}
.award-film-chapters>summary{font-size:10px;color:#999;letter-spacing:.08em;margin-bottom:20px}
.award-film-chapters>nav>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px}
.award-film-chapters button{display:flex;gap:12px;align-items:baseline;text-align:left;padding:15px 0;border-top:1px solid #444;font-size:12px;color:#ddd}
.award-film-chapters time{font-size:10px;color:#999;flex:none;font-variant-numeric:tabular-nums}
.award-film-chapters b{font-weight:400;margin-left:auto}
.award-film-chapters button:hover{color:#d1d992}
.film-player video::cue{font-family:Arial,Helvetica,sans-serif;background:rgba(0,0,0,.82);color:#fff}
body:has(.film-player) .donate-tab{display:none}
@media(max-width:1000px){.festival-film-brand{gap:16px}.festival-film-brand img{width:125px}.festival-film-brand span{font-size:8px;padding-left:16px}.film-spec{font-size:8px;gap:10px}.film-spec span{padding-left:10px}.film-chapters{gap:16px}.film-chapters a{font-size:9px;gap:8px}.award-film-chapters>nav>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.festival-film-hero{padding-top:96px}.festival-film-heading{align-items:end;gap:15px;margin-bottom:22px}.festival-film-brand img{width:100px;height:60px}.festival-film-brand span{display:none}.festival-film-heading .eyebrow{font-size:7px;letter-spacing:.05em;max-width:180px;line-height:1.5;margin-bottom:8px}.festival-film-heading h1{font-size:23px}.film-player-hero{height:auto;aspect-ratio:16/9}.film-play{gap:13px}.film-play-icon{width:53px;height:53px;font-size:14px}.film-play-caption{font-size:9px;letter-spacing:.07em;gap:10px}.film-play-caption small{font-size:8px;padding-left:10px}.film-hero-footer{display:block;padding:19px 0 25px}.film-hero-footer>p:first-child{font-size:12px;line-height:1.7}.film-spec{font-size:8px;margin-top:18px}.film-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 25px;padding:23px 0}.film-chapters a{font-size:9px}.film-chapters b{font-size:12px}.feature-film-section{padding-top:55px;padding-bottom:55px}.feature-film-heading{display:block;margin-bottom:27px}.feature-film-heading h2{font-size:35px}.feature-film-heading .eyebrow{font-size:9px;margin-bottom:17px}.feature-film-heading>div:last-child{margin-top:25px;max-width:none}.feature-film-heading>div:last-child>p{font-size:12px}.feature-film-heading a{font-size:9px;margin-top:15px}.film-bottom-line{font-size:8px;line-height:1.7;gap:20px;padding:15px 0}.film-bottom-line>span:last-child{text-align:right;flex:none}.award-film-chapters>nav>div{grid-template-columns:1fr}.award-film-chapters button{font-size:12px}.film-error{font-size:10px;left:8px;right:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.film-cover,.film-play-icon{transition:none}.film-play:hover .film-play-icon{transform:none}}

/* Use the original mark without its square image padding. */
.film-brand-art{width:160px;height:80px;overflow:hidden;position:relative;flex:none}
.festival-film-brand .film-brand-art img{width:175px;height:175px;max-width:none;position:absolute;left:-10px;top:-44px;object-fit:contain}
@media(max-width:700px){.film-brand-art{width:110px;height:55px}.festival-film-brand .film-brand-art img{width:125px;height:125px;left:-8px;top:-32px}}

.film-fallback{position:absolute;inset:auto 20px 20px;z-index:4;background:#111;padding:14px;text-align:center;text-decoration:underline}

.full-concert-section{background:#101c19;color:#eeeade;padding-top:45px}
.full-concert-section .feature-film-heading h2{font-family:Georgia,serif;font-size:clamp(38px,5.5vw,80px);font-weight:400}
.concert-navigation{margin-top:22px}.concert-navigation .ceremony-timeline-wrap{margin:0 0 28px}
.concert-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.concert-chapter{display:block;text-align:left;min-width:0;color:inherit;padding:0;border:0;background:transparent;cursor:pointer}
.concert-chapter-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#06110e}
.concert-chapter-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s;filter:saturate(.75)}
.concert-chapter-image>span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf0de;color:#123528;transition:transform .35s;font-size:22px}
.concert-chapter:hover img{transform:scale(1.055);filter:saturate(1.1)}.concert-chapter:hover .concert-chapter-image>span{transform:rotate(45deg)}
.concert-chapter-meta{display:flex;justify-content:space-between;gap:15px;color:#9db29c;font-size:9px;letter-spacing:.07em;margin:15px 0 9px}
.concert-chapter strong{font:400 clamp(24px,2.7vw,38px)/1.1 Georgia,serif;display:block;padding-bottom:16px;border-bottom:1px solid #a4b99844;transition:color .25s}
.concert-chapter.is-current-chapter strong,.concert-chapter:hover strong{color:#d8c493}.concert-chapter.is-current-chapter .concert-chapter-image{outline:2px solid #c8cba7;outline-offset:4px}
@media(max-width:700px){.concert-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}.concert-chapter-meta{font-size:7px;gap:5px}.concert-chapter strong{font-size:23px}.concert-chapter-image>span{width:25px;height:25px;font-size:16px;right:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.concert-chapter-image img,.concert-chapter-image>span{transition:none;transform:none!important}}

.award-film-chapters summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:12px 0}.award-film-chapters summary::-webkit-details-marker{display:none}.award-film-chapters[open] summary span{transform:rotate(45deg)}
.archive-video-player{display:flex;flex-direction:column;align-items:center}
.archive-video-status{width:100%}
.film-player video::cue{font-size:clamp(12px,2.2vw,30px)}

/* Visible ceremony milestones share one native video; no additional media load. */
.ceremony-navigation{color:#ecebe1;margin-top:42px;--ceremony-accent:#d5c595;--ceremony-quiet:#aab8ae}
.ceremony-navigation-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:23px}
.ceremony-navigation-heading .eyebrow{font-size:10px;letter-spacing:.13em;color:var(--ceremony-quiet);margin:0 0 10px}
.ceremony-navigation-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,3.4vw,46px);font-weight:400;line-height:1.12;margin:0;letter-spacing:-.025em}
.ceremony-navigation-heading>p{max-width:290px;font-size:12px;line-height:1.6;color:var(--ceremony-quiet);margin:0}
.ceremony-moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.ceremony-moment{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:17px;min-width:0;text-align:left;padding:23px 21px 25px;background:#ffffff04;border:1px solid #b5c5b333;border-radius:0;color:inherit;transition:background .25s,border-color .25s,transform .25s;cursor:pointer}
.ceremony-moment-top{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--ceremony-quiet);letter-spacing:.05em}
.ceremony-moment-top>span{color:var(--ceremony-accent)}
.ceremony-moment-top time{font-variant-numeric:tabular-nums}
.ceremony-moment-top b{margin-left:auto;font-size:20px;line-height:1;font-weight:400;transition:transform .25s}
.ceremony-moment strong{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(20px,1.8vw,28px);line-height:1.2;min-height:2.4em}
.ceremony-moment-description{font-size:12px;line-height:1.65;color:#bac4ba}
.ceremony-moment:hover,.ceremony-moment.is-current-chapter{background:#b3c7ad12;border-color:#c6cd9988}
.ceremony-moment:hover .ceremony-moment-top b{transform:translate(2px,-2px)}
.ceremony-navigation button:focus-visible,.award-film-chapters summary:focus-visible{outline:2px solid var(--ceremony-accent);outline-offset:4px}
.ceremony-timeline-wrap{margin-top:25px}
.ceremony-timeline-caption{display:flex;justify-content:space-between;gap:20px;align-items:baseline;font-size:11px;line-height:1.5;color:#b9c3b9;margin-bottom:3px}
.ceremony-timeline-caption>span:last-child{flex:none;font-variant-numeric:tabular-nums;font-size:10px;color:#96a99c}
.ceremony-timeline{display:flex;gap:3px;align-items:stretch;height:34px}
.ceremony-timeline button{position:relative;display:block;flex:var(--chapter-share) 1 0;min-width:7px;border:0;padding:14px 0;cursor:pointer;background:transparent}
.ceremony-timeline button:before{content:'';position:absolute;inset:14px 0;background:#bed2be2b;transition:inset .2s,background .2s}
.ceremony-timeline button>span{position:absolute;inset:14px auto 14px 0;width:var(--chapter-progress,0%);background:linear-gradient(90deg,#7faf9e,#d4c693);pointer-events:none;transition:inset .2s}
.ceremony-timeline button:hover:before,.ceremony-timeline button:focus-visible:before{background:#c2c9ab77;inset:11px 0}
.ceremony-timeline button:hover>span,.ceremony-timeline button:focus-visible>span{top:11px;bottom:11px}
.ceremony-timeline button.is-current-chapter:before{background:#cad8bd55}
.ceremony-navigation .award-film-chapters{margin-top:16px;border-top:1px solid #b5c5b333}
.ceremony-navigation .award-film-chapters>summary{margin:0;padding:21px 0;color:#bdc8bc;min-height:48px}
.ceremony-navigation .award-film-chapters button{color:#ccd3c9;border-color:#b5c5b326;min-height:48px;font-size:12px}
.ceremony-navigation .award-film-chapters button.is-current-chapter{color:var(--ceremony-accent)}
.ceremony-navigation .award-film-chapters button.is-current-chapter time{color:var(--ceremony-accent)}
@media(max-width:1050px){.ceremony-moments{grid-template-columns:repeat(2,minmax(0,1fr))}.ceremony-moment strong{min-height:0}.ceremony-moment{gap:14px;padding:20px}}
@media(max-width:600px){.ceremony-navigation{margin-top:28px}.ceremony-navigation-heading{display:block}.ceremony-navigation-heading>p{margin-top:12px;font-size:12px;max-width:none}.ceremony-moments{gap:10px}.ceremony-moment{padding:17px 14px;gap:12px}.ceremony-moment strong{font-size:21px;min-height:2.4em}.ceremony-moment-description{font-size:11px;line-height:1.6}.ceremony-moment-top{gap:11px}.ceremony-timeline-caption{font-size:10px;gap:12px;min-height:30px;align-items:center}.ceremony-timeline{gap:2px}.ceremony-timeline button{min-width:5px}.ceremony-navigation .award-film-chapters>summary{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ceremony-moment,.ceremony-moment-top b,.ceremony-timeline button:before,.ceremony-timeline button>span{transition:none}.ceremony-moment:hover .ceremony-moment-top b{transform:none}}

/* The recap logo remains clear; the play control sits below the artwork. */
.film-player[data-film="recap"] .film-cover img{object-fit:contain;object-position:center;background:#050505}
.film-player[data-film="recap"] .film-cover-shade{background:linear-gradient(0deg,#0007,transparent 30%)}
.film-player[data-film="recap"] .film-play{flex-direction:row;justify-content:flex-start;align-items:flex-end;padding:28px;gap:18px}
.film-player[data-film="recap"] .film-play-caption{height:60px}
.film-player[data-film="recap"] .film-play-icon{width:60px;height:60px;flex:none}
@media(max-width:700px){.film-player[data-film="recap"] .film-play{padding:12px;gap:10px}.film-player[data-film="recap"] .film-play-icon{width:36px;height:36px;font-size:11px}.film-player[data-film="recap"] .film-play-caption{height:36px}}
