/* Mobile document flow, native media and dialog recovery. Pinch zoom stays available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
dialog:not([open]){display:none}
dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.close-dialog{min-width:44px;min-height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.compact-film-action[hidden]{display:none}
@media screen and (max-width:800px){
 html{scroll-behavior:auto;scroll-padding-top:110px}
 body{min-width:0;overflow:visible}
 main,.container,.intro-grid>*,.compact-film>*,.contact-layout>*{min-width:0}
 .container{width:calc(100% - 36px)}
 button,a,summary{touch-action:manipulation}
 .brief-form input,.brief-form select,.brief-form textarea{font-size:16px}
 .js .reveal.waiting{opacity:1;transform:none}
 .reveal,.hero-content{animation:none;transition:none}
 .topbar,.edition-nav,dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
 .hero{height:auto;min-height:0;max-height:none}
 .hero .container{height:auto;min-height:calc(100vh - 56px);min-height:calc(100svh - 56px);padding-block:145px 38px}
 .hero h1{font-size:clamp(56px,15vw,86px)}
 .hub-hero{padding-top:128px}
 .hub-title h1{font-size:clamp(46px,12vw,76px)}
 dialog{width:calc(100% - 24px);margin:auto}
 .dialog-inner,.location-dialog .dialog-inner{padding:24px}
 .dialog-head{align-items:start;gap:12px}
 .gallery-dialog{overflow-y:auto}
 .video-dialog{width:calc(100% - 24px)}
 .location-preview-stage{height:30vh;height:30svh}
 .mobile-cta{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media screen and (max-width:520px){
 .hero h1{font-size:clamp(52px,15vw,74px)}
 .hub-title h1{font-size:clamp(42px,12vw,62px)}
 .hero .container{min-height:calc(100vh - 52px);min-height:calc(100svh - 52px)}
 .compact-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .compact-photo-grid img{height:80px}
}
