/* Canonical inner-page hero and closing CTA system.
   Applies to About, Initiative, Think Tank, Solutions, Trust Lab and Partners. */

:is(
  body.page-about .inner-page-hero.inner-about-hero,
  body.page-initiative .inner-page-hero.inner-initiative-hero,
  body.page-thinktank .inner-page-hero.tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .inner-page-hero.trust-lab-hero,
  body.page-partners .inner-page-hero
) {
  display: grid !important;
  width: min(calc(100% - 48px), 1480px) !important;
  max-width: 1480px !important;
  min-height: 700px !important;
  margin: 0 auto !important;
  padding: clamp(42px, 4.6vw, 64px) 0 clamp(46px, 4.8vw, 68px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: clamp(28px, 3.6vw, 58px) !important;
  align-items: center !important;
  color: #fffdf6 !important;
  background: linear-gradient(112deg, #0b1738 0%, #07142f 100%) !important;
  /* Keep the content on a measured 1,480px frame while the navy hero field
     continues edge-to-edge across wide viewports. */
  box-shadow: 0 0 0 100vmax #0b1738 !important;
  clip-path: inset(0 -100vmax) !important;
}

:is(
  body.page-about .inner-page-hero.inner-about-hero,
  body.page-initiative .inner-page-hero.inner-initiative-hero,
  body.page-thinktank .inner-page-hero.tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .inner-page-hero.trust-lab-hero,
  body.page-partners .inner-page-hero
)::before,
:is(
  body.page-about .inner-page-hero.inner-about-hero,
  body.page-initiative .inner-page-hero.inner-initiative-hero,
  body.page-thinktank .inner-page-hero.tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .inner-page-hero.trust-lab-hero,
  body.page-partners .inner-page-hero
)::after {
  display: none !important;
  content: none !important;
}

:is(
  body.page-about .inner-about-hero,
  body.page-initiative .inner-initiative-hero,
  body.page-thinktank .tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .trust-lab-hero,
  body.page-partners .inner-page-hero
) .inner-hero-copy {
  width: 100% !important;
  max-width: 46rem !important;
  padding: 0 !important;
}

:is(
  body.page-about .inner-about-hero,
  body.page-initiative .inner-initiative-hero,
  body.page-thinktank .tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .trust-lab-hero,
  body.page-partners .inner-page-hero
) .inner-hero-copy h1 {
  max-width: 15ch !important;
  margin: 12px 0 20px !important;
  color: #fffdf6 !important;
  font-size: clamp(2.85rem, 4.15vw, 4.3rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}

:is(
  body.page-about .inner-about-hero,
  body.page-initiative .inner-initiative-hero,
  body.page-thinktank .tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .trust-lab-hero,
  body.page-partners .inner-page-hero
) .inner-hero-copy > p:not(.eyebrow) {
  max-width: 58ch !important;
  color: rgba(255, 253, 246, 0.78) !important;
  font-size: clamp(1rem, 0.4vw + 0.95rem, 1.08rem) !important;
  line-height: 1.62 !important;
}

:is(
  body.page-about .inner-about-hero,
  body.page-initiative .inner-initiative-hero,
  body.page-thinktank .tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .trust-lab-hero,
  body.page-partners .inner-page-hero
) .inner-hero-copy > p:not(.eyebrow) + p {
  margin-top: 0.9rem !important;
}

:is(
  body.page-about .about-hero-image,
  body.page-initiative .initiative-hero-image,
  body.page-thinktank .tt-hero-visual,
  body.page-services.page-solutions .solutions-hero-visual,
  body.page-trust-lab .trust-lab-hero .inner-hero-visual,
  body.page-partners .inner-page-hero .inner-hero-visual
) {
  position: relative !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 5 / 4 !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: stretch !important;
  align-self: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(223, 188, 102, 0.92) !important;
  border-radius: 0 !important;
  background: #06152d !important;
  box-shadow: none !important;
}

:is(
  body.page-about .about-hero-image,
  body.page-initiative .initiative-hero-image,
  body.page-thinktank .tt-hero-visual,
  body.page-services.page-solutions .solutions-hero-visual,
  body.page-trust-lab .trust-lab-hero .inner-hero-visual,
  body.page-partners .inner-page-hero .inner-hero-visual
) > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  /* Hero artwork should meet every edge of the shared gold frame. */
  object-fit: cover !important;
  object-position: center !important;
}

:is(
  body.page-about .inner-about-hero,
  body.page-initiative .inner-initiative-hero,
  body.page-thinktank .tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .trust-lab-hero,
  body.page-partners .inner-page-hero
) .button.primary {
  border-color: #fffdf6 !important;
  background: #fffdf6 !important;
  color: #0b1738 !important;
}

:is(
  body.page-about .inner-about-hero,
  body.page-initiative .inner-initiative-hero,
  body.page-thinktank .tt-hero,
  body.page-services.page-solutions .solutions-hero,
  body.page-trust-lab .trust-lab-hero,
  body.page-partners .inner-page-hero
) .button.secondary {
  border-color: #dfbc66 !important;
  border-bottom-color: #dfbc66 !important;
  color: #fffdf6 !important;
  background: transparent !important;
}

/* One full-width conclusion pattern, matching the Think Tank closing section. */
:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) {
  position: relative !important;
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(62px, 6vw, 88px) max(24px, calc((100% - 1320px) / 2)) !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(36px, 6vw, 80px) !important;
  align-items: center !important;
  border-top: 1px solid rgba(223, 188, 102, 0.68) !important;
  border-bottom: 1px solid rgba(223, 188, 102, 0.68) !important;
  color: #fffdf6 !important;
  background:
    linear-gradient(110deg, rgba(41, 75, 122, 0.2), transparent 48%),
    #0b1c3b !important;
}

body.page-thinktank .tt-closing > .tt-shell {
  display: contents !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) :is(h2, p, .eyebrow) {
  color: inherit !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) .eyebrow {
  color: #dfbc66 !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) h2 {
  max-width: 18ch !important;
  margin: 0.55rem 0 0 !important;
  color: #fffdf6 !important;
  font-size: clamp(2.3rem, 3.6vw, 4rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) div > p:not(.eyebrow) {
  max-width: 58ch !important;
  margin: 1rem 0 0 !important;
  color: rgba(255, 253, 246, 0.76) !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) .hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 22px !important;
  margin: 0 !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) .button.primary {
  border-color: #fffdf6 !important;
  background: #fffdf6 !important;
  color: #0b1738 !important;
}

:is(
  body.page-about .about-page-closing,
  body.page-initiative .initiative-page-closing,
  body.page-thinktank .tt-closing,
  body.page-services.page-solutions .solutions-page-closing,
  body.page-trust-lab .trust-lab-page-closing,
  body.page-partners .partners-page-closing
) .button.secondary {
  border-color: #dfbc66 !important;
  border-bottom-color: #dfbc66 !important;
  color: #fffdf6 !important;
  background: transparent !important;
}

@media (max-width: 1100px) {
  :is(
    body.page-about .inner-page-hero.inner-about-hero,
    body.page-initiative .inner-page-hero.inner-initiative-hero,
    body.page-thinktank .inner-page-hero.tt-hero,
    body.page-services.page-solutions .solutions-hero,
    body.page-trust-lab .inner-page-hero.trust-lab-hero,
    body.page-partners .inner-page-hero
  ) {
    width: min(calc(100% - 48px), 1120px) !important;
    min-height: 0 !important;
  }
}

@media (max-width: 900px) {
  :is(
    body.page-about .inner-page-hero.inner-about-hero,
    body.page-initiative .inner-page-hero.inner-initiative-hero,
    body.page-thinktank .inner-page-hero.tt-hero,
    body.page-services.page-solutions .solutions-hero,
    body.page-trust-lab .inner-page-hero.trust-lab-hero,
    body.page-partners .inner-page-hero
  ) {
    grid-template-columns: 1fr !important;
    row-gap: clamp(30px, 6vw, 48px) !important;
  }

  :is(
    body.page-about .about-hero-image,
    body.page-initiative .initiative-hero-image,
    body.page-thinktank .tt-hero-visual,
    body.page-services.page-solutions .solutions-hero-visual,
    body.page-trust-lab .trust-lab-hero .inner-hero-visual,
    body.page-partners .inner-page-hero .inner-hero-visual
  ) {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: min(100%, 720px) !important;
    justify-self: center !important;
  }

  :is(
    body.page-about .about-page-closing,
    body.page-initiative .initiative-page-closing,
    body.page-thinktank .tt-closing,
    body.page-services.page-solutions .solutions-page-closing,
    body.page-trust-lab .trust-lab-page-closing,
    body.page-partners .partners-page-closing
  ) {
    grid-template-columns: 1fr !important;
  }

  :is(
    body.page-about .about-page-closing,
    body.page-initiative .initiative-page-closing,
    body.page-thinktank .tt-closing,
    body.page-services.page-solutions .solutions-page-closing,
    body.page-trust-lab .trust-lab-page-closing,
    body.page-partners .partners-page-closing
  ) .hero-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 620px) {
  :is(
    body.page-about .inner-page-hero.inner-about-hero,
    body.page-initiative .inner-page-hero.inner-initiative-hero,
    body.page-thinktank .inner-page-hero.tt-hero,
    body.page-services.page-solutions .solutions-hero,
    body.page-trust-lab .inner-page-hero.trust-lab-hero,
    body.page-partners .inner-page-hero
  ) {
    width: calc(100% - 40px) !important;
    padding-top: 42px !important;
    padding-bottom: 48px !important;
  }

  :is(
    body.page-about .inner-about-hero,
    body.page-initiative .inner-initiative-hero,
    body.page-thinktank .tt-hero,
    body.page-services.page-solutions .solutions-hero,
    body.page-trust-lab .trust-lab-hero,
    body.page-partners .inner-page-hero
  ) .inner-hero-copy h1 {
    font-size: clamp(2.35rem, 10.5vw, 3rem) !important;
  }

  :is(
    body.page-about .about-page-closing,
    body.page-initiative .initiative-page-closing,
    body.page-thinktank .tt-closing,
    body.page-services.page-solutions .solutions-page-closing,
    body.page-trust-lab .trust-lab-page-closing,
    body.page-partners .partners-page-closing
  ) .hero-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}
