/* Case previews open over the portfolio without changing the page or reel position. */
.case-media-trigger{font-family:inherit;cursor:zoom-in}
.case-app-preview.case-media-trigger{appearance:none;text-align:inherit}
.case-computer.case-media-trigger{appearance:none;padding:0;border:0;background:none;text-align:inherit}
.case-link.case-media-trigger{padding:0;border:0;background:none;color:var(--silver);text-align:left;cursor:pointer}
html.case-viewer-open{overflow:hidden;scroll-behavior:auto}
body.case-viewer-open{position:fixed;top:var(--case-viewer-scroll-top);left:0;right:0;overflow:hidden}
.case-viewer{
  position:fixed;inset:0;margin:auto;width:min(920px,calc(100% - 40px));
  max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);
  padding:20px;border:1px solid rgba(198,211,217,.38);border-radius:22px;
  background:linear-gradient(145deg,#253038,#141b20 68%);color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 30px 100px rgba(0,0,0,.55);
  overflow:auto;overscroll-behavior:contain;
}
.case-viewer::backdrop{background:rgba(4,8,11,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.case-viewer.is-portrait{width:min(520px,calc(100% - 40px))}
.case-viewer[open]{display:flex;flex-direction:column;gap:16px}
.case-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:none}
.case-viewer-kind{margin:0 0 5px;font-size:9px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.case-viewer-header h2{margin:0;font:500 20px/1.35 'Manrope',sans-serif;letter-spacing:-.025em;text-wrap:balance}
.case-viewer-close{
  display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;
  border:1px solid rgba(198,211,217,.38);border-radius:50%;
  background:linear-gradient(145deg,rgba(198,211,217,.13),rgba(17,23,27,.5));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);color:var(--text);font:28px/1 sans-serif;cursor:pointer;
}
.case-viewer-close:hover{border-color:var(--silver)}
.case-viewer-close:focus-visible{outline:2px solid var(--silver);outline-offset:3px}
.case-viewer-stage{display:flex;flex-direction:column;align-items:center;min-height:0;border-radius:12px;background:#080d10;overflow:hidden}
.case-viewer :is(video,img){display:block;width:100%;height:auto;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);object-fit:contain;background:#080d10}
.case-viewer [hidden]{display:none!important}
.case-viewer-error{padding:14px 18px;margin:0;font-size:12px;line-height:1.7;color:var(--dim);text-align:center}
@media(max-width:600px){
  .case-viewer,.case-viewer.is-portrait{width:calc(100% - 20px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:12px;border-radius:18px}
  .case-viewer[open]{gap:12px}
  .case-viewer-header{gap:10px}
  .case-viewer-header h2{font-size:17px}
  .case-viewer-kind{font-size:8px}
  .case-viewer :is(video,img){max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}
}
