/* OpenX V3 canonical UI layer: header + menu + home hero */

body.openx-menu-canonical {
  --openx-ui-shell-z: 2500;
  --openx-ui-header-z: 1200;
  --openx-ui-header-bg: #f3f7fc;
  --openx-ui-menu-ink-900: #081a2b;
  --openx-ui-menu-ink-800: #0f2b47;
  --openx-ui-menu-ink-700: #1f4465;
  --openx-ui-menu-edge-width: 2px;
}

html,
body.openx-menu-canonical {
  background: #f3f7fc;
}

html.mega-menu-open {
  overflow: hidden !important;
}

body.openx-menu-canonical.mega-menu-open {
  overflow-x: clip !important;
  overflow-y: visible !important;
  background: var(--openx-ui-menu-ink-900) !important;
}

html.mega-menu-open {
  background: #081a2b !important;
}

body.openx-menu-canonical.mega-menu-open::before {
  content: "" !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: env(safe-area-inset-top) !important;
  background: var(--openx-ui-menu-ink-900) !important;
  z-index: calc(var(--openx-ui-shell-z) + 3) !important;
  pointer-events: none !important;
}

/* Global top bar consistency */
body.openx-menu-canonical [class*="__header"] {
  position: sticky !important;
  top: 0 !important;
  z-index: var(--openx-ui-header-z) !important;
  background: var(--openx-ui-header-bg) !important;
  border-bottom: 1px solid rgba(14, 43, 67, 0.14) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

body.openx-menu-canonical [class*="__header"]::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(env(safe-area-inset-top) * -1) !important;
  height: env(safe-area-inset-top) !important;
  background: var(--openx-ui-header-bg) !important;
  pointer-events: none !important;
}

body.openx-menu-canonical [class*="__header"] [class*="__wrap"] {
  width: min(74rem, calc(100% - 2rem)) !important;
  min-height: 4.35rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.64rem !important;
}

body.openx-menu-canonical [class*="__header"] [class*="__brand"] {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  z-index: 1 !important;
}

body.openx-menu-canonical [class*="__header"] [class*="__actions"] {
  margin-left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.42rem !important;
}

body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
body.openx-menu-canonical [class*="__header"] [class*="__menuTrigger"] {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 0.82rem !important;
  border-radius: 0.5rem !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.openx-menu-canonical [class*="__desktopNav"] {
  display: none !important;
}

@media (min-width: 1061px) {
  body.openx-menu-canonical [class*="__header"] [class*="__actions"] {
    gap: 0.5rem !important;
  }

  body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
  body.openx-menu-canonical [class*="__header"] [class*="__menuTrigger"] {
    display: none !important;
  }

  body.openx-menu-canonical [class*="__desktopNav"] {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.34rem !important;
    min-width: 0 !important;
    position: relative !important;
  }

  body.openx-menu-canonical [class*="__desktopNavLink"],
  body.openx-menu-canonical [class*="__desktopMoreToggle"] {
    min-height: 2.05rem !important;
    padding: 0 0.66rem !important;
    border-radius: 0.52rem !important;
    border: 1px solid rgba(162, 201, 232, 0.27) !important;
    background: linear-gradient(145deg, rgba(15, 43, 71, 0.08), rgba(28, 74, 117, 0.14)) !important;
    color: #17344f !important;
    font-size: 0.71rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.015em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
  }

  body.openx-menu-canonical [class*="__desktopNavLink"].is-active {
    border-color: rgba(242, 115, 22, 0.56) !important;
    color: #0f2b47 !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(248, 252, 255, 0.92)) !important;
  }

  body.openx-menu-canonical [class*="__desktopMore"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  body.openx-menu-canonical [class*="__desktopMoreToggle"] {
    cursor: pointer !important;
    font-family: inherit !important;
  }

  body.openx-menu-canonical [class*="__desktopMoreToggle"]::after {
    content: "▾" !important;
    margin-left: 0.38rem !important;
    font-size: 0.64rem !important;
    line-height: 1 !important;
    color: #1f4f78 !important;
  }

  body.openx-menu-canonical [class*="__desktopMore"].is-open [class*="__desktopMoreToggle"]::after {
    transform: rotate(180deg) !important;
  }

  body.openx-menu-canonical [class*="__desktopMorePanel"] {
    position: absolute !important;
    top: calc(100% + 0.48rem) !important;
    right: 0 !important;
    min-width: 15.4rem !important;
    padding: 0.44rem !important;
    border-radius: 0.84rem !important;
    border: 1px solid rgba(170, 205, 236, 0.36) !important;
    background: linear-gradient(152deg, #081a2b 0%, #0f2b47 52%, #1f4465 100%) !important;
    box-shadow: 0 20px 44px rgba(3, 11, 20, 0.44) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(6px) scale(0.985) !important;
    transition: opacity 0.18s ease, transform 0.2s ease, visibility 0.2s ease !important;
    z-index: 70 !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  body.openx-menu-canonical [class*="__desktopMorePanel"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background:
      linear-gradient(90deg, #0f2b47 0%, #1c4a75 38%, #f97316 62%, #0f2b47 100%) top left / 210% 1px no-repeat,
      linear-gradient(180deg, #0f2b47 0%, #1c4a75 38%, #f97316 62%, #0f2b47 100%) top right / 1px 210%
        no-repeat,
      linear-gradient(270deg, #0f2b47 0%, #1c4a75 38%, #f97316 62%, #0f2b47 100%) bottom right / 210% 1px
        no-repeat,
      linear-gradient(0deg, #0f2b47 0%, #1c4a75 38%, #f97316 62%, #0f2b47 100%) bottom left / 1px 210% no-repeat !important;
    animation: openx-desktop-more-edge 6.2s linear infinite !important;
  }

  body.openx-menu-canonical [class*="__desktopMore"].is-open [class*="__desktopMorePanel"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  body.openx-menu-canonical [class*="__desktopMoreLink"] {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 2.25rem !important;
    padding: 0 0.7rem !important;
    border-radius: 0.54rem !important;
    color: #e7f2fc !important;
    text-decoration: none !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    border: 1px solid transparent !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
  }

  body.openx-menu-canonical [class*="__desktopMoreLink"].is-active {
    border-color: rgba(242, 115, 22, 0.48) !important;
    background: rgba(249, 115, 22, 0.14) !important;
  }

  body.openx-menu-canonical [class*="__desktopNavLink"]:focus-visible,
  body.openx-menu-canonical [class*="__desktopMoreToggle"]:focus-visible,
  body.openx-menu-canonical [class*="__desktopMoreLink"]:focus-visible {
    outline: 2px solid rgba(255, 154, 84, 0.92) !important;
    outline-offset: 2px !important;
  }

  @media (hover: hover) {
    body.openx-menu-canonical [class*="__desktopNavLink"]:hover,
    body.openx-menu-canonical [class*="__desktopMoreToggle"]:hover {
      border-color: rgba(242, 115, 22, 0.54) !important;
      transform: translateY(-1px) !important;
    }

    body.openx-menu-canonical [class*="__desktopMoreLink"]:hover {
      border-color: rgba(175, 210, 242, 0.34) !important;
      background: rgba(173, 210, 242, 0.12) !important;
      transform: translateX(1px) !important;
    }
  }
}

/* Canonical menu overlay */
body.openx-menu-canonical [class*="__menuShell"] {
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--openx-ui-shell-z) !important;
  padding: clamp(0.55rem, 1.2vw, 0.95rem) clamp(0.55rem, 1.2vw, 1rem)
    calc(clamp(0.62rem, 1.3vw, 1rem) + env(safe-area-inset-bottom)) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  background: var(--openx-ui-menu-ink-900) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.22s ease !important;
}

body.openx-menu-canonical [class*="__menuShell"]::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: env(safe-area-inset-top) !important;
  background: var(--openx-ui-menu-ink-900) !important;
  pointer-events: none !important;
}

body.openx-menu-canonical [class*="__menuShell"][aria-hidden="false"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.openx-menu-canonical [class*="__menuBackdrop"] {
  position: absolute !important;
  inset: 0 !important;
  border: none !important;
  margin: 0 !important;
  background: linear-gradient(
    148deg,
    var(--openx-ui-menu-ink-900) 0%,
    var(--openx-ui-menu-ink-800) 52%,
    var(--openx-ui-menu-ink-700) 100%
  ) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.openx-menu-canonical [class*="__menuPanel"] {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: min(74rem, calc(100% - 1rem)) !important;
  max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.45rem) !important;
  margin: calc(env(safe-area-inset-top) + 0.02rem) 0 0 0 !important;
  overflow: auto !important;
  border-radius: 1.1rem !important;
  border: 1px solid rgba(170, 208, 241, 0.27) !important;
  background: linear-gradient(
    152deg,
    var(--openx-ui-menu-ink-900) 0%,
    var(--openx-ui-menu-ink-800) 48%,
    var(--openx-ui-menu-ink-700) 100%
  ) !important;
  box-shadow: 0 36px 78px rgba(1, 7, 17, 0.64), 0 2px 0 rgba(255, 255, 255, 0.08) inset !important;
  isolation: isolate !important;
  contain: paint !important;
  will-change: transform, opacity !important;
  transform: translateY(10px) scale(0.995) !important;
  opacity: 0 !important;
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.32s ease !important;
}

body.openx-menu-canonical [class*="__menuPanel"]::before,
body.openx-menu-canonical [class*="__menuPanel"]::after {
  content: none !important;
}

body.openx-menu-canonical .openx-menuEdgeRunner {
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: 8 !important;
}

body.openx-menu-canonical .openx-menuEdgeRunnerSvg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: visible !important;
}

body.openx-menu-canonical .openx-menuEdgeTrack {
  stroke: rgba(173, 210, 242, 0.38) !important;
  stroke-width: var(--openx-ui-menu-edge-width) !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.openx-menu-canonical .openx-menuEdgeSegment {
  stroke: #f97316 !important;
  stroke: url(#openx-menu-edge-gradient) !important;
  stroke-width: calc(var(--openx-ui-menu-edge-width) + 0.45px) !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: drop-shadow(0 0 8px rgba(249, 115, 22, 0.56)) drop-shadow(0 0 6px rgba(42, 103, 159, 0.36))
    !important;
  animation: openx-menu-edge-runner 7.4s linear infinite !important;
}

body.openx-menu-canonical [class*="__menuShell"][aria-hidden="false"] [class*="__menuPanel"] {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
}

body.openx-menu-canonical [class*="__menuHead"] {
  position: sticky !important;
  top: 0 !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.58rem !important;
  padding: 0.84rem 0.92rem 0.72rem !important;
  border-bottom: 1px solid rgba(173, 209, 241, 0.18) !important;
  background: linear-gradient(
    180deg,
    var(--openx-ui-menu-ink-900) 0%,
    var(--openx-ui-menu-ink-800) 82%,
    var(--openx-ui-menu-ink-800) 100%
  ) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.openx-menu-canonical [class*="__menuKicker"] {
  margin: 0 !important;
  margin-right: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 1.72rem !important;
  padding: 0 0.7rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(173, 210, 242, 0.3) !important;
  background: linear-gradient(145deg, #0c2840, #123552) !important;
  color: #d8e9f9 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 0.61rem !important;
  font-weight: 800 !important;
}

body.openx-menu-canonical [class*="__menuContact"],
body.openx-menu-canonical [class*="__menuClose"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.08rem !important;
  padding: 0 0.95rem !important;
  border-radius: 999px !important;
  font-size: 0.67rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

body.openx-menu-canonical [class*="__menuContact"] {
  border: 1px solid rgba(175, 210, 242, 0.32) !important;
  background: linear-gradient(140deg, #0c2840, #123552) !important;
  color: #e2f1ff !important;
  text-decoration: none !important;
}

body.openx-menu-canonical [class*="__menuClose"] {
  border: 1px solid rgba(248, 166, 112, 0.64) !important;
  background: linear-gradient(135deg, #f67e35 0%, #f06423 100%) !important;
  color: #fff !important;
}

body.openx-menu-canonical [class*="__menuLayout"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.78rem !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 0 0.92rem 0.96rem !important;
}

body.openx-menu-canonical [class*="__menuBottom"] {
  display: none !important;
}

body.openx-menu-canonical [class*="__menuBottomClose"] {
  width: 100% !important;
  min-height: 2.7rem !important;
  border-radius: 0.74rem !important;
  border: 1px solid rgba(246, 166, 111, 0.66) !important;
  background: linear-gradient(136deg, #f68a3d 0%, #ef6a22 100%) !important;
  color: #fff !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.02em !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  box-shadow: 0 12px 24px rgba(242, 115, 22, 0.28) !important;
}

body.openx-menu-canonical [class*="__menuTopRow"] {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.56rem !important;
}

body.openx-menu-canonical [class*="__menuTopAction"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.26rem !important;
  min-width: clamp(8.8rem, 16vw, 11.4rem) !important;
  border-radius: 0.62rem !important;
  border: 1px solid rgba(184, 214, 240, 0.42) !important;
  background: linear-gradient(150deg, #0f2b47, #1a4567) !important;
  color: #ebf4ff !important;
  text-decoration: none !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 20px rgba(3, 12, 24, 0.26) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.openx-menu-canonical [class*="__systemGrid"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.52rem !important;
  align-content: start !important;
}

body.openx-menu-canonical [class*="__systemTile"],
body.openx-menu-canonical [class*="__systemTilePrimary"] {
  position: relative !important;
  min-height: 3.78rem !important;
  border-radius: 0.86rem !important;
  padding: 0.58rem 0.62rem !important;
  display: grid !important;
  grid-template-rows: auto !important;
  gap: 0 !important;
  align-content: stretch !important;
  border: 1px solid rgba(170, 205, 236, 0.36) !important;
  background: linear-gradient(162deg, #0b2740, #123a5b) !important;
  box-shadow: 0 14px 30px rgba(2, 10, 19, 0.34) !important;
  text-decoration: none !important;
  color: inherit !important;
}

body.openx-menu-canonical [class*="__tileHead"] {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.52rem !important;
}

body.openx-menu-canonical [class*="__titleGroup"] {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.46rem !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.openx-menu-canonical [class*="__systemIcon"] {
  width: 1.5rem !important;
  height: 1.5rem !important;
  border-radius: 0.48rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border: 1px solid rgba(171, 205, 234, 0.44) !important;
  background: linear-gradient(148deg, rgba(8, 33, 54, 0.9), rgba(20, 56, 86, 0.92)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 8px 16px rgba(3, 14, 24, 0.28) !important;
}

body.openx-menu-canonical [class*="__systemIcon"] svg {
  width: 0.98rem !important;
  height: 0.98rem !important;
  display: block !important;
}

body.openx-menu-canonical [class*="__systemIcon"] .openx-systemIconPrimary {
  stroke: rgba(228, 242, 255, 0.94) !important;
}

body.openx-menu-canonical [class*="__systemIcon"] .openx-systemIconAccent {
  stroke: rgba(248, 157, 81, 0.95) !important;
}

body.openx-menu-canonical [class*="__titleStack"] {
  min-width: 0 !important;
  display: grid !important;
  gap: 0.14rem !important;
}

body.openx-menu-canonical [class*="__systemPrimary"] {
  min-width: 0 !important;
  display: inline-block !important;
  color: #f3f8ff !important;
  text-decoration: none !important;
  font-size: clamp(0.9rem, 0.9vw, 0.98rem) !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

body.openx-menu-canonical [class*="__systemSecondary"] {
  display: none !important;
}

body.openx-menu-canonical [class*="__tileMeta"] {
  display: none !important;
}

body.openx-menu-canonical [class*="__systemBadge"] {
  display: none !important;
}

body.openx-menu-canonical [class*="__tileArrow"] {
  display: none !important;
}

@media (min-width: 1700px) {
  body.openx-menu-canonical [class*="__systemGrid"] {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

body.openx-menu-canonical [class*="__tierRow"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.34rem !important;
}

body.openx-menu-canonical [class*="__tierLink"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 1.68rem !important;
  border-radius: 0.48rem !important;
  border: 1px solid rgba(170, 204, 235, 0.36) !important;
  background: rgba(9, 30, 49, 0.62) !important;
  color: #dcecfb !important;
  text-decoration: none !important;
  font-size: 0.63rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
}

@media (hover: hover) {
  body.openx-menu-canonical [class*="__menuTopAction"]:hover,
  body.openx-menu-canonical [class*="__tierLink"]:hover {
    border-color: rgba(242, 108, 33, 0.62) !important;
    transform: translateY(-1px) !important;
  }

  body.openx-menu-canonical [class*="__systemTile"]:hover {
    transform: translateY(-3px) scale(1.006) !important;
    border-color: rgba(242, 108, 33, 0.56) !important;
    box-shadow: 0 18px 34px rgba(2, 9, 17, 0.4) !important;
  }
}

@keyframes openx-desktop-more-edge {
  from {
    background-position: -200% 0, 100% -200%, 200% 100%, 0 200%;
  }

  to {
    background-position: 200% 0, 100% 200%, -200% 100%, 0 -200%;
  }
}

@keyframes openx-menu-edge-runner {
  to {
    stroke-dashoffset: -1000;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.openx-menu-canonical [class*="__desktopMorePanel"]::before {
    animation: none !important;
  }

  body.openx-menu-canonical .openx-menuEdgeSegment {
    animation: none !important;
  }
}

@media (max-width: 1200px) {
  body.openx-menu-canonical .openx-menuEdgeSegment {
    animation-duration: 8.2s !important;
  }
}

@media (max-width: 700px) {
  body.openx-menu-canonical .openx-menuEdgeSegment {
    animation-duration: 8.8s !important;
  }
}

body.openx-menu-canonical [class*="__menuTopAction"]:focus-visible,
body.openx-menu-canonical [class*="__systemTile"]:focus-visible,
body.openx-menu-canonical [class*="__tierLink"]:focus-visible {
  outline: 2px solid rgba(255, 154, 84, 0.95) !important;
  outline-offset: 2px !important;
}

/* Mobile/tablet canonical menu layout */
@media (max-width: 1200px) {
  body.openx-menu-canonical [class*="__header"] [class*="__wrap"] {
    width: min(74rem, calc(100% - 1.3rem)) !important;
    min-height: 4.08rem !important;
  }

  body.openx-menu-canonical [class*="__header"] [class*="__brand"] img {
    width: clamp(7.2rem, 34vw, 9.1rem) !important;
    height: auto !important;
  }

  body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
  body.openx-menu-canonical [class*="__header"] [class*="__menuTrigger"] {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 0.56rem !important;
    font-size: 0.67rem !important;
    padding: 0 0.9rem !important;
  }

  body.openx-menu-canonical [class*="__systemGrid"] {
    grid-template-columns: 1fr !important;
    gap: 0.52rem !important;
  }

  body.openx-menu-canonical [class*="__menuTopRow"] {
    display: flex !important;
    justify-content: stretch !important;
  }

  body.openx-menu-canonical [class*="__menuTopAction"] {
    min-width: 100% !important;
  }

  body.openx-menu-canonical [class*="__systemTile"],
  body.openx-menu-canonical [class*="__systemTilePrimary"] {
    min-height: 3.42rem !important;
    border-radius: 0.56rem !important;
    padding: 0.46rem 0.52rem !important;
  }

  body.openx-menu-canonical [class*="__titleGroup"] {
    gap: 0.36rem !important;
  }

  body.openx-menu-canonical [class*="__systemPrimary"] {
    font-size: 0.88rem !important;
  }
}

@media (max-width: 680px) {
  body.openx-menu-canonical [class*="__menuTopRow"] {
    display: flex !important;
  }
}

/* Home hero scanline opt-in only (disabled by default on home) */
body.openx-page-home.openx-scanline-on .openx-scanLine {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 2px !important;
  display: block !important;
  opacity: 0.92 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgba(242, 108, 33, 0),
    rgba(242, 108, 33, 0.95) 18%,
    rgba(255, 163, 111, 0.95) 50%,
    rgba(242, 108, 33, 0.95) 82%,
    rgba(242, 108, 33, 0)
  ) !important;
  box-shadow: 0 0 14px rgba(242, 108, 33, 0.46) !important;
  animation: openx-scan 3.8s linear infinite !important;
}

@keyframes openx-scan {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(calc(100% - 2px));
  }
}

body.openx-page-home .page-module__E0kJGG__hero {
  overflow: hidden !important;
}

body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

/* Home benefit pills (hero + middle strip) */
body.openx-page-home .openx-proRail {
  margin-top: clamp(0.9rem, 2.6vw, 1.5rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.48rem !important;
}

body.openx-page-home .openx-proRail span {
  min-height: 2.2rem !important;
  padding: 0 0.92rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(160, 204, 238, 0.36) !important;
  background: linear-gradient(145deg, #113250, #0c2740) !important;
  color: #eff7ff !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 22px rgba(8, 22, 36, 0.26) !important;
}

body.openx-page-home .openx-midSignalsSection {
  padding: clamp(1.1rem, 2.5vw, 2.1rem) 0 clamp(1.35rem, 3vw, 2.4rem) !important;
}

body.openx-page-home .openx-midSignals {
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.56rem !important;
}

body.openx-page-home .openx-midSignals li {
  min-height: 2.2rem !important;
  padding: 0 0.94rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(160, 204, 238, 0.36) !important;
  background: linear-gradient(145deg, #113250, #0c2740) !important;
  color: #eff7ff !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 22px rgba(8, 22, 36, 0.26) !important;
}

@media (min-width: 1061px) {
  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__wrap {
    position: relative !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroGrid {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: center !important;
  }

  body.openx-page-home .openx-commandHeroCopy {
    max-width: 42rem !important;
    padding-right: clamp(20rem, 38vw, 42rem) !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual {
    position: absolute !important;
    top: 50% !important;
    right: calc((min(74rem, calc(100vw - 2rem)) - 100vw) / 2) !important;
    transform: translateY(-50%) !important;
    width: clamp(42rem, 60vw, 72rem) !important;
    max-width: none !important;
    display: grid !important;
    justify-items: stretch !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview {
    width: 100% !important;
    aspect-ratio: 1.08 / 1 !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage {
    object-position: 79% 52% !important;
  }
}

@media (max-width: 1060px) {
  body.openx-page-home .page-module__E0kJGG__hero {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    padding-top: clamp(5.35rem, 13vw, 6.8rem) !important;
    padding-bottom: max(0.95rem, env(safe-area-inset-bottom)) !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__wrap {
    min-height: calc(100dvh - 5.45rem) !important;
    display: grid !important;
    align-content: space-between !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroGrid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(1.1rem, 3.8vw, 1.65rem) !important;
    align-items: start !important;
    min-height: 100% !important;
    align-content: space-between !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    display: grid !important;
    justify-items: stretch !important;
    overflow: clip !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: min(56svh, 56dvh) !important;
    aspect-ratio: auto !important;
    transform: none !important;
    animation: none !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage {
    object-position: 83% 52% !important;
    transform: none !important;
  }

  body.openx-page-home .openx-proRail {
    gap: 0.38rem !important;
  }

  body.openx-page-home .openx-proRail span,
  body.openx-page-home .openx-midSignals li {
    min-height: 1.98rem !important;
    padding: 0 0.74rem !important;
    font-size: 0.72rem !important;
  }

  body.openx-page-home .openx-midSignalsSection {
    padding: 0.92rem 0 1.22rem !important;
  }
}

@media (max-width: 700px) {
  body.openx-menu-canonical [class*="__header"] [class*="__wrap"] {
    width: min(74rem, calc(100% - 1rem)) !important;
    min-height: 3.98rem !important;
  }

  body.openx-menu-canonical [class*="__header"] [class*="__actions"] {
    gap: 0.34rem !important;
  }

  body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
  body.openx-menu-canonical [class*="__header"] [class*="__menuTrigger"] {
    font-size: 0.64rem !important;
    padding: 0 0.78rem !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview {
    aspect-ratio: 1 / 1 !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage {
    object-position: 84% 53% !important;
  }
}

/* OpenX V3.2 hotfix: canonical home + mobile full-screen menu */
.openx-introLogo {
  display: none !important;
}

html,
body {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

body.openx-page-home .openx-commandSignals,
body.openx-systemname-opt1 .openx-commandSignals {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.openx-page-home .openx-commandHeroCopy,
body.openx-systemname-opt1 .openx-commandHeroCopy {
  width: 100% !important;
  max-width: min(36rem, 100%) !important;
}

body.openx-page-home .page-module__E0kJGG__heroTitle,
body.openx-systemname-opt1 .page-module__E0kJGG__heroTitle {
  max-width: 22ch !important;
  font-size: clamp(1.94rem, 4.4vw, 3.16rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.016em !important;
  color: #122b42 !important;
}

body.openx-page-home .page-module__E0kJGG__heroNote,
body.openx-systemname-opt1 .page-module__E0kJGG__heroNote {
  max-width: 42ch !important;
  color: #19384e !important;
}

body.openx-page-home .openx-proRail,
body.openx-systemname-opt1 .openx-proRail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

body.openx-page-home .openx-proRail span,
body.openx-systemname-opt1 .openx-proRail span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.openx-page-home .openx-livePill,
body.openx-systemname-opt1 .openx-livePill {
  display: none !important;
}

body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview,
body.openx-systemname-opt1
  .page-module__E0kJGG__hero
  .openx-commandVisual
  .page-module__E0kJGG__adminPreview {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body.openx-page-home.openx-scanline-on .openx-scanLine,
body.openx-systemname-opt1 .openx-scanLine {
  display: block !important;
  opacity: 0.92 !important;
  animation: openx-scan 3.8s linear infinite !important;
}

body.openx-page-home .openx-systemActions,
body.openx-systemname-opt1 .openx-systemActions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: 0.46rem !important;
}

body.openx-page-home .openx-systemActions .page-module__E0kJGG__secondaryCta,
body.openx-systemname-opt1 .openx-systemActions .page-module__E0kJGG__secondaryCta {
  min-height: 44px !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

body.openx-page-system-detail .details-module__DuQ9cq__actions,
body.openx-page-system-tier .details-module__DuQ9cq__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.64rem !important;
}

body.openx-page-system-detail .details-module__DuQ9cq__actions .details-module__DuQ9cq__secondaryCta,
body.openx-page-system-detail .details-module__DuQ9cq__actions .details-module__DuQ9cq__primaryCta,
body.openx-page-system-tier .details-module__DuQ9cq__actions .details-module__DuQ9cq__secondaryCta,
body.openx-page-system-tier .details-module__DuQ9cq__actions .details-module__DuQ9cq__primaryCta {
  min-height: 44px !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
body.openx-menu-canonical [class*="__menuHead"] [class*="__menuContact"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 1200px) {
  body.openx-menu-canonical [class*="__menuShell"] {
    padding: calc(env(safe-area-inset-top) + 0.3rem) 0.3rem calc(env(safe-area-inset-bottom) + 0.3rem) !important;
    align-items: flex-start !important;
  }

  body.openx-menu-canonical [class*="__menuPanel"] {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 0.6rem) !important;
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 0.6rem) !important;
    margin: 0 !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(170, 208, 241, 0.31) !important;
  }

  body.openx-menu-canonical [class*="__menuHead"] {
    padding-top: 0.82rem !important;
    padding-left: 0.88rem !important;
    padding-right: 0.88rem !important;
  }

  body.openx-menu-canonical [class*="__menuLayout"] {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-content: start !important;
    height: calc(100dvh - env(safe-area-inset-top) - 5.5rem) !important;
    min-height: calc(100dvh - env(safe-area-inset-top) - 5.5rem) !important;
    max-height: calc(100dvh - env(safe-area-inset-top) - 5.5rem) !important;
    overflow: auto !important;
    padding: 0 0.88rem calc(env(safe-area-inset-bottom) + 0.92rem) !important;
  }

  body.openx-menu-canonical [class*="__systemGrid"] {
    align-content: start !important;
  }

  body.openx-menu-canonical [class*="__menuBottom"] {
    display: block !important;
    position: sticky !important;
    bottom: calc(env(safe-area-inset-bottom) + 0.04rem) !important;
    z-index: 5 !important;
    margin-top: auto !important;
    padding-top: 0.48rem !important;
    padding-bottom: calc(env(safe-area-inset-bottom) + 0.08rem) !important;
    background: linear-gradient(
      180deg,
      rgba(15, 43, 71, 0) 0%,
      rgba(15, 43, 71, 0.84) 45%,
      rgba(15, 43, 71, 0.98) 100%
    ) !important;
  }

  body.openx-menu-canonical [class*="__menuBottomClose"] {
    min-height: 2.82rem !important;
  }
}

@media (max-width: 1060px) {
  body.openx-page-home .page-module__E0kJGG__hero,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero {
    min-height: 100svh !important;
    min-height: 100dvh !important;
  }

  body.openx-page-home .page-module__E0kJGG__heroTitle,
  body.openx-systemname-opt1 .page-module__E0kJGG__heroTitle {
    max-width: 100% !important;
    font-size: clamp(1.28rem, 5.6vw, 1.72rem) !important;
    line-height: 1.14 !important;
  }

  body.openx-page-home .openx-commandHeroCopy,
  body.openx-systemname-opt1 .openx-commandHeroCopy {
    max-width: none !important;
    width: 100% !important;
    padding-right: 0 !important;
  }

  body.openx-page-home .page-module__E0kJGG__heroNote,
  body.openx-systemname-opt1 .page-module__E0kJGG__heroNote {
    max-width: 100% !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview {
    height: min(60svh, 60dvh) !important;
  }

  body.openx-page-home .openx-proRail,
  body.openx-systemname-opt1 .openx-proRail {
    width: 100% !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    gap: 0.34rem !important;
  }

  body.openx-page-home .openx-proRail span,
  body.openx-systemname-opt1 .openx-proRail span {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 2.28rem !important;
    padding: 0.22rem 0.34rem !important;
    font-size: clamp(0.76rem, 3.2vw, 0.86rem) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    text-align: center !important;
  }
}

@media (min-width: 1061px) {
  body.openx-menu-canonical.openx-desktop-system-nav [class*="__header"] [class*="__contactLink"],
  body.openx-menu-canonical.openx-desktop-system-nav [class*="__header"] [class*="__menuTrigger"] {
    display: none !important;
  }

  body.openx-menu-canonical.openx-desktop-system-nav [class*="__desktopNav"] {
    display: flex !important;
  }

  body.openx-menu-canonical.openx-desktop-system-nav [class*="__menuShell"] {
    display: none !important;
  }
}

@media (max-width: 700px) {
  body.openx-page-home .openx-proRail,
  body.openx-systemname-opt1 .openx-proRail {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  body.openx-page-home .openx-proRail span,
  body.openx-systemname-opt1 .openx-proRail span {
    width: auto !important;
    flex: 1 1 0 !important;
  }
}

/* OpenX V3.3 canonical hero reset */
.openx-introLogo {
  display: none !important;
}

body.openx-page-home .openx-commandSignals,
body.openx-systemname-opt1 .openx-commandSignals {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.openx-page-home .openx-livePill,
body.openx-systemname-opt1 .openx-livePill {
  display: none !important;
}

body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual,
body.openx-systemname-opt1
  .page-module__E0kJGG__hero
  .page-module__E0kJGG__heroVisual.openx-commandVisual,
body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview,
body.openx-systemname-opt1
  .page-module__E0kJGG__hero
  .openx-commandVisual
  .page-module__E0kJGG__adminPreview,
body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage,
body.openx-systemname-opt1
  .page-module__E0kJGG__hero
  .openx-commandVisual
  .page-module__E0kJGG__adminPreviewImage {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual::before,
body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual::after,
body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview::before,
body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview::after,
body.openx-systemname-opt1 .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual::before,
body.openx-systemname-opt1 .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual::after,
body.openx-systemname-opt1
  .page-module__E0kJGG__hero
  .openx-commandVisual
  .page-module__E0kJGG__adminPreview::before,
body.openx-systemname-opt1
  .page-module__E0kJGG__hero
  .openx-commandVisual
  .page-module__E0kJGG__adminPreview::after {
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 1061px) {
  body.openx-page-home .page-module__E0kJGG__hero,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero {
    min-height: calc(100svh - 4.35rem) !important;
    padding-top: clamp(4.6rem, 5.4vw, 5.4rem) !important;
    padding-bottom: clamp(1.2rem, 2.4vw, 2rem) !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroGrid,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero .page-module__E0kJGG__heroGrid {
    grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr) !important;
    gap: clamp(1rem, 2vw, 1.8rem) !important;
    align-items: center !important;
  }

  body.openx-page-home .openx-commandHeroCopy,
  body.openx-systemname-opt1 .openx-commandHeroCopy {
    max-width: 31rem !important;
    width: 100% !important;
    padding-right: 0 !important;
  }

  body.openx-page-home .page-module__E0kJGG__heroTitle,
  body.openx-systemname-opt1 .page-module__E0kJGG__heroTitle {
    max-width: 18ch !important;
    font-size: clamp(1.72rem, 2.5vw, 2.46rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.014em !important;
  }

  body.openx-page-home .page-module__E0kJGG__heroNote,
  body.openx-systemname-opt1 .page-module__E0kJGG__heroNote {
    max-width: 42ch !important;
    min-height: 0 !important;
    font-size: 0.93rem !important;
    line-height: 1.42 !important;
    padding: 0.5rem 0.78rem !important;
    border-radius: 0.95rem !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual,
  body.openx-systemname-opt1
    .page-module__E0kJGG__hero
    .page-module__E0kJGG__heroVisual.openx-commandVisual {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 47rem !important;
    justify-self: end !important;
    pointer-events: none !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview,
  body.openx-systemname-opt1
    .page-module__E0kJGG__hero
    .openx-commandVisual
    .page-module__E0kJGG__adminPreview {
    width: 100% !important;
    height: min(62vh, 38rem) !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage,
  body.openx-systemname-opt1
    .page-module__E0kJGG__hero
    .openx-commandVisual
    .page-module__E0kJGG__adminPreviewImage {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 84% 52% !important;
  }

  body.openx-page-home .openx-proRail,
  body.openx-systemname-opt1 .openx-proRail {
    margin-top: clamp(0.72rem, 1.5vw, 1.05rem) !important;
    gap: 0.44rem !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: min(37rem, 100%) !important;
  }

  body.openx-page-home .openx-proRail span,
  body.openx-systemname-opt1 .openx-proRail span {
    flex: 1 1 0 !important;
    min-height: 2.02rem !important;
    font-size: 0.75rem !important;
    line-height: 1.15 !important;
    padding: 0.26rem 0.45rem !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
}

@media (max-width: 1060px) {
  body.openx-page-home .page-module__E0kJGG__hero,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero {
    min-height: auto !important;
    padding-top: clamp(4.4rem, 10.6vw, 5.1rem) !important;
    padding-bottom: clamp(0.76rem, 2.2vw, 1rem) !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__wrap,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero .page-module__E0kJGG__wrap {
    min-height: 0 !important;
    display: block !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroGrid,
  body.openx-systemname-opt1 .page-module__E0kJGG__hero .page-module__E0kJGG__heroGrid {
    grid-template-columns: 1fr !important;
    gap: 0.72rem !important;
    align-content: start !important;
  }

  body.openx-page-home .openx-commandHeroCopy,
  body.openx-systemname-opt1 .openx-commandHeroCopy {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    gap: 0.56rem !important;
  }

  body.openx-page-home .page-module__E0kJGG__heroTitle,
  body.openx-systemname-opt1 .page-module__E0kJGG__heroTitle {
    max-width: 100% !important;
    font-size: clamp(1.18rem, 4.8vw, 1.56rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.012em !important;
  }

  body.openx-page-home .page-module__E0kJGG__heroNote,
  body.openx-systemname-opt1 .page-module__E0kJGG__heroNote {
    max-width: 100% !important;
    width: 100% !important;
    min-height: 0 !important;
    font-size: 0.76rem !important;
    line-height: 1.34 !important;
    padding: 0.42rem 0.58rem !important;
    border-radius: 0.82rem !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .page-module__E0kJGG__heroVisual.openx-commandVisual,
  body.openx-systemname-opt1
    .page-module__E0kJGG__hero
    .page-module__E0kJGG__heroVisual.openx-commandVisual {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreview,
  body.openx-systemname-opt1
    .page-module__E0kJGG__hero
    .openx-commandVisual
    .page-module__E0kJGG__adminPreview {
    width: 100% !important;
    height: clamp(14rem, 48svh, 22rem) !important;
    padding: 0 !important;
  }

  body.openx-page-home .page-module__E0kJGG__hero .openx-commandVisual .page-module__E0kJGG__adminPreviewImage,
  body.openx-systemname-opt1
    .page-module__E0kJGG__hero
    .openx-commandVisual
    .page-module__E0kJGG__adminPreviewImage {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 82% 52% !important;
  }

  body.openx-page-home .openx-proRail,
  body.openx-systemname-opt1 .openx-proRail {
    margin-top: 0.48rem !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.3rem !important;
    align-items: stretch !important;
  }

  body.openx-page-home .openx-proRail span,
  body.openx-systemname-opt1 .openx-proRail span {
    min-width: 0 !important;
    min-height: 2.06rem !important;
    padding: 0.18rem 0.28rem !important;
    font-size: clamp(0.67rem, 2.9vw, 0.76rem) !important;
    line-height: 1.14 !important;
    text-align: center !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
  }
}

/* V20.1 tail override: desktop overlay menu stays active */
@media (min-width: 1061px) {
  body.openx-menu-canonical [class*="__desktopNav"],
  body.openx-menu-canonical [class*="__desktopMore"],
  body.openx-menu-canonical [class*="__desktopMorePanel"] {
    display: none !important;
  }

  body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
  body.openx-menu-canonical [class*="__header"] [class*="__menuTrigger"],
  body.openx-menu-canonical.openx-desktop-system-nav [class*="__header"] [class*="__contactLink"],
  body.openx-menu-canonical.openx-desktop-system-nav [class*="__header"] [class*="__menuTrigger"] {
    display: inline-flex !important;
  }

  body.openx-menu-canonical [class*="__menuShell"],
  body.openx-menu-canonical.openx-desktop-system-nav [class*="__menuShell"] {
    display: flex !important;
  }
}

/* V22: Neo Pill Dock header CTAs + contact mini sheet */
body.openx-menu-canonical [class*="__header"] .openx-headerDockButton {
  position: relative !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.44rem !important;
  min-width: 7.5rem !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 0.94rem 0 0.8rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(160, 196, 226, 0.54) !important;
  background: linear-gradient(152deg, #f8fbff 0%, #e7f1fa 100%) !important;
  color: #0f2b47 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-size: 0.67rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(15, 43, 71, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  transform: translate3d(0, 0, 0) !important;
  transition: transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 180ms ease,
    border-color 180ms ease, background-color 180ms ease, color 180ms ease !important;
  -webkit-tap-highlight-color: transparent !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  padding: 1px !important;
  background: linear-gradient(90deg, #0f2b47 0%, #1c4a75 38%, #f97316 62%, #0f2b47 100%) !important;
  pointer-events: none !important;
  opacity: 0.58 !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton::after {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: -45% !important;
  width: 38% !important;
  height: calc(100% + 2px) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateX(0) skewX(-20deg) !important;
  background: linear-gradient(90deg, rgba(249, 115, 22, 0), rgba(249, 115, 22, 0.88), rgba(42, 103, 159, 0.7), rgba(249, 115, 22, 0)) !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton--menu {
  border-color: rgba(245, 156, 98, 0.66) !important;
  background: linear-gradient(142deg, #f68a3c 0%, #f36d22 100%) !important;
  color: #fff !important;
  box-shadow: 0 9px 20px rgba(242, 115, 22, 0.28), inset 0 1px 0 rgba(255, 229, 205, 0.42) !important;
}

body.openx-menu-canonical.openx-menu-open [class*="__header"] .openx-headerDockButton--menu,
body.openx-menu-canonical [class*="__header"] .openx-headerDockButton[aria-expanded="true"] {
  transform: translate3d(0, -1px, 0) scale(1.01) !important;
  box-shadow: 0 12px 24px rgba(242, 115, 22, 0.34), inset 0 1px 0 rgba(255, 235, 214, 0.55) !important;
}

body.openx-menu-canonical.openx-contact-sheet-open [class*="__header"] .openx-headerDockButton--contact {
  transform: translate3d(0, -1px, 0) scale(1.01) !important;
  border-color: rgba(243, 126, 44, 0.62) !important;
  box-shadow: 0 10px 22px rgba(15, 43, 71, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

@media (hover: hover) {
  body.openx-menu-canonical [class*="__header"] .openx-headerDockButton:hover,
  body.openx-menu-canonical [class*="__header"] .openx-headerDockButton:focus-visible {
    transform: translate3d(0, -1px, 0) scale(1.01) !important;
  }

  body.openx-menu-canonical [class*="__header"] .openx-headerDockButton:hover::after,
  body.openx-menu-canonical [class*="__header"] .openx-headerDockButton:focus-visible::after {
    opacity: 0.98 !important;
    animation: openx-header-dock-runner 620ms cubic-bezier(0.22, 0.61, 0.36, 1) 1 !important;
  }
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton:active {
  transform: translate3d(0, 0, 0) scale(0.995) !important;
}

body.openx-menu-canonical .openx-headerDockIcon {
  width: 1.12rem !important;
  height: 1.12rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

body.openx-menu-canonical .openx-headerDockIcon svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

body.openx-menu-canonical .openx-headerDockStrokePrimary {
  stroke: #1a476b !important;
}

body.openx-menu-canonical .openx-headerDockStrokeAccent {
  stroke: #f97316 !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton--menu .openx-headerDockStrokePrimary {
  stroke: #f2f8ff !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton--menu .openx-headerDockStrokeAccent {
  stroke: #ffe1c7 !important;
}

body.openx-menu-canonical .openx-headerDockLabel {
  display: inline-block !important;
  white-space: nowrap !important;
  font: inherit !important;
}

@keyframes openx-header-dock-runner {
  0% {
    transform: translateX(0) skewX(-20deg);
    opacity: 0;
  }
  20% {
    opacity: 0.94;
  }
  100% {
    transform: translateX(430%) skewX(-20deg);
    opacity: 0;
  }
}

body.openx-menu-canonical .openx-contactMiniSheet {
  position: absolute !important;
  top: calc(100% + 0.5rem) !important;
  right: 0 !important;
  z-index: calc(var(--openx-ui-header-z) + 24) !important;
  width: min(19.5rem, calc(100vw - 1rem)) !important;
  padding: 0.56rem !important;
  border-radius: 0.92rem !important;
  border: 1px solid rgba(168, 202, 232, 0.42) !important;
  background: linear-gradient(155deg, #081c2e 0%, #0f2f4b 55%, #1b486f 100%) !important;
  box-shadow: 0 20px 42px rgba(4, 13, 23, 0.42) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, -8px, 0) scale(0.98) !important;
  transition: opacity 180ms ease, transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 200ms ease !important;
}

body.openx-menu-canonical.openx-contact-sheet-open .openx-contactMiniSheet {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

body.openx-menu-canonical .openx-contactMiniSheetHead {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

body.openx-menu-canonical .openx-contactMiniSheetTitle {
  margin: 0 !important;
  color: #e9f4ff !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

body.openx-menu-canonical .openx-contactMiniSheetClose {
  border: 1px solid rgba(246, 164, 109, 0.62) !important;
  background: linear-gradient(135deg, #f68a3c 0%, #f06b22 100%) !important;
  color: #fff !important;
  border-radius: 999px !important;
  height: 1.78rem !important;
  min-width: 4.7rem !important;
  padding: 0 0.66rem !important;
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

body.openx-menu-canonical .openx-contactMiniSheetItem {
  position: relative !important;
  display: block !important;
  text-decoration: none !important;
  border-radius: 0.7rem !important;
  border: 1px solid rgba(168, 203, 233, 0.33) !important;
  background: linear-gradient(145deg, rgba(12, 44, 70, 0.94), rgba(20, 57, 87, 0.94)) !important;
  padding: 0.58rem 0.64rem 0.58rem 0.98rem !important;
  margin: 0.38rem 0 0 !important;
  transition: transform 170ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 170ms ease,
    box-shadow 170ms ease !important;
}

body.openx-menu-canonical .openx-contactMiniSheetItem::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0.56rem !important;
  width: 0.3rem !important;
  height: 0.3rem !important;
  margin-top: -0.15rem !important;
  border-radius: 999px !important;
  background: #f97316 !important;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.24) !important;
}

body.openx-menu-canonical .openx-contactMiniSheetItemLabel {
  display: block !important;
  color: #f3f8ff !important;
  font-size: 0.66rem !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}

body.openx-menu-canonical .openx-contactMiniSheetItemValue {
  display: block !important;
  margin-top: 0.16rem !important;
  color: #bfd5ea !important;
  font-size: 0.72rem !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
}

@media (hover: hover) {
  body.openx-menu-canonical .openx-contactMiniSheetItem:hover,
  body.openx-menu-canonical .openx-contactMiniSheetItem:focus-visible,
  body.openx-menu-canonical .openx-contactMiniSheetClose:hover,
  body.openx-menu-canonical .openx-contactMiniSheetClose:focus-visible {
    transform: translate3d(0, -1px, 0) !important;
  }

  body.openx-menu-canonical .openx-contactMiniSheetItem:hover,
  body.openx-menu-canonical .openx-contactMiniSheetItem:focus-visible {
    border-color: rgba(248, 142, 67, 0.66) !important;
    box-shadow: 0 10px 20px rgba(4, 13, 23, 0.32) !important;
  }
}

@media (max-width: 1060px) {
  body.openx-menu-canonical [class*="__header"] .openx-headerDockButton {
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 0.78rem 0 0.68rem !important;
    gap: 0.38rem !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.05em !important;
  }

  body.openx-menu-canonical .openx-headerDockIcon {
    width: 1.02rem !important;
    height: 1.02rem !important;
  }

  body.openx-menu-canonical .openx-contactMiniSheet {
    width: min(18.4rem, calc(100vw - 0.8rem)) !important;
    right: 0 !important;
  }
}

/* V21 rollback: keep original light theme + subtle static inner frame only */
html,
body,
body.openx-menu-canonical {
  background: #f3f7fc !important;
}

/* V23 menu typography normalization */
body.openx-menu-canonical [class*="__header"] .openx-headerDockLabel,
body.openx-menu-canonical [class*="__desktopNavLink"],
body.openx-menu-canonical [class*="__desktopMoreToggle"],
body.openx-menu-canonical [class*="__desktopMoreLink"],
body.openx-menu-canonical [class*="__menuContact"],
body.openx-menu-canonical [class*="__menuClose"],
body.openx-menu-canonical [class*="__menuTopAction"],
body.openx-menu-canonical [class*="__systemPrimary"],
body.openx-menu-canonical [class*="__tierLink"],
body.openx-menu-canonical [class*="__menuBottomClose"] {
  font-weight: 400 !important;
}

/* V24 monoline menu icons + stable mobile bottom close */
body.openx-menu-canonical [class*="__systemIcon"] {
  width: 1.34rem !important;
  height: 1.34rem !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.openx-menu-canonical [class*="__systemIcon"] svg {
  width: 1.18rem !important;
  height: 1.18rem !important;
}

body.openx-menu-canonical [class*="__systemIcon"] .openx-systemIconPrimary {
  stroke: rgba(232, 244, 255, 0.94) !important;
}

body.openx-menu-canonical [class*="__systemIcon"] .openx-systemIconAccent {
  stroke: rgba(247, 157, 86, 0.98) !important;
}

body.openx-menu-canonical .openx-headerDockIcon {
  width: 1.06rem !important;
  height: 1.06rem !important;
}

body.openx-menu-canonical .openx-headerDockStrokePrimary {
  stroke: #214b70 !important;
}

body.openx-menu-canonical .openx-headerDockStrokeAccent {
  stroke: #f07a2a !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton--menu .openx-headerDockStrokePrimary {
  stroke: #f7fbff !important;
}

body.openx-menu-canonical [class*="__header"] .openx-headerDockButton--menu .openx-headerDockStrokeAccent {
  stroke: #ffe3cf !important;
}

@media (max-width: 1200px) {
  body.openx-menu-canonical [class*="__menuPanel"] {
    overflow-x: hidden !important;
  }

  body.openx-menu-canonical [class*="__menuLayout"] {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-bottom: calc(env(safe-area-inset-bottom) + 0.22rem) !important;
  }

  body.openx-menu-canonical [class*="__menuBottom"] {
    display: block !important;
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 0.54rem !important;
    padding-bottom: calc(env(safe-area-inset-bottom) + 0.1rem) !important;
    background: linear-gradient(
      180deg,
      rgba(15, 43, 71, 0) 0%,
      rgba(15, 43, 71, 0.82) 38%,
      rgba(15, 43, 71, 0.98) 100%
    ) !important;
    z-index: 7 !important;
  }

  body.openx-menu-canonical [class*="__menuBottomClose"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 2.84rem !important;
  }

  body.openx-menu-canonical [class*="__menuShell"][aria-hidden="false"] [class*="__systemTile"]:nth-child(n),
  body.openx-menu-canonical [class*="__menuShell"][aria-hidden="false"] [class*="__systemTilePrimary"]:nth-child(n) {
    animation-duration: 0.26s !important;
    animation-delay: 0s !important;
    opacity: 1 !important;
  }
}

/* Keep menu typography lightweight on desktop and mobile. */
body.openx-menu-canonical [class*="__header"] [class*="__contactLink"],
body.openx-menu-canonical [class*="__header"] [class*="__menuTrigger"],
body.openx-menu-canonical [class*="__header"] [class*="__menuClose"],
body.openx-menu-canonical [class*="__header"] [class*="__menuContact"],
body.openx-menu-canonical [class*="__header"] .openx-headerDockButton,
body.openx-menu-canonical [class*="__header"] .openx-headerDockLabel,
body.openx-menu-canonical [class*="__menuShell"] [class*="__systemCopy"] h3,
body.openx-menu-canonical [class*="__menuShell"] [class*="__systemCopy"] p,
body.openx-menu-canonical [class*="__menuShell"] [class*="__infoCard"] h3,
body.openx-menu-canonical [class*="__menuShell"] [class*="__infoCard"] p,
body.openx-menu-canonical [class*="__menuShell"] [class*="__quickLinks"] a,
body.openx-menu-canonical [class*="__menuBottomClose"] {
  font-weight: 400 !important;
}
