/* The home header shares the compact liquid-glass presentation from page load. */
@media (min-width: 1041px) {
  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .site-header__inner,
  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-utility {
    width: min(calc(100% - 48px), 1280px);
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .site-header__shell {
    padding-right: 12px !important;
    border-color: rgba(28, 53, 94, 0.12);
    background: rgba(255, 255, 255, 0.76) !important;
    -webkit-backdrop-filter: saturate(155%) blur(24px);
    backdrop-filter: saturate(155%) blur(24px);
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-utility {
    max-height: 40px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    color: rgba(239, 248, 248, 0.92);
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .brand-link__wordmark--default {
    opacity: 1 !important;
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .brand-link__wordmark--inverse,
  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .brand-link__mark {
    opacity: 0 !important;
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-nav__item {
    color: #103765 !important;
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-nav__item:hover,
  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-nav__item:focus-visible,
  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-nav__item.is-open {
    color: #007d95 !important;
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-search__icon {
    color: rgba(16, 55, 101, 0.58);
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-search__input {
    border-color: rgba(16, 55, 101, 0.16);
    background: rgba(255, 255, 255, 0.72);
    color: #103765;
  }

  body.next-menu-version.home-mode .site-header--next-menu:not(.is-compact) .next-menu-search__input::placeholder {
    color: rgba(16, 55, 101, 0.58);
  }

  /* The video/static hero variant has more specific inverse-colour rules. */
  body.next-menu-version.static-image-version.home-mode.index2-page .site-header--next-menu:not(.is-compact) .brand-link__wordmark--default {
    opacity: 1 !important;
  }

  body.next-menu-version.static-image-version.home-mode.index2-page header.site-header--next-menu:not(.is-compact) img.brand-link__wordmark--inverse,
  body.next-menu-version.static-image-version.home-mode.index2-page header.site-header--next-menu:not(.is-compact) img.brand-link__mark {
    opacity: 0 !important;
  }

  body.next-menu-version.static-image-version.home-mode.index2-page .site-header--next-menu:not(.is-compact) .next-menu-nav__item {
    color: #103765 !important;
  }

  body.next-menu-version.static-image-version.home-mode.index2-page .site-header--next-menu:not(.is-compact) .next-menu-nav__item:hover,
  body.next-menu-version.static-image-version.home-mode.index2-page .site-header--next-menu:not(.is-compact) .next-menu-nav__item:focus-visible,
  body.next-menu-version.static-image-version.home-mode.index2-page .site-header--next-menu:not(.is-compact) .next-menu-nav__item.is-open {
    color: #007d95 !important;
  }
}

/* Keep the compact page header slightly denser without affecting home. */
@media (min-width: 1041px) {
  body.next-menu-version.page-mode .site-header--next-menu.is-compact .next-menu-nav__item {
    font-size: 0.94rem;
  }

  body.next-menu-version.page-mode .site-header--next-menu.is-compact .next-menu-tools {
    margin-right: 14px;
  }
}

/* Page heroes share the homepage header's initial state. The header remains
   fixed above the media, while the hero begins at the top of the viewport
   instead of leaving a separate header band above it. */
@media (min-width: 1041px) {
  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) {
    padding-top: 0;
  }

  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) .site-header__inner,
  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) .next-menu-utility {
    width: min(calc(100% - 48px), 1280px);
    max-width: none;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) .site-header__shell {
    padding: 8px 12px 8px 20px !important;
    background: rgba(255, 255, 255, 0.76) !important;
    -webkit-backdrop-filter: saturate(155%) blur(24px);
    backdrop-filter: saturate(155%) blur(24px);
  }

  /* Keep an open mega-menu flush with the expanded header and language
     selector. The original page-menu cap (1232px) left a 24px inset on
     each side. */
  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) .next-menu-panels {
    width: min(calc(100vw - 48px), 1280px);
  }

  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) .next-menu-utility {
    max-height: 40px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    color: rgba(239, 248, 248, 0.92);
  }

  body.next-menu-version.page-mode .site-header--next-menu.is-page:not(.is-compact) .next-menu-utility__lang {
    border-color: rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.86);
    color: #103765;
    box-shadow: 0 10px 28px rgba(8, 31, 56, 0.12);
  }

  body.next-menu-version.page-mode .site-main.site-main--flush {
    --page-hero-offset: 0px;
    padding-top: 0 !important;
  }

  body.next-menu-version.page-mode .site-main.site-main--flush .page-video-hero {
    --page-hero-offset: 0px !important;
  }

  /* These editorial heroes deliberately use a compact custom height. Add
     the reclaimed header area so their bottom edge and page rhythm remain
     unchanged after the media starts behind the header. */
  body.next-menu-version.page-mode .site-main.site-main--flush .careers-page__hero {
    min-height: calc(clamp(400px, 50vh, 540px) + 116px);
  }

  body.next-menu-version.page-mode.our-group-page .site-main.site-main--flush .page-video-hero,
  body.next-menu-version.page-mode.impact-page .site-main.site-main--flush .page-video-hero.cf-hero {
    min-height: calc(clamp(260px, 38vh, 400px) + 116px);
  }

  body.next-menu-version.page-mode:is(.opcvm-page, .publications-page) .site-main.site-main--flush .cf-opcvm-hero {
    min-height: calc(clamp(260px, 31vw, 360px) + 116px);
  }
}

/* Inner pages: the white wordmark was stacked over the dark one (service-page rule). Keep only the dark logo on the light header. */
body.next-menu-version.page-mode header.site-header--next-menu.is-page img.brand-link__wordmark--inverse {
  opacity: 0 !important;
}
