/* One navigation system shared by every page. */
.navbar,.products-nav,.contact-nav,
.nav-inner,.products-links,.contact-links,.nav-links{overflow:visible!important}
.navbar,.products-nav,.contact-nav{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  width:100%;
  box-sizing:border-box;
  overflow:visible!important;
  background:#fff;
  box-shadow:0 1px 0 rgba(16,50,58,.08);
}
.unified-dropdown{position:relative!important;z-index:1100;flex:0 0 auto}
.unified-dropdown::after{content:"";position:absolute;left:-10px;right:-10px;top:calc(100% - 2px);height:16px;pointer-events:auto;z-index:2999}
.unified-dropdown>button{font:inherit;color:inherit;white-space:nowrap;cursor:pointer;border:0;background:transparent}
.unified-dropdown>button b{font-size:.8em;margin-left:2px}

/* Keep every top-level navigation label readable. Several legacy page
   styles assign pale text to buttons, so dropdown triggers must not inherit
   their colour from the page they are mounted into. */
.navbar .nav-links>a,
.navbar .nav-links .nav-link-toggle,
.navbar .nav-links .unified-dropdown>button,
.products-nav .products-links>a,
.products-nav .products-links .unified-dropdown>button,
.contact-nav .contact-links>a,
.contact-nav .contact-links .unified-dropdown>button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  box-sizing:border-box!important;
  color:#173247!important;
  -webkit-text-fill-color:#173247!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  font-weight:650!important;
}
.navbar .nav-links>a:hover,
.navbar .nav-links .nav-link-toggle:hover,
.navbar .nav-links .nav-link-toggle:focus-visible,
.navbar .nav-links .unified-dropdown>button:hover,
.navbar .nav-links .unified-dropdown>button:focus-visible,
.products-nav .products-links>a:hover,
.products-nav .products-links .unified-dropdown>button:hover,
.products-nav .products-links .unified-dropdown>button:focus-visible,
.contact-nav .contact-links>a:hover,
.contact-nav .contact-links .unified-dropdown>button:hover,
.contact-nav .contact-links .unified-dropdown>button:focus-visible{
  color:#0b4d52!important;
  -webkit-text-fill-color:#0b4d52!important;
}
.products-links>a.active,.contact-links>a.active,.nav-links>a.active,
.unified-dropdown>button.active{color:#0b333a!important;background:#e8f1f0!important;border-radius:12px!important;box-shadow:inset 0 -3px #0b4d52!important}

.unified-menu{position:absolute!important;top:calc(100% - 1px)!important;left:0!important;display:grid!important;gap:1px!important;width:300px!important;max-width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 92px)!important;box-sizing:border-box;padding:9px!important;overflow-y:auto!important;overscroll-behavior:contain;background:#fff!important;border:1px solid #d7e2e1!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(9,45,49,.18)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-3px)!important;transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important;z-index:3000!important}
.unified-resources>.unified-menu{right:0!important;left:auto!important;width:320px!important}
.unified-menu>a{display:block!important;padding:7px 10px!important;border-radius:9px!important;color:#17323c!important;background:transparent!important;text-decoration:none!important;font:700 13px/1.2 "DM Sans","Segoe UI",sans-serif!important;white-space:normal!important}
.unified-menu>a:hover,.unified-menu>a:focus,.unified-menu>a.active{color:#084e52!important;background:#e8f1f0!important;outline:none}
.unified-menu .menu-heading{display:block;margin:6px 10px 3px;color:#849398;font:800 10px/1.2 "DM Sans","Segoe UI",sans-serif;letter-spacing:.09em;text-transform:uppercase}
.unified-dropdown.open>.unified-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}

/* Keep the action tools compact so the navigation labels have room to
   breathe, while retaining separate, comfortably clickable controls. */
.products-tools .tool-icon,.contact-tools .tool-icon,.navbar .nav-icon-btn{width:38px!important;height:38px!important;border-radius:12px!important;padding:0!important}
.products-tools .tool-icon svg,.contact-tools .tool-icon svg,.navbar .nav-icon-btn svg{width:19px!important;height:19px!important;display:block!important}
.products-tools .tool-select,.contact-tools .tool-select,.navbar .nav-select-btn{height:38px!important;min-height:38px!important;padding:0 8px!important;gap:6px!important;border-radius:12px!important;font-size:13px!important}
.products-tools .tool-select svg,.contact-tools .tool-select svg,.navbar .nav-select-btn svg{width:19px!important;height:19px!important;flex:0 0 19px!important}
.products-tools .get-quote,.contact-tools .get-quote,.navbar .nav-quote-btn{height:42px!important;min-width:100px!important;padding:0 12px!important;border-radius:13px!important;font-size:14px!important}
.products-tools .tool-menu,.contact-tools .tool-menu{z-index:3100!important}

/* Equal side tracks keep the brand at the page centre, independently of
   translation length. Tools retain their existing nodes and event handlers. */
.navbar .container.nav-inner.unified-header-layout,
.products-nav.unified-header-layout,
.contact-nav.unified-header-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  grid-template-rows:minmax(52px,auto) auto;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  min-height:0!important;
  padding:8px 18px 0!important;
  margin:0!important;
  gap:0 16px!important;
  box-sizing:border-box;
  direction:ltr;
}
.unified-header-layout .products-brand,
.unified-header-layout .contact-brand,
.navbar .unified-header-layout .brand{
  grid-column:2;
  grid-row:1;
  justify-self:center;
  display:flex!important;
  align-items:center;
  gap:10px;
  margin:0!important;
  font-size:18px!important;
  white-space:nowrap;
}
.unified-header-layout .products-tools,
.unified-header-layout .contact-tools,
.navbar .unified-header-layout .nav-actions{display:contents!important}
.unified-tools-leading,.unified-tools-trailing{
  display:flex;
  align-items:center;
  gap:6px;
  grid-row:1;
  min-width:0;
  width:max-content;
}
.unified-tools-leading{grid-column:1;justify-self:start}
.unified-tools-trailing{grid-column:3;justify-self:end}
.unified-header-layout>.unified-header-quote{grid-column:3;grid-row:1;justify-self:end}
.unified-tools-leading .tool-menu{left:0;right:auto}
.unified-tools-leading .nav-select-menu{left:0;right:auto}
.unified-tools-trailing .nav-select-menu{left:auto;right:0}
.unified-header-layout .nav-select{display:block!important}
.unified-header-layout .get-quote,
.navbar .unified-header-layout .nav-quote-btn{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap}
html{scroll-padding-top:calc(var(--site-header-height,124px) + 16px)!important}
.unified-header-layout .unified-menu{max-height:calc(100dvh - var(--site-header-height,124px) - 16px)!important}
html[dir="rtl"] .unified-header-layout .unified-menu,
html[dir="rtl"] .unified-header-layout .products-links,
html[dir="rtl"] .unified-header-layout .contact-links,
html[dir="rtl"] .unified-header-layout .nav-links{direction:rtl}
html[dir="rtl"] .unified-header-layout .unified-menu{text-align:right}
@media (min-width:981px){
  .unified-header-layout .products-links,
  .unified-header-layout .contact-links,
  .unified-header-layout .nav-links{
    display:flex!important;
    grid-column:1 / -1;
    grid-row:2;
    position:static!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    min-width:0!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:6px 0!important;
    gap:4px 14px!important;
    border-top:1px solid #e5eeed;
  }
  .unified-header-layout .products-links>.unified-dropdown,
  .unified-header-layout .contact-links>.unified-dropdown,
  .unified-header-layout .nav-links>.unified-dropdown{display:block!important}
  .unified-header-layout .products-links>a,
  .unified-header-layout .contact-links>a,
  .unified-header-layout .nav-links>a,
  .unified-header-layout .unified-dropdown>button{font-size:14px!important;padding:9px 7px!important}
  .unified-header-layout>.products-mobile-toggle,
  .unified-header-layout>.mobile-toggle,
  .navbar .unified-header-layout>.nav-toggle{display:none!important}
}

@media (max-width:980px){
  .navbar .container.nav-inner.unified-header-layout,
  .products-nav.unified-header-layout,
  .contact-nav.unified-header-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:44px 48px;
    padding:4px 12px 6px!important;
    gap:0 4px!important;
  }
  .unified-header-layout .products-brand,
  .unified-header-layout .contact-brand,
  .navbar .unified-header-layout .brand{grid-column:1 / -1}
  /* Margin leaves the hamburger's hit area uncovered by the tools wrapper. */
  .unified-tools-leading{grid-column:1;grid-row:2;margin-left:42px;gap:4px}
  .unified-tools-trailing{grid-column:2;grid-row:2;gap:4px}
  .unified-header-layout>.products-mobile-toggle,
  .unified-header-layout>.mobile-toggle,
  .navbar .unified-header-layout>.nav-toggle{
    display:flex!important;grid-column:1;grid-row:2;justify-self:start;
    justify-content:center;align-items:center;flex-direction:column;
    width:36px;height:38px;margin:0!important;padding:6px;
    border:1px solid #d4dfdd;border-radius:10px;background:#fff;
  }
  .unified-header-layout .get-quote,
  .navbar .unified-header-layout .nav-quote-btn{display:none!important}
  .unified-header-layout .tool-picker{display:block!important}
  .products-nav.unified-header-layout .products-links,
  .contact-nav.unified-header-layout .contact-links{
    top:100%!important;max-height:calc(100dvh - 106px)!important;
    overflow-y:auto!important;align-items:stretch!important;
  }
  /* On touch-sized layouts the page's hamburger owns the navigation. Keep
     dropdowns inside that menu instead of turning them into a viewport-sized
     floating panel. */
  .navbar .nav-links{display:none!important}
  .navbar .nav-toggle{display:flex!important}
  .unified-dropdown::after{display:none!important}
  .products-links .unified-menu,
  .contact-links .unified-menu{
    display:none!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:4px 0 2px!important;
    padding:5px!important;
    overflow:visible!important;
    border-radius:12px!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .products-links .unified-dropdown.open>.unified-menu,
  .contact-links .unified-dropdown.open>.unified-menu{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}
@media (max-width:380px){
  .unified-header-layout .search-toggle,
  .unified-header-layout [data-search-toggle]{display:none!important}
  .unified-header-layout .language-current svg,
  .unified-header-layout [data-lang-select] .globe-icon{display:none!important}
}
