/* Eight June mobile navigation P0 correction — 31 Aug 2026. */
.ux-nav-backdrop{z-index:100}

/* Portaling the open drawer out of the sticky header avoids the header stacking
 * context entirely: backdrop fades only the page, never the drawer. */
.ux-drawer-nav .ux-nav-portaled{
  background:#f6f3eb;
  border-left:1px solid var(--rule,#082c3b33);
  box-shadow:-18px 0 40px rgba(8,44,59,.12);
  z-index:120;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:28px;
  width:min(72vw,520px);
  height:100dvh;
  max-height:100dvh;
  padding:98px 32px calc(40px + env(safe-area-inset-bottom,0px));
  display:flex;
  position:fixed;
  inset:0 0 0 auto;
  overflow-x:hidden;
  overflow-y:scroll;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scrollbar-gutter:stable;
  opacity:1;
  filter:none;
  -webkit-filter:none;
  pointer-events:auto;
  visibility:visible;
  transform:translateX(0);
  scroll-padding-top:calc(98px + env(safe-area-inset-top,0px));
  scroll-padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));
}
.ux-drawer-nav .ux-nav-portaled .nav-group{width:100%}
.ux-drawer-nav .ux-nav-portaled .nav-primary{
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:600;
  width:fit-content;
  display:inline-block;
  position:relative;
}
.ux-drawer-nav .ux-nav-portaled .nav-submenu{
  border:0;
  border-left:1px solid var(--rule,#082c3b33);
  box-shadow:none;
  opacity:1;
  pointer-events:auto;
  visibility:visible;
  background:transparent;
  gap:0;
  width:100%;
  min-width:0;
  margin-top:16px;
  padding:0 0 0 14px;
  display:grid;
  position:static;
  left:auto;
  transform:none;
}
.ux-drawer-nav .ux-nav-portaled .nav-submenu:before{display:none}
.ux-drawer-nav .ux-nav-portaled .nav-submenu a{
  border-bottom:1px solid rgba(8,44,59,.12);
  grid-template-columns:46px 1fr;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:8px 0;
  display:grid;
}
.ux-drawer-nav .ux-nav-portaled .nav-submenu a:last-child{border-bottom:0}
.ux-drawer-nav .ux-nav-portaled .nav-submenu a:hover,
.ux-drawer-nav .ux-nav-portaled .nav-submenu a:focus-visible{background:transparent;padding-left:5px}
.ux-drawer-nav .ux-nav-portaled .nav-submenu strong{letter-spacing:.08em;font-size:11px}
.ux-drawer-nav .ux-nav-portaled .ux-mobile-enquire{
  border-top:1px solid var(--rule,#082c3b33);
  border-bottom:0;
  width:100%;
  margin-top:2px;
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* Close button is portaled too, so it is truly viewport-fixed at any scroll depth. */
.ux-menu-open .ux-nav-close-portaled{
  position:fixed;
  z-index:130;
  top:calc(14px + env(safe-area-inset-top,0px));
  right:calc(18px + env(safe-area-inset-right,0px));
  margin:0;
}

body.admin-bar.ux-drawer-body .ux-nav-portaled{top:32px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px)}
body.admin-bar.ux-drawer-body .ux-nav-close-portaled{top:calc(46px + env(safe-area-inset-top,0px))}
@media(min-width:783px){body.admin-bar.ux-drawer-body .ux-nav-close-portaled{top:calc(46px + env(safe-area-inset-top,0px))}}
@media(max-width:782px){body.admin-bar.ux-drawer-body .ux-nav-portaled{top:46px;height:calc(100dvh - 46px);max-height:calc(100dvh - 46px)}body.admin-bar.ux-drawer-body .ux-nav-close-portaled{top:calc(60px + env(safe-area-inset-top,0px))}}

@media(max-width:640px){
  .ux-drawer-nav .ux-nav-portaled{
    width:min(86vw,390px);
    gap:24px;
    padding:calc(88px + env(safe-area-inset-top,0px)) 22px calc(34px + env(safe-area-inset-bottom,0px));
    scroll-padding-top:calc(88px + env(safe-area-inset-top,0px));
    scroll-padding-bottom:calc(34px + env(safe-area-inset-bottom,0px));
  }
}
@media(max-width:360px){
  .ux-drawer-nav .ux-nav-portaled{width:90vw;padding-left:18px;padding-right:18px}
  .ux-menu-open .ux-nav-close-portaled{right:calc(12px + env(safe-area-inset-right,0px))}
}
