/* Mobile pages scroll inside a bounded surface. The document and its safe area
   never scroll, so no painted cover has to chase Safari's browser controls. */
.site-scrollport{display:contents}
@media(max-width:600px){
 html:has(body.service-social-compact){height:100%;overflow:hidden;background:var(--ink,#e7dcee);overscroll-behavior:none}
 html body.service-social-compact{height:100%;min-height:0;margin:0;overflow:hidden;overscroll-behavior:none;background:var(--ink,#e7dcee)}
 html body.service-social-compact::before{display:none!important;content:none!important}
 .site-scrollport{
  display:block;position:absolute;inset:calc(env(safe-area-inset-top,0px) + 8px) 0 0;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;
  scroll-padding-top:64px;isolation:isolate;
 }
 html body.service-social-compact .site-menu{top:env(safe-area-inset-top,0px);transform:translateX(-50%);transition:none}
 html body.service-social-compact .site-menu::before,
 html body.service-social-compact .site-menu::after{top:8px}
 body:has(.lightbox.open) .site-scrollport{overflow-y:hidden}
 .site-scrollport :is([id],input,textarea,button){scroll-margin-top:64px}
}
/* Keep the contact introduction in its grid row on narrow screens. */
@media(max-width:800px){body.info-page.contacto-page .contact-left-top{display:block}}
