.video-poster{display:block;position:relative;background:#080e17;color:var(--paper);overflow:hidden}
.video-poster img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
.video-poster::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,11,20,.8));pointer-events:none}
.video-poster-label{position:absolute;bottom:clamp(18px,3vw,38px);left:clamp(18px,3vw,38px);z-index:1;display:flex;align-items:center;gap:14px;font-size:clamp(17px,2vw,24px)}
.video-poster-label>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #fff8;border-radius:50%;font-size:25px;transition:background .2s,color .2s}
.video-poster:hover .video-poster-label>span{background:var(--mint);color:#0f1a24;border-color:var(--mint)}
.video-poster:focus-visible{outline:3px solid var(--mint);outline-offset:5px}
.video-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(12px,3vw,48px);border:0;background:transparent;color:#f5f1e9;overflow:auto}
.video-lightbox[open]{display:grid;place-items:center}
.video-lightbox::backdrop{background:rgba(3,8,15,.93);backdrop-filter:blur(8px)}
.video-lightbox-shell{width:min(1280px,100%,calc((100dvh - 126px)*16/9));background:#080d15;box-shadow:0 28px 100px #0007}
.video-lightbox header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 12px 10px 22px}
.video-lightbox h2{font-family:inherit;font-size:clamp(16px,2vw,21px);font-weight:500;line-height:1.4;margin:0}
.video-lightbox button{flex:none;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:32px;cursor:pointer}
.video-lightbox button:hover{color:var(--mint)}
.video-lightbox button:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}
.video-lightbox-screen{aspect-ratio:16/9;background:#000}
.video-lightbox video,.video-lightbox iframe{display:block;width:100%;height:100%;border:0;object-fit:contain}
@media(max-width:640px){.video-lightbox{padding:10px}.video-lightbox header{padding-left:14px}.video-poster-label{gap:10px}.video-poster-label>span{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.video-poster-label>span{transition:none}}
