/* iFrawin navigation refresh: compact, keyboard-friendly desktop menus. */
@media (min-width: 992px) {
  .main-header .main-menu .modern-nav {
    display: flex;
    align-items: center;
    gap: 0.6rem;
  }

  .main-header .main-menu .modern-nav > li {
    position: relative;
    margin: 0;
  }

  .main-header .main-menu .modern-nav > li > a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 72px;
    padding: 1.05rem 1rem !important;
    border-radius: 10px;
    color: #11253f;
    font-weight: 650;
    line-height: 1;
    transition: background-color 160ms ease, color 160ms ease;
  }

  .main-header .main-menu .modern-nav > li > a:hover,
  .main-header .main-menu .modern-nav > li > a:focus-visible,
  .main-header .main-menu .modern-nav > li.is-current > a {
    color: #087d52;
    background: #eff8f4;
  }

  .main-header .main-menu .modern-nav .if-nav-chevron {
    font-size: 0.72rem;
    transition: transform 160ms ease;
  }

  .main-header .main-menu .modern-nav .if-nav-menu:hover .if-nav-chevron,
  .main-header .main-menu .modern-nav .if-nav-menu:focus-within .if-nav-chevron {
    transform: rotate(180deg);
  }

  .main-header .main-menu .modern-nav .if-nav-dropdown {
    position: absolute;
    z-index: 30;
    top: calc(100% + 0.5rem);
    left: 0;
    display: grid;
    min-width: 270px;
    padding: 0.5rem;
    border: 1px solid #dce8e2;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(17, 37, 63, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }

  .main-header .main-menu .modern-nav .if-nav-menu:hover .if-nav-dropdown,
  .main-header .main-menu .modern-nav .if-nav-menu:focus-within .if-nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .main-header .main-menu .modern-nav .if-nav-dropdown li {
    margin: 0;
  }

  .main-header .main-menu .modern-nav .if-nav-dropdown a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1rem !important;
    border-radius: 9px;
    color: #11253f;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: normal;
    transition: background-color 160ms ease, color 160ms ease;
  }

  .main-header .main-menu .modern-nav .if-nav-dropdown a:hover,
  .main-header .main-menu .modern-nav .if-nav-dropdown a:focus-visible {
    color: #087d52;
    background: #eff8f4;
  }

  .main-header .main-menu .modern-nav .if-nav-dropdown i {
    display: inline-grid;
    width: 1.4rem;
    place-items: center;
    color: #0aae70;
    font-size: 1.05rem;
  }
}

.main-menu .modern-nav a:focus-visible {
  outline: 3px solid rgba(10, 174, 112, 0.35);
  outline-offset: 2px;
}

/* Slicknav owns the mobile interaction; keep labels and icons clean there. */
@media (max-width: 991.98px) {
  .slicknav_nav .if-nav-dropdown i {
    width: 1.35rem;
    color: #0aae70;
  }
}
