/* Older Safari viewport and dialog fallbacks, preserving the existing layouts. */
.home-page,.projects-page,.home-page .home-main { min-height:100vh; }
@supports (height:100svh) { .home-page,.projects-page,.home-page .home-main { min-height:100svh; } }
dialog:not([open]) { display:none; }
.dialog-fallback { z-index:2147483000; }
.vk-viewer { height:100vh; }
@supports (height:100dvh) { .vk-viewer { height:100dvh; } }
.bit-nine { width:min(calc(100vw - 32px),calc(100vh - 68px)); height:min(calc(100vw - 32px),calc(100vh - 68px)); }
.bit-single img { max-height:calc(100vh - 68px); }
@supports (height:100dvh) {
 .bit-nine { width:min(calc(100vw - 32px),calc(100dvh - 68px)); height:min(calc(100vw - 32px),calc(100dvh - 68px)); }
 .bit-single img { max-height:calc(100dvh - 68px); }
}
.stereo-work > .stereo-fallback-frame { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.motion-toggle { position:fixed; z-index:50; bottom:30px; right:16px; border:0; border-radius:0; padding:6px; background:#fff; color:#111; font:12px/1.4 'Times New Roman',serif; cursor:pointer; text-decoration:underline; }
.motion-toggle[hidden],.media-play-fallback[hidden],.media-error[hidden] { display:none; }
.media-play-fallback { display:block; margin:10px auto; padding:8px 0; border:0; background:none; color:inherit; font:13px/1.5 'Times New Roman',serif; text-decoration:underline; cursor:pointer; }
@supports not (aspect-ratio:1) {
 .vk-featured-open,.vk-thumbnail { position:relative; height:0; padding-bottom:75%; }
 .vk-featured-open img,.vk-thumbnail img { position:absolute; inset:0; }
 .grid-section .grid img { height:auto; }
}
