.edge-promise .session-film { position: relative; aspect-ratio: 9 / 16; max-width: 440px; justify-self: center; background: #171312; }
.session-film-start { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; cursor: pointer; background: #171312; color: #fff; font: inherit; }
.session-film-start img { display: block; object-fit: cover; }
.session-film-start::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%, rgba(0,0,0,.72)); pointer-events: none; }
.session-film-play { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; background: rgba(23,19,18,.65); font-size: 26px; padding-left: 4px; box-sizing: border-box; }
.session-film-start:hover .session-film-play { background: rgba(23,19,18,.9); }
.session-film-start:focus-visible { outline: 3px solid #c9a987; outline-offset: 5px; }
.session-film-label { position: absolute; z-index: 1; bottom: 28px; left: 16px; right: 16px; text-align: center; font-size: 15px; letter-spacing: .04em; }
.session-film-label span { display: block; margin-top: 7px; font-size: 12px; }
.session-film-player { display: block; width: 100%; height: 100%; object-fit: contain; }
.session-film [hidden] { display: none !important; }
.session-film-error { position: absolute; bottom: 44px; left: 12px; right: 12px; margin: 0; padding: 12px; background: #f6f1eb; color: #171312; font-size: 13px; }
@media (max-width: 720px) { .edge-promise .session-film { width: calc(100% - 44px); max-width: 360px; margin: 28px auto 0; } }
