.project-video-frame{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;isolation:isolate;background:var(--media-color,#17202e)}
.project-video-stage{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.project-video-stage>.project-video,.project-video-poster{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:var(--video-fit,contain);object-position:var(--video-position,50% 50%);transform:scale(var(--video-scale,1));transform-origin:var(--video-position,50% 50%)}
.project-video-stage>.project-video{opacity:0;transition:opacity .32s ease}
.project-video-poster{opacity:1;transition:opacity .32s ease;pointer-events:none}
.has-video-frame .project-video{opacity:1}.has-video-frame .project-video-poster{opacity:0}
.project-video-start{position:absolute;left:50%;top:50%;translate:-50% -50%;width:58px;height:58px;border-radius:50%;border:1px solid #ffffff80;background:#18243bbd;color:#fff;backdrop-filter:blur(14px);font-size:22px;z-index:4;cursor:pointer;box-shadow:0 4px 30px #0003}
.project-video-start[hidden],.project-video-error[hidden]{display:none}
.project-video-controls{position:absolute;left:14px;right:14px;bottom:12px;display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:#111b30cf;backdrop-filter:blur(16px);color:white;z-index:5}
.project-video-controls button{background:none;color:inherit;flex:none;font-size:12px;min-width:30px;min-height:28px;cursor:pointer}
.project-video-controls input{flex:1;min-width:0;accent-color:#8aabff;cursor:pointer}
.project-video-error{position:absolute;inset:auto 16px 70px;padding:12px;border-radius:10px;background:#17202ee8;color:white;font-size:12px;line-height:1.6;z-index:6}
.project-media:has(.project-video-controls)>.project-team,.project-media:has(.project-video-controls)>.media-caption{bottom:80px}
.dialog-visual:has(.project-video-frame){padding:0}
@media(min-width:801px){
 .project-card>.project-media:has(.project-video-frame){margin-left:calc(-1 * var(--card-radius));padding-left:0}
 .project-card .project-video-frame{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
 .project-card .project-media:has(.project-video-frame)>.media-caption{left:calc(16px + var(--card-radius) + var(--panel-overlap))}
}
@media(prefers-reduced-motion:reduce){.project-video-stage>.project-video,.project-video-poster{transition:none}}
