/* Project media only; the personal/footer collection keeps its existing behavior. */
#company-dialog :is(.gallery-stage,.project-image) { position:relative; }
#company-dialog :is(.gallery-stage img,.gallery-stage video,.project-image img) { cursor:zoom-in; }
.project-media-expand { position:absolute; top:10px; right:10px; z-index:5; display:grid; place-items:center; width:40px; height:40px; margin:0; padding:10px; border:0; border-radius:50%; background:#141519cc; color:#fff; cursor:pointer; opacity:0; transition:opacity 140ms ease; }
.project-media-expand svg { width:20px; height:20px; }
:is(.gallery-stage,.project-image):hover > .project-media-expand,.project-media-expand:focus-visible { opacity:1; }
#company-dialog :is(.gallery-stage img,.project-image img):focus-visible { outline:3px solid #ffd15a; outline-offset:-4px; }
#project-media-viewer { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; background:#101114; color:#fff; overflow:hidden; overscroll-behavior:contain; }
#project-media-viewer::backdrop { background:#101114; }
.project-media-screen { position:relative; width:100%; height:100%; background:#101114; }
.project-media-screen:fullscreen { width:100vw; height:100dvh; }
.project-media-content { display:flex; align-items:stretch; justify-content:center; width:100%; height:100%; padding:64px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
.project-media-close,.project-media-native-close { position:absolute; top:max(12px,env(safe-area-inset-top)); right:max(16px,env(safe-area-inset-right)); z-index:20; display:grid; place-items:center; width:44px; height:44px; margin:0; padding:0; border:0; border-radius:50%; background:#fff; color:#161719; font:400 30px/1 'DM Sans',sans-serif; cursor:pointer; }
.project-media-close:focus-visible,.project-media-expand:focus-visible { outline:3px solid #ffd15a; outline-offset:3px; }
#project-media-viewer .company-gallery.gallery-docked { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; margin:0; padding:0; border-radius:0; background:transparent; }
#project-media-viewer .gallery-stage { display:flex; flex:1; min-height:0; width:100%; border-radius:0; background:#101114; }
#project-media-viewer .gallery-track { width:100%; height:100%; min-height:0; aspect-ratio:auto; }
#project-media-viewer .gallery-slide { height:100%; min-height:0; aspect-ratio:auto; }
#project-media-viewer .gallery-slide > :is(img,video) { width:100%; height:100%; object-fit:contain!important; object-position:center!important; transform:none!important; mask-image:none!important; background:#101114!important; cursor:default; }
#project-media-viewer .gallery-slide > iframe { width:100%; height:100%; }
#project-media-viewer .gallery-toolbar { flex:none; padding:8px 0 0; background:#101114; }
#project-media-viewer .gallery-dot::before { background:#777; }
#project-media-viewer .gallery-dot[aria-current=true]::before { background:#fff; }
#project-media-viewer .project-media-expand { display:none; }
#project-media-viewer .project-image { display:grid; place-items:center; width:100%; height:100%; min-height:0; margin:0; padding:0; overflow:hidden; border-radius:0; background:transparent; }
#project-media-viewer .project-image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; cursor:default; }
@media (hover:none) { .project-media-expand { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .project-media-expand { transition:none; } }
#project-media-viewer .gallery-hover-layer { opacity:1; }
#project-media-viewer .gallery-hover-layer :is(button,input) { pointer-events:auto!important; }

.project-media-expand[hidden],.project-media-native-close { display:none; }
.company-gallery:fullscreen > .gallery-stage > .project-media-native-close { display:grid; }

#company-dialog .gallery-stage video { cursor:pointer; }
#company-dialog .gallery-slide:is([data-video-src],[data-video]) > img { cursor:default; }
