/* Film poster and player: no empty black surface before playback. */
.film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-cover{background:linear-gradient(transparent 45%,#0005);justify-content:flex-end;padding-bottom:25px}
.film-cover[hidden]{display:none!important}
.film-cover button{display:flex;align-items:center;gap:14px;min-height:55px;padding:10px 22px;border:1px solid #e8f2ff77;border-radius:99px;background:#071226b0;backdrop-filter:blur(12px);font-size:10px;letter-spacing:1.5px}
.film-cover button>span{display:grid;margin:0;width:34px;height:34px;border:0;box-shadow:none}
#film-status{font-size:11px;letter-spacing:0;min-height:18px;margin:10px 20px 0;padding:0;color:white;text-shadow:0 1px 4px #000}
#inline-film{opacity:0;pointer-events:none;transition:opacity .25s;background:transparent}
#inline-film.ready{opacity:1;pointer-events:none}
.film-help{font-size:11px;color:#9fb7d5;line-height:1.7;min-height:18px;margin:15px 0 0}
.site-nav nav a{min-height:44px;display:inline-flex;align-items:center}
.site-nav .invite-button{min-height:44px}
.waitlist-form input,.waitlist-form select{font-size:16px}
button,a,input,select{touch-action:manipulation}
dialog{overscroll-behavior:contain}
@media(max-width:760px){
 .site-nav{padding-top:env(safe-area-inset-top);height:calc(66px + env(safe-area-inset-top))}
 .site-nav .invite-button{font-size:10px}
 .film-stage{min-height:0;aspect-ratio:16/9;border-radius:8px}
 .film-cover{padding-bottom:12px}
 .film-cover button{padding:5px 14px;min-height:44px;font-size:8px;gap:6px}
 .film-cover button>span{width:24px;height:24px}
 #film-status{font-size:10px;margin:5px 10px 0;line-height:1.4}
 #film-status:empty{display:none}
 dialog{max-height:min(90svh,calc(100dvh - 30px));padding-bottom:max(25px,env(safe-area-inset-bottom))}
 footer{padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .invitation h2{font-size:clamp(48px,16vw,65px)}
}
@media(max-width:600px){.site-nav nav a:first-child{display:none}.site-nav{gap:10px;padding-inline:16px}.site-nav nav{gap:0}.site-nav .invite-button{padding:0 12px}}
@media(max-height:500px) and (orientation:landscape){.site-nav{height:54px}.invitation{padding-block:70px}.film-stage{max-height:80svh;aspect-ratio:16/9;width:auto;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){#inline-film{transition:none}}

/* One accessible button covers the film; Vimeo remains behind the NSL controls. */
.film-toggle{position:absolute;inset:0;z-index:3;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#edf5ff;touch-action:manipulation}
.film-toggle-pill{display:flex;align-items:center;gap:14px;padding:16px 24px;border:1px solid #e8f2ff77;border-radius:99px;background:#071226b0;backdrop-filter:blur(12px);font-size:10px;letter-spacing:1.5px;transition:opacity .25s,transform .25s}
#film-toggle-icon{font-size:18px;line-height:1}
.film-stage[data-state="playing"] .film-toggle-pill{opacity:0;transform:scale(.96)}
.film-stage[data-state="playing"] .film-toggle:focus-visible .film-toggle-pill{opacity:1;transform:none}
.film-toggle:focus-visible{outline-offset:-6px}
@media(hover:hover){.film-stage[data-state="playing"] .film-toggle:hover .film-toggle-pill{opacity:1;transform:none}}
@media(max-width:760px){.film-toggle-pill{padding:12px 18px;font-size:9px;gap:10px}}
@media(prefers-reduced-motion:reduce){.film-toggle-pill{transition:none}}
