/* Media surfaces retain the approved Mission grow and event/gallery dimensions. */
.film-background{overflow:hidden;background:#080807;pointer-events:none}
.film-background>img,.film-background>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.72);transition:none}
.film-background>video{opacity:0}
.film-background.is-playing>video{opacity:1}
/* Mission keeps its original growing photograph; the film lives in its small tab. */
.mission .mission-film{position:relative;z-index:2;width:min(300px,30vw);min-height:0;aspect-ratio:16/9;padding:0;border-radius:0;background:rgba(8,8,7,.55);opacity:0;transform:translateY(12px);transition:opacity .35s,transform .35s;pointer-events:none;cursor:pointer;scroll-margin-top:35svh}
.mission .mission-stage.is-full .mission-film,.mission .mission-film:focus{opacity:1;transform:none;pointer-events:auto}
.mission-film:focus-visible{outline:2px solid var(--bone);outline-offset:3px}
@media(max-width:760px){.mission .mission-film{width:min(240px,70%)}}
/* Ramadan keeps the photograph, with low-left copy and a compact right-hand preview. */
.ramadan{--ramadan-frame-inset:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:4vw}
.ramadan>.ramadan-poster{inset:var(--ramadan-frame-inset)}
.ramadan>.section-copy{width:min(55%,600px);flex-shrink:0}
.ramadan>.ramadan-preview{position:absolute;inset:28% var(--ramadan-frame-inset) auto auto;z-index:2;width:min(300px,30vw);min-height:0;aspect-ratio:16/9;padding:0;border-radius:0;box-shadow:-14px 12px 36px rgba(0,0,0,.28);opacity:1;transform:none;transition:none;pointer-events:auto;cursor:pointer}
.ramadan-preview:focus-visible{outline:2px solid var(--bone);outline-offset:3px}
.ramadan>.ramadan-poster::after{background:linear-gradient(90deg,rgba(5,5,5,.62),rgba(5,5,5,.12) 75%),linear-gradient(0deg,rgba(5,5,5,.7),transparent 65%)}
@media(max-width:760px){.ramadan{--ramadan-frame-inset:16px;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:22px}.ramadan>.section-copy{width:100%}.ramadan>.ramadan-preview{top:26%;width:min(240px,70%)}}
.event-stage .film-background{padding:0}
.event-stage button.film-background{pointer-events:auto;cursor:pointer;border-radius:0}
.event-stage button.film-background>img,.event-stage button.film-background>video,.event-stage button.film-background::after{pointer-events:none}
.event-stage button.film-background:focus-visible{outline:2px solid var(--bone);outline-offset:3px}
.event-stage .film-background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.16)),linear-gradient(0deg,rgba(0,0,0,.35),transparent)}
#summit .film-background>img,#summit .film-background>video{filter:grayscale(1) blur(2px) brightness(.65);opacity:.7}
#summit .film-background>video{opacity:0}
#summit .film-background.is-playing>video{opacity:.7}
.film-dialog{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:#000;color:var(--bone);overflow:hidden;overscroll-behavior:contain}
.film-dialog::backdrop{background:#000}
.film-close{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-width:112px;min-height:44px;padding:10px 16px;background:#171716;color:var(--bone);border:1px solid var(--line);cursor:pointer;font:500 13px/1.4 var(--font,Arial,sans-serif)}
.film-close span{margin-left:14px}
.film-close:focus-visible{outline:2px solid var(--bone);outline-offset:3px}
.film-focus-start,.film-focus-end{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.film-player{position:absolute;inset:calc(72px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.film-player iframe{display:block;width:100%;height:100%;border:0;filter:none}
@media(prefers-reduced-motion:reduce){.film-background>video{display:none}.mission .mission-film{opacity:1;transform:none;pointer-events:auto;transition:none}.ramadan>.ramadan-preview{opacity:1;transform:none;pointer-events:auto;transition:none}}
/* Make the phone previews recognizable as playable films, even when the
   browser blocks muted autoplay and the supplied poster remains visible. */
@media(max-width:767px){
 .film-background:is(button,[role="button"]){pointer-events:auto;cursor:pointer}
 .film-background:is(button,[role="button"])::before{content:"";position:absolute;z-index:3;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);border:1px solid rgba(240,238,232,.85);border-radius:50%;background:rgba(8,8,7,.65) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='20' viewBox='0 0 18 20'%3E%3Cpath fill='%23f0eee8' d='M3 2v16l13-8z'/%3E%3C/svg%3E") center/18px 20px no-repeat;pointer-events:none}
 .film-background[role="button"]:focus-visible{outline:2px solid var(--bone);outline-offset:-3px}
 #summit .film-background>img,#summit .film-background>video{filter:grayscale(1) brightness(.85)}
 #summit .film-background>img,#summit .film-background.is-playing>video{opacity:1}
}
