.portfolio-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;max-width:1200px;margin-inline:auto}
.portfolio-video{--video-height:min(58svh,590px);min-width:0;width:min(100%,calc(var(--video-height) * var(--video-ratio,.5625)));justify-self:center}
.portfolio-video-player{scroll-margin-block:80px 16px;container-type:inline-size;position:relative;min-width:0;width:100%;background:#fff;color:var(--ink,#111)}
.portfolio-video-frame{position:relative;width:100%;aspect-ratio:var(--video-ratio,.5625);background:#f5f5f5;overflow:hidden}
.portfolio-video-frame video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.portfolio-video-surface{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:transparent;cursor:pointer;padding:0;color:inherit}
.portfolio-video-surface:focus-visible{outline:2px solid var(--brand,#111);outline-offset:-4px}
.portfolio-video-controls{padding-top:7px;direction:ltr}
.portfolio-video-seek{--progress:0%;display:block;appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:linear-gradient(to right,currentColor 0 var(--progress),#d8d8d8 var(--progress) 100%) center/100% 2px no-repeat;color:#111;width:100%;height:24px;margin:0;padding:0;cursor:pointer;accent-color:#111}
.portfolio-video-seek::-webkit-slider-runnable-track{height:2px;background:transparent;border:0}
.portfolio-video-seek::-moz-range-track{height:2px;background:transparent;border:0}
.portfolio-video-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:8px;height:8px;border:0;border-radius:50%;background:#111;margin-top:-3px}
.portfolio-video-seek::-moz-range-thumb{width:8px;height:8px;border:0;border-radius:50%;background:#111}
.portfolio-video-seek:disabled{cursor:default;color:#b5b5b5}
.portfolio-video-seek:disabled::-webkit-slider-thumb{background:#b5b5b5}
.portfolio-video-seek:disabled::-moz-range-thumb{background:#b5b5b5}
.portfolio-video-control-row{display:flex;align-items:center;gap:4px;min-height:44px}
.portfolio-video-control-end{display:flex;margin-left:auto}
.portfolio-video-button,.portfolio-video-viewer-bar button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;padding:0;background:transparent;color:inherit;cursor:pointer}
.portfolio-video-button:hover,.portfolio-video-viewer-bar button:hover{background:#f2f2f2}
.portfolio-video-button svg{display:block}
.portfolio-video-time{white-space:nowrap;font:12px/1.4 'IBM Plex Mono',monospace;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.portfolio-video-time span{color:#6d6d6d}
.portfolio-video-player .video-icon-pause,.portfolio-video-player .video-icon-muted{display:none}
.portfolio-video-player[data-playing=true] .video-icon-play,.portfolio-video-player[data-muted=true] .video-icon-sound{display:none}
.portfolio-video-player[data-playing=true] .video-icon-pause,.portfolio-video-player[data-muted=true] .video-icon-muted{display:block}
.portfolio-video-caption{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-top:12px;border-top:1px solid #e5e5e5;margin-top:5px}
.marketing-site .portfolio-video-caption h2{font-size:16px;line-height:1.45;letter-spacing:0;margin:0}
.portfolio-video-caption>span{font:12px/1.6 'IBM Plex Mono',monospace;color:var(--muted);flex:none}
.portfolio-video-status{position:absolute;bottom:13px;left:48px;margin:0;padding:0;background:#fff;color:#111;font:12px/1.5 Manrope,sans-serif}
.portfolio-video-player[data-busy=true] .portfolio-video-time{visibility:hidden}
@container(max-width:230px){.portfolio-video-time span{display:none}}
.portfolio-video-error{padding:12px 0;border-top:1px solid #ddd;color:#333;font:14px/1.5 Manrope,sans-serif}
.portfolio-video-error p{margin:0 0 8px}
.portfolio-video-error button,.portfolio-video-error a{display:inline-block;padding:4px 0;margin-inline-end:16px;border:0;background:transparent;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.portfolio-video-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;margin:0;padding:0 24px 20px;background:#fff;color:var(--ink,#111);overflow:auto}
.portfolio-video-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.portfolio-video-viewer::backdrop{background:#fff}
.portfolio-video-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;font:14px/1.4 Manrope,sans-serif}
.portfolio-video-viewer-slot{display:flex;justify-content:center;align-items:center;min-width:0;min-height:0}
.portfolio-video-viewer .portfolio-video-player{width:min(100%,calc((100dvh - 180px) * var(--video-ratio,.5625)));max-width:1200px}
.portfolio-video-viewer .portfolio-video-error{position:absolute;inset-inline:0;bottom:80px;background:#fff;padding:12px}
.marketing-site .portfolio-video-player :focus-visible,.marketing-site .portfolio-video-viewer :focus-visible{outline:2px solid var(--brand,#111);outline-offset:2px}
@media(max-width:900px){.portfolio-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}}
@media(max-width:560px){.portfolio-video-grid{grid-template-columns:minmax(0,1fr);gap:36px}.portfolio-video{--video-height:min(58svh,550px)}.portfolio-video-viewer{padding-inline:16px}.portfolio-video-viewer-bar{min-height:56px}.portfolio-video-viewer .portfolio-video-player{width:min(100%,calc((100dvh - 156px) * var(--video-ratio,.5625)))}}
.portfolio-video-player [hidden]{display:none!important}
.portfolio-video-grid{scroll-margin-top:100px}
.portfolio-video-wide{grid-column:1/-1}
.portfolio-video-grid-single{grid-template-columns:minmax(0,1fr)}
.portfolio-video-grid-pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px}
@media(max-width:560px){.portfolio-video-grid-pair{grid-template-columns:minmax(0,1fr)}}
