/* Elementor writes the banner background container's absolute positioning into
   data-settings, one per page. Matching that shape rather than a list of element
   ids is what carries the navy to every page, including ones added later.
   .ia-aif-section is excluded: /aif-2026/ embeds three of these as sections. */

body .elementor-element-222103e,
body .elementor-element-7d6b904,
body .elementor-element-310ecd6,
body .elementor-element-fd6ea72,
body .elementor-element-569f963,
body .elementor-element-1c75326 {
  min-height: clamp(300px, 6rem + 16vw, 440px);
  overflow: clip;
}

body
  :not(.ia-aif-section)
  > .elementor
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"'] {
  isolation: isolate;
  background-color: var(--ia-blue-900) !important;
  background-blend-mode: luminosity;
}

body
  :not(.ia-aif-section)
  > .elementor
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"']::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background-image: var(--ia-banner-scrim);
}

body
  :not(.ia-aif-section)
  > .elementor
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"']:has(.e-con)::after,
body
  :not(.ia-aif-section)
  > .elementor-7759
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"']::after {
  background-image: var(--ia-banner-scrim-photo);
}

body
  :not(.ia-aif-section)
  > .elementor
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"']
  .e-con,
body
  :not(.ia-aif-section)
  > .elementor
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"']
  img {
  filter: saturate(0.14) contrast(1.1) brightness(0.86);
}

body .elementor-element-222103e > .e-con-inner > .e-con:has(h1),
body .elementor-element-7d6b904 > .e-con-inner > .e-con:has(h1),
body .elementor-element-310ecd6 > .e-con-inner > .e-con:has(h1),
body .elementor-element-fd6ea72 > .e-con-inner > .e-con:has(h1),
body .elementor-element-569f963 > .e-con-inner > .e-con:has(h1),
body .elementor-element-1c75326 > .e-con-inner > .e-con:has(h1) {
  z-index: 4;
  gap: var(--ia-space-sm) !important;
  justify-content: center !important;
  max-width: min(640px, 100%);
  padding-block: var(--ia-space-2xl) !important;
}

body .elementor-element-222103e h1,
body .elementor-element-7d6b904 h1,
body .elementor-element-310ecd6 h1,
body .elementor-element-fd6ea72 h1,
body .elementor-element-569f963 h1,
body .elementor-element-1c75326 h1 {
  margin: 0 !important;
  font-size: var(--ia-text-display) !important;
  font-weight: var(--ia-weight-bold) !important;
  line-height: var(--ia-leading-tight) !important;
  letter-spacing: -0.03em !important;
  color: var(--ia-content-inverse) !important;
}

body .elementor-element-222103e p,
body .elementor-element-7d6b904 p,
body .elementor-element-310ecd6 p,
body .elementor-element-fd6ea72 p,
body .elementor-element-569f963 p,
body .elementor-element-1c75326 p {
  max-width: 58ch;
  font-size: var(--ia-text-lg) !important;
  line-height: var(--ia-leading-normal) !important;
  color: rgba(255, 255, 255, 0.84) !important;
}

body .elementor-element-222103e h1 + *,
body .elementor-element-7d6b904 h1 + *,
body .elementor-element-310ecd6 h1 + *,
body .elementor-element-fd6ea72 h1 + *,
body .elementor-element-569f963 h1 + * {
  margin-top: 0;
}

@media (max-width: 885px) {
  body .elementor-element-222103e > .e-con-inner > .e-con:has(h1),
  body .elementor-element-7d6b904 > .e-con-inner > .e-con:has(h1),
  body .elementor-element-310ecd6 > .e-con-inner > .e-con:has(h1),
  body .elementor-element-fd6ea72 > .e-con-inner > .e-con:has(h1),
  body .elementor-element-569f963 > .e-con-inner > .e-con:has(h1),
  body .elementor-element-1c75326 > .e-con-inner > .e-con:has(h1) {
    padding-block: var(--ia-space-xl) !important;
  }

  body
    :not(.ia-aif-section)
    > .elementor
    > .e-con
    > .e-con-inner
    > .e-con[data-settings*='"position":"absolute"']:has(.e-con)::after,
  body
    :not(.ia-aif-section)
    > .elementor-7759
    > .e-con
    > .e-con-inner
    > .e-con[data-settings*='"position":"absolute"']::after {
    background-image: var(--ia-banner-scrim-photo-narrow);
  }
}

body
  :not(.ia-aif-section)
  > .elementor
  > .e-con
  > .e-con-inner
  > .e-con[data-settings*='"position":"absolute"']
  > .e-con {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.55) 14%, #000 38%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.55) 14%, #000 38%);
}

@media (max-width: 885px) {
  body
    :not(.ia-aif-section)
    > .elementor
    > .e-con
    > .e-con-inner
    > .e-con[data-settings*='"position":"absolute"']
    > .e-con {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
