/* Custom project players; native controls remain the fallback without JavaScript. */
.case-video-grid{gap:24px;overflow:visible;padding:0;margin:0 auto 36px;flex-wrap:wrap}
.case-video-card{position:relative;flex:0 1 300px;width:300px;max-width:100%;min-width:0}
.case-video-frame{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:18px;background:#101010;border:1px solid rgba(197,165,114,.4);box-shadow:0 16px 38px rgba(0,0,0,.12);color:#fff}
.case-video-frame video{display:block;width:100%;height:100%;object-fit:contain;cursor:pointer}
.case-video-frame:not(.is-enhanced) .case-player-ui{display:none}
.case-video-frame.is-enhanced+.case-video-caption{display:none}
.case-player-top{position:absolute;inset:15px 15px auto;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}
.case-player-tag{padding:7px 10px;border:1px solid rgba(223,189,132,.45);border-radius:30px;background:rgba(12,12,12,.65);color:#efd6a8;font:600 8px/1 Arial,sans-serif;letter-spacing:.18em}
.case-player-duration{padding:6px 8px;border-radius:5px;background:rgba(12,12,12,.62);color:#fff;font:500 10px/1 Arial,sans-serif}
.case-player-big-play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;padding:0 0 0 4px;border:1px solid #e7c78f;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 4px 24px rgba(0,0,0,.18);color:#171717;cursor:pointer}
.case-player-big-play svg{width:22px;height:22px;fill:currentColor}.case-player-big-play[hidden]{display:none!important}
.case-player-bottom{position:absolute;inset:auto 0 0;padding:58px 17px 12px;background:linear-gradient(transparent,rgba(0,0,0,.88) 60%,rgba(0,0,0,.96));color:#fff}
.case-player-title{margin:0 0 5px;font:400 22px/1.15 Georgia,serif;color:#fff}.case-player-subtitle{margin:0 0 13px;font:400 10px/1.4 Arial,sans-serif;color:#ddc28e;letter-spacing:.04em}
.is-playing .case-player-title,.is-playing .case-player-subtitle{display:none}
.case-player-seek{--player-progress:0%;display:block;appearance:none;-webkit-appearance:none;width:100%;height:20px;margin:0;padding:0;background:transparent;cursor:pointer}
.case-player-seek::-webkit-slider-runnable-track{height:3px;border-radius:8px;background:linear-gradient(to right,#dfbd84 var(--player-progress),rgba(255,255,255,.3) var(--player-progress))}
.case-player-seek::-moz-range-track{height:3px;border-radius:8px;background:rgba(255,255,255,.3)}.case-player-seek::-moz-range-progress{height:3px;background:#dfbd84}
.case-player-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:9px;height:9px;margin-top:-3px;border:0;border-radius:50%;background:#dfbd84}.case-player-seek::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:#dfbd84}
.case-player-seek:disabled{cursor:default;opacity:.65}
.case-player-controls,.case-player-left,.case-player-right{display:flex;align-items:center}.case-player-controls{justify-content:space-between;gap:5px}.case-player-left{gap:4px}.case-player-right{gap:2px}
.case-player-controls button{appearance:none;display:grid;place-items:center;flex:0 0 34px;width:34px;min-height:40px;padding:8px;border:0;border-radius:6px;background:transparent;color:#f1eee7;cursor:pointer}.case-player-controls button:hover{background:rgba(255,255,255,.1)}
.case-player-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.case-player-controls .solid{fill:currentColor;stroke:none}.case-player-clock{white-space:nowrap;font:400 10px/1.4 Arial,sans-serif;color:#f1eee7;font-variant-numeric:tabular-nums}
.case-player-status{margin:0;font:400 10px/1.4 Arial,sans-serif;color:#f1d39b}.case-player-status:empty{display:none}
.case-video-frame:focus-visible,.case-player-controls button:focus-visible,.case-player-big-play:focus-visible,.case-player-seek:focus-visible{outline:2px solid #dfbd84;outline-offset:3px}
.case-video-frame:fullscreen{width:100vw;height:100dvh;border:0;border-radius:0;aspect-ratio:auto}.case-video-frame:fullscreen video{width:100%;height:100%;object-fit:contain}
@media(max-width:680px){.case-video-grid{gap:20px;flex-wrap:wrap;justify-content:center;scroll-snap-type:none}.case-video-card{flex:0 1 280px;width:min(100%,280px)}.case-video-frame{border-radius:16px}}
.case-player-controls button[hidden]{display:none}

.case-video-card.case-video-landscape{flex:0 0 100%;width:100%}.case-video-landscape .case-video-frame{aspect-ratio:16/9}.case-video-landscape .case-player-bottom{padding-top:45px}
@media(max-width:680px){.case-video-card.case-video-landscape{flex-basis:100%;width:100%}.case-video-landscape .case-player-title{font-size:15px}.case-video-landscape .case-player-subtitle{display:none}}

/* Fill the frame exactly without intrinsic-size gaps or image cropping. */
.case-video-frame{border:0}.case-video-frame video{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:contain}
@media(max-width:680px){
 .case-video-grid{gap:16px 12px}.case-video-card:not(.case-video-landscape){flex:0 0 calc((100% - 12px)/2);width:calc((100% - 12px)/2)}
 .case-video-card:not(.case-video-landscape) .case-video-frame{border-radius:12px}
 .case-video-card:not(.case-video-landscape) .case-player-top{inset:9px 8px auto;gap:4px}
 .case-video-card:not(.case-video-landscape) .case-player-tag{font-size:6px;letter-spacing:.08em;padding:5px}
 .case-video-card:not(.case-video-landscape) .case-player-duration{font-size:8px;padding:4px}
 .case-video-card:not(.case-video-landscape) .case-player-big-play{width:45px;height:45px}.case-video-card:not(.case-video-landscape) .case-player-big-play svg{width:17px;height:17px}
 .case-video-card:not(.case-video-landscape) .case-player-bottom{padding:36px 8px 5px}
 .case-video-card:not(.case-video-landscape) .case-player-title{font-size:17px}.case-video-card:not(.case-video-landscape) .case-player-subtitle{font-size:8px;margin-bottom:6px}
 .case-video-card:not(.case-video-landscape) .case-player-controls{gap:0;flex-wrap:wrap}.case-video-card:not(.case-video-landscape) .case-player-controls button{width:26px;flex-basis:26px;min-height:34px;padding:5px}
 .case-video-card:not(.case-video-landscape) .case-player-clock{font-size:8px}.case-video-card:not(.case-video-landscape) .case-player-left{gap:0}.case-video-card:not(.case-video-landscape) .case-player-right{gap:0}
}
