@media (min-width: 768px) {
  /*
   * Widget 97fd496 is the mobile burger/dropdown menu. Keep its panel shut
   * off above the mobile breakpoint so only the real desktop nav is visible.
   */
  .elementor-location-header
    .elementor-element-97fd496
    .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

@media (min-width: 1025px) {
  /*
   * Keep desktop dropdown indicators visible even on the homepage header,
   * where Elementor/Astra do not consistently add the same submenu classes
   * as interior pages. When Elementor already adds its own .sub-arrow,
   * hide Astra's extra toggle so only one caret is shown.
   */
  .elementor-location-header
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li.menu-item-has-children
    > a.elementor-item {
    align-items: center;
  }

  .elementor-location-header
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li.menu-item-has-children
    > a.elementor-item:not(.has-submenu) {
    gap: 0.55rem;
  }

  .elementor-location-header
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li.menu-item-has-children
    > a.elementor-item.has-submenu
    > .dropdown-menu-toggle.ast-header-navigation-arrow {
    display: none !important;
  }

  .elementor-location-header
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li.menu-item-has-children
    > a.elementor-item:not(.has-submenu)
    > .dropdown-menu-toggle.ast-header-navigation-arrow {
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: 0.35rem !important;
    border-left: 0.42em solid transparent !important;
    border-right: 0.42em solid transparent !important;
    border-top: 0.5em solid currentColor !important;
    border-bottom: 0 !important;
    border-style: solid !important;
    position: relative;
    top: 0.05em;
    flex: 0 0 auto;
    overflow: visible;
  }

  /*
   * Elementor Pro's dropdown-tablet desktop rule hides submenu <ul> nodes
   * because they share .elementor-nav-menu--dropdown with the mobile panel.
   * Keep all desktop submenus hidden by default, then reveal only the hovered
   * branch so sibling menus do not remain open across the header.
   */
  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li,
  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    .sub-menu
    .menu-item {
    position: relative;
  }

  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    .sub-menu.elementor-nav-menu--dropdown {
    width: max-content !important;
    min-width: 20rem !important;
    max-width: min(26rem, 80vw) !important;
  }

  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    .sub-menu.elementor-nav-menu--dropdown
    > li
    > a {
    white-space: nowrap !important;
  }

  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li
    > .sub-menu.elementor-nav-menu--dropdown {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute;
    top: 100%;
    left: 0 !important;
    z-index: 9998;
  }

  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    .sub-menu
    .menu-item
    > .sub-menu.elementor-nav-menu--dropdown {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute;
    top: 0 !important;
    left: 100% !important;
    z-index: 9998;
  }

  /*
   * Elementor's horizontal-nav rule also forces nested flyouts to top: 100% !important
   * because they live under a top-level <li>. Override that so second-level panels stay
   * flush with the hovered item, and flip the right-edge desktop menus inward so the
   * flyouts remain inside the viewport.
   */
  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li:nth-last-child(-n + 2)
    > .sub-menu.elementor-nav-menu--dropdown {
    left: auto !important;
    right: 0 !important;
  }

  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li:nth-last-child(-n + 2)
    .sub-menu
    .menu-item
    > .sub-menu.elementor-nav-menu--dropdown {
    top: 0 !important;
    left: auto !important;
    right: 100% !important;
  }

  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li:hover
    > .sub-menu.elementor-nav-menu--dropdown,
  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    > .elementor-nav-menu
    > li:focus-within
    > .sub-menu.elementor-nav-menu--dropdown,
  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    .sub-menu
    .menu-item:hover
    > .sub-menu.elementor-nav-menu--dropdown,
  .elementor-location-header
    .elementor-widget-nav-menu.elementor-nav-menu--dropdown-tablet
    .elementor-nav-menu--main
    .sub-menu
    .menu-item:focus-within
    > .sub-menu.elementor-nav-menu--dropdown {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 767px) {
  /*
   * Keep the mobile header dropdown visually detached from the burger
   * trigger. Elementor positions the dropdown absolutely inside the widget,
   * so use top rather than margin to guarantee a real 25px gap.
   */
  .elementor-location-header
    .elementor-40
    .elementor-element.elementor-element-97fd496
    .elementor-nav-menu__container.elementor-nav-menu--dropdown,
  .elementor-location-header
    .elementor-element-97fd496
    .elementor-widget-container
    > .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    top: calc(100% + 25px) !important;
    left: auto !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-top: 0px !important;
  }

  .elementor-location-header
    .elementor-element-de735ed {
    width: 42px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;
    margin-right: 10px !important;
  }
}
