html { scroll-behavior: smooth; }

.header .has-submenu > a::before {
  content: none;
}

.header .nav-menu__caret {
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  transition: 0.2s linear;
}

.header .has-submenu.active > .nav-menu__caret {
  transform: translateY(-50%) rotate(180deg);
}

@media (min-width: 992px) {
  .header .has-submenu:hover > .nav-menu__caret {
    color: var(--main-600);
    transform: translateY(-50%) rotate(180deg);
  }
}

  /* Mobile accordion already renders an explicit icon element. */
  .mobile-menu .mobile-accordion__toggle::before {
    content: none !important;
  }

  .mobile-menu .mobile-accordion__icon {
    font-size: 1rem;
  }

  .mobile-menu .mobile-accordion.is-open .mobile-accordion__icon {
    transform: rotate(180deg);
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  /* Force always-sticky behavior for selected landing pages. */
  body.always-sticky-header {
    padding-top: 96px;
  }
  body.always-sticky-header .header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background-color: #fff !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(24px);
  }
  @media screen and (max-width: 991px) {
    body.always-sticky-header {
      padding-top: 78px;
    }
  }
