
/* ===== Header: tighter nav chrome (do not shorten labels) ===== */
@media (min-width:900px){
  #primary-menu > li > a{
    letter-spacing:-0.015em;
  }
}
/* Top-level horizontal padding is owned by cambium-nav-active (stable green-pill metrics). */

/* ===== Logo clearance vs Services (beat cambium-nav-active 168px !important) ===== */
/*
 * cambium-nav-active.css sets:
 *   .home #main-header .site-branding a.brand { width:168px !important }  (1,3,1)
 *   #main-header .site-branding a.brand { width:168px !important } at <=1439
 * Match that specificity (or higher) so the logo box + background-image shrink together.
 * Kadence paints the visible logo as background on .brand / .site-branding; img is opacity:0.
 */
@media (min-width:1280px) and (max-width:1499px){
  .home #main-header .site-branding,
  .home #main-header .site-branding a.brand,
  .home #masthead .site-branding,
  .home #masthead .site-branding a.brand,
  #main-header .site-branding,
  #main-header .site-branding a.brand,
  #main-header .site-branding a.brand.has-logo-image,
  #masthead .site-branding.site-brand-logo-only,
  #masthead .site-branding,
  #masthead .site-branding a.brand,
  #masthead a.brand.has-logo-image{
    display:block !important;
    width:132px !important;
    max-width:132px !important;
    min-width:0 !important;
    height:28px !important;
    overflow:hidden !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:left center !important;
    flex:0 0 auto !important;
  }
  .home #main-header .site-branding img,
  .home #main-header .site-branding a.brand img,
  #main-header .site-branding img,
  #main-header .site-branding a.brand img,
  #masthead a.brand.has-logo-image img.custom-logo,
  #masthead a.brand.has-logo-image .custom-logo{
    width:132px !important;
    max-width:132px !important;
    height:auto !important;
  }
  #masthead .site-header-item:has(a.brand.has-logo-image),
  #main-header .site-header-item:has(a.brand.has-logo-image){
    max-width:140px !important;
    width:auto !important;
    flex:0 0 auto !important;
    overflow:hidden !important;
  }
  #masthead .site-header-item-main-navigation,
  #main-header .site-header-item-main-navigation,
  .site-header-item-main-navigation{
    margin-left:48px !important;
    max-width:none !important;
    width:auto !important;
    flex:0 1 auto !important;
  }
  #masthead .primary-menu-container,
  #masthead #primary-menu,
  #main-header .primary-menu-container,
  #main-header #primary-menu{
    max-width:none !important;
    width:auto !important;
    padding-left:8px !important;
  }
}
@media (min-width:900px){
  #primary-menu > li.menu-item-has-children > a .dropdown-nav-toggle,
  #primary-menu > li.cambium-mega > a .dropdown-nav-toggle,
  #main-header .primary-menu-container > ul > li.menu-item-has-children > a .dropdown-nav-toggle{
    display:none !important;
    width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
}
/* Hide header phone below 1400 to free the right cluster */
@media (max-width:1399px){
  #masthead .header-html a[href^="tel:"],
  #masthead .header-html-inner a[href^="tel:"],
  #masthead .site-header-item a[href^="tel:"],
  #main-header .site-header-item a[href^="tel:"],
  #masthead .header-button-wrap a[href^="tel:"]{
    display:none !important;
  }
}

.cambium-mega, .cambium-mega ul, .cambium-mega li,
.cambium-services-mega, .cambium-services-mega ul, .cambium-services-mega li{
  list-style:none!important;margin:0;
}
.cambium-mega li::marker, .cambium-services-mega li::marker{content:none!important;}

:root{
  --cd-mega-blue:#2868a8;
  --cd-mega-navy:#173d63;
  --cd-mega-ink:#1c2430;
  --cd-mega-muted:#556170;
  --cd-mega-line:#e2e8ef;
  --cd-mega-panel:#ffffff;
  --cd-mega-soft:#f4f7fa;
  --cd-mega-green:#2f7d4a;
}

/* Kill theme clipping/nowrap inside mega */
#main-header .primary-menu-container > ul > li.cambium-mega .sub-menu a,
#main-header .primary-menu-container > ul > li.cambium-mega .sub-menu .nav-drop-title-wrap{
  white-space:normal !important;
  max-width:100% !important;
  text-overflow:clip !important;
  overflow:visible !important;
}
#main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a,
#main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a{
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

@media (min-width:900px){
  #main-header.site-header-wrap,
  #main-header{ position:relative; }

  #main-header .primary-menu-container > ul > li.cambium-mega{
    position:static;
  }

  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu{
    display:none;
    position:absolute;
    left:0; right:0;
    top:calc(100% - 10px);
    width:min(1328px, calc(100vw - 32px));
    max-width:calc(100vw - 32px);
    margin:0 auto;
    transform:none;
    padding:28px 18px 18px;
    background:var(--cd-mega-panel);
    border:1px solid var(--cd-mega-line);
    border-radius:0 0 8px 8px;
    box-shadow:0 18px 40px rgba(28,36,48,.12);
    z-index:1000;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:stretch;
    gap:0;
    list-style:none;
    box-sizing:border-box;
    overflow:visible;
  }

  /* Narrower panels for About / Resources feel denser, not sparse */
  #main-header .primary-menu-container > ul > li.cambium-mega-about > .sub-menu{
    width:min(720px, calc(100vw - 32px));
  }
  #main-header .primary-menu-container > ul > li.cambium-mega-resources > .sub-menu{
    width:min(980px, calc(100vw - 32px));
  }
  #main-header .primary-menu-container > ul > li.cambium-mega-industries > .sub-menu{
    width:min(1100px, calc(100vw - 32px));
  }

  /*
   * CRITICAL: do NOT use a full-width ::before bridge on the panel.
   * A full-width bridge sits over the entire nav row and steals pointer
   * events from Industries/About/Resources while Services is open, which
   * made the page feel locked when switching top-level menus.
   * Instead: panel shell ignores the pointer; only columns/CTA receive it.
   * The 300ms close delay covers the small gap under the trigger.
   */
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu{
    pointer-events:none;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li{
    pointer-events:auto;
  }

  #main-header .primary-menu-container > ul > li.cambium-mega.focus > .sub-menu,
  #main-header .primary-menu-container > ul > li.cambium-mega:focus-within > .sub-menu,
  #main-header .primary-menu-container > ul > li.cambium-mega:hover > .sub-menu,
  #main-header .primary-menu-container > ul > li.cambium-mega[data-open="true"] > .sub-menu,
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu.toggled-on{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    clip:auto !important;
    height:auto !important;
    overflow:visible !important;
  }
  /* Esc-forced close — blocks :hover/:focus-within until next intentional open */
  #main-header .primary-menu-container > ul > li.cambium-mega[data-forced-closed="true"] > .sub-menu{
    display:none !important;
  }

  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu .sub-menu{
    left:auto !important; right:auto !important;
  }

  /* Columns */
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li{
    flex:1 1 0;
    min-width:0;
    max-width:none;
    width:auto;
    margin:0;
    padding:0 12px 12px;
    border-right:1px solid var(--cd-mega-line);
    position:static !important;
    float:none !important;
    box-sizing:border-box;
    overflow:hidden;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li:first-child{ padding-left:8px; }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li:last-child,
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li.cambium-mega-cta{
    border-right:0;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li:last-child{ padding-right:8px; }

  /* Featured CTA strip spans full row */
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li.cambium-mega-cta,
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > .cd-mega-featured{
    flex:1 1 100%;
    max-width:100%;
    width:100%;
    border-right:0;
    border-top:1px solid var(--cd-mega-line);
    margin-top:8px;
    padding:14px 8px 4px;
    overflow:visible;
  }

  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start; /* tops align; divider sits on equal-height box */
    min-height:78px;
    height:78px;
    box-sizing:border-box;
    font-family:Inter,system-ui,sans-serif;
    font-size:13px;
    font-weight:600;
    line-height:1.25;
    color:var(--cd-mega-ink);
    padding:4px 4px 10px 0 !important;
    margin:0 0 6px 0;
    border:0;
    border-bottom:1px solid var(--cd-mega-line);
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    white-space:normal !important;
    overflow-wrap:break-word;
    word-break:normal;
    text-decoration:none;
    overflow:hidden !important; /* clip desc into fixed heading box */
    text-overflow:clip !important;
    max-width:100%;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a .cd-mega-desc{
    display:block;
    margin-top:4px;
    font-size:11.5px;
    font-weight:400;
    line-height:1.35;
    color:var(--cd-mega-muted);
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a .nav-drop-title-wrap{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    white-space:normal !important;
    overflow-wrap:break-word;
    max-width:100%;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a:hover,
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a:focus{
    color:var(--cd-mega-blue);
    background:transparent !important;
    box-shadow:none !important;
    padding:4px 4px 10px 0 !important;
    margin:0 0 6px 0 !important;
    min-height:78px !important;
    height:78px !important;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a:focus-visible{
    outline:2px solid var(--cd-mega-blue); outline-offset:2px;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a .dropdown-nav-toggle{ display:none !important; }

  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu{
    display:block !important;
    position:static !important;
    transform:none !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0; padding:0; border:0;
    box-shadow:none !important;
    background:transparent !important;
    left:auto !important; top:auto !important; right:auto !important;
    float:none !important;
    overflow:visible;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li{
    margin:0; padding:0; border:0;
    float:none !important; position:static !important;
    min-width:0; max-width:100%;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a{
    display:block !important;
    font-family:Inter,system-ui,sans-serif;
    font-size:12.75px;
    font-weight:400;
    line-height:1.35;
    color:var(--cd-mega-muted);
    padding:6px 4px 6px 0 !important;
    margin:0;
    white-space:normal !important;
    overflow-wrap:break-word;
    word-break:normal;
    text-decoration:none;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:100%;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a:hover,
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a:focus{ color:var(--cd-mega-blue); }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a:focus-visible{
    outline:2px solid var(--cd-mega-blue); outline-offset:2px;
  }

  /* Injected featured strip */
  #main-header .cd-mega-featured{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px 24px;
    width:100%;
    box-sizing:border-box;
  }
  #main-header .cd-mega-featured-review{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:Inter,system-ui,sans-serif;
    font-size:13px;
    font-weight:600;
    color:#fff !important;
    background:var(--cd-mega-green);
    padding:10px 16px;
    border-radius:6px;
    text-decoration:none !important;
  }
  #main-header .cd-mega-featured-review:hover{ filter:brightness(1.05); color:#fff !important; }
  #main-header .cd-mega-featured-phone{
    font-family:Inter,system-ui,sans-serif;
    font-size:14px;
    font-weight:600;
    color:var(--cd-mega-navy) !important;
    text-decoration:none !important;
  }
  #main-header .cd-mega-featured-phone:hover{ color:var(--cd-mega-blue) !important; }
  #main-header .cd-mega-featured-note{
    font-family:Inter,system-ui,sans-serif;
    font-size:12px;
    color:var(--cd-mega-muted);
    margin-right:auto;
  }
}

@media (min-width:900px) and (max-width:1279px){
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu{
    width:min(1240px, calc(100vw - 24px));
    padding:22px 12px 14px;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega-about > .sub-menu{
    width:min(680px, calc(100vw - 24px));
  }
  #main-header .primary-menu-container > ul > li.cambium-mega-resources > .sub-menu{
    width:min(920px, calc(100vw - 24px));
  }
  #main-header .primary-menu-container > ul > li.cambium-mega-industries > .sub-menu{
    width:min(1040px, calc(100vw - 24px));
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li{ padding:0 10px 10px; }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a{
    font-size:12.5px; min-height:78px; height:78px; padding:4px 2px 10px 0 !important;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a{
    font-size:12.25px; padding:5px 2px 5px 0 !important;
  }
}


/* Link-level one-line descriptors (Industries depth-2, same voice as Services column descs) */
@media (min-width:900px){
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    padding:8px 4px 8px 0 !important;
  }
  #main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > .sub-menu > li > a .cd-mega-desc{
    display:block;
    margin-top:2px;
    font-size:11.5px;
    font-weight:400;
    line-height:1.35;
    color:var(--cd-mega-muted);
  }
}
#mobile-menu > li.cambium-mega > .sub-menu > li > .sub-menu > li > a .cd-mega-desc,
#mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li > .sub-menu > li > a .cd-mega-desc{
  display:block !important;
  margin-top:2px;
  font-size:12px;
  font-weight:400;
  line-height:1.35;
  color:var(--cd-mega-muted);
}

/* Keep column title + one-line description stacked (desktop + mobile) */
#main-header .primary-menu-container > ul > li.cambium-mega > .sub-menu > li > a .nav-drop-title-wrap,
#mobile-menu > li.cambium-mega > .sub-menu > li > a .nav-drop-title-wrap,
#mobile-menu > li.cambium-mega > .sub-menu > li > .drawer-nav-drop-wrap > a .nav-drop-title-wrap{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  white-space:normal !important;
}
#mobile-menu > li.cambium-mega > .sub-menu > li > a .cd-mega-desc,
#mobile-menu > li.cambium-mega > .sub-menu > li > .drawer-nav-drop-wrap > a .cd-mega-desc{
  display:block !important;
  margin-top:2px;
  font-size:12px;
  font-weight:400;
  line-height:1.35;
  color:var(--cd-mega-muted);
}

/* Mobile accordion */
@media (max-width:899px){
  #mobile-menu > li.cambium-mega > .sub-menu,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu{
    display:none;
    padding:4px 0 8px 0;
    background:var(--cd-mega-soft);
    border-radius:6px;
    margin:4px 8px 10px;
    list-style:none;
  }
  #mobile-menu > li.cambium-mega[data-open="true"] > .sub-menu,
  #mobile-menu > li.cambium-mega > .sub-menu.toggled-on,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega[data-open="true"] > .sub-menu,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu.toggled-on{
    display:block !important;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li{
    border-bottom:1px solid var(--cd-mega-line);
    list-style:none;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li:last-child,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li:last-child{
    border-bottom:0;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li > a,
  #mobile-menu > li.cambium-mega > .sub-menu > li > .drawer-nav-drop-wrap > a,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li > a,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li > .drawer-nav-drop-wrap > a{
    font-weight:600;
    color:var(--cd-mega-ink);
    padding:12px 16px;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li > a .cd-mega-desc{
    display:block;
    font-size:12px;
    font-weight:400;
    color:var(--cd-mega-muted);
    margin-top:2px;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li > .sub-menu,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li > .sub-menu{
    display:none;
    padding:0 0 8px 12px;
    background:transparent;
    box-shadow:none;
    border:0;
    position:static;
    list-style:none;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li[data-open="true"] > .sub-menu,
  #mobile-menu > li.cambium-mega > .sub-menu > li > .sub-menu.toggled-on,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li[data-open="true"] > .sub-menu,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li > .sub-menu.toggled-on{
    display:block !important;
  }
  #mobile-menu > li.cambium-mega > .sub-menu > li > .sub-menu > li > a,
  #mobile-drawer .mobile-navigation ul.menu > li.cambium-mega > .sub-menu > li > .sub-menu > li > a{
    font-weight:400;
    color:var(--cd-mega-muted);
    padding:10px 16px;
  }
  #mobile-menu .cd-mega-featured{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:12px 16px 16px;
  }
  #mobile-menu .cd-mega-featured-review{
    display:inline-flex;
    justify-content:center;
    font-weight:600;
    color:#fff !important;
    background:var(--cd-mega-green);
    padding:12px 14px;
    border-radius:6px;
    text-decoration:none !important;
    text-align:center;
  }
  #mobile-menu .cd-mega-featured-phone{
    text-align:center;
    font-weight:600;
    color:var(--cd-mega-navy) !important;
    text-decoration:none !important;
  }
}




