/* About page factory film. Original 16:9 footage is shown without cropping. */
.factory-video-cover{display:block;position:relative;aspect-ratio:16/9;isolation:isolate;overflow:hidden;border-radius:4px;background:#16334c;box-shadow:0 8px 24px rgb(15 39 65 / 10%);color:#fff;outline-offset:5px}
.factory-video-cover>img{display:block;width:100%;height:100%;object-fit:contain}
.factory-video-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgb(6 23 41 / 48%));pointer-events:none}
.factory-video-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:66px;border:1px solid rgb(255 255 255 / 65%);border-radius:50%;background:rgb(14 38 64 / 76%);box-shadow:0 3px 18px rgb(7 22 37 / 15%);transition:background .18s ease,border-color .18s ease}
.factory-video-play svg{fill:currentColor;transform:translateX(-2px)}
.factory-video-cover-title{position:absolute;z-index:1;left:24px;bottom:20px;font-size:17px;font-weight:500;letter-spacing:.09em;color:#fff;line-height:1.5}
.factory-video-cover:hover .factory-video-play{background:rgb(24 73 118 / 92%);border-color:#fff}
.factory-video-cover:focus-visible{outline:2px solid var(--blue)}
body.factory-video-open{overflow:hidden}
.factory-video-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 48px),calc((100dvh - 116px) * 16 / 9));max-width:none;max-height:calc(100dvh - 48px);padding:0;margin:auto;border:1px solid #cad7e1;border-radius:6px;background:#fff;color:var(--navy);box-shadow:0 24px 80px rgb(0 12 28 / 30%);overflow:auto}
.factory-video-dialog::backdrop{background:rgb(7 21 38 / 79%)}
.factory-video-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:10px 20px}
.factory-video-dialog-header h2{font-size:19px;font-weight:600;margin:0;line-height:1.5}
.factory-video-close{display:grid;place-items:center;width:44px;height:44px;padding:0;flex-shrink:0;border:0;border-radius:3px;background:#f0f4f8;color:#315773;cursor:pointer}
.factory-video-close svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.factory-video-close:hover{background:#e3ecf4;color:var(--blue)}
.factory-video-close:focus-visible,.factory-video-error :is(a,button):focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.factory-video-player{background:#081827;line-height:0}
.factory-video-player video{display:block;width:100%;aspect-ratio:16/9;max-height:calc(100dvh - 116px);object-fit:contain;background:#081827}
.factory-video-error{padding:18px 24px;line-height:1.7;font-size:14px;background:#f3f6f9}
.factory-video-error[hidden]{display:none}
.factory-video-error p{margin:0 0 10px}
.factory-video-error button,.factory-video-error a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-right:18px;padding:7px 13px;border:1px solid #bdd0e0;border-radius:3px;background:#fff;color:var(--blue);font:inherit;cursor:pointer}
@media(max-width:800px){.factory-video-cover-title{left:20px;bottom:17px}.factory-video-dialog{width:min(calc(100vw - 24px),calc((100dvh - 86px) * 16 / 9));max-height:calc(100dvh - 24px)}.factory-video-dialog-header{padding:8px 12px;min-height:60px}.factory-video-player video{max-height:calc(100dvh - 86px)}}
@media(max-width:480px){.factory-video-play{width:54px;height:54px}.factory-video-play svg{width:22px;height:22px}.factory-video-cover-title{font-size:15px;left:17px;bottom:14px}.factory-video-dialog-header h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.factory-video-play{transition:none}}
