/* Loaded after site.css. JS owns open state; hover/focus is a no-JS fallback. */
.site-header{isolation:isolate}
.site-navigation .menu-item-label{display:block}
.site-navigation .menu-item-description{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.55;font-weight:450;letter-spacing:0}
.site-navigation .menu-link-row>a{min-width:0}
.site-navigation .submenu-toggle{border-radius:4px;flex:none}
.site-navigation .submenu-toggle:hover{color:var(--blue);background:#eef4ff}
.site-navigation .submenu-toggle:focus-visible,.site-navigation a:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.site-navigation .submenu-toggle span{transition:transform .16s ease}
.site-navigation .primary-menu .sub-menu .menu-link-row>a{border-radius:4px}
.site-navigation .primary-menu .sub-menu .menu-link-row>a:hover{background:#edf4ff;color:#0756cf}
.site-navigation .primary-menu .sub-menu .menu-link-row>a:is([aria-current=page],[aria-current=location]){color:#0756cf;background:#edf4ff}
html:not(.cnx-nav-ready) .menu-toggle,html:not(.cnx-nav-ready) .submenu-toggle{visibility:hidden}

@media(min-width:1151px){
  .nav-wrap{gap:22px}
  .site-navigation{gap:22px;align-items:center}
  .site-navigation .primary-menu{align-items:stretch;gap:14px}
  .site-navigation .primary-menu>li>.menu-link-row{min-height:var(--header-height)}
  .site-navigation .primary-menu>li>.menu-link-row>a{padding-block:12px;font-size:13px;font-weight:700}
  .site-navigation .primary-menu>li>.menu-link-row>.submenu-toggle{width:22px;min-height:34px}
  .site-navigation .primary-menu>li>.menu-link-row>a:after{content:'';display:block;height:2px;margin-top:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}
  .site-navigation .primary-menu>li.submenu-open>.menu-link-row>a:after,.site-navigation .primary-menu>li.current-menu-ancestor>.menu-link-row>a:after,.site-navigation .primary-menu>li>.menu-link-row>a[aria-current]:after{transform:scaleX(1)}
  .site-navigation .primary-menu>li>.sub-menu{top:100%;left:-18px;width:320px;padding:12px;border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:0 0 8px 8px;box-shadow:0 20px 40px #041b471a;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
  .site-navigation .primary-menu>li:last-child>.sub-menu{left:auto;right:0}
  .site-navigation .primary-menu .sub-menu .menu-link-row>a{padding:12px;font-size:14px;line-height:1.45}
  .site-navigation .primary-menu .sub-menu>li+li{border-top:0}
  .site-navigation .primary-menu>.cnx-mega{position:static}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu{left:0;right:0;width:100%;padding:26px 28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 30px;max-height:calc(100dvh - 150px)}
  .cnx-nav-ready .site-navigation .primary-menu>.cnx-mega.submenu-open>.sub-menu,
  html:not(.cnx-nav-ready) .site-navigation .primary-menu>.cnx-mega:hover>.sub-menu,
  html:not(.cnx-nav-ready) .site-navigation .primary-menu>.cnx-mega:focus-within>.sub-menu{display:grid}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu>li{min-width:0;break-inside:avoid}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu>li>.menu-link-row>a{padding:11px 12px;color:var(--navy);font-size:14px;font-weight:750}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu>li.menu-item-has-children>.menu-link-row{border-bottom:1px solid var(--line);margin-bottom:6px}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu .submenu-toggle{display:none}
  .cnx-nav-ready .site-navigation .primary-menu>.cnx-mega>.sub-menu .sub-menu,
  .site-navigation .primary-menu>.cnx-mega>.sub-menu .sub-menu{display:block;position:static;width:auto;padding:0;border:0;background:transparent;box-shadow:none}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu .sub-menu .menu-link-row>a{font-size:13px;font-weight:500;padding:9px 12px;min-height:36px}
  .site-navigation .primary-menu>.cnx-mega>.sub-menu .sub-menu .menu-item-description{font-size:11px}
}

@media(min-width:1151px) and (max-width:1280px){
  .nav-wrap{gap:16px}
  .site-navigation{gap:16px}
  .site-navigation .primary-menu{gap:8px}
  .site-navigation .primary-menu>li>.menu-link-row>a{font-size:12px}
  .site-navigation .primary-menu>li>.menu-link-row>.submenu-toggle{width:20px}
  .site-navigation .header-quote{padding-inline:12px;font-size:12px}
  .site-header .brand img{width:185px}
}

@media(max-width:1150px){
  body.cnx-menu-active{overflow:hidden}
  .nav-wrap{row-gap:0}
  .cnx-nav-ready .site-navigation{height:var(--cnx-nav-available-height,calc(100dvh - 112px));max-height:var(--cnx-nav-available-height,calc(100dvh - 112px));padding-top:8px;padding-bottom:calc(28px + env(safe-area-inset-bottom));scrollbar-gutter:stable}
  .site-navigation .primary-menu>li>.menu-link-row{min-height:58px;gap:12px}
  .site-navigation .primary-menu>li>.menu-link-row>a{font-size:17px;font-weight:650;padding-block:16px}
  .site-navigation .primary-menu>li>.menu-link-row>.submenu-toggle{width:44px;min-height:44px;background:var(--pale)}
  .site-navigation .primary-menu>li.submenu-open>.menu-link-row>.submenu-toggle{color:#0756cf;background:#e5efff}
  .site-navigation .primary-menu .sub-menu{padding:8px 12px;margin:8px 0 14px;background:#f3f6fa;border:0;border-radius:5px;max-height:none;overflow:visible}
  .site-navigation .primary-menu .sub-menu>li+li{border-top:1px solid #e0e7f1}
  .site-navigation .primary-menu .sub-menu .menu-link-row>a{font-size:14px;padding:13px 5px;white-space:normal}
  .site-navigation .primary-menu .sub-menu .submenu-toggle{width:40px;min-height:44px}
  .site-navigation .primary-menu .sub-menu .sub-menu{margin:0 0 8px;padding:0 8px 0 12px;border-left:2px solid #c3d8f8;border-radius:0;background:transparent}
  .site-navigation .primary-menu .sub-menu .sub-menu .menu-link-row>a{font-size:13px;font-weight:500}
  .site-navigation .menu-item-description{font-size:12px;margin-top:4px}
  .site-navigation .header-quote{flex:none;margin-top:22px;min-height:50px}
  .site-navigation .mobile-nav-contact{flex:none;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);overflow-wrap:anywhere}
  .site-navigation .mobile-nav-contact a{min-height:36px}
  html:not(.cnx-nav-ready) .site-navigation .primary-menu .sub-menu{display:block}
}

@media(max-width:359px){
  .site-navigation .primary-menu>li>.menu-link-row>a{font-size:16px}
  .site-navigation .primary-menu .sub-menu{padding-inline:9px}
}

@media(prefers-reduced-motion:reduce){
  .site-navigation .submenu-toggle span,.site-navigation .primary-menu>li>.menu-link-row>a:after{transition:none}
}
