/* Shared production fixes, after the current site design. */
img { max-width:100%; height:auto; }
body { height:auto; min-height:100%; }
.warp, .exp_photo, .gallery_photo, .archtecture_list, .parking_info { min-width:0; }
.exp_photo li, .gallery_photo li, .parking_info .img li { min-width:0; }
.venues-list a img { object-fit:contain; background:#f4f4f2; }
.main_hero { overflow:hidden; }
.main_hero .swiper-wrapper { display:block; height:auto!important; }
.main_hero video.swiper-slide { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; padding:0; }
.main_hero .text { pointer-events:none; }
.main_exp .photo { aspect-ratio:25/12; }
.main_exp .photo img { width:100%; height:100%; object-fit:cover; }
.gallery_vod:has(> .vod) { height:min(800px,calc(100svh - 80px)); min-height:360px; overflow:hidden; }
.gallery_vod .vod, .gallery_vod .fullscreen-bg__video { position:absolute; inset:0; width:100%; height:100%; }
.gallery_vod .fullscreen-bg__video { object-fit:cover; }
.gallery_vod:has(> .vod) .text { width:calc(100% - 40px); left:20px; transform:none; }
.gallery_vod:has(> .vod) .text h1 { overflow-wrap:anywhere; }
.gallery_vod .scroll { z-index:3; animation:none; }
.gallery_vod .scroll span { animation:matehill-nudge 2.2s ease-in-out infinite; }
@media(prefers-reduced-motion:reduce) { .gallery_vod .scroll span { animation:none; } }
#gallery-start { scroll-margin-top:90px; }
.youtube_vod iframe { display:block; width:100%; height:auto; aspect-ratio:16/9; }
.event-dialog { border:0; padding:0; background:transparent; max-width:95vw; max-height:92dvh; overflow:auto; }
.event-dialog::backdrop { background:#000b; }
.event-dialog img { display:block; max-width:92vw; max-height:88dvh; width:auto; height:auto; }
.event-dialog button { position:sticky; top:6px; float:right; margin:6px; width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:#111; font-size:28px; cursor:pointer; }
body.event-open { overflow:hidden; }
@media(max-width:767px) {
 .main_hero .text h1 { font-size:clamp(24px,7vw,48px); left:6%; bottom:20px; }
 .main_hero .text h2 { font-size:12px; right:6%; bottom:20px; }
 .gallery_vod:has(> .vod) .text h1 { font-size:clamp(24px,7vw,40px); line-height:1.4; }
 #gallery-start { scroll-margin-top:80px; }
}
