/* ==========================================================================
   Choate's Navbar v2
   Colors: blue #00408F | red #DA0314 | text #16232B
   Hardened against Pro / Integrity theme overrides
   ========================================================================== */

:root {
  --ch-blue: #00408F;
  --ch-red: #DA0314;
  --ch-text: #16232B;
  --ch-text-muted: #5B6C77;
  --ch-white: #ffffff;
  --ch-border: #e8eaed;
  --ch-shadow: 0 12px 32px rgba(22, 35, 43, 0.12);
  --ch-font: "Poppins", "Segoe UI", Arial, sans-serif;
  --ch-nav-z: 10050;
  --ch-mobile-panel-bg: #f8f9fb;
  --ch-arrow-black: url("../images/arrow-right-black.png");
  --ch-arrow-red: url("../images/arrow-right-red.png");
}

/* Hide existing Pro / Cornerstone header while new nav is active */
.x-masthead,
.x-bar.hello-bar,
.x-bar.bar-main,
.x-bar-space.hello-bar,
.x-bar-space.bar-main {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ---------- Reset — beat theme ul/li/a/float rules ---------- */
header.ch-nav,
header.ch-nav *,
header.ch-nav *::before,
header.ch-nav *::after {
  box-sizing: border-box !important;
}

header.ch-nav ul,
header.ch-nav ol,
header.ch-nav li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}

header.ch-nav a {
  float: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

header.ch-nav {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: var(--ch-nav-z) !important;
  font-family: var(--ch-font) !important;
  color: var(--ch-text) !important;
  background: var(--ch-white) !important;
  box-shadow: 0 1px 0 rgba(22, 35, 43, 0.06) !important;
  display: block !important;
  float: none !important;
  clear: both !important;
  line-height: 1.3 !important;
}

body.admin-bar header.ch-nav {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar header.ch-nav {
    top: 46px !important;
  }
}

header.ch-nav .ch-nav__inner {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ---------- Top utility bar ---------- */
header.ch-nav .ch-nav__top {
  display: block !important;
  background: var(--ch-blue) !important;
  color: var(--ch-white) !important;
  width: 100% !important;
}

header.ch-nav .ch-nav__top-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 22px !important;
  min-height: 42px !important;
}

header.ch-nav .ch-nav__top-icons {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
}

header.ch-nav .ch-nav__top-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--ch-white) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  padding: 0 !important;
}

header.ch-nav .ch-nav__top-link:hover,
header.ch-nav .ch-nav__top-link:focus {
  color: var(--ch-white) !important;
  opacity: 0.85;
  text-decoration: none !important;
}

header.ch-nav .ch-nav__icon {
  flex-shrink: 0 !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
}

header.ch-nav .ch-nav__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  appearance: none !important;
  border: 0 !important;
  cursor: pointer !important;
  background: var(--ch-red) !important;
  color: var(--ch-white) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  padding: 8px 14px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

header.ch-nav .ch-nav__cta:hover,
header.ch-nav .ch-nav__cta:focus {
  background: #b80210 !important;
  color: var(--ch-white) !important;
}

/* ---------- Main bar ---------- */
header.ch-nav .ch-nav__main {
  display: block !important;
  background: var(--ch-white) !important;
  border-bottom: 1px solid var(--ch-border) !important;
  width: 100% !important;
  position: relative !important;
}

header.ch-nav .ch-nav__main-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 84px !important;
  height: 84px !important;
  max-height: 84px !important;
  position: relative !important;
  overflow: visible !important;
}

/* Logo */
header.ch-nav .ch-nav__logo {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-decoration: none !important;
  color: var(--ch-text) !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 132px !important;
  max-width: 132px !important;
  height: 44px !important;
  order: 0 !important;
}

header.ch-nav .ch-nav__logo:hover,
header.ch-nav .ch-nav__logo:focus {
  color: var(--ch-text) !important;
  text-decoration: none !important;
  opacity: 0.92 !important;
}

header.ch-nav .ch-nav__logo-img {
  display: block !important;
  width: 132px !important;
  height: 44px !important;
  max-width: 132px !important;
  max-height: 44px !important;
  aspect-ratio: 3 / 1 !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Toggle (mobile) */
header.ch-nav .ch-nav__toggle {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  position: relative !important;
}

header.ch-nav .ch-nav__toggle-bar {
  display: block !important;
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  height: 2px !important;
  background: var(--ch-text) !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

header.ch-nav .ch-nav__toggle-bar:nth-child(1) { top: 14px !important; }
header.ch-nav .ch-nav__toggle-bar:nth-child(2) { top: 21px !important; }
header.ch-nav .ch-nav__toggle-bar:nth-child(3) { top: 28px !important; }

header.ch-nav .ch-nav__toggle-close {
  display: none !important;
  color: var(--ch-red) !important;
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
}

header.ch-nav.is-open .ch-nav__toggle-bar {
  display: none !important;
}

header.ch-nav.is-open .ch-nav__toggle-close {
  display: block !important;
}

/* ---------- Desktop menu row ---------- */
header.ch-nav .ch-nav__menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 100% !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow: visible !important;
}

header.ch-nav ul.ch-nav__list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: 100% !important;
  float: none !important;
}

header.ch-nav li.ch-nav__item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

header.ch-nav li.ch-nav__item.has-mega {
  position: static !important;
}

/* Compact 2-col mega (Electrical) — align under parent link */
header.ch-nav li.ch-nav__item.has-mega.has-mega--compact {
  position: relative !important;
}

header.ch-nav li.ch-nav__item.has-mega.has-mega--compact > .ch-nav__mega {
  left: 0 !important;
  right: auto !important;
  width: 520px !important; /* ~content + 120px */
  max-width: none !important;
  min-width: 0 !important;
  transform: none !important;
}

header.ch-nav li.ch-nav__item.has-mega.has-mega--compact .ch-nav__mega-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 24px !important;
  padding: 24px 28px 28px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  grid-template-columns: none !important;
}

header.ch-nav li.ch-nav__item.has-mega.has-mega--compact .ch-nav__mega-col {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* Service Areas — 3 columns; right-align under link (like About), stay on screen */
header.ch-nav li.ch-nav__item.has-mega.has-mega--compact.has-mega--cols-3 {
  position: relative !important;
}

header.ch-nav li.ch-nav__item.has-mega.has-mega--compact.has-mega--cols-3 > .ch-nav__mega {
  left: auto !important;
  right: 0 !important;
  width: 640px !important;
  max-width: min(640px, calc(100vw - 32px)) !important;
  transform: none !important;
}

header.ch-nav a.ch-nav__link {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  height: 84px !important;
  color: #16232B !important;
  text-decoration: none !important;
  font-family: var(--ch-font) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
  line-height: normal !important;
  float: none !important;
  width: auto !important;
}

header.ch-nav a.ch-nav__link:hover,
header.ch-nav a.ch-nav__link:focus,
header.ch-nav li.ch-nav__item.is-open > a.ch-nav__link,
header.ch-nav li.ch-nav__item:hover > a.ch-nav__link {
  color: #DA0314 !important;
  text-decoration: none !important;
  background: transparent !important;
  font-family: var(--ch-font) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: normal !important;
}

header.ch-nav .ch-nav__chevron {
  flex-shrink: 0 !important;
  width: 10px !important;
  height: 10px !important;
  transition: transform 0.2s ease;
}

header.ch-nav li.ch-nav__item.is-open > a.ch-nav__link .ch-nav__chevron,
header.ch-nav li.ch-nav__item:hover > a.ch-nav__link .ch-nav__chevron {
  transform: rotate(180deg);
  color: var(--ch-red) !important;
}

/* ---------- Mega menu: hidden from layout until open ---------- */
header.ch-nav .ch-nav__mega {
  display: none !important;
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: 100% !important;
  width: 100% !important;
  max-width: 1024px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ch-white) !important;
  box-shadow: var(--ch-shadow) !important;
  border: 1px solid var(--ch-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 6px 6px !important;
  z-index: 30 !important;
  float: none !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  transform: translateX(-50%) !important;
}

header.ch-nav li.ch-nav__item.is-open > .ch-nav__mega,
header.ch-nav li.ch-nav__item:hover > .ch-nav__mega {
  display: block !important;
}

header.ch-nav .ch-nav__mega-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px 24px !important;
  padding: 24px 28px 28px !important;
  margin: 0 !important;
  width: 100% !important;
}

header.ch-nav .ch-nav__mega-heading {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #5B6C77 !important;
  font-family: var(--ch-font) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: normal !important;
}

header.ch-nav .ch-nav__mega-col {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

header.ch-nav .ch-nav__mega-col ul {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

header.ch-nav .ch-nav__mega-col li {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
}

header.ch-nav .ch-nav__mega-col a {
  display: inline !important;
  color: #16232B !important;
  text-decoration: none !important;
  font-family: var(--ch-font) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: normal !important;
  padding: 0 !important;
  height: auto !important;
  white-space: normal !important;
}

header.ch-nav .ch-nav__mega-col a:hover,
header.ch-nav .ch-nav__mega-col a:focus {
  color: var(--ch-red) !important;
}

/* ---------- Simple dropdown ---------- */
header.ch-nav ul.ch-nav__dropdown {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  min-width: 230px !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  list-style: none !important;
  background: var(--ch-white) !important;
  border: 1px solid var(--ch-border) !important;
  box-shadow: var(--ch-shadow) !important;
  border-radius: 0 0 6px 6px !important;
  z-index: 30 !important;
  float: none !important;
  height: auto !important;
  box-sizing: border-box !important;
}

header.ch-nav li.ch-nav__item.is-open > ul.ch-nav__dropdown,
header.ch-nav li.ch-nav__item:hover > ul.ch-nav__dropdown {
  display: block !important;
}

/* Keep near-right dropdowns inside the viewport (Resources, About) */
header.ch-nav li.ch-nav__item.has-dropdown:nth-last-child(-n+2) > ul.ch-nav__dropdown {
  left: auto !important;
  right: 0 !important;
}

header.ch-nav ul.ch-nav__dropdown > li {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

header.ch-nav ul.ch-nav__dropdown a {
  display: block !important;
  padding: 9px 18px !important;
  color: #16232B !important;
  text-decoration: none !important;
  font-family: var(--ch-font) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  height: auto !important;
  white-space: nowrap !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

header.ch-nav ul.ch-nav__dropdown a:hover,
header.ch-nav ul.ch-nav__dropdown a:focus {
  color: var(--ch-red) !important;
  background: #f7f8fa !important;
}

header.ch-nav ul.ch-nav__dropdown a.ch-nav__link-external {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}

header.ch-nav ul.ch-nav__dropdown .ch-nav__external-icon {
  flex-shrink: 0 !important;
  width: 12px !important;
  height: 12px !important;
}

header.ch-nav .ch-nav__mega-col-trigger {
  display: none !important;
}

header.ch-nav .ch-nav__mobile-back,
header.ch-nav .ch-nav__mobile-title {
  display: none !important;
}

header.ch-nav .ch-nav__backdrop {
  display: none !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
  header.ch-nav ul.ch-nav__list {
    gap: 12px !important;
  }
}

@media (max-width: 980px) {
  html.ch-nav-mobile-open,
  body.ch-nav-mobile-open {
    overflow: hidden !important;
  }

  header.ch-nav .ch-nav__top {
    display: block !important;
  }

  header.ch-nav .ch-nav__top-inner {
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  header.ch-nav .ch-nav__top-icons {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex: 0 0 auto !important;
  }

  header.ch-nav .ch-nav__top-text {
    display: none !important;
  }

  header.ch-nav .ch-nav__cta--top {
    padding: 7px 10px !important;
    font-size: 11px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  header.ch-nav .ch-nav__top-link--portal {
    font-size: 11px !important;
    flex: 0 0 auto !important;
  }

  header.ch-nav .ch-nav__toggle {
    display: flex !important;
  }

  header.ch-nav .ch-nav__main-inner {
    min-height: 72px !important;
    height: 72px !important;
    max-height: 72px !important;
  }

  header.ch-nav .ch-nav__menu {
    display: none !important;
    position: fixed !important;
    top: 120px !important;
    left: auto !important;
    right: 0 !important;
    bottom: auto !important;
    width: 90% !important;
    max-width: 90% !important;
    height: auto !important;
    max-height: calc(100vh - 140px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: var(--ch-white) !important;
    border: 0 !important;
    box-shadow: -4px 0 24px rgba(22, 35, 43, 0.12) !important;
    padding: 0 0 200px !important;
    flex: none !important;
    z-index: 40 !important;
  }

  header.ch-nav .ch-nav__backdrop {
    display: none !important;
    position: fixed !important;
    top: 120px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    background: rgba(22, 35, 43, 0.45) !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 39 !important;
    cursor: pointer !important;
  }

  header.ch-nav.is-open .ch-nav__backdrop {
    display: block !important;
  }

  header.ch-nav.is-open .ch-nav__menu {
    display: block !important;
  }

  header.ch-nav .ch-nav__mobile-back {
    display: none !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 16px 20px !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: var(--ch-white) !important;
    color: #16232B !important;
    font-family: var(--ch-font) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    line-height: normal !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }

  header.ch-nav .ch-nav__mobile-back span {
    text-decoration: none !important;
  }

  header.ch-nav .ch-nav__mobile-back svg {
    flex-shrink: 0 !important;
  }

  header.ch-nav .ch-nav__mobile-back:not([hidden]) {
    display: flex !important;
  }

  header.ch-nav .ch-nav__mobile-title {
    display: none !important;
    padding: 12px 20px 14px !important;
    margin: 0 !important;
    color: #DA0314 !important;
    font-family: var(--ch-font) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    line-height: normal !important;
    background: var(--ch-white) !important;
    border-bottom: 1px solid var(--ch-border) !important;
    text-decoration: none !important;
  }

  header.ch-nav .ch-nav__mobile-title:not([hidden]) {
    display: block !important;
  }

  header.ch-nav ul.ch-nav__list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    height: auto !important;
    width: 100% !important;
  }

  header.ch-nav ul.ch-nav__list[hidden] {
    display: none !important;
  }

  header.ch-nav.ch-nav--mobile-section .ch-nav__list > .ch-nav__item:not(.ch-nav__item--mobile-active) {
    display: none !important;
  }

  header.ch-nav.ch-nav--mobile-section .ch-nav__item--mobile-active > .ch-nav__link {
    display: none !important;
  }

  header.ch-nav li.ch-nav__item,
  header.ch-nav li.ch-nav__item.has-mega {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
  }

  header.ch-nav a.ch-nav__link {
    width: 100% !important;
    height: auto !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--ch-border) !important;
    color: #16232B !important;
    font-family: var(--ch-font) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: normal !important;
    text-decoration: none !important;
  }

  header.ch-nav a.ch-nav__link:hover,
  header.ch-nav a.ch-nav__link:focus,
  header.ch-nav li.ch-nav__item.is-open > a.ch-nav__link {
    color: #DA0314 !important;
    font-family: var(--ch-font) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: normal !important;
  }

  header.ch-nav a.ch-nav__link span,
  header.ch-nav .ch-nav__mega-col ul a,
  header.ch-nav ul.ch-nav__dropdown a,
  header.ch-nav .ch-nav__mega-col-trigger span {
    text-decoration: none !important;
  }

  /* Black arrow icons — step 1 root items */
  header.ch-nav .ch-nav__list > .ch-nav__item.has-mega > .ch-nav__link .ch-nav__chevron,
  header.ch-nav .ch-nav__list > .ch-nav__item.has-dropdown > .ch-nav__link .ch-nav__chevron {
    display: none !important;
  }

  header.ch-nav .ch-nav__list > .ch-nav__item.has-mega > .ch-nav__link::after,
  header.ch-nav .ch-nav__list > .ch-nav__item.has-dropdown > .ch-nav__link::after {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    background: var(--ch-arrow-black) no-repeat center / contain !important;
  }

  header.ch-nav .ch-nav__arrow {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }

  header.ch-nav .ch-nav__arrow--black {
    background-image: var(--ch-arrow-black) !important;
  }

  header.ch-nav .ch-nav__arrow--red {
    background-image: var(--ch-arrow-red) !important;
  }

  header.ch-nav .ch-nav__item--mobile-active > .ch-nav__link {
    color: var(--ch-red) !important;
  }

  header.ch-nav .ch-nav__item--mobile-active > .ch-nav__link .ch-nav__chevron {
    color: var(--ch-red) !important;
  }

  header.ch-nav .ch-nav__item:not(.has-mega):not(.has-dropdown) > .ch-nav__link .ch-nav__chevron {
    display: none !important;
  }

  /* Submenu panels */
  header.ch-nav .ch-nav__mega,
  header.ch-nav ul.ch-nav__dropdown {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--ch-white) !important;
    display: none !important;
    padding: 0 !important;
    transform: none !important;
  }

  header.ch-nav .ch-nav__item--mobile-active > .ch-nav__mega,
  header.ch-nav .ch-nav__item--mobile-active > ul.ch-nav__dropdown {
    display: block !important;
  }

  /* Step 2/3 — gray panel backgrounds */
  header.ch-nav.ch-nav--mobile-section:not(.ch-nav--mobile-links) .ch-nav__item--mobile-active > .ch-nav__mega {
    background: var(--ch-mobile-panel-bg) !important;
  }

  header.ch-nav.ch-nav--mobile-section .ch-nav__item--mobile-active.has-dropdown > .ch-nav__dropdown {
    background: var(--ch-mobile-panel-bg) !important;
  }

  header.ch-nav li.ch-nav__item:hover > .ch-nav__mega,
  header.ch-nav li.ch-nav__item:hover > ul.ch-nav__dropdown {
    display: none !important;
  }

  header.ch-nav li.ch-nav__item--mobile-active:hover > .ch-nav__mega,
  header.ch-nav li.ch-nav__item--mobile-active:hover > ul.ch-nav__dropdown {
    display: block !important;
  }

  header.ch-nav .ch-nav__mega-inner {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  /* Compact megas (Electrical, Service Areas) — stack 1 per row on mobile */
  header.ch-nav li.ch-nav__item.has-mega.has-mega--compact .ch-nav__mega-inner {
    display: block !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  header.ch-nav li.ch-nav__item.has-mega.has-mega--compact .ch-nav__mega-col {
    flex: none !important;
    width: 100% !important;
    display: block !important;
  }

  header.ch-nav li.ch-nav__item.has-mega.has-mega--compact > .ch-nav__mega,
  header.ch-nav li.ch-nav__item.has-mega.has-mega--compact.has-mega--cols-3 > .ch-nav__mega {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }

  /* Step 2 — category list gray panel */
  header.ch-nav.ch-nav--mobile-section:not(.ch-nav--mobile-links) .ch-nav__item--mobile-active .ch-nav__mega-inner {
    background: var(--ch-mobile-panel-bg) !important;
  }

  header.ch-nav .ch-nav__mega-heading {
    display: none !important;
  }

  header.ch-nav .ch-nav__mega-col-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 16px 20px 16px 32px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3e6ea !important;
    background: transparent !important;
    color: #5B6C77 !important;
    font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: 0% !important;
    text-transform: uppercase !important;
    line-height: 100% !important;
    text-align: left !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }

  header.ch-nav .ch-nav__mega-col-trigger span {
    color: #5B6C77 !important;
    font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 100% !important;
    letter-spacing: 0% !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  header.ch-nav .ch-nav__mega-col-trigger:last-of-type {
    border-bottom: 0 !important;
  }

  header.ch-nav .ch-nav__mega-col ul {
    display: none !important;
    padding: 0 0 8px !important;
  }

  header.ch-nav.ch-nav--mobile-links .ch-nav__mega-col-trigger {
    display: none !important;
  }

  header.ch-nav.ch-nav--mobile-links .ch-nav__mega-col--mobile-active .ch-nav__mega-heading {
    display: block !important;
    padding: 14px 20px 10px 40px !important;
    margin: 0 !important;
    color: #5B6C77 !important;
    font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: 0% !important;
    text-transform: uppercase !important;
    line-height: 100% !important;
    text-decoration: none !important;
    background: var(--ch-mobile-panel-bg) !important;
  }

  header.ch-nav.ch-nav--mobile-links .ch-nav__mega-col--mobile-active ul {
    display: block !important;
    background: var(--ch-mobile-panel-bg) !important;
    padding: 0 0 8px !important;
  }

  header.ch-nav.ch-nav--mobile-links .ch-nav__mega-col--mobile-active {
    background: var(--ch-mobile-panel-bg) !important;
  }

  header.ch-nav.ch-nav--mobile-links .ch-nav__mega-col:not(.ch-nav__mega-col--mobile-active) {
    display: none !important;
  }

  header.ch-nav .ch-nav__mega-col ul a {
    display: block !important;
    padding: 10px 20px 10px 40px !important;
    color: #16232B !important;
    font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 100% !important;
    letter-spacing: 0% !important;
    text-transform: none !important;
    border-bottom: 0 !important;
    text-decoration: none !important;
    background: transparent !important;
  }

  header.ch-nav.ch-nav--mobile-links .ch-nav__mega-col--mobile-active li {
    margin: 0 !important;
  }

  header.ch-nav ul.ch-nav__dropdown {
    padding: 0 !important;
  }

  header.ch-nav ul.ch-nav__dropdown a {
    padding: 10px 20px 10px 32px !important;
    white-space: normal !important;
    border-bottom: 0 !important;
    color: #16232B !important;
    font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 100% !important;
    letter-spacing: 0% !important;
    text-decoration: none !important;
    background: transparent !important;
  }
}
