.nav .menu {
  display: none;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(0,148,158,.25);
  border-radius: 12px;
  background: #fff;
  color: #073b42;
  font: 800 22px/1 Arial,sans-serif;
  cursor: pointer;
}

.mobile-menu-panel,.mobile-menu-backdrop { display: none; }

@media (max-width: 900px) {
  .nav { gap: 10px!important; }
  .nav .logo { margin-right: auto; }
  .nav .menu { display: grid!important; place-items: center; position: relative; z-index: 1003; }
  .nav > .cta,.nav > .btn { display: none!important; }
  .mobile-menu-panel {
    position: fixed!important;
    top: 0!important;
    right: 0!important;
    bottom: 0!important;
    z-index: 1002!important;
    display: flex!important;
    width: min(360px,86vw)!important;
    padding: 92px 24px 34px!important;
    flex-direction: column!important;
    align-items: stretch!important;
    gap: 4px!important;
    overflow-y: auto!important;
    background: #fff!important;
    box-shadow: -24px 0 70px rgba(5,47,54,.22)!important;
    opacity: 0;
    visibility: hidden;
    transform: translateX(105%);
    transition: transform .28s ease,opacity .22s ease,visibility .28s;
  }
  .mobile-menu-panel > a,.mobile-menu-panel .product-trigger {
    display: flex!important;
    align-items: center!important;
    min-height: 49px!important;
    padding: 11px 12px!important;
    border-bottom: 1px solid #e7eeee!important;
    color: #133b40!important;
    font-size: 16px!important;
    font-weight: 800!important;
  }
  .mobile-menu-panel.show { opacity: 1; visibility: visible; transform: none; }
  .nav.mobile-menu-open .menu { position: fixed; top: 18px; right: 18px; }
  .mobile-menu-panel .product-menu { display: block!important; }
  .mobile-menu-panel .product-dropdown { display: none!important; }
  .mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1001;
    background: rgba(1,25,29,.55);
    backdrop-filter: blur(3px);
  }
  .mobile-menu-backdrop.show { display: block; }
  body.mobile-menu-active { overflow: hidden; }
}

@media (max-width: 420px) {
  .nav .logo img { width: 126px!important; }
  .lang-switch { padding: 4px 6px; }
  .lang-switch button { min-width: 25px; }
}
