/* Bound each gallery to two image layers; the remaining photos are data. */
.hero-slides>img[hidden],.rotating-gallery>.rotating-frame[hidden],.rotating-backdrop[hidden]{display:none!important}
@media(max-width:1120px){
  .site-header,.site-header.scrolled,.site-header.is-scrolled{z-index:120;backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transform:none;transition:background-color .2s,border-color .2s}
  .site-header .brand,.site-header .menu-toggle{position:relative;z-index:3}
  .site-header .menu-toggle{display:block;min-width:48px;min-height:48px;touch-action:manipulation}
  .site-header .main-nav{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.1rem;padding:106px 24px calc(32px + env(safe-area-inset-bottom,0px));margin:0;background:#04152d;white-space:normal;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-12px);transition:opacity .18s,transform .18s,visibility .18s;box-shadow:none}
  .site-header .main-nav.open{max-height:none;visibility:visible;pointer-events:auto;opacity:1;transform:none;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
  .site-header .main-nav>a{flex-shrink:0;min-height:48px}
  .site-header .main-nav .nav-services,.site-header .main-nav .sectors-nav{flex-shrink:0}
  .site-header .main-nav .services-menu{max-height:none;overflow:visible}
  .site-header .main-nav button{touch-action:manipulation}
  body.menu-open .site-header{background:#04152d}
  body.menu-open .mobile-actions,body.menu-open .floating-whatsapp{visibility:hidden;pointer-events:none}
  .hero-image,.rotating-photo{filter:none!important}
  .rotating-backdrop{display:none}
  .mobile-actions,.button-glass,.preview-badge{backdrop-filter:none;-webkit-backdrop-filter:none}
  .mobile-actions{background:#031124}
}
@media(prefers-reduced-motion:reduce){.site-header .main-nav{transition:none}}

/* Keep the opened menu in the visible viewport at any page scroll position. */
@media(max-width:1120px){
  html:has(body.menu-open){overflow:hidden}
  .site-header .main-nav,.site-header .main-nav.open{
    top:90px;right:0;bottom:0;left:0;
    height:calc(100vh - 90px);height:calc(100dvh - 90px);
    min-height:0;max-height:none;
    padding:12px 24px calc(24px + env(safe-area-inset-bottom,0px));
    z-index:2;transform:none;
  }
  .site-header .main-nav:not(.open){visibility:hidden;opacity:0;pointer-events:none}
  .site-header .main-nav.open{visibility:visible;opacity:1;pointer-events:auto}
  .site-header .brand,.site-header .menu-toggle{z-index:3}
}
@media(max-width:820px){
  .site-header .main-nav,.site-header .main-nav.open{top:82px;height:calc(100vh - 82px);height:calc(100dvh - 82px)}
  .site-header .brand img{width:68px;height:74px}
}
@media(max-width:620px){
  .site-header .main-nav,.site-header .main-nav.open{top:78px;height:calc(100vh - 78px);height:calc(100dvh - 78px)}
  .site-header .brand{width:68px;flex-basis:68px}
  .site-header .brand img{width:64px;height:72px}
}
