/* The single desktop navigation layout shared by every GALEX page. */
.site-nav {
  position: fixed !important;
  z-index: 100 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 77px !important;
  overflow: visible !important;
  padding: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: 0 1px 0 rgba(20, 49, 75, 0) !important;
  transition: height 360ms cubic-bezier(.22, 1, .36, 1), border-color 360ms ease-out, box-shadow 360ms ease-out !important;
}

.site-nav .site-nav-inner {
  position: relative !important;
  width: 100% !important;
  height: 77px !important;
  transform: none !important;
  transform-origin: initial !important;
  transition: height 360ms cubic-bezier(.22, 1, .36, 1) !important;
}

.site-nav .site-logo {
  position: absolute !important;
  top: 9px !important;
  left: 21px !important;
  display: block !important;
  width: 223px !important;
  height: 58px !important;
  transition: width 360ms cubic-bezier(.22, 1, .36, 1), height 360ms cubic-bezier(.22, 1, .36, 1), top 360ms cubic-bezier(.22, 1, .36, 1), left 360ms cubic-bezier(.22, 1, .36, 1) !important;
}

.site-nav .site-logo img { display: block !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }

.site-nav .site-nav-links {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  width: max-content !important;
  height: 77px !important;
  margin: 0 !important;
  gap: 32px !important;
  align-items: center !important;
  transform: translateX(-50%) !important;
  transition: height 360ms cubic-bezier(.22, 1, .36, 1), gap 360ms cubic-bezier(.22, 1, .36, 1) !important;
}

.site-nav .site-nav-links .nav-link,
.site-nav .site-nav-links .nav-link:nth-child(n) {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: flex !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 25px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 20px !important;
  color: #213345 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 160ms ease-out, background-color 160ms ease-out, border-radius 160ms ease-out !important;
}

.site-nav .site-nav-links .nav-link:hover,
.site-nav .site-nav-links .nav-link:focus-visible { color: #008cc7 !important; outline: none !important; }
.site-nav .site-nav-links .nav-link.active,
.site-nav .site-nav-links .nav-link.active:hover,
.site-nav .site-nav-links .nav-link.active:focus-visible { background: #365faa !important; color: #fff !important; }

/* Contact still imports its legacy page stylesheet. Reassert the exact shared
   desktop metrics after it so its header cannot render on the old 80% scale. */
.contact-site .contact-nav.site-nav .site-nav-inner { width: 100% !important; height: 77px !important; transform: none !important; }
.contact-site .contact-nav.site-nav .site-logo { top: 9px !important; left: 21px !important; width: 223px !important; height: 58px !important; }
.contact-site .contact-nav.site-nav .site-nav-links { top: 0 !important; left: 50% !important; display: flex !important; height: 77px !important; gap: 32px !important; transform: translateX(-50%) !important; }
.contact-site .contact-nav.site-nav .site-nav-links .nav-link,
.contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) { position: relative !important; top: auto !important; left: auto !important; display: flex !important; width: auto !important; height: 38px !important; padding: 0 25px !important; font-size: 22px !important; font-weight: 500 !important; line-height: 1 !important; }
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-inner { height: 60px !important; }
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-logo { top: 7px !important; left: 58px !important; width: 190px !important; height: 46px !important; }
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links { height: 60px !important; gap: 24px !important; }
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) { height: 30px !important; padding: 0 18px !important; font-size: 20px !important; }

body.nav-is-condensed .site-nav { height: 60px !important; border-bottom-color: rgba(20, 49, 75, .1) !important; box-shadow: 0 5px 16px rgba(20, 49, 75, .06) !important; }
body.nav-is-condensed .site-nav .site-nav-inner { height: 60px !important; transform: none !important; }
body.nav-is-condensed .site-nav .site-logo { top: 7px !important; left: 58px !important; width: 190px !important; height: 46px !important; }
body.nav-is-condensed .site-nav .site-nav-links { height: 60px !important; gap: 24px !important; transform: translateX(-50%) !important; }
body.nav-is-condensed .site-nav .site-nav-links .nav-link,
body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) { position: relative !important; top: auto !important; left: auto !important; width: auto !important; height: 30px !important; padding: 0 18px !important; background: transparent !important; color: #213345 !important; font-size: 20px !important; }
body.nav-is-condensed .site-nav .site-nav-links .nav-link.active,
body.nav-is-condensed .site-nav .site-nav-links .nav-link.active:hover,
body.nav-is-condensed .site-nav .site-nav-links .nav-link.active:focus-visible { background: #365faa !important; color: #fff !important; }

@media (max-width: 800px) {
  .site-nav, body.nav-is-condensed .site-nav { height: 72px !important; }
  .site-nav .site-nav-inner, body.nav-is-condensed .site-nav .site-nav-inner { height: 72px !important; transform: none !important; }
  .site-nav .site-nav-links { display: none !important; }
}

/* Crop the legacy 166px header strip embedded inside the scaled Home canvas.
   In the SPA the canvas sits inside #spa-root, so the old direct-sibling
   selector never matched. Keep the hero flush under the shared 77px header at
   every responsive Home canvas scale. */
body.route-home #spa-root > .canvas-wrap {
  margin-top: calc(77px - (166px * var(--page-scale))) !important;
}

/* Homepage-only interaction: compact, same-type-scale navigation menus and
   a restrained, non-elastic header transition. */
.site-nav:not(.contact-nav) {
  transition: height 460ms cubic-bezier(.4, 0, .2, 1), border-color 460ms ease-out, box-shadow 460ms ease-out !important;
}
.site-nav:not(.contact-nav) .site-nav-inner {
  transition: height 460ms cubic-bezier(.4, 0, .2, 1) !important;
}
.site-nav:not(.contact-nav) .site-logo {
  transition: width 460ms cubic-bezier(.4, 0, .2, 1), height 460ms cubic-bezier(.4, 0, .2, 1), top 460ms cubic-bezier(.4, 0, .2, 1), left 460ms cubic-bezier(.4, 0, .2, 1) !important;
}
.site-nav:not(.contact-nav) .site-nav-links {
  transition: height 460ms cubic-bezier(.4, 0, .2, 1), gap 460ms cubic-bezier(.4, 0, .2, 1) !important;
}
.site-nav:not(.contact-nav) .nav-mega {
  top: 77px !important;
  min-height: 172px !important;
  padding: 24px 30px !important;
  grid-template-columns: 150px 1px minmax(0, 1fr) !important;
  column-gap: 24px !important;
  border-radius: 0 0 14px 14px !important;
  transform: translateY(-10px) !important;
}
.site-nav:not(.contact-nav).nav-menu-open .nav-mega { transform: translateY(0) !important; }
.site-nav:not(.contact-nav) .nav-mega-pointer {
  top: -12px !important;
  border-right-width: 13px !important;
  border-bottom-width: 13px !important;
  border-left-width: 13px !important;
}
.site-nav:not(.contact-nav) .nav-mega-title,
.site-nav:not(.contact-nav) .nav-mega-link { font-size: 20px !important; }
.site-nav:not(.contact-nav) .nav-mega-divider { min-height: 108px !important; }
.site-nav:not(.contact-nav) .nav-mega-links { gap: 10px !important; }
body.nav-is-condensed .site-nav:not(.contact-nav) .nav-mega { top: 60px !important; width: var(--menu-width) !important; min-height: 164px !important; padding: 22px 28px !important; }

/* Internal pages used to keep their legacy, oversized hover card (858px wide
   with 29–30px type). Mirror Home's final card geometry and type scale so the
   same menu always looks identical after navigation. */
.site-nav.contact-nav .nav-mega {
  top: 77px !important;
  min-height: 172px !important;
  padding: 24px 30px !important;
  grid-template-columns: 150px 1px minmax(0, 1fr) !important;
  column-gap: 24px !important;
  border-radius: 0 0 14px 14px !important;
  transform: translateY(-10px) !important;
}
.site-nav.contact-nav.nav-menu-open .nav-mega { transform: translateY(0) !important; }
.site-nav.contact-nav .nav-mega-pointer {
  top: -12px !important;
  border-right-width: 13px !important;
  border-bottom-width: 13px !important;
  border-left-width: 13px !important;
}
.site-nav.contact-nav .nav-mega-title,
.site-nav.contact-nav .nav-mega-link { font-size: 20px !important; }
.site-nav.contact-nav .nav-mega-divider { min-height: 108px !important; }
.site-nav.contact-nav .nav-mega-links { gap: 10px !important; }
body.nav-is-condensed .site-nav.contact-nav .nav-mega {
  top: 60px !important;
  width: var(--menu-width) !important;
  min-height: 164px !important;
  padding: 22px 28px !important;
}

/* Industrial sticky-nav motion system. The fixed header keeps a constant
   layout box; only composited visual layers contract, so page content never
   shifts while scrolling. */
:root {
  --nav-motion-duration: 420ms;
  --nav-motion-ease: cubic-bezier(.22, 1, .36, 1);
}

.site-nav {
  height: 77px !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
  contain: layout style;
  transition: none !important;
}
.site-nav:not(.contact-nav),
.site-nav.contact-nav { transition:none !important; }

.site-nav::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 77px;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid rgba(20,49,75,0);
  box-shadow: 0 8px 28px rgba(20,49,75,0);
  transform: scaleY(1);
  transform-origin: top center;
  transition: transform var(--nav-motion-duration) var(--nav-motion-ease), border-color var(--nav-motion-duration) var(--nav-motion-ease), box-shadow var(--nav-motion-duration) var(--nav-motion-ease), background-color var(--nav-motion-duration) var(--nav-motion-ease);
  will-change: transform;
}

.site-nav .site-nav-inner,
.site-nav .site-logo,
.site-nav .site-nav-links {
  transition: transform var(--nav-motion-duration) var(--nav-motion-ease), gap var(--nav-motion-duration) var(--nav-motion-ease) !important;
  will-change: transform;
}
.site-nav:not(.contact-nav) .site-logo,
.site-nav.contact-nav .site-logo,
.site-nav:not(.contact-nav) .site-nav-links,
.site-nav.contact-nav .site-nav-links {
  transition: transform var(--nav-motion-duration) var(--nav-motion-ease), gap var(--nav-motion-duration) var(--nav-motion-ease) !important;
}

.site-nav .site-logo {
  transform: translate3d(0,0,0) scale(1) !important;
  transform-origin: left center !important;
}

body.nav-is-condensed .site-nav { height:77px !important; }
body.nav-is-condensed .site-nav::before {
  background: rgba(255,255,255,.985);
  border-bottom-color: rgba(20,49,75,.1);
  box-shadow: 0 10px 28px rgba(20,49,75,.09);
  transform: scaleY(1);
}
body.nav-is-condensed .site-nav .site-nav-inner { height:77px !important; transform:none !important; }
body.nav-is-condensed .site-nav .site-logo {
  top:9px !important;
  left:21px !important;
  width:223px !important;
  height:58px !important;
  transform: translate3d(14px,0,0) scale(.88) !important;
}
body.nav-is-condensed .site-nav .site-nav-links {
  height:77px !important;
  gap:26px !important;
  transform: translate3d(-50%,0,0) scale(.96) !important;
  transform-origin:center center !important;
}
body.nav-is-condensed .site-nav .site-nav-links .nav-link,
body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) {
  height:38px !important;
  padding:0 22px !important;
  font-size:22px !important;
}

body.nav-is-condensed .site-nav .nav-mega,
body.nav-is-condensed .site-nav.contact-nav .nav-mega { top:77px !important; }

/* Contact is wrapped by .contact-site and previously had more-specific
   compact offsets. Reassert the shared 77px centered geometry there too. */
body.nav-is-condensed .contact-site .contact-nav.site-nav { height:77px !important; }
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-inner { height:77px !important; transform:none !important; }
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-logo {
  top:9px !important;
  left:21px !important;
  width:223px !important;
  height:58px !important;
  transform:translate3d(14px,0,0) scale(.88) !important;
}
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
  height:77px !important;
  gap:26px !important;
  transform:translate3d(-50%,0,0) scale(.96) !important;
}
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
  height:38px !important;
  padding:0 22px !important;
  font-size:22px !important;
}

@media (prefers-reduced-motion: reduce) {
  .site-nav::before,
  .site-nav .site-nav-inner,
  .site-nav .site-logo,
  .site-nav .site-nav-links { transition-duration:1ms !important; }
}

/* SPA v2: navigation is a persistent viewport layer outside #spa-root. */
.site-nav { z-index: 10000 !important; }
.site-nav .site-nav-links { isolation: isolate; }
.site-nav .site-nav-links .nav-link { z-index: 2 !important; }

/* One physical CTA pill survives route changes, so the selected section glides
   instead of being recreated and snapping on every page. */
.site-nav .nav-active-pill {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 0;
  height: 38px;
  border-radius: 20px;
  background: #365faa;
  opacity: 0;
  transform: translate3d(0,-50%,0);
  transition:
    left 480ms cubic-bezier(.22,1,.36,1),
    width 480ms cubic-bezier(.22,1,.36,1),
    height 420ms cubic-bezier(.22,1,.36,1),
    border-radius 420ms cubic-bezier(.22,1,.36,1),
    opacity 180ms ease-out;
  will-change: left,width;
  pointer-events: none;
}
.site-nav .site-nav-links.nav-pill-ready .nav-active-pill { opacity: 1; }
.site-nav .nav-active-pill[data-rubber-moving] {
  will-change:left,width;
}

/* The real highlight is the moving pill, not a per-page background. */
.site-nav .site-nav-links .nav-link.active,
.site-nav .site-nav-links .nav-link.active:hover,
.site-nav .site-nav-links .nav-link.active:focus-visible,
body.nav-is-condensed .site-nav .site-nav-links .nav-link.active,
body.nav-is-condensed .site-nav .site-nav-links .nav-link.active:hover,
body.nav-is-condensed .site-nav .site-nav-links .nav-link.active:focus-visible {
  background: transparent !important;
  color: #fff !important;
}

/* Self-contained mega menu base. It no longer depends on a route-specific CSS
   file, which is essential now that the header itself never remounts. */
.site-nav .nav-mega {
  --menu-width: 720px;
  --menu-title-width: 220px;
  position: absolute !important;
  z-index: 10001 !important;
  left: 0;
  top: 77px !important;
  box-sizing: border-box;
  width: var(--menu-width) !important;
  min-height: 172px !important;
  padding: 24px 30px !important;
  display: grid !important;
  grid-template-columns: 150px 1px minmax(0,1fr) !important;
  column-gap: 24px !important;
  align-items: center;
  color: #fff;
  background: #365faa;
  border-radius: 0 0 14px 14px !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px) !important;
  transition: opacity 180ms ease-out, transform 300ms cubic-bezier(.22,1,.36,1), visibility 0s linear 300ms !important;
}
.site-nav.nav-menu-open .nav-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) !important;
  transition-delay: 0s !important;
}
.site-nav .nav-mega-pointer {
  position: absolute;
  top: -12px !important;
  left: var(--pointer-center,50%);
  width: 0;
  height: 0;
  border-right: 13px solid transparent;
  border-bottom: 13px solid #365faa;
  border-left: 13px solid transparent;
  transform: translateX(-50%);
}
.site-nav .nav-mega-title { margin:0; font-size:20px !important; line-height:1.15; font-weight:500; }
.site-nav .nav-mega-divider { width:1px; min-height:108px !important; background:rgba(255,255,255,.76); }
.site-nav .nav-mega-links { display:grid; gap:10px !important; align-content:center; }
.site-nav .nav-mega-link { color:#fff; font-size:20px !important; line-height:1.18; font-weight:400; text-decoration:none; transition:color 180ms ease-out,transform 180ms ease-out; }
.site-nav .nav-mega-link:hover,.site-nav .nav-mega-link:focus-visible { color:#cbe8ff; transform:translateX(4px); outline:none; }
.site-nav .nav-mega-link--disabled,
.site-nav .nav-mega-link--disabled:hover { color:rgba(255,255,255,.72); transform:none; cursor:default; }

@media (prefers-reduced-motion: reduce) {
  .site-nav .nav-active-pill { transition-duration:1ms !important; }
}


/* ===== SPA v5: lock compact navigation to one horizontal coordinate system =====
   The active pill and labels must not use different animation geometries.
   Compact mode therefore changes only vertical/header presentation. Horizontal
   link positions, gaps, padding and type metrics remain identical to expanded
   mode, and the links wrapper is never scaled. */
body.nav-is-condensed .site-nav .site-nav-links,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links,
body.nav-is-condensed .site-nav.contact-nav .site-nav-links {
  height: 77px !important;
  gap: 32px !important;
  transform: translate3d(-50%,0,0) scale(1) !important;
  transform-origin: center center !important;
}

body.nav-is-condensed .site-nav .site-nav-links .nav-link,
body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: 38px !important;
  padding: 0 25px !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* No horizontal animation on the links container. This removes the phase drift
   between the label and the moving active pill during header condensation. */
.site-nav .site-nav-links,
.site-nav:not(.contact-nav) .site-nav-links,
.site-nav.contact-nav .site-nav-links {
  transition: height var(--nav-motion-duration) var(--nav-motion-ease) !important;
}

/* With horizontal geometry locked, the active pill only needs route-to-route
   movement. Its dimensions exactly match the active link in both nav states. */
.site-nav .nav-active-pill {
  height: 38px !important;
  border-radius: 20px !important;
}


/* v8: six-item primary navigation. Distributor is now a first-level section.
   Keep all items and the active pill in the same untransformed layout space. */
@media (min-width: 801px) {
  .site-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    left: max(286px, 20vw) !important;
    right: clamp(24px, 3.2vw, 62px) !important;
    width: auto !important;
    transform: none !important;
    justify-content: space-between !important;
    gap: clamp(8px, 1vw, 22px) !important;
  }
  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline: clamp(12px, 1.25vw, 22px) !important;
  }
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline: clamp(10px, 1vw, 18px) !important;
  }
}

/* Product families menu: Blowers and Controllers expose second-level choices;
   product families without pages remain visibly disabled. */
.site-nav .nav-products-cascade__group.is-disabled,
body.nav-is-condensed .site-nav .nav-products-cascade__group.is-disabled {
  color:#aeb8c8 !important;
  opacity:1 !important;
  pointer-events:none !important;
}
.site-nav .nav-products-cascade__submenu--blowers,
body.nav-is-condensed .site-nav .nav-products-cascade__submenu--blowers {
  width:min(680px,42vw) !important;
  min-height:222px !important;
  padding:27px 30px !important;
  align-content:start !important;
}
.site-nav .nav-blowers-submenu {
  display:grid;
  grid-template-rows:auto auto auto auto;
  gap:13px;
  color:#fff;
}
.site-nav .nav-blowers-submenu > strong {
  color:#fff;
  font-size:27px;
  line-height:1.1;
  font-weight:700;
}
.site-nav .nav-blowers-submenu__links {
  display:grid;
  grid-template-columns:max-content max-content minmax(0,1fr);
  gap:clamp(20px,3vw,54px);
  align-items:center;
}
.site-nav .nav-blowers-submenu__links .nav-products-cascade__link {
  font-size:22px !important;
}
.site-nav .nav-blowers-submenu__disabled {
  color:#d4d9e2;
  font-size:22px;
  line-height:1.2;
}
.site-nav .nav-controllers-submenu {
  display:grid;
  gap:20px;
  align-content:center;
  color:#fff;
}
.site-nav .nav-products-cascade__submenu--controllers,
body.nav-is-condensed .site-nav .nav-products-cascade__submenu--controllers {
  width:min(680px,42vw) !important;
  min-height:222px !important;
  padding:27px 30px !important;
}
.site-nav .nav-controllers-submenu > strong {
  color:#fff;
  font-size:27px;
  line-height:1.1;
  font-weight:700;
}
.site-nav .nav-controllers-submenu__links {
  display:grid;
  grid-template-columns:max-content max-content;
  gap:64px;
  align-items:center;
}
.site-nav .nav-controllers-submenu__links .nav-products-cascade__link {
  font-size:22px !important;
}

/* v9: responsive six-item desktop navigation.
   Keep the same horizontal geometry in normal and condensed states. */
@media (min-width: 801px) {
  .site-nav .site-nav-links,
  .site-nav:not(.contact-nav) .site-nav-links,
  .site-nav.contact-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .site-nav:not(.contact-nav) .site-nav-links,
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    /* 280px clears the full-size logo; the right inset prevents Distributor
       from touching the viewport edge on 1366/1440px screens. */
    left: clamp(268px, 20.5vw, 326px) !important;
    right: clamp(18px, 2.25vw, 44px) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  .site-nav.contact-nav .site-nav-links .nav-link,
  .site-nav.contact-nav .site-nav-links .nav-link:nth-child(n),
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    height: 38px !important;
    padding-inline: clamp(8px, .72vw, 14px) !important;
    font-size: clamp(18px, 1.22vw, 22px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Condensing is vertical only. The menu must not reflow sideways. */
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    height: 60px !important;
  }
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    height: 34px !important;
  }

  .site-nav .nav-active-pill {
    height: 38px !important;
    border-radius: 20px !important;
  }
}

/* Give the six-item nav a little more room before switching to the existing
   mobile treatment. This prevents a cramped intermediate layout. */
@media (min-width: 801px) and (max-width: 1180px) {
  .site-nav .site-logo,
  .contact-site .contact-nav.site-nav .site-logo {
    left: 20px !important;
    width: 198px !important;
    height: 52px !important;
    top: 12px !important;
  }
  body.nav-is-condensed .site-nav .site-logo,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-logo {
    left: 24px !important;
    width: 178px !important;
    height: 43px !important;
    top: 8px !important;
  }
  .site-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    left: 226px !important;
    right: 14px !important;
  }
  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline: 6px !important;
    font-size: 17px !important;
  }
}

/* Final condensed-state guard for the wider Blowers submenu. */
body.nav-is-condensed .site-nav .nav-products-cascade__submenu--blowers {
  min-height:222px !important;
}

/* The Products primary panel and either secondary panel are one matched pair.
   Earlier rules gave them independent 172/222px heights and 680px submenu
   width, which is why the second level still rendered larger. */
.site-nav .nav-mega.nav-mega--products,
body.nav-is-condensed .site-nav .nav-mega.nav-mega--products {
  height:222px !important;
  min-height:222px !important;
}
.site-nav .nav-products-cascade__submenu,
.site-nav .nav-products-cascade__submenu--blowers,
.site-nav .nav-products-cascade__submenu--controllers,
body.nav-is-condensed .site-nav .nav-products-cascade__submenu,
body.nav-is-condensed .site-nav .nav-products-cascade__submenu--blowers,
body.nav-is-condensed .site-nav .nav-products-cascade__submenu--controllers {
  width:var(--menu-width) !important;
  height:222px !important;
  min-height:222px !important;
}

/* Final hover-panel vertical position. These state-specific selectors must
   outrank the older compact/home/contact rules that set the panel to 88px. */
@media (min-width: 801px) {
  html body #site-nav #nav-mega,
  html body.route-home .site-nav .nav-mega,
  html body.route-home.nav-is-condensed .site-nav .nav-mega,
  html body:not(.route-home) .site-nav .nav-mega,
  html body:not(.route-home).nav-is-condensed .site-nav .nav-mega,
  html body .site-nav.contact-nav .nav-mega,
  html body.nav-is-condensed .site-nav.contact-nav .nav-mega {
    top:77px !important;
  }
}

/* ===== v10: tighter six-item primary navigation =====
   Distributor must remain visible in the initial expanded header. Instead of
   space-between stretching the row, keep the menu as one measured group with
   a responsive but deliberately restrained gap. Expanded and condensed states
   share exactly the same horizontal geometry. */
@media (min-width: 801px) {
  .site-nav .site-logo,
  .contact-site .contact-nav.site-nav .site-logo,
  body.nav-is-condensed .site-nav .site-logo,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-logo {
    left: clamp(18px, 1.6vw, 28px) !important;
    width: clamp(190px, 14.5vw, 223px) !important;
  }

  .site-nav .site-nav-links,
  .site-nav:not(.contact-nav) .site-nav-links,
  .site-nav.contact-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .site-nav:not(.contact-nav) .site-nav-links,
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    left: clamp(226px, 17.2vw, 266px) !important;
    right: clamp(14px, 1.6vw, 28px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-content: flex-start !important;
    gap: clamp(8px, 1.45vw, 24px) !important;
    transform: none !important;
  }

  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  .site-nav.contact-nav .site-nav-links .nav-link,
  .site-nav.contact-nav .site-nav-links .nav-link:nth-child(n),
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    flex: 0 0 auto !important;
    padding-inline: clamp(7px, .58vw, 11px) !important;
    font-size: clamp(17px, 1.12vw, 21px) !important;
    letter-spacing: -0.01em !important;
  }
}

/* Common laptop widths need a little extra compression, but keep readable
   type. This avoids hiding Distributor even at browser zoom above 100%. */
@media (min-width: 801px) and (max-width: 1280px) {
  .site-nav .site-logo,
  .contact-site .contact-nav.site-nav .site-logo,
  body.nav-is-condensed .site-nav .site-logo,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-logo {
    left: 18px !important;
    width: 184px !important;
    height: 50px !important;
    top: 13px !important;
  }
  .site-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    left: 208px !important;
    right: 12px !important;
    gap: clamp(5px, .8vw, 10px) !important;
  }
  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline: 5px !important;
    font-size: clamp(15.5px, 1.35vw, 17px) !important;
  }
}

/* ===== v11: tighter, visually centered primary navigation =====
   Keep the GALEX logo exactly where v10 places it. Only the six-link group is
   changed: it is centered inside the safe space to the right of the logo,
   with a smaller measured gap. Expanded and condensed states share identical
   horizontal geometry on every route, including Contact and Distributor. */
@media (min-width: 801px) {
  .site-nav .site-nav-links,
  .site-nav:not(.contact-nav) .site-nav-links,
  .site-nav.contact-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .site-nav:not(.contact-nav) .site-nav-links,
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    /* Leave a fixed safety lane for the existing logo, then center the whole
       six-item group in the remaining viewport width. */
    left: clamp(224px, 17vw, 264px) !important;
    right: clamp(16px, 1.6vw, 30px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(5px, .82vw, 14px) !important;
    transform: none !important;
  }

  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  .site-nav.contact-nav .site-nav-links .nav-link,
  .site-nav.contact-nav .site-nav-links .nav-link:nth-child(n),
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    flex: 0 0 auto !important;
    padding-inline: clamp(6px, .48vw, 9px) !important;
    letter-spacing: -0.012em !important;
  }
}

/* Laptop / smaller desktop: keep the logo untouched and compact only the menu.
   This preserves Distributor while keeping the text group optically centered. */
@media (min-width: 801px) and (max-width: 1280px) {
  .site-nav .site-nav-links,
  .site-nav:not(.contact-nav) .site-nav-links,
  .site-nav.contact-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links,
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .site-nav:not(.contact-nav) .site-nav-links,
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    left: 208px !important;
    right: 12px !important;
    justify-content: center !important;
    gap: clamp(3px, .52vw, 7px) !important;
  }

  .site-nav .site-nav-links .nav-link,
  .site-nav .site-nav-links .nav-link:nth-child(n),
  .site-nav.contact-nav .site-nav-links .nav-link,
  .site-nav.contact-nav .site-nav-links .nav-link:nth-child(n),
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav.contact-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline: 4px !important;
  }
}

/* SPA v12: relaxed + truly centered condensed primary navigation.
   Keep the logo geometry untouched. The text group stays centered on the
   viewport, and no condensed scale is applied, so text and CTA share one
   coordinate system throughout the scroll transition. */
body.nav-is-condensed .site-nav .site-nav-links,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
  left: 50% !important;
  right: auto !important;
  width: max-content !important;
  height: 64px !important;
  gap: 30px !important;
  transform: translate3d(-50%,0,0) !important;
  transform-origin: center center !important;
  justify-content: center !important;
}

body.nav-is-condensed .site-nav .site-nav-links .nav-link,
body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
  height: 34px !important;
  padding: 0 20px !important;
  font-size: 21px !important;
}

/* Give the compact bar a touch more vertical breathing room without moving
   the GALEX logo horizontally. */
body.nav-is-condensed .site-nav,
body.nav-is-condensed .contact-site .contact-nav.site-nav,
body.nav-is-condensed .site-nav .site-nav-inner,
body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-inner {
  height: 64px !important;
}

body.nav-is-condensed .site-nav .nav-mega,
body.nav-is-condensed .site-nav.contact-nav .nav-mega {
  top: 64px !important;
}

/* Keep the moving CTA matched to the slightly taller compact links. */
body.nav-is-condensed .site-nav .nav-active-pill {
  height: 34px !important;
  border-radius: 18px !important;
}

@media (max-width: 1380px) and (min-width: 801px) {
  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    gap: 24px !important;
  }
  body.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 20px !important;
  }
}

/* ===== v13: vertically center the desktop navigation inside the white banner =====
   The original homepage banner is visually taller than the 77px override used by
   earlier SPA patches. Restore that breathing room in the expanded state while
   keeping the compact 64px sticky state. Horizontal geometry is untouched. */
@media (min-width: 801px) {
  .site-nav,
  .contact-site .contact-nav.site-nav {
    height: 112px !important;
  }

  .site-nav .site-nav-inner,
  .contact-site .contact-nav.site-nav .site-nav-inner {
    height: 112px !important;
  }

  /* Center the logo vertically without changing its existing horizontal lane. */
  .site-nav .site-logo,
  .contact-site .contact-nav.site-nav .site-logo {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  /* The link group uses the full banner height so align-items:center lands on
     exactly the same visual centerline as the logo. */
  .site-nav .site-nav-links,
  .site-nav:not(.contact-nav) .site-nav-links,
  .site-nav.contact-nav .site-nav-links,
  .contact-site .contact-nav.site-nav .site-nav-links {
    top: 0 !important;
    height: 112px !important;
    align-items: center !important;
  }

  /* Dropdown panels begin at the true lower edge of the expanded banner. */
  body:not(.nav-is-condensed) .site-nav .nav-mega,
  body:not(.nav-is-condensed) .site-nav.contact-nav .nav-mega {
    top: 112px !important;
  }

  /* Sticky/condensed state remains compact, but logo + links still share one
     centerline. */
  body.nav-is-condensed .site-nav,
  body.nav-is-condensed .contact-site .contact-nav.site-nav,
  body.nav-is-condensed .site-nav .site-nav-inner,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-inner {
    height: 64px !important;
  }

  body.nav-is-condensed .site-nav .site-logo,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-logo {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.nav-is-condensed .site-nav .site-nav-links,
  body.nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    top: 0 !important;
    height: 64px !important;
    align-items: center !important;
  }

  body.nav-is-condensed .site-nav .nav-mega,
  body.nav-is-condensed .site-nav.contact-nav .nav-mega {
    top: 64px !important;
  }
}


/* ===== v15: non-home navigation is centered from the very first frame =====
   Home alone may animate between expanded and compact states. On every other
   route the bar geometry is fixed, so scroll cannot move the logo or menu. */
@media (min-width: 801px) {
  body:not(.route-home) .site-nav,
  body:not(.route-home).nav-is-condensed .site-nav,
  body:not(.route-home) .contact-site .contact-nav.site-nav,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav {
    height: 88px !important;
  }

  body:not(.route-home) .site-nav .site-nav-inner,
  body:not(.route-home).nav-is-condensed .site-nav .site-nav-inner,
  body:not(.route-home) .contact-site .contact-nav.site-nav .site-nav-inner,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-inner {
    height: 88px !important;
    transform: none !important;
  }

  body:not(.route-home) .site-nav .site-logo,
  body:not(.route-home).nav-is-condensed .site-nav .site-logo,
  body:not(.route-home) .contact-site .contact-nav.site-nav .site-logo,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav .site-logo {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body:not(.route-home) .site-nav .site-nav-links,
  body:not(.route-home).nav-is-condensed .site-nav .site-nav-links,
  body:not(.route-home) .contact-site .contact-nav.site-nav .site-nav-links,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: max-content !important;
    height: 88px !important;
    transform: translateX(-50%) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
  }

  body:not(.route-home) .site-nav .site-nav-links .nav-link,
  body:not(.route-home) .site-nav .site-nav-links .nav-link:nth-child(n),
  body:not(.route-home).nav-is-condensed .site-nav .site-nav-links .nav-link,
  body:not(.route-home).nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n),
  body:not(.route-home) .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link {
    height: 38px !important;
    padding-inline: 12px !important;
    font-size: 20px !important;
  }

  body:not(.route-home) .site-nav .nav-active-pill,
  body:not(.route-home).nav-is-condensed .site-nav .nav-active-pill {
    height: 38px !important;
    border-radius: 20px !important;
  }

  body:not(.route-home) .site-nav .nav-mega,
  body:not(.route-home).nav-is-condensed .site-nav .nav-mega,
  body:not(.route-home) .site-nav.contact-nav .nav-mega,
  body:not(.route-home).nav-is-condensed .site-nav.contact-nav .nav-mega {
    top: 88px !important;
  }
}

/* Keep the centered menu inside the safe area next to the fixed logo on
   narrower laptops while preserving the same vertical centerline. */
@media (min-width: 801px) and (max-width: 1320px) {
  body:not(.route-home) .site-nav .site-nav-links,
  body:not(.route-home).nav-is-condensed .site-nav .site-nav-links,
  body:not(.route-home) .contact-site .contact-nav.site-nav .site-nav-links,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links {
    left: 232px !important;
    right: 18px !important;
    width: auto !important;
    transform: none !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  body:not(.route-home) .site-nav .site-nav-links .nav-link,
  body:not(.route-home).nav-is-condensed .site-nav .site-nav-links .nav-link,
  body:not(.route-home) .contact-site .contact-nav.site-nav .site-nav-links .nav-link,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav .site-nav-links .nav-link {
    padding-inline: 7px !important;
    font-size: 18px !important;
  }
}

/* ===== v16: remove the translucent strip under non-home navigation =====
   Non-home routes are fixed-height from the first frame, so they must not
   inherit the homepage compact-state shadow/border treatment. */
@media (min-width: 801px) {
  body:not(.route-home) .site-nav,
  body:not(.route-home).nav-is-condensed .site-nav,
  body:not(.route-home) .contact-site .contact-nav.site-nav,
  body:not(.route-home).nav-is-condensed .contact-site .contact-nav.site-nav {
    border-bottom-color: transparent !important;
    box-shadow: none !important;
  }
}

/* ===== v20: homepage compact nav uses the exact non-home desktop geometry =====
   Home still contracts from the 112px hero header, but its compact state now
   lands on the same 88px bar, menu centerline, spacing, link sizing and CTA
   dimensions used by every non-home route. This removes the visual jump when
   comparing Home (scrolled) with Products / Applications / Support / Contact /
   Distributor. */
@media (min-width: 801px) {
  body.route-home.nav-is-condensed .site-nav,
  body.route-home.nav-is-condensed .site-nav .site-nav-inner {
    height: 88px !important;
  }

  body.route-home.nav-is-condensed .site-nav .site-logo {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.route-home.nav-is-condensed .site-nav .site-nav-links {
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: max-content !important;
    height: 88px !important;
    transform: translateX(-50%) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
  }

  body.route-home.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.route-home.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) {
    height: 38px !important;
    padding-inline: 12px !important;
    font-size: 20px !important;
  }

  body.route-home.nav-is-condensed .site-nav .nav-active-pill {
    height: 38px !important;
    border-radius: 20px !important;
  }

  body.route-home.nav-is-condensed .site-nav .nav-mega {
    top: 88px !important;
  }
}

@media (min-width: 801px) and (max-width: 1320px) {
  body.route-home.nav-is-condensed .site-nav .site-nav-links {
    left: 232px !important;
    right: 18px !important;
    width: auto !important;
    transform: none !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  body.route-home.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.route-home.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline: 7px !important;
    font-size: 18px !important;
  }
}

/* ===== v21: clean nav edge + scroll-only shadow on non-home routes =====
   The white nav backdrop now always fills the full banner height. This removes
   the exposed transparent band created when the nav itself is 88/112px while
   the ::before backdrop was still hard-coded to 77px. */
@media (min-width: 801px) {
  .site-nav::before,
  body.route-home .site-nav::before,
  body.route-home.nav-is-condensed .site-nav::before,
  body:not(.route-home) .site-nav::before {
    height: 100% !important;
    background: #fff !important;
    border-bottom: 0 !important;
    transform: none !important;
  }

  /* Home stays completely clean, both expanded and compact. */
  body.route-home .site-nav,
  body.route-home.nav-is-condensed .site-nav,
  body.route-home .site-nav::before,
  body.route-home.nav-is-condensed .site-nav::before {
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  /* Non-home pages are also clean at the top of the page. */
  body:not(.route-home) .site-nav,
  body:not(.route-home) .site-nav::before {
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  /* Once the page actually scrolls, add only a soft shadow. No translucent
     strip, pseudo-element extension, border, blur layer or extra height. */
  body:not(.route-home).nav-has-shadow .site-nav::before {
    box-shadow: 0 6px 18px rgba(20, 49, 75, .085) !important;
  }
}


/* ===== v22: same scroll-only soft shadow on the homepage =====
   Keep the homepage clean at scroll top, then apply the identical subtle
   shadow used by non-home routes once the page moves down. No transparent
   strip, border or added height. */
@media (min-width: 801px) {
  body.route-home.nav-has-shadow .site-nav::before,
  body.route-home.nav-is-condensed.nav-has-shadow .site-nav::before {
    box-shadow: 0 6px 18px rgba(20, 49, 75, .085) !important;
  }
}


/* Products & Service mega menu — two-column structure matching the new Figma-like layout. */
.site-nav .nav-mega.nav-mega--products {
  width: var(--menu-width) !important;
  min-height: 228px !important;
  padding: 28px 34px !important;
  grid-template-columns: 1fr !important;
  column-gap: 0 !important;
  background: #fff !important;
  color: #22354a !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: 0 18px 44px rgba(23, 40, 65, .14) !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-pointer {
  border-bottom-color: #fff !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-title,
.site-nav .nav-mega.nav-mega--products .nav-mega-divider {
  display: none !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-links {
  display: block !important;
}
.site-nav .nav-products-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 96px;
  align-items: start;
}
.site-nav .nav-products-grid__col {
  display: grid;
  gap: 18px;
}
.site-nav .nav-products-grid__item {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-size: 23px;
  line-height: 1.18;
  text-decoration: none;
  letter-spacing: .005em;
}
.site-nav .nav-products-grid__item span { display: block; }
.site-nav .nav-products-grid__item b {
  flex: 0 0 auto;
  font-size: 28px;
  line-height: 1;
  font-weight: 400;
  color: #365faa;
}
.site-nav .nav-products-grid__item--group {
  color: #2f3640;
  font-weight: 500;
}
.site-nav .nav-products-grid__item--group.is-active {
  color: #365faa;
}
.site-nav .nav-products-grid__item--group.is-disabled {
  cursor: default;
}
.site-nav .nav-products-grid__item--link {
  color: #2f3640;
  font-weight: 500;
}
.site-nav .nav-products-grid__item--link:hover,
.site-nav .nav-products-grid__item--link:focus-visible,
.site-nav .nav-products-grid__item--group.is-active:hover,
.site-nav .nav-products-grid__item--group.is-active:focus-visible {
  color: #365faa;
  outline: none;
}
.site-nav .nav-products-grid__item--link:hover b,
.site-nav .nav-products-grid__item--link:focus-visible b,
.site-nav .nav-products-grid__item--group.is-active:hover b,
.site-nav .nav-products-grid__item--group.is-active:focus-visible b {
  transform: translateX(4px);
}
.site-nav .nav-products-grid__item b { transition: transform 180ms ease-out; }
body.nav-is-condensed .site-nav .nav-mega.nav-mega--products {
  min-height: 216px !important;
  padding: 24px 30px !important;
}
body.nav-is-condensed .site-nav .nav-products-grid {
  column-gap: 80px;
}
body.nav-is-condensed .site-nav .nav-products-grid__col {
  gap: 14px;
}
body.nav-is-condensed .site-nav .nav-products-grid__item {
  min-height: 48px;
  font-size: 21px;
}
body.nav-is-condensed .site-nav .nav-products-grid__item b {
  font-size: 25px;
}


/* V26: cascading Products mega menu. Primary panel retains the original blue/white language;
   Axion One reveals a secondary panel only while hovered. */
.site-nav .nav-mega.nav-mega--products {
  width: var(--menu-width) !important;
  min-height: 190px !important;
  padding: 22px 26px !important;
  overflow: visible !important;
  grid-template-columns: 1fr !important;
  background: #365faa !important;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(26,47,77,.16) !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-pointer {
  border-bottom-color: #365faa !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-title,
.site-nav .nav-mega.nav-mega--products .nav-mega-divider { display:none !important; }
.site-nav .nav-mega.nav-mega--products .nav-mega-links { display:block !important; overflow:visible !important; }
.site-nav .nav-products-cascade { position:relative; min-height:146px; }
.site-nav .nav-products-cascade__groups {
  width:100%;
  display:grid;
  gap:8px;
  align-content:center;
}
.site-nav .nav-products-cascade__group,
.site-nav .nav-products-cascade__link {
  box-sizing:border-box;
  min-height:44px;
  display:flex;
  align-items:center;
  padding:0 14px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  font-weight:400;
  text-decoration:none;
  white-space:nowrap;
}
.site-nav .nav-products-cascade__group.is-active {
  font-weight:500;
  cursor:pointer;
}
.site-nav .nav-products-cascade__group.is-active:hover,
.site-nav .nav-products-cascade__group.is-active:focus-visible,
.site-nav .nav-products-cascade__link:hover,
.site-nav .nav-products-cascade__link:focus-visible {
  color:#cbe8ff;
  outline:none;
}
.site-nav .nav-products-cascade__group.is-disabled { opacity:.78; cursor:default; }
.site-nav .nav-products-cascade__submenu {
  position:absolute;
  top:-22px;
  left:calc(100% + 26px);
  width:360px;
  min-height:190px;
  box-sizing:border-box;
  padding:22px 22px;
  display:grid;
  gap:8px;
  align-content:center;
  background:#365faa;
  border-radius:0 0 14px 14px;
  box-shadow:0 16px 36px rgba(26,47,77,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-8px);
  transition:opacity 160ms ease-out, transform 220ms cubic-bezier(.22,1,.36,1), visibility 0s linear 220ms;
}
.site-nav .nav-products-cascade.is-submenu-open .nav-products-cascade__submenu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
  transition-delay:0s;
}
body.nav-is-condensed .site-nav .nav-mega.nav-mega--products {
  min-height:176px !important;
  padding:20px 24px !important;
}
body.nav-is-condensed .site-nav .nav-products-cascade__group,
body.nav-is-condensed .site-nav .nav-products-cascade__link {
  min-height:40px;
  font-size:19px;
}
body.nav-is-condensed .site-nav .nav-products-cascade__submenu {
  top:-20px;
  left:calc(100% + 24px);
  min-height:176px;
  padding:20px;
}


/* V27 — Products uses the same primary mega-menu structure as the other nav items.
   Only Axion One adds a compact cascading secondary panel. */
.site-nav .nav-mega.nav-mega--products {
  width: var(--menu-width) !important;
  min-height: 172px !important;
  padding: 24px 30px !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: var(--menu-title-width) 1px minmax(0,1fr) !important;
  column-gap: 24px !important;
  align-items: center !important;
  background: #365faa !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(26,47,77,.13) !important;
  border-radius: 0 0 14px 14px !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-pointer {
  border-bottom-color: #365faa !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-title {
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-divider {
  display:block !important;
  width:1px !important;
  min-height:108px !important;
  background:rgba(255,255,255,.76) !important;
}
.site-nav .nav-mega.nav-mega--products .nav-mega-links {
  display:block !important;
  overflow:visible !important;
  min-width:0 !important;
}
.site-nav .nav-products-cascade {
  position:relative;
  min-height:108px;
  display:flex;
  align-items:center;
  overflow:visible;
}
.site-nav .nav-products-cascade__groups {
  width:max-content;
  display:grid;
  gap:10px;
  align-content:center;
  justify-items:start;
}
.site-nav .nav-products-cascade__group {
  width:max-content;
  min-height:0;
  padding:2px 0;
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-size:20px;
  line-height:1.18;
  font-weight:400;
  text-decoration:none;
  white-space:nowrap;
}
.site-nav .nav-products-cascade__group.is-active {
  font-weight:500;
  cursor:pointer;
}
.site-nav .nav-products-cascade__group.is-disabled {
  opacity:.82;
  cursor:default;
}
.site-nav .nav-products-cascade__group.is-active:hover,
.site-nav .nav-products-cascade__group.is-active:focus-visible {
  color:#cbe8ff;
  outline:none;
}
.site-nav .nav-products-cascade__submenu {
  position:absolute;
  top:50%;
  left:calc(100% + 30px);
  width:326px;
  min-height:172px;
  box-sizing:border-box;
  padding:24px 26px;
  display:grid;
  gap:10px;
  align-content:center;
  background:#365faa;
  border-radius:0 0 14px 14px;
  box-shadow:0 12px 26px rgba(26,47,77,.13);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-8px,-50%);
  transition:opacity 160ms ease-out, transform 220ms cubic-bezier(.22,1,.36,1), visibility 0s linear 220ms;
}
.site-nav .nav-products-cascade.is-submenu-open .nav-products-cascade__submenu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(0,-50%);
  transition-delay:0s;
}
.site-nav .nav-products-cascade__link {
  width:max-content;
  min-height:0;
  padding:2px 0;
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-size:20px;
  line-height:1.18;
  font-weight:400;
  text-decoration:none;
  white-space:nowrap;
}
.site-nav .nav-products-cascade__link:hover,
.site-nav .nav-products-cascade__link:focus-visible {
  color:#cbe8ff;
  outline:none;
}
body.nav-is-condensed .site-nav .nav-mega.nav-mega--products {
  min-height:172px !important;
  padding:24px 30px !important;
}
body.nav-is-condensed .site-nav .nav-mega.nav-mega--products .nav-mega-title,
body.nav-is-condensed .site-nav .nav-products-cascade__group,
body.nav-is-condensed .site-nav .nav-products-cascade__link {
  font-size:20px !important;
}
body.nav-is-condensed .site-nav .nav-mega.nav-mega--products .nav-mega-divider,
body.nav-is-condensed .site-nav .nav-products-cascade {
  min-height:108px !important;
}
body.nav-is-condensed .site-nav .nav-products-cascade__submenu {
  min-height:172px !important;
  padding:24px 26px !important;
}

/* Keep the Products secondary panel aligned with the top of its parent panel.
   The 108px cascade is vertically centred inside the primary panel's 124px
   content box, which adds an 8px inset before its own coordinate system starts.
   Offset both the 24px panel padding and that inset. */
.site-nav .nav-products-cascade__submenu,
body.nav-is-condensed .site-nav .nav-products-cascade__submenu {
  top:-32px;
  left:calc(100% + 30px);
  transform:translateX(-8px);
}
.site-nav .nav-products-cascade.is-submenu-open .nav-products-cascade__submenu,
body.nav-is-condensed .site-nav .nav-products-cascade.is-submenu-open .nav-products-cascade__submenu {
  transform:translateX(0);
}

/* Mobile navigation does not expose the desktop hover mega menu. Keep it out
   of layout as well as visually hidden so its desktop width cannot create a
   horizontal scrollbar on product and controller pages. */
@media (max-width: 800px) {
  .site-nav .nav-mega,
  body.nav-is-condensed .site-nav .nav-mega,
  .site-nav .nav-mega.nav-mega--products,
  body.nav-is-condensed .site-nav .nav-mega.nav-mega--products {
    display: none !important;
  }
}

/* Canonical desktop header geometry.
   This is intentionally route-agnostic and is the final navigation override:
   Home and every internal page use the exact same fixed header component. */
@media (min-width: 801px) {
  body .site-nav,
  body .site-nav.contact-nav {
    height:77px !important;
  }
  body .site-nav .site-nav-inner,
  body .contact-site .site-nav .site-nav-inner {
    width:100% !important;
    height:77px !important;
    transform:none !important;
  }
  body .site-nav .site-logo,
  body .contact-site .site-nav .site-logo {
    top:9px !important;
    left:21px !important;
    width:223px !important;
    height:58px !important;
    transform:none !important;
  }
  body .site-nav .site-nav-links,
  body .site-nav.contact-nav .site-nav-links,
  body .contact-site .site-nav .site-nav-links {
    top:0 !important;
    left:50% !important;
    right:auto !important;
    width:max-content !important;
    height:77px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(10px,1vw,20px) !important;
    transform:translateX(-50%) !important;
  }
  body .site-nav .site-nav-links .nav-link,
  body .site-nav .site-nav-links .nav-link:nth-child(n),
  body .contact-site .site-nav .site-nav-links .nav-link,
  body .contact-site .site-nav .site-nav-links .nav-link:nth-child(n) {
    flex:0 0 auto !important;
    height:38px !important;
    padding:0 clamp(7px,.55vw,11px) !important;
    font-size:clamp(17px,1.12vw,21px) !important;
    line-height:1 !important;
    transform:none !important;
  }
  body .site-nav .nav-mega,
  body .site-nav.contact-nav .nav-mega {
    top:72px !important;
  }
}

@media (min-width: 801px) and (max-width: 1180px) {
  body .site-nav .site-logo,
  body .contact-site .site-nav .site-logo {
    left:18px !important;
    top:13px !important;
    width:184px !important;
    height:50px !important;
  }
  body .site-nav .site-nav-links,
  body .site-nav.contact-nav .site-nav-links,
  body .contact-site .site-nav .site-nav-links {
    left:208px !important;
    right:12px !important;
    width:auto !important;
    gap:clamp(3px,.52vw,7px) !important;
    transform:none !important;
  }
  body .site-nav .site-nav-links .nav-link,
  body .site-nav .site-nav-links .nav-link:nth-child(n) {
    padding-inline:4px !important;
    font-size:clamp(15.5px,1.35vw,17px) !important;
  }
}

/* Final Products cascade geometry: keep both levels exactly equal after all
   legacy menu overrides above. */
html body .site-nav .nav-mega.nav-mega--products {
  width:var(--menu-width) !important;
  height:172px !important;
  min-height:172px !important;
  padding:24px 30px !important;
}

/* Standalone pages (About, News, Downloads and FAQ) reuse the shared header,
   but do not have the SPA route class. Between laptop and desktop widths the
   centered link row could overlap the fixed logo, hiding its first items.
   Reserve the logo column while keeping the complete menu visually centered
   in the remaining space. */
@media (min-width: 1181px) and (max-width: 1360px) {
  body > .site-nav.contact-nav .site-nav-links {
    left: 258px !important;
    right: 12px !important;
    width: auto !important;
    transform: none !important;
    justify-content: center !important;
  }
}
html body .site-nav .nav-products-cascade__submenu,
html body .site-nav .nav-products-cascade__submenu--blowers,
html body .site-nav .nav-products-cascade__submenu--controllers {
  width:var(--menu-width) !important;
  height:172px !important;
  min-height:172px !important;
  padding:16px 30px !important;
  top:-32px !important;
}

/* v5: Home uses the same navigation geometry as Products, Applications and
   the remaining internal pages. The logo stays left while the text group is
   centered, with no separate expanded/condensed homepage format. */
@media (min-width:801px) {
  body.route-home .site-nav,
  body.route-home.nav-is-condensed .site-nav {
    height:77px !important;
  }

  body.route-home .site-nav .site-nav-inner,
  body.route-home.nav-is-condensed .site-nav .site-nav-inner {
    left:0 !important;
    width:100% !important;
    height:88px !important;
  }

  body.route-home .site-nav .site-logo,
  body.route-home.nav-is-condensed .site-nav .site-logo {
    top:50% !important;
    left:21px !important;
    width:223px !important;
    height:58px !important;
    transform:translateY(-50%) !important;
  }

  body.route-home .site-nav .site-nav-links,
  body.route-home.nav-is-condensed .site-nav .site-nav-links {
    top:0 !important;
    left:50% !important;
    right:auto !important;
    width:max-content !important;
    height:77px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(10px,1vw,20px) !important;
    transform:translateX(-50%) !important;
  }

  body.route-home .site-nav .site-nav-links .nav-link,
  body.route-home .site-nav .site-nav-links .nav-link:nth-child(n),
  body.route-home.nav-is-condensed .site-nav .site-nav-links .nav-link,
  body.route-home.nav-is-condensed .site-nav .site-nav-links .nav-link:nth-child(n) {
    height:38px !important;
    padding-inline:12px !important;
    font-size:20px !important;
  }

  body.route-home .site-nav .nav-active-pill,
  body.route-home.nav-is-condensed .site-nav .nav-active-pill {
    height:38px !important;
    border-radius:20px !important;
  }

  body.route-home .site-nav .nav-mega,
  body.route-home.nav-is-condensed .site-nav .nav-mega {
    top:88px !important;
  }
}

html body .site-nav .nav-products-cascade__groups {
  gap:6px !important;
}
html body .site-nav .nav-products-cascade__group {
  padding:0 !important;
  font-size:20px !important;
  line-height:1.1 !important;
}
html body .site-nav .nav-blowers-submenu,
html body .site-nav .nav-controllers-submenu {
  gap:7px !important;
}
html body .site-nav .nav-blowers-submenu > strong,
html body .site-nav .nav-controllers-submenu > strong {
  font-size:24px !important;
}
html body .site-nav .nav-blowers-submenu__links .nav-products-cascade__link,
html body .site-nav .nav-controllers-submenu__links .nav-products-cascade__link,
html body .site-nav .nav-blowers-submenu__disabled {
  font-size:20px !important;
  line-height:1.1 !important;
}

/* Standalone documents use the same desktop navigation typography and fixed
   geometry as Home. Scrolling may still add the subtle divider/shadow, but it
   must never scale or resize the logo, link row, labels or active CTA. */
@media (min-width:801px) {
  body.standalone-page > .site-nav,
  body.standalone-page.nav-is-condensed > .site-nav {
    height:77px !important;
  }

  body.standalone-page > .site-nav .site-nav-inner,
  body.standalone-page.nav-is-condensed > .site-nav .site-nav-inner {
    width:100% !important;
    height:77px !important;
    transform:none !important;
  }

  body.standalone-page > .site-nav .site-logo,
  body.standalone-page.nav-is-condensed > .site-nav .site-logo {
    top:9px !important;
    left:21px !important;
    width:223px !important;
    height:58px !important;
    transform:none !important;
  }

  body.standalone-page > .site-nav .site-nav-links,
  body.standalone-page.nav-is-condensed > .site-nav .site-nav-links {
    top:0 !important;
    left:50% !important;
    right:auto !important;
    width:max-content !important;
    height:77px !important;
    gap:clamp(10px,1vw,20px) !important;
    transform:translateX(-50%) !important;
  }

  body.standalone-page > .site-nav .site-nav-links .nav-link,
  body.standalone-page > .site-nav .site-nav-links .nav-link:nth-child(n),
  body.standalone-page.nav-is-condensed > .site-nav .site-nav-links .nav-link,
  body.standalone-page.nav-is-condensed > .site-nav .site-nav-links .nav-link:nth-child(n) {
    height:38px !important;
    padding-inline:12px !important;
    font-size:20px !important;
    transform:none !important;
  }

  body.standalone-page > .site-nav .nav-active-pill,
  body.standalone-page.nav-is-condensed > .site-nav .nav-active-pill {
    height:38px !important;
    border-radius:20px !important;
  }

  body.standalone-page > .site-nav .nav-mega,
  body.standalone-page.nav-is-condensed > .site-nav .nav-mega {
    top:77px !important;
  }
}

@media (min-width:801px) and (max-width:1360px) {
  body.standalone-page > .site-nav .site-nav-links,
  body.standalone-page.nav-is-condensed > .site-nav .site-nav-links {
    left:258px !important;
    right:12px !important;
    width:auto !important;
    transform:none !important;
    justify-content:center !important;
  }
}
