@import url("./variables.css");
@import url("./typography.css");
@import url("./layout.css");
@import url("./components.css");
@import url("./pages.css");


/* ================================================================
   v7.3 official viCOMPASSa logo and icon assets
   ================================================================ */

.official-brand-lockup {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  overflow: hidden;
}

.official-brand-lockup img {
  display: block;
  width: clamp(188px, 17vw, 292px);
  height: auto;
  max-height: 70px;
  object-fit: contain;
  object-position: left center;
  border: 0;
  filter: none;
}

.floating-compass-core--brand {
  overflow: hidden;
  border-radius: 50%;
  background: var(--navy, #071b3a);
}

.floating-compass-core--brand img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  transform: scale(1.12);
}

.decision-card--method .decision-card-icon-image img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 980px) {
  .official-brand-lockup img {
    width: clamp(170px, 28vw, 230px);
    max-height: 60px;
  }
}

@media (max-width: 620px) {
  .official-brand-lockup img {
    width: 164px;
    max-height: 54px;
  }
}


/* ================================================================
   v7.6 homepage header — original layout, new logo only
   ================================================================ */

body.home-page .site-header .official-brand-lockup {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  margin: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

body.home-page .site-header .official-brand-lockup img {
  display: block;
  width: auto !important;
  height: 88px !important;
  max-width: 500px !important;
  max-height: 88px !important;
  object-fit: contain;
  object-position: left center;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Preserve the original responsive header arrangement. */
@media (max-width: 1180px) {
  body.home-page .site-header .official-brand-lockup img {
    height: 78px !important;
    max-height: 78px !important;
    max-width: 420px !important;
  }
}

@media (max-width: 980px) {
  body.home-page .site-header .official-brand-lockup img {
    height: 66px !important;
    max-height: 66px !important;
    max-width: 340px !important;
  }
}

@media (max-width: 620px) {
  body.home-page .site-header .official-brand-lockup img {
    height: 56px !important;
    max-height: 56px !important;
    max-width: 275px !important;
  }
}


/* ================================================================
   v7.7 homepage logo only — fill all space before first navigation tab
   ================================================================ */

body.home-page .site-header .official-brand-lockup {
  justify-self: stretch !important;
  align-self: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 132px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  display: none !important;
  content: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

@media (max-width: 1320px) {
  body.home-page .site-header .official-brand-lockup {
    height: 116px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .official-brand-lockup {
    width: min(520px, 74vw) !important;
    height: 102px !important;
  }
}

@media (max-width: 640px) {
  body.home-page .site-header .official-brand-lockup {
    width: min(360px, 76vw) !important;
    height: 82px !important;
  }
}


/* ================================================================
   Master package — exact supplied resized logo
   Header layout, navigation, CTA, and spacing remain unchanged.
   ================================================================ */

body.home-page .site-header .official-brand-lockup {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  display: none !important;
  content: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}


/* ================================================================
   Master refinement — seamless, extended homepage logo
   Only the logo treatment changes.
   ================================================================ */

body.home-page .site-header .official-brand-lockup {
  position: relative !important;
  z-index: 2 !important;
  width: 585px !important;
  min-width: 585px !important;
  height: 164px !important;
  overflow: visible !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  display: none !important;
  content: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

@media (max-width: 1550px) {
  body.home-page .site-header .official-brand-lockup {
    width: 535px !important;
    min-width: 535px !important;
    height: 150px !important;
  }
}

@media (max-width: 1280px) {
  body.home-page .site-header .official-brand-lockup {
    width: 455px !important;
    min-width: 455px !important;
    height: 132px !important;
  }
}

@media (max-width: 930px) {
  body.home-page .site-header .official-brand-lockup {
    width: min(410px, 72vw) !important;
    min-width: 0 !important;
    height: 108px !important;
  }
}

@media (max-width: 640px) {
  body.home-page .site-header .official-brand-lockup {
    width: min(330px, 76vw) !important;
    height: 88px !important;
  }
}


/* ================================================================
   v7.8 — separated header columns
   Logo, navigation and CTA cannot overlap.
   ================================================================ */

body.home-page .site-header .site-shell.nav-shell {
  width: calc(100% - 32px) !important;
  max-width: none !important;
  margin-inline: 16px !important;
  min-height: 154px !important;
  padding-block: 0 !important;

  display: grid !important;
  grid-template-columns:
    minmax(500px, 31vw)
    minmax(0, 1fr)
    auto !important;
  align-items: center !important;
  column-gap: clamp(20px, 1.7vw, 34px) !important;
}

/* Logo occupies only its own column. */
body.home-page .site-header .official-brand-lockup {
  grid-column: 1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;

  width: 100% !important;
  min-width: 0 !important;
  height: 154px !important;
  margin: 0 !important;
  padding: 5px 0 !important;

  overflow: visible !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  content: none !important;
  display: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;

  object-fit: contain !important;
  object-position: left center !important;

  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Navigation stays completely inside the middle column. */
body.home-page .site-header .primary-nav {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;
  justify-self: stretch !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: clamp(12px, 1.15vw, 23px) !important;
}

body.home-page .site-header .primary-nav > *,
body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  white-space: nowrap !important;
}

/* CTA remains in the dedicated right column. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  grid-column: 3 !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

/* Desktop compression without overlap. */
@media (max-width: 1600px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      minmax(445px, 29vw)
      minmax(0, 1fr)
      auto !important;
    column-gap: 18px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 12px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.92rem !important;
  }
}

@media (max-width: 1360px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      minmax(390px, 28vw)
      minmax(0, 1fr)
      auto !important;
    min-height: 138px !important;
    column-gap: 14px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 138px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 9px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.84rem !important;
  }
}

/* Existing mobile menu behavior takes over below this point. */
@media (max-width: 1080px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns: minmax(300px, 72vw) auto !important;
    min-height: 110px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    grid-column: 1 !important;
    width: 100% !important;
    height: 106px !important;
  }
}


/* ================================================================
   v7.9 — responsive desktop header refinement
   Balances laptop and large-monitor layouts without overlap.
   ================================================================ */

body.home-page .site-header .site-shell.nav-shell {
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin-inline: 14px !important;
  min-height: clamp(118px, 8vw, 150px) !important;
  padding-block: 0 !important;

  display: grid !important;
  grid-template-columns:
    clamp(350px, 27vw, 500px)
    minmax(0, 1fr)
    auto !important;
  align-items: center !important;
  column-gap: clamp(14px, 1.4vw, 28px) !important;
}

/* Fluid logo column: fills its area but never intrudes into navigation. */
body.home-page .site-header .official-brand-lockup {
  grid-column: 1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;

  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(4px, 0.45vw, 8px) 0 !important;

  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  content: none !important;
  display: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;

  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Navigation receives all remaining flexible space. */
body.home-page .site-header .primary-nav {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;
  justify-self: stretch !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: clamp(10px, 1vw, 20px) !important;
}

body.home-page .site-header .primary-nav > *,
body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  white-space: nowrap !important;
}

/* CTA remains independent at the far right. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  grid-column: 3 !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

/* Large external monitors: retain a prominent logo without excess emptiness. */
@media (min-width: 1680px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      clamp(455px, 27vw, 520px)
      minmax(0, 1fr)
      auto !important;
    column-gap: clamp(20px, 1.4vw, 30px) !important;
  }

  body.home-page .site-header .primary-nav {
    gap: clamp(14px, 1vw, 22px) !important;
  }
}

/* Typical laptop / medium desktop widths. */
@media (max-width: 1480px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      clamp(340px, 26vw, 410px)
      minmax(0, 1fr)
      auto !important;
    column-gap: 13px !important;
    min-height: 126px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 9px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.84rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    padding-inline: 1rem !important;
  }
}

/* Smaller laptops: compact the desktop header before any collision occurs. */
@media (max-width: 1240px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      clamp(300px, 25vw, 350px)
      minmax(0, 1fr)
      auto !important;
    column-gap: 9px !important;
    min-height: 112px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 7px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.76rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    font-size: 0.78rem !important;
    padding-inline: 0.8rem !important;
  }
}

/* Let the existing mobile/tablet menu behavior take over before overlap. */
@media (max-width: 1080px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns: minmax(280px, 72vw) auto !important;
    min-height: 104px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    grid-column: 1 !important;
  }
}


/* ================================================================
   v7.10 — consistent desktop header scale
   A centered max-width shell keeps laptop and large-monitor views
   visually aligned instead of scaling the whole composition.
   ================================================================ */

body.home-page .site-header .site-shell.nav-shell {
  width: calc(100% - 32px) !important;
  max-width: 1780px !important;
  margin-inline: auto !important;
  min-height: 142px !important;
  padding-inline: 0 !important;
  padding-block: 0 !important;

  display: grid !important;
  grid-template-columns:
    480px
    minmax(0, 1fr)
    auto !important;
  align-items: center !important;
  column-gap: 24px !important;
}

/* Keep the brand at one stable visual size across desktop monitors. */
body.home-page .site-header .official-brand-lockup {
  grid-column: 1 !important;
  justify-self: stretch !important;
  align-self: center !important;

  width: 480px !important;
  min-width: 480px !important;
  height: 132px !important;
  min-height: 132px !important;
  margin: 0 !important;
  padding: 4px 0 !important;

  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  content: none !important;
  display: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;

  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Keep navigation typography and rhythm stable on normal desktops. */
body.home-page .site-header .primary-nav {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 17px !important;
}

body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  font-size: 0.92rem !important;
  white-space: nowrap !important;
}

/* Keep CTA dimensions consistent rather than scaling with viewport. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  grid-column: 3 !important;
  justify-self: end !important;
  min-height: 58px !important;
  padding-inline: 1.3rem !important;
  font-size: 0.92rem !important;
  white-space: nowrap !important;
}

/* Moderate laptop reduction only when the space is genuinely needed. */
@media (max-width: 1510px) {
  body.home-page .site-header .site-shell.nav-shell {
    max-width: none !important;
    grid-template-columns:
      405px
      minmax(0, 1fr)
      auto !important;
    min-height: 126px !important;
    column-gap: 14px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 405px !important;
    min-width: 405px !important;
    height: 116px !important;
    min-height: 116px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 10px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.82rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 54px !important;
    padding-inline: 1rem !important;
    font-size: 0.84rem !important;
  }
}

/* Compact desktop stage before the mobile navigation takes over. */
@media (max-width: 1240px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      340px
      minmax(0, 1fr)
      auto !important;
    min-height: 112px !important;
    column-gap: 9px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 340px !important;
    min-width: 340px !important;
    height: 102px !important;
    min-height: 102px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 7px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.75rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 48px !important;
    padding-inline: 0.78rem !important;
    font-size: 0.76rem !important;
  }
}

/* Existing responsive/mobile navigation behavior remains in control. */
@media (max-width: 1080px) {
  body.home-page .site-header .site-shell.nav-shell {
    width: calc(100% - 20px) !important;
    grid-template-columns: minmax(280px, 72vw) auto !important;
    min-height: 104px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 100% !important;
    min-width: 0 !important;
    height: 96px !important;
    min-height: 96px !important;
  }
}


/* ================================================================
   v7.11 — tighter logo-to-navigation spacing
   Preserve visual scale; reclaim only the unused horizontal gap.
   ================================================================ */

body.home-page .site-header .site-shell.nav-shell {
  grid-template-columns:
    450px
    minmax(0, 1fr)
    auto !important;
  column-gap: 14px !important;
}

body.home-page .site-header .official-brand-lockup {
  width: 450px !important;
  min-width: 450px !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      382px
      minmax(0, 1fr)
      auto !important;
    column-gap: 10px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 382px !important;
    min-width: 382px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      320px
      minmax(0, 1fr)
      auto !important;
    column-gap: 7px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 320px !important;
    min-width: 320px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns: minmax(280px, 72vw) auto !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* ================================================================
   v7.12 — intrinsic logo width and intentional navigation gap
   The navigation begins immediately after the visible brand lockup.
   ================================================================ */

body.home-page .site-header .site-shell.nav-shell {
  grid-template-columns:
    auto
    minmax(0, 1fr)
    auto !important;
  column-gap: 22px !important;
}

/* Shrink-wrap the brand to the actual rendered logo instead of
   reserving a fixed-width invisible column. */
body.home-page .site-header .official-brand-lockup {
  grid-column: 1 !important;
  justify-self: start !important;
  align-self: center !important;

  width: auto !important;
  min-width: 0 !important;
  height: 132px !important;
  min-height: 132px !important;
  margin: 0 !important;
  padding: 4px 0 !important;

  overflow: visible !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: auto !important;
  height: 100% !important;
  max-width: 450px !important;
  max-height: 132px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Navigation begins directly after the intrinsic logo width. */
body.home-page .site-header .primary-nav {
  grid-column: 2 !important;
  justify-self: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Keep CTA at the far right. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  grid-column: 3 !important;
  justify-self: end !important;
}

/* Laptop sizing: preserve the same composition with a smaller logo. */
@media (max-width: 1510px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns:
      auto
      minmax(0, 1fr)
      auto !important;
    column-gap: 18px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 116px !important;
    min-height: 116px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 382px !important;
    max-height: 116px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .site-shell.nav-shell {
    column-gap: 14px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 102px !important;
    min-height: 102px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 320px !important;
    max-height: 102px !important;
  }
}

/* Existing mobile navigation behavior remains unchanged. */
@media (max-width: 1080px) {
  body.home-page .site-header .site-shell.nav-shell {
    grid-template-columns: minmax(280px, 72vw) auto !important;
  }

  body.home-page .site-header .official-brand-lockup {
    width: 100% !important;
    height: 96px !important;
    min-height: 96px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 96px !important;
  }
}


/* ================================================================
   v7.13 — split brand and navigation band experiment
   Logo is independent; gold rule begins below the functional nav area.
   ================================================================ */

body.home-page .site-header {
  position: relative !important;
  background: var(--color-navy-950, #071b3a) !important;
  border-bottom: 0 !important;
}

body.home-page .site-header .nav-shell--split-band {
  position: relative !important;
  width: calc(100% - 32px) !important;
  max-width: 1780px !important;
  margin-inline: auto !important;
  min-height: 162px !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns:
    auto
    minmax(0, 1fr)
    auto !important;
  grid-template-rows:
    52px
    72px
    38px !important;
  column-gap: 22px !important;
  align-items: center !important;
}

/* Brand sits independently in the upper-left and spans the full header. */
body.home-page .site-header .official-brand-lockup {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  justify-self: start !important;
  align-self: center !important;

  width: auto !important;
  min-width: 0 !important;
  height: 148px !important;
  min-height: 148px !important;
  margin: 0 !important;
  padding: 2px 0 !important;

  overflow: visible !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  content: none !important;
  display: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: auto !important;
  height: 100% !important;
  max-width: 485px !important;
  max-height: 148px !important;
  object-fit: contain !important;
  object-position: left center !important;

  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Navigation and CTA form the lower functional band. */
body.home-page .site-header .primary-nav {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: stretch !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 16px !important;
}

body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  font-size: 0.9rem !important;
  white-space: nowrap !important;
}

body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  grid-column: 3 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: end !important;
  min-height: 58px !important;
  padding-inline: 1.25rem !important;
  font-size: 0.9rem !important;
  white-space: nowrap !important;
}

/* Gold line belongs only to the navigation/CTA band, not the logo. */
body.home-page .site-header .nav-shell--split-band::after {
  content: "" !important;
  position: absolute !important;
  left: calc(var(--split-logo-width, 485px) + 22px) !important;
  right: 0 !important;
  bottom: 31px !important;
  height: 1px !important;
  background: var(--color-gold, #EEC665) !important;
  opacity: 0.9 !important;
  pointer-events: none !important;
}

/* Remove any original full-width header rule. */
body.home-page .site-header::after,
body.home-page .site-header::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 146px !important;
    grid-template-rows: 42px 66px 38px !important;
    column-gap: 18px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 132px !important;
    min-height: 132px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 420px !important;
    max-height: 132px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 10px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.8rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 52px !important;
    padding-inline: 1rem !important;
    font-size: 0.82rem !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    left: 438px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 132px !important;
    grid-template-rows: 34px 62px 36px !important;
    column-gap: 14px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 118px !important;
    min-height: 118px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 360px !important;
    max-height: 118px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 7px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.72rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 48px !important;
    padding-inline: 0.75rem !important;
    font-size: 0.74rem !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    left: 374px !important;
  }
}

/* Existing mobile menu behavior remains the fallback. */
@media (max-width: 1080px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 104px !important;
    grid-template-columns: minmax(280px, 72vw) auto !important;
    grid-template-rows: 104px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 96px !important;
    min-height: 96px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 100% !important;
    max-height: 96px !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    display: none !important;
  }
}


/* ================================================================
   v7.14 — wordmark-aligned navigation with descriptor-level rule
   Navigation + CTA share one row aligned with viCOMPASSa.
   Gold rule aligns with DECISION ENGINEERING ADVISORY.
   ================================================================ */

body.home-page .site-header {
  position: relative !important;
  background: var(--color-navy-950, #071b3a) !important;
  border-bottom: 0 !important;
}

body.home-page .site-header .nav-shell--split-band {
  position: relative !important;
  width: calc(100% - 32px) !important;
  max-width: 1780px !important;
  margin-inline: auto !important;
  min-height: 154px !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns:
    auto
    minmax(0, 1fr)
    auto !important;
  grid-template-rows:
    94px
    60px !important;
  column-gap: 22px !important;
  align-items: center !important;
}

/* Logo spans both rows and remains independent at the left. */
body.home-page .site-header .official-brand-lockup {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  justify-self: start !important;
  align-self: center !important;

  width: auto !important;
  min-width: 0 !important;
  height: 146px !important;
  min-height: 146px !important;
  margin: 0 !important;
  padding: 2px 0 !important;

  overflow: visible !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .site-header .official-brand-lockup::before,
body.home-page .site-header .official-brand-lockup::after {
  content: none !important;
  display: none !important;
}

body.home-page .site-header .official-brand-lockup img {
  display: block !important;
  width: auto !important;
  height: 100% !important;
  max-width: 480px !important;
  max-height: 146px !important;
  object-fit: contain !important;
  object-position: left center !important;

  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Navigation aligns with the viCOMPASSa wordmark line. */
body.home-page .site-header .primary-nav {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  justify-self: stretch !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-bottom: 17px !important;
  gap: 15px !important;
}

body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  font-size: 0.9rem !important;
  white-space: nowrap !important;
}

/* CTA follows language on the same wordmark-aligned row. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: end !important;
  justify-self: end !important;

  min-height: 58px !important;
  margin-bottom: 4px !important;
  padding-inline: 1.25rem !important;
  font-size: 0.9rem !important;
  white-space: nowrap !important;
}

/* Gold line begins after the logo and sits at descriptor level. */
body.home-page .site-header .nav-shell--split-band::after {
  content: "" !important;
  position: absolute !important;
  left: 502px !important;
  right: 0 !important;
  top: 119px !important;
  bottom: auto !important;
  height: 1px !important;
  background: var(--color-gold, #EEC665) !important;
  opacity: 0.92 !important;
  pointer-events: none !important;
}

/* Remove any legacy full-width header rule. */
body.home-page .site-header::before,
body.home-page .site-header::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 140px !important;
    grid-template-rows: 86px 54px !important;
    column-gap: 18px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 132px !important;
    min-height: 132px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 420px !important;
    max-height: 132px !important;
  }

  body.home-page .site-header .primary-nav {
    padding-bottom: 14px !important;
    gap: 10px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.8rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 52px !important;
    padding-inline: 1rem !important;
    font-size: 0.82rem !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    left: 438px !important;
    top: 108px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 128px !important;
    grid-template-rows: 78px 50px !important;
    column-gap: 14px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 118px !important;
    min-height: 118px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 360px !important;
    max-height: 118px !important;
  }

  body.home-page .site-header .primary-nav {
    padding-bottom: 12px !important;
    gap: 7px !important;
  }

  body.home-page .site-header .primary-nav a,
  body.home-page .site-header .language-trigger {
    font-size: 0.72rem !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 48px !important;
    padding-inline: 0.75rem !important;
    font-size: 0.74rem !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    left: 374px !important;
    top: 99px !important;
  }
}

/* Existing mobile navigation remains the fallback. */
@media (max-width: 1080px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 104px !important;
    grid-template-columns: minmax(280px, 72vw) auto !important;
    grid-template-rows: 104px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 96px !important;
    min-height: 96px !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 100% !important;
    max-height: 96px !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    display: none !important;
  }
}


/* ================================================================
   v7.15 — vertically compressed split header
   Moves brand, navigation and CTA upward and brings the gold line closer.
   ================================================================ */

body.home-page .site-header .nav-shell--split-band {
  min-height: 132px !important;
  grid-template-rows:
    82px
    50px !important;
}

/* Move the complete brand lockup upward while preserving its scale. */
body.home-page .site-header .official-brand-lockup {
  height: 132px !important;
  min-height: 132px !important;
  padding: 0 !important;
  transform: translateY(-8px) !important;
}

body.home-page .site-header .official-brand-lockup img {
  max-width: 480px !important;
  max-height: 132px !important;
}

/* Raise navigation and CTA and reduce the empty space beneath them. */
body.home-page .site-header .primary-nav {
  align-self: end !important;
  padding-bottom: 7px !important;
  transform: translateY(-7px) !important;
}

body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  align-self: end !important;
  margin-bottom: 0 !important;
  transform: translateY(-7px) !important;
}

/* Raise the partial gold rule so it sits directly beneath the nav band,
   near the level of DECISION ENGINEERING ADVISORY. */
body.home-page .site-header .nav-shell--split-band::after {
  top: 100px !important;
}

/* Reduce residual space between the header and the hero. */
body.home-page .site-header {
  min-height: 132px !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 122px !important;
    grid-template-rows:
      76px
      46px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 120px !important;
    min-height: 120px !important;
    transform: translateY(-7px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 420px !important;
    max-height: 120px !important;
  }

  body.home-page .site-header .primary-nav {
    padding-bottom: 6px !important;
    transform: translateY(-6px) !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    transform: translateY(-6px) !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    top: 93px !important;
  }

  body.home-page .site-header {
    min-height: 122px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 112px !important;
    grid-template-rows:
      70px
      42px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 108px !important;
    min-height: 108px !important;
    transform: translateY(-5px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 360px !important;
    max-height: 108px !important;
  }

  body.home-page .site-header .primary-nav {
    padding-bottom: 5px !important;
    transform: translateY(-5px) !important;
  }

  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    transform: translateY(-5px) !important;
  }

  body.home-page .site-header .nav-shell--split-band::after {
    top: 86px !important;
  }

  body.home-page .site-header {
    min-height: 112px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .nav-shell--split-band {
    min-height: 96px !important;
    grid-template-rows: 96px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 90px !important;
    min-height: 90px !important;
    transform: none !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-height: 90px !important;
  }

  body.home-page .site-header {
    min-height: 96px !important;
  }
}


/* ================================================================
   v7.16 — compact navigation and navigation-only divider
   Tight controls, anchored dropdown, divider ends at language menu.
   ================================================================ */

/* The nav column shrink-wraps to its actual menu content instead of
   stretching across all available space. */
body.home-page .site-header .nav-shell--split-band {
  grid-template-columns:
    auto
    max-content
    auto !important;
  justify-content: space-between !important;
  column-gap: 24px !important;
}

/* Tighten each menu group and keep arrows close to their labels. */
body.home-page .site-header .primary-nav {
  position: relative !important;
  width: max-content !important;
  min-width: 0 !important;
  justify-self: start !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  padding-bottom: 4px !important;
}

body.home-page .site-header .primary-nav > .nav-group,
body.home-page .site-header .primary-nav > li,
body.home-page .site-header .language-menu {
  position: relative !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home-page .site-header .primary-nav > .nav-group > a,
body.home-page .site-header .primary-nav > li > a,
body.home-page .site-header .language-trigger {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  padding-inline: 2px !important;
  gap: 4px !important;
  white-space: nowrap !important;
}

/* Divider belongs to the navigation only:
   starts at Decision Navigation and ends at the language control. */
body.home-page .site-header .primary-nav::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -7px !important;
  height: 1px !important;
  background: var(--color-gold, #EEC665) !important;
  opacity: 0.92 !important;
  pointer-events: none !important;
}

/* Disable the previous shell-level divider. */
body.home-page .site-header .nav-shell--split-band::after {
  display: none !important;
  content: none !important;
}

/* Keep CTA separate and never underline it. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  justify-self: end !important;
  margin-left: 0 !important;
}

/* Dropdowns open directly below their own compact menu group. */
body.home-page .site-header .primary-nav .nav-group > .dropdown-menu,
body.home-page .site-header .primary-nav .nav-group > .mega-menu,
body.home-page .site-header .primary-nav li > .dropdown-menu {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 13px) !important;
  margin: 0 !important;
  transform: none !important;
}

/* Decision Navigation's larger panel stays attached to its trigger
   and does not extend left over the logo. */
body.home-page .site-header .primary-nav > .nav-group:first-child > .dropdown-menu,
body.home-page .site-header .primary-nav > .nav-group:first-child > .mega-menu,
body.home-page .site-header .primary-nav > li:first-child > .dropdown-menu {
  left: 0 !important;
  right: auto !important;
  transform: none !important;
  transform-origin: top left !important;
}

/* Laptop adjustments preserve the same tight rhythm. */
@media (max-width: 1510px) {
  body.home-page .site-header .nav-shell--split-band {
    column-gap: 18px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 8px !important;
    padding-bottom: 3px !important;
  }

  body.home-page .site-header .primary-nav > .nav-group > a,
  body.home-page .site-header .primary-nav > li > a,
  body.home-page .site-header .language-trigger {
    padding-inline: 1px !important;
    gap: 3px !important;
  }

  body.home-page .site-header .primary-nav::after {
    bottom: -6px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .nav-shell--split-band {
    column-gap: 13px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 6px !important;
  }

  body.home-page .site-header .primary-nav::after {
    bottom: -5px !important;
  }
}

/* Existing mobile navigation remains unchanged. */
@media (max-width: 1080px) {
  body.home-page .site-header .nav-shell--split-band {
    grid-template-columns: minmax(280px, 72vw) auto !important;
    justify-content: normal !important;
  }

  body.home-page .site-header .primary-nav::after {
    display: none !important;
  }
}


/* ================================================================
   v7.17 — balanced tab spacing and content-fit submenus
   ================================================================ */

body.home-page .site-header .primary-nav {
  gap: 18px !important;
}

body.home-page .site-header .primary-nav > .nav-group > a,
body.home-page .site-header .primary-nav > li > a,
body.home-page .site-header .language-trigger {
  padding-inline: 1px !important;
  gap: 4px !important;
}

/* Keep a deliberate separation between language and CTA. */
body.home-page .site-header .nav-shell--split-band {
  column-gap: 32px !important;
}

/* Every submenu fits its text rather than using a broad fixed panel. */
body.home-page .site-header .primary-nav .dropdown {
  width: max-content !important;
  min-width: max-content !important;
  max-width: min(430px, calc(100vw - 32px)) !important;
  padding: 10px 12px !important;
  left: 10px !important;
  right: auto !important;
  top: calc(100% + 12px) !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.home-page .site-header .primary-nav .dropdown a {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 10px 12px !important;
  white-space: nowrap !important;
}

/* The first panel is slightly wider for its longer questions, but still
   compact and shifted right so it never overlaps the logo. */
body.home-page .site-header .primary-nav > .nav-group:first-child .dropdown {
  left: 18px !important;
  min-width: 330px !important;
  width: max-content !important;
  max-width: min(410px, calc(100vw - 32px)) !important;
}

/* Language submenu remains compact and aligns to the right edge. */
body.home-page .site-header .language-menu .dropdown {
  left: auto !important;
  right: 0 !important;
  min-width: max-content !important;
}

/* Divider follows the true navigation width only. */
body.home-page .site-header .primary-nav::after {
  left: 0 !important;
  right: 0 !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .primary-nav {
    gap: 14px !important;
  }

  body.home-page .site-header .nav-shell--split-band {
    column-gap: 25px !important;
  }

  body.home-page .site-header .primary-nav .dropdown {
    padding: 9px 10px !important;
  }

  body.home-page .site-header .primary-nav .dropdown a {
    padding: 9px 10px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .primary-nav {
    gap: 10px !important;
  }

  body.home-page .site-header .nav-shell--split-band {
    column-gap: 18px !important;
  }
}


/* ================================================================
   v7.18 — balanced logo, spacious tabs, clean active state
   ================================================================ */

body.home-page .site-header .nav-shell--split-band {
  width: calc(100% - 20px) !important;
  max-width: none !important;
  margin-inline: 10px !important;
  grid-template-columns: auto max-content auto !important;
  justify-content: space-between !important;
  column-gap: 30px !important;
}

body.home-page .site-header .official-brand-lockup {
  height: 121px !important;
  min-height: 121px !important;
  transform: translate(-4px, -8px) !important;
}

body.home-page .site-header .official-brand-lockup img {
  max-width: 438px !important;
  max-height: 121px !important;
}

body.home-page .site-header .primary-nav {
  gap: 25px !important;
  width: max-content !important;
}

body.home-page .site-header .primary-nav > .nav-group > a,
body.home-page .site-header .primary-nav > li > a,
body.home-page .site-header .language-trigger {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
}

body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.home-page .site-header .primary-nav a::before,
body.home-page .site-header .primary-nav a::after,
body.home-page .site-header .language-trigger::before,
body.home-page .site-header .language-trigger::after {
  display: none !important;
  content: none !important;
}

body.home-page .site-header .primary-nav a:hover,
body.home-page .site-header .primary-nav a:focus-visible,
body.home-page .site-header .primary-nav a[aria-current="page"],
body.home-page .site-header .primary-nav .is-active > a,
body.home-page .site-header .primary-nav .active > a,
body.home-page .site-header .language-trigger:hover,
body.home-page .site-header .language-trigger:focus-visible {
  color: var(--color-gold, #EEC665) !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
}

body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  margin-left: 6px !important;
}

body.home-page .site-header .primary-nav .dropdown {
  width: max-content !important;
  min-width: 0 !important;
  max-width: min(390px, calc(100vw - 32px)) !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}

body.home-page .site-header .primary-nav .dropdown a {
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 9px 11px !important;
  white-space: nowrap !important;
}

body.home-page .site-header .primary-nav > .nav-group:first-child .dropdown {
  left: 14px !important;
  right: auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: min(370px, calc(100vw - 32px)) !important;
  transform: none !important;
}

body.home-page .site-header .language-menu .dropdown {
  left: auto !important;
  right: 0 !important;
  width: max-content !important;
  min-width: 0 !important;
}

body.home-page .site-header .primary-nav::after {
  left: 0 !important;
  right: 0 !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .nav-shell--split-band {
    width: calc(100% - 16px) !important;
    margin-inline: 8px !important;
    column-gap: 23px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 110px !important;
    min-height: 110px !important;
    transform: translate(-3px, -7px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 386px !important;
    max-height: 110px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 18px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .nav-shell--split-band {
    column-gap: 16px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 101px !important;
    min-height: 101px !important;
    transform: translate(-2px, -5px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 335px !important;
    max-height: 101px !important;
  }

  body.home-page .site-header .primary-nav {
    gap: 12px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .nav-shell--split-band {
    width: calc(100% - 16px) !important;
    margin-inline: 8px !important;
    grid-template-columns: minmax(280px, 72vw) auto !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: none !important;
  }
}


/* ================================================================
   v7.19 — full-width navigation balance
   The middle navigation column uses its available width so the menu
   reaches naturally toward the CTA without oversized empty space.
   ================================================================ */

body.home-page .site-header .nav-shell--split-band {
  width: calc(100% - 16px) !important;
  margin-inline: 8px !important;
  grid-template-columns:
    auto
    minmax(0, 1fr)
    auto !important;
  column-gap: 22px !important;
}

/* Slightly smaller brand, anchored close to the left edge. */
body.home-page .site-header .official-brand-lockup {
  height: 114px !important;
  min-height: 114px !important;
  transform: translate(-5px, -8px) !important;
}

body.home-page .site-header .official-brand-lockup img {
  max-width: 412px !important;
  max-height: 114px !important;
}

/* Let the navigation occupy the complete flexible middle column. */
body.home-page .site-header .primary-nav {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  justify-content: space-between !important;
  gap: 0 !important;
}

/* Each tab remains intrinsically sized; free width is distributed
   between tab groups rather than collected after the language menu. */
body.home-page .site-header .primary-nav > .nav-group,
body.home-page .site-header .primary-nav > li,
body.home-page .site-header .language-menu {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

body.home-page .site-header .primary-nav > .nav-group > a,
body.home-page .site-header .primary-nav > li > a,
body.home-page .site-header .language-trigger {
  width: auto !important;
  min-width: 0 !important;
  padding-inline: 0 !important;
  white-space: nowrap !important;
}

/* Keep a modest deliberate gap before the independent CTA. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  margin-left: 0 !important;
  justify-self: end !important;
}

/* The gold divider follows the entire distributed navigation width,
   ending beneath the language control and never beneath the CTA. */
body.home-page .site-header .primary-nav::after {
  left: 0 !important;
  right: 0 !important;
}

/* Dropdowns remain attached to the intrinsic tab positions. */
body.home-page .site-header .primary-nav .dropdown {
  left: 0 !important;
  right: auto !important;
}

body.home-page .site-header .primary-nav > .nav-group:first-child .dropdown {
  left: 10px !important;
}

body.home-page .site-header .language-menu .dropdown {
  left: auto !important;
  right: 0 !important;
}

/* Medium desktop and laptop views retain distribution while avoiding
   excessive separation between shorter labels. */
@media (max-width: 1510px) {
  body.home-page .site-header .nav-shell--split-band {
    width: calc(100% - 12px) !important;
    margin-inline: 6px !important;
    column-gap: 16px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 105px !important;
    min-height: 105px !important;
    transform: translate(-4px, -7px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 370px !important;
    max-height: 105px !important;
  }

  body.home-page .site-header .primary-nav {
    column-gap: 13px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .nav-shell--split-band {
    column-gap: 11px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    height: 98px !important;
    min-height: 98px !important;
    transform: translate(-3px, -5px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 325px !important;
    max-height: 98px !important;
  }

  body.home-page .site-header .primary-nav {
    justify-content: space-between !important;
    column-gap: 8px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .nav-shell--split-band {
    width: calc(100% - 16px) !important;
    margin-inline: 8px !important;
    grid-template-columns: minmax(280px, 72vw) auto !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: none !important;
  }
}


/* ================================================================
   v7.20 — refined CTA and gold triangle indicators
   ================================================================ */

/* Slightly smaller CTA, lowered to align more naturally with the logo. */
body.home-page .site-header .header-cta,
body.home-page .site-header .nav-cta,
body.home-page .site-header .nav-discuss-cta {
  min-height: 50px !important;
  padding-inline: 1.05rem !important;
  font-size: 0.86rem !important;
  transform: translateY(6px) !important;
}

/* Use consistent small gold triangles for all dropdown triggers. */
body.home-page .site-header .primary-nav .nav-group > a,
body.home-page .site-header .primary-nav .language-trigger {
  position: relative !important;
}

body.home-page .site-header .primary-nav .nav-group > a .chevron,
body.home-page .site-header .primary-nav .nav-group > a .caret,
body.home-page .site-header .primary-nav .language-trigger .chevron,
body.home-page .site-header .primary-nav .language-trigger .caret {
  display: none !important;
}

/* Fallback triangle indicator when existing markup has no dedicated icon. */
body.home-page .site-header .primary-nav .nav-group > a::after,
body.home-page .site-header .primary-nav .language-trigger::after {
  content: "▼" !important;
  display: inline-block !important;
  margin-left: 4px !important;
  color: var(--color-gold, #EEC665) !important;
  font-size: 0.58em !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

/* Prevent double indicators on links that do not open a menu. */
body.home-page .site-header .primary-nav > li:not(.nav-group) > a::after {
  content: none !important;
  display: none !important;
}

/* Ensure the dropdown pointer triangle remains visible. */
body.home-page .site-header .primary-nav .dropdown::before {
  content: "" !important;
  position: absolute !important;
  top: -7px !important;
  left: 24px !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 7px solid transparent !important;
  border-right: 7px solid transparent !important;
  border-bottom: 7px solid var(--color-gold, #EEC665) !important;
  pointer-events: none !important;
}

/* Language menu pointer aligns to its trigger. */
body.home-page .site-header .language-menu .dropdown::before {
  left: auto !important;
  right: 20px !important;
}

/* Laptop sizing. */
@media (max-width: 1510px) {
  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 46px !important;
    padding-inline: 0.9rem !important;
    font-size: 0.8rem !important;
    transform: translateY(5px) !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    min-height: 43px !important;
    padding-inline: 0.72rem !important;
    font-size: 0.74rem !important;
    transform: translateY(4px) !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .header-cta,
  body.home-page .site-header .nav-cta,
  body.home-page .site-header .nav-discuss-cta {
    transform: none !important;
  }
}


/* ================================================================
   v7.21 — remove accidental tab bars and correctly refine CTA
   ================================================================ */

/* Remove every trigger-level decorative bar/pseudo-element.
   The single navigation divider remains on .primary-nav::after. */
body.home-page .site-header .primary-nav .nav-group > a::before,
body.home-page .site-header .primary-nav .nav-group > a::after,
body.home-page .site-header .language-trigger::before,
body.home-page .site-header .language-trigger::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* Use the indicator spans already present in the HTML.
   No injected pseudo-elements, so no accidental lines. */
body.home-page .site-header .primary-nav .nav-group > a > span,
body.home-page .site-header .language-trigger .menu-chevron {
  display: inline-block !important;
  margin-left: 4px !important;
  color: var(--color-gold, #EEC665) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  width: 8px !important;
  height: 6px !important;
  position: relative !important;
  transform: translateY(1px) !important;
}

body.home-page .site-header .primary-nav .nav-group > a > span::after,
body.home-page .site-header .language-trigger .menu-chevron::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid var(--color-gold, #EEC665) !important;
}

/* Target the actual CTA class used in the HTML. */
body.home-page .site-header .conversation-link {
  width: auto !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 18px !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateY(8px) !important;
  white-space: nowrap !important;
}

/* Move the logo slightly farther toward the left edge. */
body.home-page .site-header .official-brand-lockup {
  transform: translate(-11px, -8px) !important;
}

/* Preserve the dropdown panel pointer only. */
body.home-page .site-header .primary-nav .dropdown::before {
  display: block !important;
}

/* Laptop refinements. */
@media (max-width: 1510px) {
  body.home-page .site-header .conversation-link {
    min-height: 43px !important;
    height: 43px !important;
    padding-inline: 15px !important;
    font-size: 0.77rem !important;
    transform: translateY(7px) !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: translate(-9px, -7px) !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .conversation-link {
    min-height: 40px !important;
    height: 40px !important;
    padding-inline: 12px !important;
    font-size: 0.71rem !important;
    transform: translateY(5px) !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: translate(-7px, -5px) !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .conversation-link,
  body.home-page .site-header .official-brand-lockup {
    transform: none !important;
  }
}


/* ================================================================
   v7.22 — lighter natural hero and final header balance
   ================================================================ */

/* Slightly reduce the brand while preserving its proportions and
   left-edge placement. */
body.home-page .site-header .official-brand-lockup {
  height: 106px !important;
  min-height: 106px !important;
  transform: translate(-11px, -8px) !important;
}

body.home-page .site-header .official-brand-lockup img {
  max-width: 382px !important;
  max-height: 106px !important;
}

/* Lower the actual CTA farther so its center balances with the logo. */
body.home-page .site-header .conversation-link {
  min-height: 43px !important;
  height: 43px !important;
  padding-inline: 16px !important;
  font-size: 0.79rem !important;
  transform: translateY(13px) !important;
}

/* Restore the natural image in the first homepage section.
   Remove opaque section fills and keep only a very light readability veil. */
body.home-page .hero,
body.home-page .home-hero,
body.home-page .hero-section,
body.home-page .homepage-hero,
body.home-page #hero,
body.home-page .decision-hero,
body.home-page .journey-hero {
  background-color: transparent !important;
  background: transparent !important;
}

/* Neutralize common dark overlay layers in the hero only. */
body.home-page .hero::before,
body.home-page .hero::after,
body.home-page .home-hero::before,
body.home-page .home-hero::after,
body.home-page .hero-section::before,
body.home-page .hero-section::after,
body.home-page .homepage-hero::before,
body.home-page .homepage-hero::after,
body.home-page #hero::before,
body.home-page #hero::after,
body.home-page .decision-hero::before,
body.home-page .decision-hero::after,
body.home-page .journey-hero::before,
body.home-page .journey-hero::after {
  background: linear-gradient(
    180deg,
    rgba(5, 22, 47, 0.10) 0%,
    rgba(5, 22, 47, 0.04) 46%,
    rgba(5, 22, 47, 0.10) 100%
  ) !important;
  opacity: 1 !important;
}

/* The homepage content wrapper must not paint an opaque navy block
   over the fixed mountain artwork. */
body.home-page main,
body.home-page .site-main,
body.home-page .homepage-main,
body.home-page .hero-content,
body.home-page .hero-inner,
body.home-page .hero-shell {
  background-color: transparent !important;
}

/* Preserve readable cards while leaving the surrounding first section clear. */
body.home-page .journey-card,
body.home-page .path-card,
body.home-page .decision-card {
  background-color: rgba(5, 25, 52, 0.90) !important;
}

/* Laptop refinements. */
@media (max-width: 1510px) {
  body.home-page .site-header .official-brand-lockup {
    height: 99px !important;
    min-height: 99px !important;
    transform: translate(-9px, -7px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 350px !important;
    max-height: 99px !important;
  }

  body.home-page .site-header .conversation-link {
    min-height: 41px !important;
    height: 41px !important;
    padding-inline: 14px !important;
    font-size: 0.75rem !important;
    transform: translateY(11px) !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .official-brand-lockup {
    height: 94px !important;
    min-height: 94px !important;
    transform: translate(-7px, -5px) !important;
  }

  body.home-page .site-header .official-brand-lockup img {
    max-width: 315px !important;
    max-height: 94px !important;
  }

  body.home-page .site-header .conversation-link {
    min-height: 39px !important;
    height: 39px !important;
    padding-inline: 11px !important;
    font-size: 0.70rem !important;
    transform: translateY(9px) !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .official-brand-lockup,
  body.home-page .site-header .conversation-link {
    transform: none !important;
  }
}


/* ================================================================
   v7.23 — single language triangle and CTA baseline alignment
   ================================================================ */

/* The language trigger currently contains both its original indicator and
   the custom v7.21 triangle. Keep exactly one small gold triangle. */
body.home-page .site-header .language-trigger > .menu-chevron,
body.home-page .site-header .language-trigger > .chevron,
body.home-page .site-header .language-trigger > .caret,
body.home-page .site-header .language-trigger > [aria-hidden="true"] {
  display: none !important;
}

/* Remove any inherited or generated language-trigger indicators. */
body.home-page .site-header .language-trigger::before,
body.home-page .site-header .language-trigger::after {
  content: none !important;
  display: none !important;
}

/* Draw one—and only one—triangle on the language menu container. */
body.home-page .site-header .language-menu {
  position: relative !important;
  padding-right: 13px !important;
}

body.home-page .site-header .language-menu::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid var(--color-gold, #EEC665) !important;
  transform: translateY(-30%) !important;
  pointer-events: none !important;
}

/* Lower the real CTA so its text baseline visually meets the gold
   navigation divider rather than floating above it. */
body.home-page .site-header .conversation-link {
  min-height: 43px !important;
  height: 43px !important;
  padding: 0 16px !important;
  font-size: 0.79rem !important;
  line-height: 1 !important;
  transform: translateY(21px) !important;
}

/* Keep the button vertically contained in the header after lowering. */
body.home-page .site-header .nav-shell--split-band {
  overflow: visible !important;
}

/* Laptop adaptations. */
@media (max-width: 1510px) {
  body.home-page .site-header .conversation-link {
    min-height: 41px !important;
    height: 41px !important;
    padding-inline: 14px !important;
    font-size: 0.75rem !important;
    transform: translateY(18px) !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .conversation-link {
    min-height: 39px !important;
    height: 39px !important;
    padding-inline: 11px !important;
    font-size: 0.70rem !important;
    transform: translateY(15px) !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .conversation-link {
    transform: none !important;
  }

  body.home-page .site-header .language-menu {
    padding-right: 0 !important;
  }

  body.home-page .site-header .language-menu::after {
    display: none !important;
  }
}


/* ================================================================
   v7.24 — definitive language indicator and CTA line alignment
   ================================================================ */

/* Remove every generated language-menu indicator from prior versions.
   The existing markup supplies the one retained triangle. */
body.home-page .site-header .language-menu::before,
body.home-page .site-header .language-menu::after,
body.home-page .site-header .language-trigger::before,
body.home-page .site-header .language-trigger::after {
  content: none !important;
  display: none !important;
}

/* Hide all possible language arrows first. */
body.home-page .site-header .language-trigger .menu-chevron,
body.home-page .site-header .language-trigger .chevron,
body.home-page .site-header .language-trigger .caret,
body.home-page .site-header .language-trigger [aria-hidden="true"] {
  display: none !important;
}

/* Then display only the first existing indicator as one small gold triangle. */
body.home-page .site-header .language-trigger .menu-chevron:first-of-type,
body.home-page .site-header .language-trigger .chevron:first-of-type,
body.home-page .site-header .language-trigger .caret:first-of-type {
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 5px !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid var(--color-gold, #EEC665) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  vertical-align: middle !important;
  transform: translateY(1px) !important;
}

/* Remove pseudo-content from the retained indicator itself. */
body.home-page .site-header .language-trigger .menu-chevron:first-of-type::before,
body.home-page .site-header .language-trigger .menu-chevron:first-of-type::after,
body.home-page .site-header .language-trigger .chevron:first-of-type::before,
body.home-page .site-header .language-trigger .chevron:first-of-type::after,
body.home-page .site-header .language-trigger .caret:first-of-type::before,
body.home-page .site-header .language-trigger .caret:first-of-type::after {
  content: none !important;
  display: none !important;
}

/* Lower the actual CTA substantially: the top of its first letter now
   visually meets the navigation divider line. */
body.home-page .site-header .conversation-link {
  min-height: 43px !important;
  height: 43px !important;
  padding: 0 16px !important;
  font-size: 0.79rem !important;
  line-height: 1 !important;
  transform: translateY(34px) !important;
}

/* Ensure lowered CTA remains visible inside the header. */
body.home-page .site-header,
body.home-page .site-header .nav-shell--split-band {
  overflow: visible !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .conversation-link {
    min-height: 41px !important;
    height: 41px !important;
    padding-inline: 14px !important;
    font-size: 0.75rem !important;
    transform: translateY(29px) !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .conversation-link {
    min-height: 39px !important;
    height: 39px !important;
    padding-inline: 11px !important;
    font-size: 0.70rem !important;
    transform: translateY(24px) !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .conversation-link {
    transform: none !important;
  }
}


/* ================================================================
   v7.25 — slightly larger navigation text and lower CTA
   ================================================================ */

/* Increase only the main header tab labels and language control. */
body.home-page .site-header .primary-nav > .nav-group > a,
body.home-page .site-header .primary-nav > li > a,
body.home-page .site-header .language-trigger {
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

/* Lower the CTA a little farther while preserving its current size. */
body.home-page .site-header .conversation-link {
  transform: translateY(40px) !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header .primary-nav > .nav-group > a,
  body.home-page .site-header .primary-nav > li > a,
  body.home-page .site-header .language-trigger {
    font-size: 0.86rem !important;
  }

  body.home-page .site-header .conversation-link {
    transform: translateY(34px) !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header .primary-nav > .nav-group > a,
  body.home-page .site-header .primary-nav > li > a,
  body.home-page .site-header .language-trigger {
    font-size: 0.78rem !important;
  }

  body.home-page .site-header .conversation-link {
    transform: translateY(28px) !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .conversation-link {
    transform: none !important;
  }
}


/* ================================================================
   v7.26 — compact header depth
   Reduce only the empty area beneath the navigation divider.
   ================================================================ */

body.home-page .site-header {
  min-height: 166px !important;
  height: 166px !important;
  padding-bottom: 0 !important;
}

body.home-page .site-header .nav-shell--split-band {
  min-height: 166px !important;
  height: 166px !important;
  grid-template-rows: 106px 60px !important;
  padding-bottom: 0 !important;
}

body.home-page .site-header + main,
body.home-page .site-header + .site-main,
body.home-page .site-header + .homepage-main,
body.home-page .site-header + .hero,
body.home-page .site-header + .home-hero,
body.home-page .site-header + .hero-section {
  margin-top: 0 !important;
}

@media (max-width: 1510px) {
  body.home-page .site-header {
    min-height: 150px !important;
    height: 150px !important;
  }

  body.home-page .site-header .nav-shell--split-band {
    min-height: 150px !important;
    height: 150px !important;
    grid-template-rows: 96px 54px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header {
    min-height: 138px !important;
    height: 138px !important;
  }

  body.home-page .site-header .nav-shell--split-band {
    min-height: 138px !important;
    height: 138px !important;
    grid-template-rows: 90px 48px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header,
  body.home-page .site-header .nav-shell--split-band {
    height: auto !important;
    min-height: 96px !important;
  }
}


/* ================================================================
   v7.27 — continuous image header experiment
   Remove the divider and blend the header into the mountain sky.
   ================================================================ */

/* Let the fixed homepage artwork show through the header. */
body.home-page .site-header {
  position: relative !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

/* Subtle readability veil only—sky remains clearly visible. */
body.home-page .site-header::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      180deg,
      rgba(4, 20, 43, 0.64) 0%,
      rgba(4, 20, 43, 0.48) 58%,
      rgba(4, 20, 43, 0.22) 100%
    ) !important;
}

/* Keep header content above the veil. */
body.home-page .site-header .nav-shell--split-band {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Remove the navigation divider completely. */
body.home-page .site-header .primary-nav::after,
body.home-page .site-header .nav-shell--split-band::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  height: 0 !important;
}

/* Remove any residual bottom rule or border from header descendants. */
body.home-page .site-header,
body.home-page .site-header .nav-shell--split-band,
body.home-page .site-header .primary-nav {
  border-bottom: 0 !important;
}

/* Bring the hero directly into the transparent header composition. */
body.home-page .site-header + main,
body.home-page .site-header + .site-main,
body.home-page .site-header + .homepage-main,
body.home-page .site-header + .hero,
body.home-page .site-header + .home-hero,
body.home-page .site-header + .hero-section {
  margin-top: 0 !important;
  border-top: 0 !important;
}

/* Slight text support where the sky is brightest. */
body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  text-shadow: 0 1px 5px rgba(0, 10, 24, 0.55) !important;
}

body.home-page .site-header .conversation-link {
  background: rgba(4, 20, 43, 0.30) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

/* Keep dropdown panels fully opaque and readable. */
body.home-page .site-header .dropdown {
  text-shadow: none !important;
}

@media (max-width: 1080px) {
  /* Mobile navigation retains a stronger veil for legibility. */
  body.home-page .site-header::before {
    background: rgba(4, 20, 43, 0.88) !important;
  }
}


/* ================================================================
   v7.28 — top-fitted fully transparent header
   ================================================================ */

/* Make the header genuinely transparent: no veil, tint, fill or blur. */
body.home-page .site-header,
body.home-page .site-header .nav-shell--split-band {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home-page .site-header::before,
body.home-page .site-header::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* Reduce header depth so it tightly fits the brand/navigation row. */
body.home-page .site-header {
  min-height: 126px !important;
  height: 126px !important;
  padding: 0 !important;
}

body.home-page .site-header .nav-shell--split-band {
  min-height: 126px !important;
  height: 126px !important;
  grid-template-rows: 78px 48px !important;
  padding: 0 !important;
  align-items: start !important;
}

/* Move every header component toward the top edge while preserving
   the established horizontal layout. */
body.home-page .site-header .official-brand-lockup {
  align-self: start !important;
  transform: translate(-11px, -15px) !important;
}

body.home-page .site-header .primary-nav {
  align-self: start !important;
  padding-top: 22px !important;
  padding-bottom: 0 !important;
  transform: none !important;
}

body.home-page .site-header .conversation-link {
  align-self: start !important;
  margin-top: 18px !important;
  transform: none !important;
}

/* Keep header text readable naturally without a tinted panel. */
body.home-page .site-header .primary-nav a,
body.home-page .site-header .language-trigger {
  text-shadow: 0 1px 4px rgba(0, 12, 28, 0.72) !important;
}

body.home-page .site-header .conversation-link {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Ensure the hero begins immediately after the tightly fitted header. */
body.home-page .site-header + main,
body.home-page .site-header + .site-main,
body.home-page .site-header + .homepage-main,
body.home-page .site-header + .hero,
body.home-page .site-header + .home-hero,
body.home-page .site-header + .hero-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Laptop scaling. */
@media (max-width: 1510px) {
  body.home-page .site-header,
  body.home-page .site-header .nav-shell--split-band {
    min-height: 116px !important;
    height: 116px !important;
  }

  body.home-page .site-header .nav-shell--split-band {
    grid-template-rows: 72px 44px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: translate(-9px, -13px) !important;
  }

  body.home-page .site-header .primary-nav {
    padding-top: 19px !important;
  }

  body.home-page .site-header .conversation-link {
    margin-top: 15px !important;
  }
}

@media (max-width: 1240px) {
  body.home-page .site-header,
  body.home-page .site-header .nav-shell--split-band {
    min-height: 108px !important;
    height: 108px !important;
  }

  body.home-page .site-header .nav-shell--split-band {
    grid-template-rows: 68px 40px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: translate(-7px, -10px) !important;
  }

  body.home-page .site-header .primary-nav {
    padding-top: 17px !important;
  }

  body.home-page .site-header .conversation-link {
    margin-top: 13px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header,
  body.home-page .site-header .nav-shell--split-band {
    height: auto !important;
    min-height: 96px !important;
  }

  body.home-page .site-header .official-brand-lockup {
    transform: none !important;
  }

  body.home-page .site-header .primary-nav {
    padding-top: 0 !important;
  }

  body.home-page .site-header .conversation-link {
    margin-top: 0 !important;
  }

  /* Mobile retains a dark background for menu readability. */
  body.home-page .site-header {
    background: rgba(4, 20, 43, 0.94) !important;
  }
}


/* v7.29 — 50% zoom readability and compact centered decision cards */
body.homepage-nature-journey .executive-hero-kicker{
  font-size:clamp(1rem,1.15vw,1.3rem)!important;
  text-shadow:0 2px 8px rgba(0,0,0,.7)!important;
}
body.homepage-nature-journey .executive-hero-copy>p{
  font-size:clamp(1rem,1.2vw,1.32rem)!important;
  font-weight:650!important;
  text-shadow:0 2px 8px rgba(0,0,0,.8)!important;
}
body.homepage-nature-journey .executive-decision-heading h2{
  font-size:clamp(1.08rem,1.35vw,1.45rem)!important;
  text-shadow:0 2px 8px rgba(0,0,0,.75)!important;
}
body.homepage-nature-journey .executive-decision-heading p{
  font-size:clamp(.92rem,1vw,1.08rem)!important;
  color:rgba(255,255,255,.92)!important;
  -webkit-text-fill-color:rgba(255,255,255,.92)!important;
  text-shadow:0 2px 7px rgba(0,0,0,.8)!important;
}
body.homepage-nature-journey .executive-decision-panel{
  width:min(1320px,calc(100% - 48px))!important;
  margin-inline:auto!important;
}
body.homepage-nature-journey .executive-decision-grid{
  width:100%!important;
  margin-inline:auto!important;
  justify-content:center!important;
  gap:clamp(12px,1.1vw,18px)!important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card{
  min-height:clamp(225px,18vw,285px)!important;
  padding:clamp(18px,1.45vw,24px) clamp(12px,1vw,18px) clamp(14px,1vw,18px)!important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card-icon{
  width:clamp(64px,5vw,88px)!important;
  height:clamp(64px,5vw,88px)!important;
  margin-bottom:clamp(12px,1.2vw,18px)!important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card strong{
  font-size:clamp(1rem,1.12vw,1.28rem)!important;
  line-height:1.22!important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card-rule{
  display:none!important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card-arrow{
  margin-top:auto!important;
  font-size:1.45rem!important;
}
body.homepage-nature-journey .executive-confidence-shell article{
  font-size:clamp(.82rem,.82vw,1rem)!important;
}


/* ================================================================
   v7.30 — supplied premium icons and refined homepage interactions
   ================================================================ */

/* Remove the final punctuation dash from the hero without changing layout. */
body.homepage-nature-journey .executive-hero-copy h1 em {
  display: inline-block !important;
}

/* Featured CTA: visible, premium, and still harmonious with the sky. */
body.home-page .site-header .conversation-link--featured {
  gap: 9px !important;
  padding-inline: 16px 18px !important;
  color: #fff7dc !important;
  background:
    linear-gradient(135deg, rgba(238, 198, 101, .95), rgba(238, 198, 101, .92)) !important;
  border: 1px solid rgba(238, 198, 101, .95) !important;
  box-shadow:
    0 8px 24px rgba(20,10,0,.28),
    0 0 18px rgba(238, 198, 101, .28),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
  text-shadow: 0 1px 2px rgba(45,23,0,.55) !important;
  transition: transform .24s ease, box-shadow .24s ease, filter .24s ease !important;
}

body.home-page .site-header .conversation-link--featured img {
  width: 23px !important;
  height: 23px !important;
  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
  mix-blend-mode: screen !important;
}

body.home-page .site-header .conversation-link--featured:hover,
body.home-page .site-header .conversation-link--featured:focus-visible {
  filter: brightness(1.08) saturate(1.06) !important;
  box-shadow:
    0 10px 30px rgba(20,10,0,.34),
    0 0 26px rgba(238, 198, 101, .45),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

/* Supplied language icon. */
body.home-page .site-header .language-globe-image {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
  mix-blend-mode: screen !important;
}

/* Blend decision icons directly into their cards; no framed icon tiles. */
body.homepage-nature-journey .executive-decision-grid .decision-card-icon,
body.homepage-nature-journey .executive-decision-grid .decision-card-icon-image {
  width: clamp(70px,5.4vw,96px) !important;
  height: clamp(70px,5.4vw,96px) !important;
  padding: 0 !important;
  margin-bottom: clamp(10px,1vw,16px) !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  mix-blend-mode: screen !important;
  filter: drop-shadow(0 4px 12px rgba(238, 198, 101, .18)) !important;
  transform-origin: 50% 60% !important;
  animation: viIconFloat 4.8s ease-in-out infinite !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card:nth-child(2) .decision-card-icon img {
  animation-delay: -.7s !important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card:nth-child(3) .decision-card-icon img {
  animation-delay: -1.4s !important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card:nth-child(4) .decision-card-icon img {
  animation-delay: -2.1s !important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card:nth-child(5) .decision-card-icon img {
  animation-delay: -2.8s !important;
}
body.homepage-nature-journey .executive-decision-grid .decision-card:nth-child(6) .decision-card-icon img {
  animation-delay: -3.5s !important;
}

/* Smaller viCOMPASSa icon in the final card. */
body.homepage-nature-journey .executive-decision-grid .decision-card--method .decision-card-icon {
  width: clamp(54px,4.3vw,72px) !important;
  height: clamp(54px,4.3vw,72px) !important;
  margin-top: 7px !important;
  margin-bottom: clamp(15px,1.3vw,20px) !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card:hover .decision-card-icon img,
body.homepage-nature-journey .executive-decision-grid .decision-card:focus-visible .decision-card-icon img {
  animation-play-state: paused !important;
  transform: translateY(-4px) scale(1.06) !important;
  filter: drop-shadow(0 7px 18px rgba(238, 198, 101, .40)) !important;
}

/* Supplied benefit icons—clean, frameless, and integrated. */
body.homepage-nature-journey .executive-confidence-shell .confidence-icon-image {
  width: clamp(42px,3.1vw,58px) !important;
  height: clamp(42px,3.1vw,58px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.homepage-nature-journey .executive-confidence-shell .confidence-icon-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  mix-blend-mode: screen !important;
  filter: drop-shadow(0 3px 8px rgba(238, 198, 101, .20)) !important;
  animation: viBenefitPulse 5.4s ease-in-out infinite !important;
}

/* Existing card rule stays removed; arrow remains. */
body.homepage-nature-journey .executive-decision-grid .decision-card-rule {
  display: none !important;
}

@keyframes viIconFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(.7deg); }
}

@keyframes viBenefitPulse {
  0%, 100% { transform: scale(1); opacity: .96; }
  50% { transform: scale(1.035); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  body.homepage-nature-journey .executive-decision-grid .decision-card-icon img,
  body.homepage-nature-journey .executive-confidence-shell .confidence-icon-image img {
    animation: none !important;
    transition: none !important;
  }
}


/* ================================================================
   v7.31 — transparent decision icons and stronger primary CTA
   ================================================================ */

/* Make the main CTA unmistakably primary. */
body.home-page .site-header .conversation-link--featured,
body.home-page .site-header .conversation-link--featured span {
  font-weight: 800 !important;
  letter-spacing: .15px !important;
}

/* The icon PNGs now have true alpha transparency. Display them cleanly,
   without blend modes that can muddy their gold highlights. */
body.homepage-nature-journey .executive-decision-grid .decision-card-icon img {
  mix-blend-mode: normal !important;
  background: transparent !important;
  width: 112% !important;
  height: 112% !important;
  max-width: none !important;
  max-height: none !important;
}

/* Preserve the smaller scale of the final viCOMPASSa method icon. */
body.homepage-nature-journey .executive-decision-grid .decision-card--method .decision-card-icon img {
  width: 100% !important;
  height: 100% !important;
}

/* Let the icons breathe without any residual tile effect. */
body.homepage-nature-journey .executive-decision-grid .decision-card-icon {
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Soften card outlines at rest; return full gold emphasis on interaction. */
body.homepage-nature-journey .executive-decision-grid .decision-card {
  border-color: rgba(238, 198, 101, .70) !important;
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    background-color .24s ease !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card:hover,
body.homepage-nature-journey .executive-decision-grid .decision-card:focus-visible {
  border-color: rgba(238, 198, 101, 1) !important;
  box-shadow:
    0 14px 34px rgba(0,10,28,.32),
    0 0 20px rgba(238, 198, 101, .20) !important;
}


/* ================================================================
   v7.32 — logo clearance, readable menus, transparent benefit icons,
           and balanced decision-card icon alignment
   ================================================================ */

/* Give the brand star enough top clearance. Do not clip the lockup. */
body.home-page .site-header,
body.home-page .site-header .nav-shell--split-band,
body.home-page .site-header .official-brand-lockup,
body.home-page .site-header .official-brand-lockup a {
  overflow: visible !important;
}

body.home-page .site-header .official-brand-lockup {
  transform: translate(-11px, -7px) !important;
  padding-top: 7px !important;
}

body.home-page .site-header .official-brand-lockup img {
  object-fit: contain !important;
  object-position: left top !important;
  overflow: visible !important;
}

/* Dropdowns: no pale highlight tile, no washed-out selected text.
   Hover/current state is simple gold text on a clean white panel. */
body.home-page .site-header .primary-nav .dropdown a,
body.home-page .site-header .primary-nav .dropdown a:visited {
  color: #101827 !important;
  -webkit-text-fill-color: #101827 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-radius: 6px !important;
  opacity: 1 !important;
}

body.home-page .site-header .primary-nav .dropdown a:hover,
body.home-page .site-header .primary-nav .dropdown a:focus-visible,
body.home-page .site-header .primary-nav .dropdown a[aria-current="page"],
body.home-page .site-header .primary-nav .dropdown .active > a,
body.home-page .site-header .primary-nav .dropdown .is-active > a {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-weight: 700 !important;
  outline: none !important;
}

/* Remove any decorative selected-state pseudo layers. */
body.home-page .site-header .primary-nav .dropdown a::before,
body.home-page .site-header .primary-nav .dropdown a::after {
  content: none !important;
  display: none !important;
}

/* Benefit icons now have true transparency—show them without blend tricks. */
body.homepage-nature-journey .executive-confidence-shell .confidence-icon-image,
body.homepage-nature-journey .executive-confidence-shell .confidence-icon-image img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
}

/* Normalize the decision-card icon zone so every icon is centered,
   visually balanced, and aligned to the same baseline. */
body.homepage-nature-journey .executive-decision-grid .decision-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card-icon {
  flex: 0 0 102px !important;
  width: 102px !important;
  height: 102px !important;
  margin: 0 auto 14px !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  overflow: visible !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card-icon img {
  width: 92px !important;
  height: 92px !important;
  max-width: 92px !important;
  max-height: 92px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  display: block !important;
}

/* The method icon remains intentionally smaller but shares the same
   centered icon zone and baseline. */
body.homepage-nature-journey .executive-decision-grid .decision-card--method .decision-card-icon {
  flex-basis: 102px !important;
  width: 102px !important;
  height: 102px !important;
  margin: 0 auto 14px !important;
}

body.homepage-nature-journey .executive-decision-grid .decision-card--method .decision-card-icon img {
  width: 68px !important;
  height: 68px !important;
  max-width: 68px !important;
  max-height: 68px !important;
}

/* Keep all card titles in the same visual zone. */
body.homepage-nature-journey .executive-decision-grid .decision-card strong {
  min-height: 3.7em !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Responsive normalization. */
@media (max-width: 1510px) {
  body.home-page .site-header .official-brand-lockup {
    transform: translate(-9px, -5px) !important;
    padding-top: 6px !important;
  }

  body.homepage-nature-journey .executive-decision-grid .decision-card-icon,
  body.homepage-nature-journey .executive-decision-grid .decision-card--method .decision-card-icon {
    flex-basis: 88px !important;
    width: 88px !important;
    height: 88px !important;
  }

  body.homepage-nature-journey .executive-decision-grid .decision-card-icon img {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
  }

  body.homepage-nature-journey .executive-decision-grid .decision-card--method .decision-card-icon img {
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
  }
}

@media (max-width: 1080px) {
  body.home-page .site-header .official-brand-lockup {
    transform: none !important;
    padding-top: 0 !important;
  }
}


/* ================================================================
   v7.33 — unified site header/background and blue confidence bar
   ================================================================ */

/* Match the confidence/benefit strip to the decision-card blue instead
   of the near-black/bark appearance. */
body.homepage-nature-journey .executive-confidence-shell {
  background:
    linear-gradient(
      155deg,
      rgba(4,28,53,.94) 0%,
      rgba(5,36,67,.97) 52%,
      rgba(3,24,47,.98) 100%
    ) !important;
  border-color: rgba(238, 198, 101, .58) !important;
  box-shadow:
    0 18px 44px rgba(0,10,25,.22),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
}

/* All principal pages now share the same fixed mountain-sky canvas. */
body.unified-site-theme {
  min-height: 100vh !important;
  background-color: #071b34 !important;
  background-image: url("../hero-landscape.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

/* The exact homepage transparent header treatment now applies site-wide. */
body.unified-site-theme .site-header,
body.unified-site-theme .site-header .nav-shell--split-band {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.unified-site-theme .site-header::before,
body.unified-site-theme .site-header::after {
  content: none !important;
  display: none !important;
}

/* Keep the internal-page opening hero transparent so the shared sky and
   landscape are immediately visible behind each page title. */
body.unified-site-theme .page-hero,
body.unified-site-theme .decision-nav-hero,
body.unified-site-theme .service-hero,
body.unified-site-theme .method-hero,
body.unified-site-theme .insights-hero,
body.unified-site-theme .article-hero,
body.unified-site-theme main > section:first-child {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* A restrained readability gradient—no separate dark rectangle. */
body.unified-site-theme .page-hero::before,
body.unified-site-theme .decision-nav-hero::before,
body.unified-site-theme .service-hero::before,
body.unified-site-theme .method-hero::before,
body.unified-site-theme .insights-hero::before,
body.unified-site-theme .article-hero::before {
  background:
    linear-gradient(
      180deg,
      rgba(4,20,43,.10) 0%,
      rgba(4,20,43,.22) 100%
    ) !important;
}

/* Prevent generic main wrappers from covering the shared image. */
body.unified-site-theme main,
body.unified-site-theme .site-main {
  background: transparent !important;
}

/* Preserve readable content surfaces below the opening hero. */
body.unified-site-theme main > section:not(:first-child) {
  position: relative;
}

/* Internal-page headings gain the same subtle sky contrast used at home. */
body.unified-site-theme .page-hero h1,
body.unified-site-theme .page-hero h2,
body.unified-site-theme .page-hero p,
body.unified-site-theme .page-hero .eyebrow,
body.unified-site-theme .page-hero .kicker {
  text-shadow: 0 2px 9px rgba(0,10,28,.60) !important;
}

/* Do not reintroduce the old gold header divider on internal pages. */
body.unified-site-theme .site-header,
body.unified-site-theme .site-header .primary-nav,
body.unified-site-theme .site-header .nav-shell--split-band {
  border-bottom: 0 !important;
}

body.unified-site-theme .site-header .primary-nav::after,
body.unified-site-theme .site-header .nav-shell--split-band::after {
  content: none !important;
  display: none !important;
}

/* Smaller screens use a solid navigation surface for accessibility. */
@media (max-width: 1080px) {
  body.unified-site-theme {
    background-attachment: scroll !important;
    background-position: center top !important;
  }

  body.unified-site-theme .site-header {
    background: rgba(4,20,43,.95) !important;
  }
}

/* ================================================================
   v7.40 — continuous landscape readability system
   One restrained page veil; no white plates and no solid section boxes.
   ================================================================ */

/* Internal pages use the same landscape, gently darkened as one continuous
   composition. The homepage is excluded and remains exactly as designed. */
body.homepage-nature-journey:not(:has(.home-hero)) {
  background-image:
    linear-gradient(180deg, rgba(3, 17, 34, .40), rgba(3, 18, 38, .56)),
    url("../hero-landscape.png") !important;
  background-color: #071b34 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

/* Eliminate full-width white veils, navy plates and pseudo-element bands. */
body.homepage-nature-journey:not(:has(.home-hero)) main,
body.homepage-nature-journey:not(:has(.home-hero)) main > section,
body.homepage-nature-journey:not(:has(.home-hero)) main > section::before,
body.homepage-nature-journey:not(:has(.home-hero)) main > section::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.homepage-nature-journey:not(:has(.home-hero)) main > section::before,
body.homepage-nature-journey:not(:has(.home-hero)) main > section::after {
  content: none !important;
  display: none !important;
}

/* Clear, calm typography over the continuously darkened landscape. */
body.homepage-nature-journey:not(:has(.home-hero)) main :is(h1,h2,h3,h4,h5,h6,p,li,dd,dt,figcaption,blockquote,strong) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  text-shadow: 0 2px 12px rgba(0, 8, 20, .30) !important;
}

body.homepage-nature-journey:not(:has(.home-hero)) main :is(.eyebrow,.kicker,.section-label,[class*="number"]) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  text-shadow: 0 2px 10px rgba(0, 8, 20, .26) !important;
}

body.homepage-nature-journey:not(:has(.home-hero)) main a:not(.btn):not(.conversation-link) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* Existing cards remain separate, but become lightly tinted panes rather than
   white cards or hard navy boxes. Their dimensions and placement are untouched. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .card,
  .content-card,
  .white-card,
  .light-card,
  .white-panel,
  .light-panel,
  .question-card,
  .comparison-card,
  .decision-question-card,
  .decision-factor-card,
  .executive-situation,
  .value-card,
  .principle-card,
  .method-card,
  .insight-card,
  .article-card,
  .phase-card,
  .capability-card,
  .governance-card,
  .framework-card,
  .contact-card
) {
  background: rgba(4, 24, 47, .34) !important;
  border-color: rgba(238, 198, 101, .58) !important;
  color: #fffdf7 !important;
  box-shadow: 0 8px 24px rgba(0, 8, 20, .12) !important;
  backdrop-filter: blur(3px) saturate(104%) !important;
  -webkit-backdrop-filter: blur(3px) saturate(104%) !important;
}

/* Large narrative containers should not become giant boxes. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .compass-protected-panel,
  .executive-quote,
  .decision-next,
  .decision-insight-inline,
  .decision-takeaway,
  .situation-hook,
  .cta-box
) {
  background: rgba(4, 24, 47, .18) !important;
  border-color: rgba(238, 198, 101, .38) !important;
  box-shadow: none !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

/* Prevent inherited light-card text colours from defeating contrast. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .card,.content-card,.white-card,.light-card,.white-panel,.light-panel,
  .question-card,.comparison-card,.decision-question-card,.decision-factor-card,
  .executive-situation,.value-card,.principle-card,.method-card,.insight-card,
  .article-card,.phase-card,.capability-card,.governance-card,.framework-card,
  .contact-card,.compass-protected-panel,.executive-quote,.decision-next,
  .decision-insight-inline,.decision-takeaway,.situation-hook,.cta-box
) :is(h1,h2,h3,h4,h5,h6,p,li,dd,dt,figcaption,blockquote,strong,span) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .card,.content-card,.white-card,.light-card,.white-panel,.light-panel,
  .question-card,.comparison-card,.decision-question-card,.decision-factor-card,
  .executive-situation,.value-card,.principle-card,.method-card,.insight-card,
  .article-card,.phase-card,.capability-card,.governance-card,.framework-card,
  .contact-card,.compass-protected-panel,.executive-quote,.decision-next,
  .decision-insight-inline,.decision-takeaway,.situation-hook,.cta-box
) :is(a,.eyebrow,.kicker,.section-label,[class*="number"],[class*="link"]) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* All repeated decision CTAs now use the same visual language as the header. */
body .conversation-link--featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 11px 18px !important;
  color: #fff7dc !important;
  -webkit-text-fill-color: #fff7dc !important;
  background: linear-gradient(135deg, rgba(238, 198, 101, .95), rgba(238, 198, 101, .92)) !important;
  border: 1px solid rgba(238, 198, 101, .95) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(20,10,0,.24), 0 0 18px rgba(238, 198, 101, .20), inset 0 1px 0 rgba(255,255,255,.30) !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(45,23,0,.50) !important;
}

body .conversation-link--featured img {
  width: 23px !important;
  height: 23px !important;
  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
}

@media (max-width: 900px), (hover: none) {
  body.homepage-nature-journey:not(:has(.home-hero)) {
    background-attachment: scroll !important;
  }
}

/* ================================================================
   v7.41 — landscape compatibility corrections
   Preserve the design and v7.40 image veil. Only convert legacy light
   surfaces that became unreadable after the site moved from white pages
   to the shared landscape background.
   ================================================================ */

/* Legacy white cards: retain their exact geometry, spacing and layout,
   but use the same restrained translucent navy surface as the homepage. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .principle,
  .offer,
  .capital,
  .insight,
  .journey-panel,
  .compass-principle-card,
  .compass-phase-card,
  .lifecycle-column,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .decision-question-card,
  .decision-factor-card,
  .executive-situation
) {
  background: linear-gradient(145deg, rgba(5, 27, 52, .76), rgba(7, 31, 59, .62)) !important;
  border-color: rgba(238, 198, 101, .66) !important;
  color: #fffdf7 !important;
  box-shadow: 0 12px 34px rgba(0, 9, 23, .18) !important;
  backdrop-filter: blur(6px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(6px) saturate(108%) !important;
}

/* Preserve existing gold top rules and rounded corners. */
body.homepage-nature-journey:not(:has(.home-hero)) .compass-principle-card {
  border-top-color: #EEC665 !important;
}

/* Text inside legacy light surfaces must no longer inherit navy/grey ink. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .principle,
  .offer,
  .capital,
  .insight,
  .journey-panel,
  .compass-principle-card,
  .compass-phase-card,
  .lifecycle-column,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .decision-question-card,
  .decision-factor-card,
  .executive-situation
) :is(h2,h3,h4,h5,h6,p,li,dd,dt,strong,span) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  text-shadow: none !important;
}

/* Numeric labels and intentional accents stay gold. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .compass-principle-card > span,
  .phase-number,
  .lifecycle-column > span,
  .premium-help-title,
  .eyebrow,
  .kicker,
  .section-label
) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* Pills remain light controls with dark text; they are content tokens rather
   than narrative text and should retain their original visual role. */
body.homepage-nature-journey:not(:has(.home-hero)) .pills span {
  background: rgba(255, 253, 247, .94) !important;
  color: #071b34 !important;
  -webkit-text-fill-color: #071b34 !important;
  text-shadow: none !important;
}

/* Repeated decision CTA: use the exact header component language. */
body .conversation-link--featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  gap: 9px !important;
  padding: 12px 18px !important;
  border-radius: 4px !important;
  color: #fff7dc !important;
  -webkit-text-fill-color: #fff7dc !important;
  background: linear-gradient(135deg, rgba(238, 198, 101, .95), rgba(238, 198, 101, .92)) !important;
  border: 1px solid rgba(238, 198, 101, .95) !important;
  box-shadow: 0 8px 24px rgba(20,10,0,.28), 0 0 18px rgba(238, 198, 101, .28), inset 0 1px 0 rgba(255,255,255,.32) !important;
  font-size: clamp(.73rem,.25vw + .67rem,.9rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: 0 1px 2px rgba(45,23,0,.55) !important;
}

body .conversation-link--featured span {
  color: #fff7dc !important;
  -webkit-text-fill-color: #fff7dc !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 2px rgba(45,23,0,.55) !important;
}

body .conversation-link--featured img {
  display: block !important;
  flex: 0 0 auto !important;
  width: 23px !important;
  height: 23px !important;
  object-fit: contain !important;
  mix-blend-mode: screen !important;
}

/* Local CTA placements may scale slightly, but keep the same component. */
body main .conversation-link--featured {
  padding: 10px 15px !important;
  font-size: clamp(.7rem,.2vw + .66rem,.84rem) !important;
}

body main .conversation-link--featured img {
  width: 20px !important;
  height: 20px !important;
}

@media (max-width: 760px) {
  body main .conversation-link--featured {
    white-space: normal !important;
    text-align: center !important;
  }
  body main .conversation-link--featured span {
    white-space: normal !important;
  }
}


/* ================================================================
   v7.42 — warm-neutral surface correction
   Keep the v7.40 landscape veil and all existing layouts. Replace only
   legacy hard-white UI surfaces with a warm stone family so they contrast
   with translucent navy reading panels without becoming visually dominant.
   ================================================================ */

body.homepage-nature-journey:not(:has(.home-hero)) {
  --vi-stone-strong: rgba(238, 198, 101, .92);
  --vi-stone: rgba(238, 198, 101, .84);
  --vi-stone-soft: rgba(238, 198, 101, .72);
  --vi-stone-border: rgba(238, 198, 101, .70);
  --vi-stone-ink: #071b34;
  --vi-stone-muted: #24364c;
}

/* Remove remaining pale page/section slabs inherited from the original
   white-background design. The landscape remains the page canvas. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .compass-not-lifecycle-section,
  .compass-principles-section,
  .decision-question-hero,
  .page-hero,
  .cta-section
) {
  background: transparent !important;
}

/* Warm information surfaces: same geometry, spacing and component structure. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .principle,
  .offer,
  .capital,
  .insight,
  .journey-panel,
  .compass-principle-card,
  .compass-phase-card,
  .lifecycle-column,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .decision-question-card,
  .decision-factor-card,
  .executive-situation,
  .card,
  .content-card,
  .white-card,
  .light-card,
  .white-panel,
  .light-panel,
  .question-card,
  .comparison-card,
  .value-card,
  .principle-card,
  .method-card,
  .insight-card,
  .article-card,
  .phase-card,
  .capability-card,
  .governance-card,
  .framework-card,
  .contact-card
) {
  background: linear-gradient(145deg, var(--vi-stone-strong), var(--vi-stone)) !important;
  border-color: var(--vi-stone-border) !important;
  color: var(--vi-stone-ink) !important;
  box-shadow: 0 12px 30px rgba(0, 8, 20, .15) !important;
  backdrop-filter: blur(4px) saturate(92%) !important;
  -webkit-backdrop-filter: blur(4px) saturate(92%) !important;
}

/* Dark ink belongs on warm information surfaces. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .principle,.offer,.capital,.insight,.journey-panel,.compass-principle-card,
  .compass-phase-card,.lifecycle-column,.premium-phase-panel,.premium-help-box,
  .premium-panel-footer,.decision-question-card,.decision-factor-card,
  .executive-situation,.card,.content-card,.white-card,.light-card,.white-panel,
  .light-panel,.question-card,.comparison-card,.value-card,.principle-card,
  .method-card,.insight-card,.article-card,.phase-card,.capability-card,
  .governance-card,.framework-card,.contact-card
) :is(h1,h2,h3,h4,h5,h6,p,li,dd,dt,figcaption,blockquote,strong,span) {
  color: var(--vi-stone-ink) !important;
  -webkit-text-fill-color: var(--vi-stone-ink) !important;
  text-shadow: none !important;
}

body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .principle,.offer,.capital,.insight,.journey-panel,.compass-principle-card,
  .compass-phase-card,.lifecycle-column,.premium-phase-panel,.premium-help-box,
  .premium-panel-footer,.decision-question-card,.decision-factor-card,
  .executive-situation,.card,.content-card,.white-card,.light-card,.white-panel,
  .light-panel,.question-card,.comparison-card,.value-card,.principle-card,
  .method-card,.insight-card,.article-card,.phase-card,.capability-card,
  .governance-card,.framework-card,.contact-card
) :is(.eyebrow,.kicker,.section-label,.phase-number,[class*="number"],a:not(.btn):not(.conversation-link)) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* The lifecycle diagram uses warm neutral step blocks rather than invisible
   navy labels on a navy panel. */
body.homepage-nature-journey:not(:has(.home-hero)) .lifecycle-steps div {
  background: rgba(212, 202, 187, .78) !important;
  border-color: rgba(238, 198, 101, .54) !important;
  color: var(--vi-stone-ink) !important;
  -webkit-text-fill-color: var(--vi-stone-ink) !important;
}

/* Diagram title: remove the obsolete white strip while retaining its exact
   position and typography. */
body.homepage-nature-journey:not(:has(.home-hero)) .premium-compass-title h3 {
  background: linear-gradient(90deg, rgba(7,27,52,.84), rgba(7,27,52,.52) 82%, rgba(7,27,52,0)) !important;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  padding: 10px 34px 10px 12px !important;
  text-shadow: 0 2px 8px rgba(0,8,20,.34) !important;
}
body.homepage-nature-journey:not(:has(.home-hero)) .premium-compass-title h3 span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* Keep pills visibly separate from their warm host cards. */
body.homepage-nature-journey:not(:has(.home-hero)) .pills span {
  background: rgba(238, 232, 221, .92) !important;
  color: var(--vi-stone-ink) !important;
  -webkit-text-fill-color: var(--vi-stone-ink) !important;
  border: 1px solid rgba(238, 198, 101, .24) !important;
}

/* Local decision CTA: identical visual language to the header component,
   scaled only to fit its existing slot. Keep all content inside the button. */
body main .conversation-link--featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: min(100%, 250px) !important;
  min-width: 0 !important;
  padding: 10px 14px !important;
  gap: 8px !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}
body main .conversation-link--featured span {
  display: block !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  color: #fff7dc !important;
  -webkit-text-fill-color: #fff7dc !important;
}
body main .conversation-link--featured img {
  flex: 0 0 19px !important;
  width: 19px !important;
  height: 19px !important;
}

/* Hero/closing areas must never revert to hard white. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(.decision-question-hero,.page-hero) .container,
body.homepage-nature-journey:not(:has(.home-hero)) .cta-box {
  background: rgba(7,27,52,.34) !important;
  border-color: rgba(238, 198, 101, .46) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

/* ================================================================
   v7.43 — readability-only correction
   No layout or component redesign. Preserve v7.42 geometry and imagery.
   ================================================================ */

body.homepage-nature-journey:not(:has(.home-hero)) {
  --vi-stone-title: #071b34;
  --vi-stone-copy: #24364c;
  --vi-stone-surface: rgba(238, 198, 101, .84);
  --vi-stone-surface-soft: rgba(238, 198, 101, .78);
}

/* Remove the final opaque white legacy surfaces. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .compass-closing,
  .compass-closing-section .container,
  .executive-situation,
  .decision-factor-card,
  .decision-question-card,
  .compass-principle-card,
  .offer,
  .capital,
  .insight,
  .principle,
  .card,
  .content-card,
  .white-card,
  .light-card,
  .white-panel,
  .light-panel
) {
  background: linear-gradient(145deg, var(--vi-stone-surface-soft), var(--vi-stone-surface)) !important;
  color: var(--vi-stone-copy) !important;
}

/* Titles are dark navy; supporting copy is a quieter blue-grey. */
body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .executive-situation,
  .decision-factor-card,
  .decision-question-card,
  .compass-principle-card,
  .offer,
  .capital,
  .insight,
  .principle,
  .card,
  .content-card,
  .white-card,
  .light-card,
  .white-panel,
  .light-panel
) :is(h1,h2,h3,h4,h5,h6) {
  color: var(--vi-stone-title) !important;
  -webkit-text-fill-color: var(--vi-stone-title) !important;
  text-shadow: none !important;
}

body.homepage-nature-journey:not(:has(.home-hero)) :is(
  .executive-situation,
  .decision-factor-card,
  .decision-question-card,
  .compass-principle-card,
  .offer,
  .capital,
  .insight,
  .principle,
  .card,
  .content-card,
  .white-card,
  .light-card,
  .white-panel,
  .light-panel
) :is(p,li,dd,dt,figcaption,blockquote) {
  color: var(--vi-stone-copy) !important;
  -webkit-text-fill-color: var(--vi-stone-copy) !important;
  text-shadow: none !important;
}

/* Keep highlighted pull-quotes distinct but readable on the warm surface. */
body.homepage-nature-journey:not(:has(.home-hero)) .situation-hook {
  background: rgba(88, 82, 75, .34) !important;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

/* Local CTA: same header component, one line, anchored to the lower right
   of its existing panel without changing the panel's geometry. */
body main .conversation-link--featured {
  max-width: none !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  margin-left: auto !important;
  align-self: flex-end !important;
  padding: 10px 15px !important;
}
body main .conversation-link--featured span {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}
body main .conversation-link--featured img {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
}

/* Closing/hero legacy white slab: retain location and spacing, use the same
   unobtrusive translucent navy reading surface already used elsewhere. */
body.homepage-nature-journey:not(:has(.home-hero)) .compass-closing {
  background: rgba(7, 27, 52, .60) !important;
  border-color: rgba(238, 198, 101, .48) !important;
  backdrop-filter: blur(4px) saturate(90%) !important;
  -webkit-backdrop-filter: blur(4px) saturate(90%) !important;
}
body.homepage-nature-journey:not(:has(.home-hero)) .compass-closing :is(h2,p) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

@media (max-width: 760px) {
  body main .conversation-link--featured {
    white-space: nowrap !important;
    font-size: .72rem !important;
    padding: 9px 11px !important;
  }
  body main .conversation-link--featured span {
    white-space: nowrap !important;
  }
}

/* ================================================================
   v7.44 — focused readability correction
   Remove CTA icons, use the current method line icon in the
   information-asymmetry transition, and avoid unnecessary hero boxes.
   ================================================================ */

/* The decision CTA is text-only everywhere, including the header. */
body .conversation-link--featured {
  gap: 0 !important;
}
body .conversation-link--featured img {
  display: none !important;
}

/* Use the same current line-icon presentation as the homepage method card. */
body.homepage-nature-journey:not(:has(.home-hero)) .asymmetry-transition-logo img {
  width: 82px !important;
  height: 82px !important;
  object-fit: contain !important;
}

/* The decision-question hero text is already readable against the shared
   darkened landscape. Remove the additional panel without moving content. */
body.homepage-nature-journey:not(:has(.home-hero)) .decision-question-hero .container {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ================================================================
   v7.45 — focused icon and local CTA fit correction
   Keep the rotating method mark only; improve local CTA containment.
   ================================================================ */

/* Information-asymmetry transition: remove every decorative contouring
   circle and glow. The existing inner line mark continues to rotate. */
body.homepage-nature-journey:not(:has(.home-hero)) .asymmetry-transition-logo {
  width: 104px !important;
  height: 104px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.homepage-nature-journey:not(:has(.home-hero)) .asymmetry-transition-logo::before,
body.homepage-nature-journey:not(:has(.home-hero)) .asymmetry-transition-logo::after {
  content: none !important;
  display: none !important;
}
body.homepage-nature-journey:not(:has(.home-hero)) .asymmetry-transition-logo img {
  width: 96px !important;
  height: 96px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

/* Local decision CTAs: preserve their design, but prevent shrinking and
   clipping. Keep the full label on one line in the lower-right of the
   existing host panel. */
body main .conversation-link--featured {
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 224px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 14px !important;
  font-size: clamp(.68rem, .18vw + .65rem, .80rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  margin-left: auto !important;
  margin-top: auto !important;
  align-self: flex-end !important;
}
body main .conversation-link--featured span {
  display: inline !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Existing CTA host panels may wrap only when needed; their content and
   geometry otherwise remain unchanged. */
body main :is(.protected-method-panel, .cta-box) {
  flex-wrap: wrap !important;
}
body main :is(.protected-method-panel, .cta-box) > .conversation-link--featured {
  margin-left: auto !important;
  margin-top: 18px !important;
  align-self: flex-end !important;
}

@media (max-width: 760px) {
  body main .conversation-link--featured {
    min-width: 0 !important;
    width: fit-content !important;
    max-width: 100% !important;
    font-size: .68rem !important;
    padding: 9px 11px !important;
  }
}

/* ================================================================
   v7.46 — Decision Navigation tab readability/spacing refinement
   Scope: decision-navigation.html only, plus compact CTA sizing sitewide.
   ================================================================ */

/* 1. Decision Navigation hero: remove excess vertical gap and the extra pane. */
body:has(.decision-nav-hero) .decision-nav-hero {
  min-height: 0 !important;
  padding: 18px 0 28px !important;
  background: transparent !important;
}
body:has(.decision-nav-hero) .decision-nav-hero .container {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body:has(.decision-nav-hero) .decision-nav-hero h1 {
  margin-top: .3rem !important;
}

/* 2. Four executive-question cards: homepage navy/gold treatment. */
body:has(.decision-nav-hero) .decision-chapter-section {
  background: transparent !important;
}
body:has(.decision-nav-hero) .decision-question-card,
body:has(.decision-nav-hero) .decision-question-card:link,
body:has(.decision-nav-hero) .decision-question-card:visited {
  background: rgba(7, 27, 52, .90) !important;
  border: 1px solid rgba(238, 198, 101, .92) !important;
  color: #fffdf7 !important;
  box-shadow: 0 12px 30px rgba(0, 8, 20, .20) !important;
  backdrop-filter: blur(3px) saturate(105%) !important;
  -webkit-backdrop-filter: blur(3px) saturate(105%) !important;
}
body:has(.decision-nav-hero) .decision-question-card :is(h3,p) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}
body:has(.decision-nav-hero) .decision-question-card :is(.decision-question-number,.decision-question-link) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body:has(.decision-nav-hero) .decision-question-card:hover,
body:has(.decision-nav-hero) .decision-question-card:focus-visible {
  border-color: #EEC665 !important;
  box-shadow: 0 16px 38px rgba(0, 8, 20, .28) !important;
}

/* 3. Give the North Star diagram clear breathing room above. */
body:has(.decision-nav-hero) .value-alignment-section {
  padding-top: clamp(72px, 7vw, 112px) !important;
}

/* 4. Closing section: remove the unnecessary translucent host box. */
body:has(.decision-nav-hero) .cta-section .cta-box {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Compact text-only decision CTA everywhere: no surplus width. */
body .conversation-link--featured,
body main .conversation-link--featured {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 10px 16px !important;
  white-space: nowrap !important;
}
body .conversation-link--featured span,
body main .conversation-link--featured span {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

@media (max-width: 760px) {
  body:has(.decision-nav-hero) .decision-nav-hero {
    padding: 12px 0 22px !important;
  }
  body:has(.decision-nav-hero) .value-alignment-section {
    padding-top: 54px !important;
  }
  body .conversation-link--featured,
  body main .conversation-link--featured {
    padding: 9px 12px !important;
  }
}

/* ================================================================
   v7.47 — Decision Navigation verified page-scoped correction
   Explicit page class avoids older generic surface rules winning.
   ================================================================ */

/* Opening: no card/scrim surface, minimal top gap, normal safe gutters. */
body.decision-navigation-page .decision-nav-hero {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 0 24px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.decision-navigation-page .decision-nav-hero::before,
body.decision-navigation-page .decision-nav-hero::after {
  content: none !important;
  display: none !important;
}
body.decision-navigation-page .decision-nav-hero .container {
  width: min(100% - 48px, 1720px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.decision-navigation-page .decision-nav-hero :is(.eyebrow,h1,p) {
  position: relative !important;
  z-index: 1 !important;
  text-shadow: 0 2px 12px rgba(0,8,20,.55) !important;
}
body.decision-navigation-page .decision-nav-hero h1 {
  margin: .15rem 0 .75rem !important;
}
body.decision-navigation-page .decision-nav-hero p {
  margin-bottom: 0 !important;
  max-width: 1280px !important;
}

/* Four questions: reuse the homepage navy/gold card language exactly. */
body.decision-navigation-page .decision-chapter-section,
body.decision-navigation-page .decision-chapter-section .container {
  background: transparent !important;
  background-image: none !important;
}
body.decision-navigation-page .decision-question-card,
body.decision-navigation-page .decision-question-card:link,
body.decision-navigation-page .decision-question-card:visited {
  background: rgba(5, 28, 53, .94) !important;
  background-image: none !important;
  border: 1px solid #EEC665 !important;
  color: #fffdf7 !important;
  box-shadow: 0 12px 28px rgba(0, 8, 20, .24) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.decision-navigation-page .decision-question-card :is(h3,p) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  text-shadow: none !important;
}
body.decision-navigation-page .decision-question-card :is(.decision-question-number,.decision-question-link) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  text-shadow: none !important;
}

/* Preserve a deliberate gap before the North Star composition. */
body.decision-navigation-page .value-alignment-section {
  padding-top: clamp(82px, 8vw, 128px) !important;
}
body.decision-navigation-page .value-alignment-map {
  margin-top: 0 !important;
}

/* Closing: typography directly on landscape; CTA compact at lower right. */
body.decision-navigation-page .cta-section,
body.decision-navigation-page .cta-section .container,
body.decision-navigation-page .cta-section .cta-box {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.decision-navigation-page .cta-section .cta-box {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.decision-navigation-page .cta-section .conversation-link--featured {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 0 0 auto !important;
  padding: 10px 15px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Compact the same text-only CTA everywhere without changing its design. */
body .conversation-link--featured {
  width: auto !important;
  min-width: 0 !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero .container {
    width: min(100% - 28px, 1720px) !important;
  }
  body.decision-navigation-page .cta-section .cta-box {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.decision-navigation-page .cta-section .conversation-link--featured {
    margin-left: 0 !important;
  }
}

/* ================================================================
   v7.48 — Decision Navigation opening rhythm correction
   Restore intentional breathing room below the header without
   returning to the original oversized empty-sky gap.
   ================================================================ */
body.decision-navigation-page .decision-nav-hero {
  padding-top: clamp(42px, 4.2vw, 68px) !important;
  padding-bottom: 28px !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero {
    padding-top: 30px !important;
    padding-bottom: 22px !important;
  }
}

/* ================================================================
   v7.49 — Decision Navigation family: verified surface correction
   Main page + four subpages. Readability only; no structural redesign.
   ================================================================ */

/* Main Decision Navigation hero: preserve balanced top rhythm, remove panel. */
html body.decision-navigation-page section.decision-nav-hero,
html body.decision-navigation-page section.decision-nav-hero > .container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html body.decision-navigation-page section.decision-nav-hero::before,
html body.decision-navigation-page section.decision-nav-hero::after,
html body.decision-navigation-page section.decision-nav-hero > .container::before,
html body.decision-navigation-page section.decision-nav-hero > .container::after {
  content: none !important;
  display: none !important;
}

/* Main-page executive question cards: exact navy / white / gold language. */
html body.decision-navigation-page .decision-question-grid > a.decision-question-card,
html body.decision-navigation-page .decision-question-grid > a.decision-question-card:link,
html body.decision-navigation-page .decision-question-grid > a.decision-question-card:visited {
  opacity: 1 !important;
  background: #071b34 !important;
  background-color: #071b34 !important;
  background-image: none !important;
  border: 1px solid #EEC665 !important;
  color: #fffdf7 !important;
  box-shadow: 0 12px 28px rgba(0,8,20,.22) !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html body.decision-navigation-page .decision-question-grid > a.decision-question-card::before,
html body.decision-navigation-page .decision-question-grid > a.decision-question-card::after {
  content: none !important;
  display: none !important;
}
html body.decision-navigation-page .decision-question-grid > a.decision-question-card :is(h3,p) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  text-shadow: none !important;
}
html body.decision-navigation-page .decision-question-grid > a.decision-question-card :is(.decision-question-number,.decision-question-link) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  text-shadow: none !important;
}

/* Four Decision Navigation subpages: remove unnecessary hero panel. */
html body.decision-navigation-subpage section.decision-question-hero,
html body.decision-navigation-subpage section.decision-question-hero > .container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html body.decision-navigation-subpage section.decision-question-hero::before,
html body.decision-navigation-subpage section.decision-question-hero::after,
html body.decision-navigation-subpage section.decision-question-hero > .container::before,
html body.decision-navigation-subpage section.decision-question-hero > .container::after {
  content: none !important;
  display: none !important;
}

/* Reuse the same navy / white / gold card treatment on subpage cards. */
html body.decision-navigation-subpage :is(.decision-factor-card,.decision-takeaway,.decision-next,.protected-method-panel) {
  background: rgba(7,27,52,.94) !important;
  background-color: rgba(7,27,52,.94) !important;
  background-image: none !important;
  border-color: #EEC665 !important;
  color: #fffdf7 !important;
  box-shadow: 0 12px 28px rgba(0,8,20,.20) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html body.decision-navigation-subpage :is(.decision-factor-card,.decision-takeaway,.decision-next,.protected-method-panel) :is(h2,h3,h4,p,li,strong) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  text-shadow: none !important;
}
html body.decision-navigation-subpage :is(.decision-factor-card,.decision-takeaway,.decision-next,.protected-method-panel) :is(.eyebrow,.kicker,.label) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* v7.51 definitive Decision Navigation rendering fix */
body.decision-navigation-page .decision-nav-hero, body.decision-navigation-page .decision-nav-hero>.container {background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;}
body.decision-navigation-page .decision-nav-hero:before,body.decision-navigation-page .decision-nav-hero:after,body.decision-navigation-page .decision-nav-hero>.container:before,body.decision-navigation-page .decision-nav-hero>.container:after{display:none!important;content:none!important;}
body.decision-navigation-page .decision-question-card{background:#071b34!important;background-image:none!important;border-color:#EEC665!important;color:#fffdf7!important;}
body.decision-navigation-page .decision-question-card h3,body.decision-navigation-page .decision-question-card p{color:#fffdf7!important;-webkit-text-fill-color:#fffdf7!important;}
body.decision-navigation-page .decision-question-number,body.decision-navigation-page .decision-question-link{color:#EEC665!important;-webkit-text-fill-color:#EEC665!important;}
body.decision-navigation-subpage .decision-question-hero,body.decision-navigation-subpage .decision-question-hero>.container{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;}


/* v7.52 source-level Decision Navigation family correction */
body.decision-navigation-page .decision-nav-hero > .container,
body.decision-navigation-subpage .decision-question-hero > .container {
  background: transparent !important; background-color: transparent !important; background-image: none !important;
  border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
body.decision-navigation-page .decision-question-card,
body.decision-navigation-subpage .executive-situation,
body.decision-navigation-subpage .decision-factor-card {
  background: rgba(5, 25, 52, 0.90) !important; background-color: rgba(5, 25, 52, 0.90) !important; background-image: none !important;
  border: 1px solid #EEC665 !important; box-shadow: none !important;
}
body.decision-navigation-subpage :is(.executive-situation,.decision-factor-card) :is(h2,h3,p,.situation-copy,.situation-hook) {
  color: #fffdf7 !important; -webkit-text-fill-color: #fffdf7 !important; text-shadow: none !important;
}
body.decision-navigation-subpage .situation-time { color:#EEC665 !important; -webkit-text-fill-color:#EEC665 !important; }
body.decision-navigation-subpage :is(.executive-situation-section,.decision-factor-section,.decision-next-section),
body.decision-navigation-subpage .decision-next {
  background: transparent !important; background-color: transparent !important; background-image: none !important;
  border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

/* ================================================================
   v7.53 — Decision Navigation hierarchy and opening rhythm
   ================================================================ */

/* Main landing page: restore comfortable separation from the header. */
body.decision-navigation-page .decision-nav-hero {
  padding-top: clamp(84px, 7vw, 118px) !important;
  padding-bottom: 34px !important;
}

/* Four subpages: remove the inherited oversized internal-page gap. */
body.decision-navigation-subpage .decision-question-hero {
  padding-top: clamp(88px, 7vw, 112px) !important;
  padding-bottom: clamp(42px, 4vw, 58px) !important;
  min-height: 0 !important;
}

/* Distinguish card headings from their explanatory copy. */
body.decision-navigation-subpage .decision-factor-card h3 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero {
    padding-top: 62px !important;
    padding-bottom: 28px !important;
  }
  body.decision-navigation-subpage .decision-question-hero {
    padding-top: 64px !important;
    padding-bottom: 34px !important;
  }
}


/* ================================================================
   v7.53 — Decision Navigation hierarchy and opening rhythm
   ================================================================ */
body.decision-navigation-page .decision-nav-hero {
  padding-top: clamp(84px, 7vw, 118px) !important;
  padding-bottom: 34px !important;
}
body.decision-navigation-subpage .decision-question-hero {
  padding-top: clamp(88px, 7vw, 112px) !important;
  padding-bottom: clamp(42px, 4vw, 58px) !important;
  min-height: 0 !important;
}
body.decision-navigation-subpage .decision-factor-card h3 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}
@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero {
    padding-top: 62px !important;
    padding-bottom: 28px !important;
  }
  body.decision-navigation-subpage .decision-question-hero {
    padding-top: 64px !important;
    padding-bottom: 34px !important;
  }
}

/* ================================================================
   v7.54 — Decision Navigation spacing alignment
   ================================================================ */
/* Use one shared hero offset across the Decision Navigation landing page
   and all four subpages. This matches the preferred subpage reference and
   places the main-page eyebrow near the mountain peak rather than too high. */
body.decision-navigation-page .decision-nav-hero,
body.decision-navigation-subpage .decision-question-hero {
  padding-top: clamp(118px, 8.5vw, 146px) !important;
  padding-bottom: clamp(42px, 4vw, 58px) !important;
  min-height: 0 !important;
}

/* Give section headings breathing room when they follow a bordered card grid. */
body.decision-navigation-subpage .decision-factor-section > .container > .section-head {
  margin-top: clamp(42px, 4vw, 64px) !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero,
  body.decision-navigation-subpage .decision-question-hero {
    padding-top: 78px !important;
    padding-bottom: 34px !important;
  }
  body.decision-navigation-subpage .decision-factor-section > .container > .section-head {
    margin-top: 34px !important;
  }
}

/* ================================================================
   v7.55 — Decision Navigation spacing and compact-content correction
   ================================================================ */

/* Match the preferred mountain-tip reference across the landing page
   and all four Decision Navigation subpages. */
body.decision-navigation-page .decision-nav-hero,
body.decision-navigation-subpage .decision-question-hero {
  padding-top: clamp(72px, 5.6vw, 92px) !important;
  padding-bottom: clamp(32px, 3vw, 44px) !important;
  min-height: 0 !important;
}

/* Remove remaining decorative insight panels when the text is already
   legible on the controlled landscape background. */
body.decision-navigation-subpage .decision-takeaway-section,
body.decision-navigation-subpage .decision-takeaway {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.decision-navigation-subpage .decision-takeaway {
  padding: clamp(24px, 2.6vw, 36px) 0 !important;
}

/* Advisory-value panels should wrap their content rather than behaving
   like oversized feature banners. */
body.decision-navigation-subpage .protected-method-section {
  padding-bottom: clamp(30px, 3vw, 44px) !important;
}
body.decision-navigation-subpage .protected-method-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: clamp(22px, 3vw, 42px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(28px, 3vw, 40px) !important;
}
body.decision-navigation-subpage .protected-method-panel > div {
  max-width: 920px !important;
}
body.decision-navigation-subpage .protected-method-panel h2 {
  margin-bottom: 10px !important;
}
body.decision-navigation-subpage .protected-method-panel p {
  margin-bottom: 0 !important;
}

/* Keep the decision CTA only as large as its label. */
body .conversation-link--featured,
body main .conversation-link--featured {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: max-content !important;
  padding: 9px 14px !important;
  line-height: 1.1 !important;
}
body.decision-navigation-subpage .protected-method-panel > .conversation-link--featured {
  margin: 0 !important;
  align-self: end !important;
  justify-self: end !important;
}

/* Continue sections remain open and compact. */
body.decision-navigation-subpage .decision-next-section {
  padding-top: 0 !important;
  padding-bottom: clamp(30px, 3vw, 44px) !important;
}
body.decision-navigation-subpage .decision-next {
  min-height: 0 !important;
  height: auto !important;
  padding-top: clamp(24px, 2.6vw, 34px) !important;
  padding-bottom: clamp(24px, 2.6vw, 34px) !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero,
  body.decision-navigation-subpage .decision-question-hero {
    padding-top: 58px !important;
    padding-bottom: 28px !important;
  }
  body.decision-navigation-subpage .protected-method-panel {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }
  body.decision-navigation-subpage .protected-method-panel > .conversation-link--featured {
    justify-self: start !important;
    margin-top: 16px !important;
  }
}

/* ================================================================
   v7.56 — Landing-page spacing and CTA centering correction
   ================================================================ */

/* Only the Decision Navigation landing page was too close to the header.
   Keep the four subpages at their established spacing. */
body.decision-navigation-page .decision-nav-hero {
  padding-top: clamp(96px, 7vw, 118px) !important;
}

/* Center the CTA label both horizontally and vertically in every instance. */
body .conversation-link--featured,
body main .conversation-link--featured,
body .conversation-link--featured > span {
  text-align: center !important;
}
body .conversation-link--featured,
body main .conversation-link--featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body .conversation-link--featured > span {
  display: block !important;
  width: 100% !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero {
    padding-top: 72px !important;
  }
}

/* ================================================================
   v7.57 — Match landing hero spacing to Decision Navigation subpages
   ================================================================ */
/* The landing page is the only outlier. Use the same mountain-tip offset
   already established on the four Decision Navigation subpages. */
body.decision-navigation-page .decision-nav-hero {
  padding-top: clamp(72px, 5.6vw, 92px) !important;
  padding-bottom: clamp(32px, 3vw, 44px) !important;
  min-height: 0 !important;
}

@media (max-width: 760px) {
  body.decision-navigation-page .decision-nav-hero {
    padding-top: 58px !important;
    padding-bottom: 28px !important;
  }
}


/* v7.61 — open Decision Insight and gold section labels */
body.decision-navigation-subpage .decision-takeaway-section,
body.decision-navigation-subpage .decision-takeaway {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.decision-navigation-subpage .decision-takeaway > span,
body.decision-navigation-subpage .decision-next > div > span {
  color: #EEC665 !important;
}

/* ================================================================
   v7.62 — Decision Navigation label color + CTA optical centering
   ================================================================ */
body.home-page.homepage-nature-journey.decision-navigation-subpage .decision-takeaway > span,
body.home-page.homepage-nature-journey.decision-navigation-subpage .decision-next > div > span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  text-shadow: none !important;
}

body .conversation-link--featured,
body main .conversation-link--featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
body .conversation-link--featured > span,
body main .conversation-link--featured > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* ================================================================
   v7.62 — Decision Navigation label color + CTA optical centering
   ================================================================ */
body.home-page.homepage-nature-journey.decision-navigation-subpage .decision-takeaway > span,
body.home-page.homepage-nature-journey.decision-navigation-subpage .decision-next > div > span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  text-shadow: none !important;
}

body .conversation-link--featured,
body main .conversation-link--featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
body .conversation-link--featured > span,
body main .conversation-link--featured > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* ================================================================
   v7.64 — Understand-the-decision visible spacing/panel correction
   ================================================================ */
html body.decision-navigation-subpage .decision-question-hero {
  padding-top: 0 !important;
  margin-top: 0 !important;
  min-height: 0 !important;
}
html body.decision-navigation-subpage :is(
  .decision-introduction,.decision-intro,.decision-intro-panel,
  .decision-definition,.decision-definition-panel,
  .decision-context,.decision-context-panel,
  .decision-opening,.decision-opening-panel,
  .decision-narrative,.decision-narrative-panel,
  .decision-overview,.decision-overview-panel
) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ================================================================
   v7.72 — Decision Navigation section rhythm
   ================================================================ */
/* Bring each open executive-moment narrative closer to the section above. */
body.decision-navigation-subpage .executive-situation-section {
  margin-top: -38px !important;
}

/* Give each Decision Insight a deliberate pause from the content above. */
body.decision-navigation-subpage .decision-takeaway-section {
  padding-top: 27px !important;
}

@media (max-width: 760px) {
  body.decision-navigation-subpage .executive-situation-section {
    margin-top: -28px !important;
  }
  body.decision-navigation-subpage .decision-takeaway-section {
    padding-top: 22px !important;
  }
}


/* ================================================================
   v7.73 — Contact page aligned with the approved homepage language
   ================================================================ */
body.contact-page .contact-main {
  background: transparent !important;
}

body.contact-page .contact-hero {
  min-height: min(620px, 64vh);
  display: flex;
  align-items: center;
  background: transparent !important;
  padding: clamp(150px, 18vh, 235px) 0 clamp(72px, 8vh, 110px) !important;
}

body.contact-page .contact-shell,
body.contact-page .contact-path-shell,
body.contact-page .contact-truth-shell {
  width: min(1540px, calc(100% - 72px));
  margin-inline: auto;
}

body.contact-page .contact-shell {
  max-width: 1320px;
  margin-left: max(36px, calc((100vw - 1540px) / 2));
  margin-right: auto;
}

body.contact-page .contact-kicker,
body.contact-page .contact-card-number {
  display: block;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  font-size: clamp(.9rem, 1.05vw, 1.15rem);
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 1.1rem;
}

body.contact-page .contact-hero h1 {
  max-width: 1120px;
  margin: 0;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(3.2rem, 5.8vw, 6.4rem);
  line-height: .98;
  font-weight: 600;
  letter-spacing: -.035em;
  text-shadow: 0 3px 18px rgba(0, 7, 18, .48) !important;
}

body.contact-page .contact-hero p {
  max-width: 980px;
  margin: clamp(28px, 3vw, 44px) 0 0;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  font-size: clamp(1.12rem, 1.55vw, 1.55rem);
  line-height: 1.55;
  font-weight: 600;
  text-shadow: 0 2px 12px rgba(0, 8, 20, .55) !important;
}

body.contact-page .contact-path {
  padding: 0 0 clamp(80px, 9vw, 135px) !important;
  background: transparent !important;
}

body.contact-page .contact-path-shell {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 2.4vw, 42px);
}

body.contact-page .contact-decision-card {
  min-height: 430px;
  padding: clamp(34px, 3.3vw, 58px);
  display: flex;
  flex-direction: column;
  background: rgba(5, 25, 52, .92) !important;
  border: 1px solid rgba(238, 198, 101, .92) !important;
  border-radius: 28px;
  box-shadow: 0 20px 55px rgba(0, 8, 22, .24) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.contact-page .contact-decision-card h2 {
  margin: 0 0 1.5rem;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(2rem, 2.6vw, 3.15rem);
  line-height: 1.06;
  font-weight: 600;
  text-shadow: none !important;
}

body.contact-page .contact-decision-card p,
body.contact-page .contact-decision-card li {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  font-size: clamp(1.02rem, 1.28vw, 1.3rem);
  line-height: 1.6;
  text-shadow: none !important;
}

body.contact-page .contact-decision-card ul {
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
}

body.contact-page .contact-decision-card li {
  position: relative;
  padding: .55rem 0 .55rem 1.6rem;
  border-bottom: 1px solid rgba(238, 198, 101, .18);
}

body.contact-page .contact-decision-card li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: .62rem;
  color: #EEC665;
  font-size: .75em;
}

body.contact-page .contact-decision-card--action p {
  max-width: 620px;
  margin: .3rem 0 2rem;
}

body.contact-page .contact-conversation-cta {
  align-self: flex-start;
  margin-top: auto;
  width: auto !important;
  min-width: 0 !important;
  padding: 13px 24px !important;
  white-space: nowrap;
  text-align: center !important;
}

body.contact-page .contact-conversation-cta span {
  color: #fff7dc !important;
  -webkit-text-fill-color: #fff7dc !important;
}

body.contact-page .contact-decision-truth {
  padding: 0 0 clamp(100px, 12vw, 180px) !important;
  background: transparent !important;
}

body.contact-page .contact-truth-shell {
  position: relative;
  padding-left: clamp(28px, 3vw, 50px);
  max-width: 1180px;
  margin-left: max(36px, calc((100vw - 1540px) / 2));
  margin-right: auto;
}

body.contact-page .contact-truth-rule {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #EEC665;
}

body.contact-page .contact-truth-shell p,
body.contact-page .contact-truth-shell strong {
  display: block;
  margin: 0;
  font-family: var(--font-display, Georgia, serif);
  line-height: 1.12;
  text-shadow: 0 2px 12px rgba(0, 8, 20, .36) !important;
}

body.contact-page .contact-truth-shell p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  font-size: clamp(1.8rem, 3vw, 3.5rem);
}

body.contact-page .contact-truth-shell strong {
  margin-top: .35rem;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  font-size: clamp(2.2rem, 4vw, 4.8rem);
  font-weight: 600;
}

@media (max-width: 900px) {
  body.contact-page .contact-hero {
    min-height: auto;
    padding-top: 145px !important;
  }
  body.contact-page .contact-shell,
  body.contact-page .contact-path-shell,
  body.contact-page .contact-truth-shell {
    width: min(100% - 34px, 760px);
    margin-inline: auto;
  }
  body.contact-page .contact-path-shell {
    grid-template-columns: 1fr;
  }
  body.contact-page .contact-decision-card {
    min-height: 0;
    border-radius: 22px;
  }
  body.contact-page .contact-conversation-cta {
    white-space: normal;
  }
}


/* ================================================================
   v7.74 — Contact page contrast and compactness refinement
   ================================================================ */
body.contact-page .contact-shell {
  transform: translateY(-64px); /* approximately 1.7 cm upward */
}

body.contact-page .contact-path-shell {
  align-items: start;
}

body.contact-page .contact-decision-card {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(28px, 2.7vw, 44px) !important;
}

/* First card: warm gold information surface with navy typography. */
body.contact-page .contact-decision-card:first-child {
  background: linear-gradient(145deg, rgba(238, 198, 101, .96), rgba(238, 198, 101, .96)) !important;
  border-color: rgba(238, 198, 101, .98) !important;
  box-shadow: 0 18px 46px rgba(0, 8, 22, .22) !important;
}
body.contact-page .contact-decision-card:first-child h2,
body.contact-page .contact-decision-card:first-child p,
body.contact-page .contact-decision-card:first-child li {
  color: #071b34 !important;
  -webkit-text-fill-color: #071b34 !important;
}
body.contact-page .contact-decision-card:first-child li {
  border-bottom-color: rgba(7, 27, 52, .22) !important;
}
body.contact-page .contact-decision-card:first-child li::before {
  color: #071b34 !important;
}

/* Second card keeps the approved homepage navy treatment, but wraps content. */
body.contact-page .contact-decision-card--action {
  min-height: 0 !important;
}
body.contact-page .contact-decision-card--action p {
  margin-bottom: 1.4rem !important;
}
body.contact-page .contact-conversation-cta {
  margin-top: .5rem !important;
}

@media (max-width: 900px) {
  body.contact-page .contact-shell {
    transform: translateY(-36px);
  }
}

/* ================================================================
   v7.76 — Contact card equal sizing and white text refinement
   ================================================================ */
body.contact-page .contact-path-shell {
  align-items: stretch !important;
}

body.contact-page .contact-decision-card {
  height: 100% !important;
}

/* Keep the first card gold, but use white typography throughout. */
body.contact-page .contact-decision-card:first-child h2,
body.contact-page .contact-decision-card:first-child p,
body.contact-page .contact-decision-card:first-child li {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

body.contact-page .contact-decision-card:first-child li {
  border-bottom-color: rgba(255, 253, 247, .24) !important;
}

body.contact-page .contact-decision-card:first-child li::before {
  color: #fffdf7 !important;
}

@media (max-width: 900px) {
  body.contact-page .contact-decision-card {
    height: auto !important;
  }
}


/* ================================================================
   v7.77 — COMPASS Method visual alignment
   Reuse the approved homepage / Decision Navigation visual language.
   Scope: compass-method.html only.
   ================================================================ */
body.compass-method-page {
  --compass-navy: rgba(5,25,52,.92);
  --compass-navy-soft: rgba(5,25,52,.82);
  --compass-accent: #EEC665;
  --compass-white: #fffdf7;
}

/* The landscape is the canvas. Narrative sections remain open. */
body.compass-method-page :is(
  .page-hero,
  .compass-belief-section,
  .compass-not-lifecycle-section,
  .compass-phases-section,
  .compass-principles-section,
  .compass-closing-section
) {
  background: transparent !important;
}

body.compass-method-page :is(.page-hero,.compass-belief-section,.compass-not-lifecycle-section,
  .compass-phases-section,.compass-principles-section,.compass-closing-section) > .container {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Open editorial text uses white with the shared lemon accent. */
body.compass-method-page :is(.page-hero,.compass-belief-section,.compass-not-lifecycle-section,
  .compass-phases-section,.compass-principles-section,.compass-closing-section)
  :is(h1,h2,h3,p,strong,li) {
  color: var(--compass-white) !important;
  -webkit-text-fill-color: var(--compass-white) !important;
  text-shadow: 0 2px 10px rgba(0,8,20,.38) !important;
}
body.compass-method-page :is(.eyebrow,.section-label,.kicker) {
  color: var(--compass-accent) !important;
  -webkit-text-fill-color: var(--compass-accent) !important;
}

/* Decision Insight becomes an open pull-quote rather than another filled box. */
body.compass-method-page .decision-insight-inline {
  background: transparent !important;
  border: 0 !important;
  border-left: 4px solid var(--compass-accent) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 8px 0 8px 24px !important;
  margin-top: 30px !important;
}
body.compass-method-page .decision-insight-inline span {
  color: var(--compass-accent) !important;
  -webkit-text-fill-color: var(--compass-accent) !important;
}
body.compass-method-page .decision-insight-inline strong {
  color: var(--compass-white) !important;
  -webkit-text-fill-color: var(--compass-white) !important;
}

/* All informational boxes use one shared navy component. No yellow-filled cards. */
body.compass-method-page :is(
  .lifecycle-column,
  .compass-phase-card,
  .compass-principle-card,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .compass-protected-panel
) {
  background: var(--compass-navy) !important;
  border: 1px solid var(--compass-accent) !important;
  color: var(--compass-white) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.compass-method-page :is(
  .lifecycle-column,
  .compass-phase-card,
  .compass-principle-card,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .compass-protected-panel
) :is(h2,h3,h4,p,li,strong,span) {
  color: var(--compass-white) !important;
  -webkit-text-fill-color: var(--compass-white) !important;
  text-shadow: none !important;
}
body.compass-method-page :is(
  .lifecycle-column,
  .compass-phase-card,
  .compass-principle-card,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .compass-protected-panel
) :is(.phase-number,.phase-name,.eyebrow,.premium-panel-phase,.premium-panel-progress) {
  color: var(--compass-accent) !important;
  -webkit-text-fill-color: var(--compass-accent) !important;
}

/* Both lifecycle columns now use the same navy surface. */
body.compass-method-page .lifecycle-column.traditional,
body.compass-method-page .lifecycle-column.compass {
  background: var(--compass-navy) !important;
}
body.compass-method-page .lifecycle-column > span,
body.compass-method-page .lifecycle-divider {
  color: var(--compass-accent) !important;
  -webkit-text-fill-color: var(--compass-accent) !important;
}
body.compass-method-page .lifecycle-steps div {
  background: rgba(5,25,52,.72) !important;
  border: 1px solid rgba(238,198,101,.56) !important;
  color: var(--compass-white) !important;
  -webkit-text-fill-color: var(--compass-white) !important;
}

/* Principle cards: gold labels, white copy, content-sized rhythm. */
body.compass-method-page .compass-principle-card {
  min-height: 0 !important;
  height: auto !important;
}
body.compass-method-page .compass-principle-card > span {
  color: var(--compass-accent) !important;
  -webkit-text-fill-color: var(--compass-accent) !important;
}

/* Phase panel and interactive diagram details retain gold only as accent. */
body.compass-method-page .premium-phase-panel {
  background: var(--compass-navy) !important;
}
body.compass-method-page :is(.premium-panel-rule,.premium-panel-track-fill,.premium-panel-track-node.is-current) {
  background: var(--compass-accent) !important;
}
body.compass-method-page :is(.premium-phase-cta,.premium-next-phase) {
  border-color: var(--compass-accent) !important;
}
body.compass-method-page .premium-phase-cta,
body.compass-method-page .premium-next-phase,
body.compass-method-page .premium-phase-cta span {
  color: var(--compass-accent) !important;
  -webkit-text-fill-color: var(--compass-accent) !important;
}

/* Protected-depth panel follows the same blue card language. */
body.compass-method-page .compass-protected-panel .btn.gold {
  background: linear-gradient(135deg,#EEC665,#c9972f) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: #f6da8a !important;
}

/* Ensure any legacy warm/yellow surface inside this page resolves to navy. */
body.compass-method-page :is(
  .traditional,
  .compass,
  [class*="yellow-card"],
  [class*="gold-card"],
  [class*="warm-card"]
) {
  background-color: var(--compass-navy) !important;
  background-image: none !important;
}

/* ================================================================
   v7.78 — site-wide card contrast and numbering cleanup
   Preserve all layouts. Navy cards use yellow contours; yellow cards use
   navy contours. Visual card numbering is removed everywhere.
   ================================================================ */

/* Remove decorative numbering from cards only. Functional progress indicators
   and ordered-list semantics remain intact. */
body :is(
  .decision-question-number,
  .phase-number,
  .card-number,
  .card-index,
  .step-number,
  .offer-number,
  .principle-number,
  .service-number,
  .feature-number
) {
  display: none !important;
}

/* Shared navy card family — exact layout is untouched. */
body :is(
  .decision-card,
  .decision-question-card,
  .decision-factor-card,
  .compass-phase-card,
  .compass-principle-card,
  .contact-decision-card--action,
  .premium-phase-panel,
  .premium-help-box,
  .premium-panel-footer,
  .compass-protected-panel,
  .compass-north-star,
  .compass-orbit-item,
  .lifecycle-column,
  .value-node,
  .principle,
  .offer,
  .capital,
  .insight,
  .journey-panel,
  .card,
  .content-card,
  .question-card,
  .comparison-card,
  .value-card,
  .principle-card,
  .method-card,
  .insight-card,
  .article-card,
  .phase-card,
  .capability-card,
  .governance-card,
  .framework-card,
  .contact-card
) {
  border-color: #EEC665 !important;
}

/* Yellow information cards use the inverse navy contour. Buttons and small
   accent chips are intentionally excluded. */
body :is(
  .contact-decision-card:not(.contact-decision-card--action),
  .card-yellow,
  .card-gold,
  .yellow-card,
  .gold-card,
  .surface-gold,
  .surface-yellow
) {
  border: 1.5px solid #071b34 !important;
}

/* Removing number blocks must not leave the old reserved vertical gap. */
body .decision-question-card .decision-question-number + h3,
body .compass-phase-card .phase-number + .phase-name {
  margin-top: 0 !important;
}
body .decision-question-card h3 {
  margin-top: 0 !important;
}

/* ================================================================
   v7.79 — site-wide landscape brightness normalization
   The homepage is the visual reference. Keep each page's existing layout,
   surfaces and content; normalize only the shared background treatment.
   ================================================================ */
body.homepage-nature-journey,
body.homepage-nature-journey:not(:has(.home-hero)),
body.compass-method-page.homepage-nature-journey:not(:has(.home-hero)) {
  background-color: #071b34 !important;
  background-image:
    linear-gradient(180deg,
      rgba(3, 17, 34, .14) 0%,
      rgba(3, 18, 38, .22) 48%,
      rgba(3, 18, 38, .30) 100%),
    url("../hero-landscape.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

/* Use one restrained ambient veil everywhere; prevent darker page-specific
   overlays from changing the perceived brightness between tabs. */
body.homepage-nature-journey::before,
body.homepage-nature-journey:not(:has(.home-hero))::before,
body.compass-method-page.homepage-nature-journey::before {
  background: linear-gradient(180deg,
    rgba(7, 27, 52, .04) 0%,
    rgba(7, 27, 52, .01) 45%,
    rgba(7, 27, 52, .10) 100%) !important;
}

@media (max-width: 1080px) {
  body.homepage-nature-journey,
  body.homepage-nature-journey:not(:has(.home-hero)),
  body.compass-method-page.homepage-nature-journey:not(:has(.home-hero)) {
    background-attachment: scroll !important;
    background-position: center top !important;
  }
}

/* ================================================================
   v7.82 — COMPASS Method visibility correction (no redesign)
   ================================================================ */
body.compass-method-page.homepage-nature-journey {
  background-image:
    linear-gradient(180deg, rgba(3,17,34,.03) 0%, rgba(3,18,38,.07) 52%, rgba(3,18,38,.12) 100%),
    url("../hero-landscape.png") !important;
}
body.compass-method-page.homepage-nature-journey::before {
  background: transparent !important;
  opacity: 0 !important;
}

/* Remove every possible hero surface/veil while preserving exact layout. */
body.compass-method-page .page-hero.compass-hero,
body.compass-method-page .page-hero.compass-hero > .container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}
body.compass-method-page .page-hero.compass-hero::before,
body.compass-method-page .page-hero.compass-hero::after,
body.compass-method-page .page-hero.compass-hero > .container::before,
body.compass-method-page .page-hero.compass-hero > .container::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Force the interactive phase detail card to the approved navy treatment. */
body.compass-method-page .premium-phase-panel {
  background: #071b34 !important;
  background-color: #071b34 !important;
  background-image: none !important;
  border: 2px solid #EEC665 !important;
  color: #fffdf7 !important;
}
body.compass-method-page .premium-phase-panel::before,
body.compass-method-page .premium-phase-panel::after {
  content: none !important;
  display: none !important;
}
body.compass-method-page .premium-phase-panel > *,
body.compass-method-page .premium-phase-panel :is(.premium-panel-head,.premium-panel-section,.premium-panel-footer,.premium-panel-actions) {
  background-color: transparent !important;
  background-image: none !important;
}
body.compass-method-page .premium-phase-panel :is(h3,h4,p,li,small,strong,span) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}
body.compass-method-page .premium-phase-panel :is(.premium-panel-phase,.premium-panel-progress,.premium-next-label) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

/* v7.84 — lifecycle comparison: equal cards and content-sized yellow steps */
body.compass-method-page .lifecycle-comparison {
  align-items: stretch !important;
}
body.compass-method-page .lifecycle-column {
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 34px 36px !important;
}
body.compass-method-page .lifecycle-column > span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  opacity: 1 !important;
}
body.compass-method-page .lifecycle-column > p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  opacity: 1 !important;
  margin-top: auto !important;
  padding-top: 28px !important;
  margin-bottom: 0 !important;
}
body.compass-method-page .lifecycle-steps {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-content: flex-start !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  margin-top: 24px !important;
}
body.compass-method-page .lifecycle-steps div {
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 10px 16px !important;
  margin: 0 !important;
  background: #EEC665 !important;
  background-color: #EEC665 !important;
  background-image: none !important;
  color: #071b34 !important;
  -webkit-text-fill-color: #071b34 !important;
  border: 1px solid #071b34 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
/* Balanced rows: 3 + 1 and 4 + 3, with the shorter row centred. */
body.compass-method-page .lifecycle-column.traditional .lifecycle-steps div:nth-child(4) {
  margin-inline: 34% !important;
}
body.compass-method-page .lifecycle-column.compass .lifecycle-steps div:nth-child(5) {
  margin-left: 8% !important;
}
body.compass-method-page .lifecycle-column.compass .lifecycle-steps div:nth-child(7) {
  margin-right: 8% !important;
}
@media (max-width: 900px) {
  body.compass-method-page .lifecycle-column.traditional .lifecycle-steps div:nth-child(4),
  body.compass-method-page .lifecycle-column.compass .lifecycle-steps div:nth-child(5),
  body.compass-method-page .lifecycle-column.compass .lifecycle-steps div:nth-child(7) {
    margin-inline: 0 !important;
  }
}

/* ================================================================
   v7.85 — lifecycle comparison visibility and compact layout fix
   ================================================================ */
body.compass-method-page .compass-not-lifecycle-section.compass-animate {
  opacity: 1 !important;
  transform: none !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-comparison,
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column,
body.compass-method-page .compass-not-lifecycle-section .lifecycle-steps,
body.compass-method-page .compass-not-lifecycle-section .lifecycle-steps > div,
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column > span,
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column > p {
  opacity: 1 !important;
  filter: none !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-comparison {
  align-items: stretch !important;
  gap: clamp(24px, 3vw, 54px) !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column {
  min-height: 0 !important;
  height: auto !important;
  padding: 28px 30px !important;
  justify-content: flex-start !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column > span {
  display: block !important;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  margin: 0 0 18px !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-steps {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-content: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  width: 100% !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-steps > div {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 9px 14px !important;
  margin: 0 !important;
  background: #EEC665 !important;
  background-color: #EEC665 !important;
  background-image: none !important;
  color: #071b34 !important;
  -webkit-text-fill-color: #071b34 !important;
  border: 1.5px solid #071b34 !important;
  box-shadow: none !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column > p {
  margin: 22px 0 0 !important;
  padding: 0 !important;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}
/* Remove earlier manual row offsets; flex centering handles both rows. */
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.traditional .lifecycle-steps > div:nth-child(4),
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.compass .lifecycle-steps > div:nth-child(5),
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.compass .lifecycle-steps > div:nth-child(7) {
  margin: 0 !important;
}


/* ================================================================
   v7.86 — lifecycle contrast and section spacing
   ================================================================ */
body.compass-method-page .compass-not-lifecycle-section {
  padding-bottom: calc(1.3cm + 12px) !important;
}
body.compass-method-page #seven-phases {
  padding-top: 0 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.traditional {
  background: #EEC665 !important;
  background-color: #EEC665 !important;
  background-image: none !important;
  border: 2px solid #071b34 !important;
  color: #071b34 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.traditional > span,
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.traditional > p {
  color: #071b34 !important;
  -webkit-text-fill-color: #071b34 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.traditional .lifecycle-steps > div {
  background: #071b34 !important;
  background-color: #071b34 !important;
  background-image: none !important;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  border: 1.5px solid #071b34 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.compass {
  background: #071b34 !important;
  background-color: #071b34 !important;
  background-image: none !important;
  border: 2px solid #EEC665 !important;
  color: #fffdf7 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.compass > span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.compass > p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}
body.compass-method-page .compass-not-lifecycle-section .lifecycle-column.compass .lifecycle-steps > div {
  background: #EEC665 !important;
  background-color: #EEC665 !important;
  background-image: none !important;
  color: #071b34 !important;
  -webkit-text-fill-color: #071b34 !important;
  border: 1.5px solid #071b34 !important;
}

/* ================================================================
   v7.87 — focused COMPASS visibility corrections only
   ================================================================ */

/* The comparison mark should read as a neutral separator. */
body.compass-method-page .lifecycle-divider {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

/* Keep the existing diagram, geometry, size and interaction, but remove
   every enclosing visual surface so the landscape remains visible. */
body.compass-method-page .compass-phases-section,
body.compass-method-page .compass-phases-section > .container,
body.compass-method-page .premium-compass-experience,
body.compass-method-page .premium-compass-stage {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.compass-method-page .premium-compass-experience::before,
body.compass-method-page .premium-compass-experience::after,
body.compass-method-page .premium-compass-stage::before,
body.compass-method-page .premium-compass-stage::after {
  content: none !important;
  display: none !important;
}
body.compass-method-page .premium-compass-svg {
  background: transparent !important;
  background-color: transparent !important;
}

/* Preserve the existing right-panel layout; change only its surface and
   readable foreground palette. */
body.compass-method-page .premium-phase-panel {
  background: #071b34 !important;
  background-color: #071b34 !important;
  background-image: none !important;
  border: 1.5px solid #EEC665 !important;
  color: #fffdf7 !important;
}
body.compass-method-page .premium-phase-panel::before,
body.compass-method-page .premium-phase-panel::after {
  content: none !important;
  display: none !important;
}
body.compass-method-page .premium-phase-panel :is(h3,h4,p,li,small,strong,span) {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}
body.compass-method-page .premium-phase-panel :is(.premium-panel-phase,.premium-next-label,.premium-help-title) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}


/* ================================================================
   v8.01 — COMPASS principle cards: navy surfaces, no numbering
   ================================================================ */
body.compass-method-page #principles .compass-principle-grid {
  margin-bottom: 0.6cm !important;
}
body.compass-method-page #principles .compass-principle-card {
  background: #071b34 !important;
  background-color: #071b34 !important;
  background-image: none !important;
  border: 1.5px solid #EEC665 !important;
  border-top: 1.5px solid #EEC665 !important;
  color: #fffdf7 !important;
  box-shadow: 0 12px 34px rgba(0, 9, 23, .18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.compass-method-page #principles .compass-principle-card > span {
  display: none !important;
}
body.compass-method-page #principles .compass-principle-card h3 {
  margin-top: 0 !important;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body.compass-method-page #principles .compass-principle-card p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

/* v8.02 — COMPASS Method spacing and protected-depth cleanup */
body.compass-method-page .compass-capability-section {
  margin-top: 1cm !important;
}

body.compass-method-page .compass-protected-panel {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: clamp(28px, 4vw, 64px) !important;
  padding: clamp(28px, 4vw, 56px) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.compass-method-page .compass-protected-panel::before,
body.compass-method-page .compass-protected-panel::after {
  content: none !important;
  display: none !important;
}

body.compass-method-page .compass-protected-panel > div {
  max-width: 980px !important;
}

body.compass-method-page .compass-protected-panel .btn.gold {
  justify-self: end !important;
  align-self: end !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: max-content !important;
  white-space: nowrap !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

@media (max-width: 860px) {
  body.compass-method-page .compass-protected-panel {
    grid-template-columns: 1fr !important;
  }

  body.compass-method-page .compass-protected-panel .btn.gold {
    justify-self: end !important;
  }
}

/* ================================================================
   v8.11 — top-page eyebrow-to-heading spacing
   Keep exactly 1 cm between the yellow hero label and the H1 below it.
   This intentionally does not alter H1-to-introduction spacing.
   ================================================================ */
body :is(
  .page-hero,
  .home-hero,
  .approved-home-hero,
  .compass-hero,
  .decision-nav-hero,
  .decision-question-hero
) > .container > :is(.eyebrow,.kicker,.section-label,.executive-hero-kicker) {
  margin-bottom: 1cm !important;
}

body :is(
  .page-hero,
  .home-hero,
  .approved-home-hero,
  .compass-hero,
  .decision-nav-hero,
  .decision-question-hero
) > .container > :is(.eyebrow,.kicker,.section-label,.executive-hero-kicker) + h1 {
  margin-top: 0 !important;
}

/* Hero structures where the copy is nested one level deeper. */
body :is(.home-hero,.approved-home-hero) .executive-hero-copy > :is(.eyebrow,.kicker,.section-label,.executive-hero-kicker) {
  margin-bottom: 1cm !important;
}
body :is(.home-hero,.approved-home-hero) .executive-hero-copy > :is(.eyebrow,.kicker,.section-label,.executive-hero-kicker) + h1 {
  margin-top: 0 !important;
}

/* ================================================================
   v8.13 — subtle motion for the lifecycle comparison symbol
   ================================================================ */
body.compass-method-page .lifecycle-divider {
  display: inline-block;
  transform-origin: center;
  will-change: transform, opacity, text-shadow;
  animation: viUnequalPulse 2.6s ease-in-out infinite;
}

@keyframes viUnequalPulse {
  0%, 100% {
    opacity: 0.82;
    transform: scale(1);
    text-shadow: 0 0 0 rgba(238, 198, 101, 0);
  }
  50% {
    opacity: 1;
    transform: scale(1.08);
    text-shadow:
      0 0 10px rgba(238, 198, 101, 0.42),
      0 0 22px rgba(238, 198, 101, 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.compass-method-page .lifecycle-divider {
    animation: none;
    opacity: 1;
    transform: none;
    text-shadow: none;
  }
}

/* ================================================================
   v8.15 — homepage vertical breathing room
   Add 0.5 cm above and below the two highlighted text groups.
   ================================================================ */
body.homepage-nature-journey .executive-hero-copy h1 {
  margin-top: 0.5cm !important;
  margin-bottom: 0.5cm !important;
}

body.homepage-nature-journey .executive-decision-heading {
  margin-top: 0.5cm !important;
  margin-bottom: 0.5cm !important;
}

body.homepage-nature-journey .executive-decision-heading h2 {
  margin-bottom: 0.5cm !important;
}

body.homepage-nature-journey .executive-decision-heading p {
  margin-bottom: 0.5cm !important;
}

/* v8.16 — global card cleanup */
.decision-question-number, .phase-number,
.information-asymmetry-consequences article > span:first-child,
.decision-outcome-grid article > span:first-child,
.compass-principle-card > span:first-child,
.contact-decision-card > span:first-child,
.decision-scenario-card > span:first-child,
.decision-factor-card > span:first-child { display:none !important; }

:is(.card,.decision-card,.decision-factor-card,.decision-question-card,.decision-scenario-card,.compass-principle-card,.compass-phase-card,.contact-decision-card,.information-asymmetry-consequences article,.decision-outcome-grid article) :is(h2,h3,h4,.phase-name) { color:#EEC665 !important; -webkit-text-fill-color:#EEC665 !important; }

/* v8.33 — compact information-panel divider (page-level guarantee) */
body.compass-method-page .premium-phase-panel > h3 { margin-bottom: 0 !important; }
body.compass-method-page .premium-phase-panel .premium-panel-rule {
  margin: 0.3cm 0 !important;
}
body.compass-method-page .premium-phase-panel .premium-panel-purpose {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* ================================================================
   v8.54 — How We Help visual alignment
   Align the advisory page with the established viCOMPASSa internal-page
   language without changing its content or information architecture.
   ================================================================ */
body.how-we-help-page .page-hero {
  padding-top: clamp(7.5rem, 12vw, 11rem) !important;
  padding-bottom: clamp(2.4rem, 5vw, 4.6rem) !important;
}

body.how-we-help-page .page-hero .container {
  max-width: 1180px !important;
}

body.how-we-help-page .page-hero .eyebrow {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  letter-spacing: .18em !important;
  margin-bottom: 1.75rem !important;
}

body.how-we-help-page .page-hero h1 {
  max-width: 900px !important;
  margin-bottom: 1.15rem !important;
}

body.how-we-help-page .page-hero p {
  max-width: 780px !important;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

body.how-we-help-page .how-we-help-offers {
  padding-top: 1.2rem !important;
  padding-bottom: clamp(3rem, 6vw, 5.4rem) !important;
}

body.how-we-help-page .offer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.35rem !important;
  align-items: stretch !important;
}

body.how-we-help-page .offer {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: 1.65rem 1.55rem 1.5rem !important;
  background: linear-gradient(145deg, rgba(4, 24, 47, .88), rgba(7, 31, 59, .76)) !important;
  border: 1.5px solid rgba(238, 198, 101, .82) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(0, 8, 20, .22) !important;
  backdrop-filter: blur(7px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(7px) saturate(108%) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
  scroll-margin-top: 8rem !important;
}

body.how-we-help-page .offer:hover {
  transform: translateY(-3px) !important;
  border-color: #EEC665 !important;
  box-shadow: 0 18px 42px rgba(0, 8, 20, .30), 0 0 0 1px rgba(238, 198, 101, .16) !important;
}

body.how-we-help-page .offer h3 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  margin: 0 0 .95rem !important;
  line-height: 1.18 !important;
}

body.how-we-help-page .offer p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  margin: 0 !important;
  line-height: 1.62 !important;
}

body.how-we-help-page .offer .pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .48rem !important;
  margin-top: auto !important;
  padding-top: 1.25rem !important;
}

body.how-we-help-page .offer .pills span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: .42rem .72rem !important;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  background: rgba(4, 24, 47, .54) !important;
  border: 1px solid rgba(238, 198, 101, .66) !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

body.how-we-help-page .cta-section {
  padding-top: 0 !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

body.how-we-help-page .cta-section .cta-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  padding: 1.6rem 1.75rem !important;
  background: linear-gradient(145deg, rgba(4, 24, 47, .88), rgba(7, 31, 59, .76)) !important;
  border: 1.5px solid rgba(238, 198, 101, .82) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(0, 8, 20, .20) !important;
}

body.how-we-help-page .cta-section .cta-box h2 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  margin-bottom: .45rem !important;
}

body.how-we-help-page .cta-section .cta-box p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  margin: 0 !important;
}

body.how-we-help-page .cta-section .btn.gold {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  white-space: nowrap !important;
  padding: .78rem 1.25rem !important;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  background: rgba(4, 24, 47, .38) !important;
  border: 1.5px solid #EEC665 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transition: background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease !important;
}

body.how-we-help-page .cta-section .btn.gold:hover,
body.how-we-help-page .cta-section .btn.gold:focus-visible {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
  background: #EEC665 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(0, 8, 20, .25) !important;
}

@media (max-width: 980px) {
  body.how-we-help-page .offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.how-we-help-page .cta-section .cta-box {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 640px) {
  body.how-we-help-page .offer-grid {
    grid-template-columns: 1fr !important;
  }
  body.how-we-help-page .offer {
    padding: 1.35rem 1.2rem !important;
    border-radius: 20px !important;
  }
  body.how-we-help-page .cta-section .btn.gold {
    white-space: normal !important;
    text-align: center !important;
  }
}

/* ================================================================
   v8.55 — How We Help hero cleanup and homepage-card styling
   Remove the first-section panel treatment, raise it by 1.5 cm,
   and align advisory cards with the established homepage card style.
   ================================================================ */
body.how-we-help-page .page-hero {
  transform: translateY(-1.5cm) !important;
  margin-bottom: -1.5cm !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.how-we-help-page .page-hero::before,
body.how-we-help-page .page-hero::after,
body.how-we-help-page .page-hero .container {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.how-we-help-page .offer {
  background: rgba(5, 25, 52, .90) !important;
  background-image: none !important;
  border: 1px solid rgba(238, 198, 101, .70) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(0, 10, 28, .24) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.how-we-help-page .offer:hover,
body.how-we-help-page .offer:focus-within {
  background: rgba(5, 25, 52, .94) !important;
  border-color: #EEC665 !important;
  box-shadow: 0 14px 34px rgba(0, 10, 28, .32), 0 0 20px rgba(238, 198, 101, .20) !important;
}

body.how-we-help-page .offer h3 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

body.how-we-help-page .offer p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}


/* ================================================================
   v8.56 — How We Help specificity correction
   Override legacy internal-page surfaces with page-specific IDs.
   ================================================================ */
body.how-we-help-page #how-we-help-hero,
body.homepage-nature-journey.how-we-help-page #how-we-help-hero {
  position: relative !important;
  transform: translateY(-1.5cm) !important;
  margin-bottom: -1.5cm !important;
  padding-top: clamp(6rem, 10vw, 9.5rem) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.homepage-nature-journey.how-we-help-page:not(:has(.home-hero)) #how-we-help-hero > .container,
body.how-we-help-page #how-we-help-hero > .container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.how-we-help-page #how-we-help-hero::before,
body.how-we-help-page #how-we-help-hero::after,
body.how-we-help-page #how-we-help-hero > .container::before,
body.how-we-help-page #how-we-help-hero > .container::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

body.homepage-nature-journey.how-we-help-page:not(:has(.home-hero)) #how-we-help-offers .offer,
body.how-we-help-page #how-we-help-offers .offer {
  background: #071B34 !important;
  background-color: #071B34 !important;
  background-image: none !important;
  color: #fffdf7 !important;
  border: 1.5px solid #EEC665 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 30px rgba(0, 8, 20, .26) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.homepage-nature-journey.how-we-help-page:not(:has(.home-hero)) #how-we-help-offers .offer:hover,
body.how-we-help-page #how-we-help-offers .offer:hover {
  background: #071B34 !important;
  background-color: #071B34 !important;
  border-color: #EEC665 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(0, 8, 20, .34), 0 0 20px rgba(238, 198, 101, .18) !important;
}

body.how-we-help-page #how-we-help-offers .offer h3 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

body.how-we-help-page #how-we-help-offers .offer p {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
}

/* ================================================================
   v8.57 — How We Help commercial content system
   ================================================================ */
body.how-we-help-page #how-we-help-hero .eyebrow { margin-bottom: .5cm !important; }
body.how-we-help-page #how-we-help-hero h1 { margin-bottom: .5cm !important; }
body.how-we-help-page #how-we-help-hero p { max-width: 68rem !important; }
body.how-we-help-page #how-we-help-offers { padding-top: clamp(2.5rem,5vw,5rem) !important; }
body.how-we-help-page .section-intro { max-width: 72rem; margin: 0 auto 2.2rem; text-align: center; }
body.how-we-help-page .section-intro h2 { color:#EEC665; margin:.35rem 0 .7rem; font-size:clamp(2rem,4vw,3.4rem); }
body.how-we-help-page .section-intro p { color:#fffdf7; font-size:clamp(1rem,1.6vw,1.25rem); }
body.how-we-help-page #how-we-help-offers .offer { display:flex !important; flex-direction:column !important; gap:.85rem !important; padding:clamp(1.5rem,2.6vw,2.25rem) !important; }
body.how-we-help-page .offer-kicker { color:#EEC665; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; }
body.how-we-help-page .offer-situation { font-size:1.05rem; line-height:1.6; }
body.how-we-help-page .offer-details { border-top:1px solid rgba(238,198,101,.36); padding-top:.85rem; display:grid; gap:.35rem; color:#fffdf7; }
body.how-we-help-page .offer-details strong { color:#EEC665; }
body.how-we-help-page .offer-link { align-self:flex-start; margin-top:auto; display:inline-flex; align-items:center; gap:.65rem; padding:.7rem 1rem; border:1.4px solid #EEC665; border-radius:999px; color:#EEC665 !important; text-decoration:none; font-weight:800; transition:.22s ease; }
body.how-we-help-page .offer-link:hover,body.how-we-help-page .offer-link:focus-visible { background:#EEC665; color:#071B34 !important; transform:translateY(-2px); }
body.how-we-help-page .offer-link:hover *,body.how-we-help-page .offer-link:focus-visible * { color:#071B34 !important; }

body.service-engagement-page .service-hero { padding:clamp(8rem,13vw,12rem) 0 clamp(3rem,6vw,5rem); background:transparent; }
body.service-engagement-page .service-hero .container { max-width:1100px; }
.service-breadcrumb { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin-bottom:1.4rem; color:#fffdf7; }
.service-breadcrumb a { color:#EEC665; }
body.service-engagement-page .service-hero h1 { color:#fffdf7; font-size:clamp(3rem,7vw,6.6rem); line-height:.95; max-width:1000px; margin:.35rem 0 1rem; }
body.service-engagement-page .service-hero p { color:#fffdf7; max-width:840px; font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.55; }
.service-story { padding:0 0 4rem; }
.service-layout { display:grid; gap:1.35rem; max-width:1100px; }
.service-layout article { background:#071B34; border:1.5px solid #EEC665; border-radius:24px; padding:clamp(1.5rem,3vw,2.7rem); color:#fffdf7; box-shadow:0 16px 38px rgba(0,8,20,.28); }
.service-layout h2 { color:#EEC665; font-size:clamp(1.7rem,3vw,2.7rem); margin:.35rem 0 1rem; }
.service-layout p,.service-layout li { color:#fffdf7; line-height:1.65; }
.service-layout ul { margin:0; padding-left:1.25rem; display:grid; gap:.55rem; }
.service-situation,.service-outcome { grid-column:1/-1; }
.service-block { min-height:100%; }
.output-grid { display:flex; flex-wrap:wrap; gap:.7rem; }
.output-grid span { border:1px solid #EEC665; border-radius:999px; padding:.62rem .9rem; color:#EEC665; font-weight:750; }
.service-page-cta { padding:0 0 2rem; }
body.service-engagement-page .cta-box { background:#071B34; border:1.5px solid #EEC665; border-radius:24px; }
.service-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding-bottom:4rem; }
.service-pagination a { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:.65rem 1rem; border:1.4px solid #EEC665; border-radius:999px; color:#EEC665; text-decoration:none; font-weight:800; text-align:center; background:rgba(7,27,52,.78); transition:.2s ease; }
.service-pagination a:first-child { justify-self:start; }
.service-pagination a:last-child { justify-self:end; }
.service-pagination a:hover,.service-pagination a:focus-visible { background:#EEC665; color:#071B34; transform:translateY(-2px); }
.service-return { white-space:nowrap; }
@media (min-width:800px){ .service-layout { grid-template-columns:1fr 1fr; } .service-outputs { grid-column:1/-1; } }
@media (max-width:760px){ .service-pagination{grid-template-columns:1fr;} .service-pagination a,.service-pagination a:first-child,.service-pagination a:last-child{justify-self:stretch;} }


/* ================================================================
   viCOMPASSa v8.58 — compact How We Help cards and CTA states
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-grid {
  align-items: start !important;
}
body.how-we-help-page #how-we-help-offers .offer {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 1rem !important;
  row-gap: .65rem !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  padding: clamp(1.25rem, 2.2vw, 1.8rem) !important;
}
body.how-we-help-page #how-we-help-offers .offer-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  color: #EEC665;
  margin-top: .1rem;
}
body.how-we-help-page #how-we-help-offers .offer-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.how-we-help-page #how-we-help-offers .offer-kicker,
body.how-we-help-page #how-we-help-offers .offer h3 {
  grid-column: 2;
}
body.how-we-help-page #how-we-help-offers .offer-situation,
body.how-we-help-page #how-we-help-offers .offer-details,
body.how-we-help-page #how-we-help-offers .offer .pills,
body.how-we-help-page #how-we-help-offers .offer-link {
  grid-column: 1 / -1;
}
body.how-we-help-page #how-we-help-offers .offer-details {
  margin: 0 !important;
  padding-top: .65rem !important;
}
body.how-we-help-page #how-we-help-offers .offer .pills {
  margin-top: .1rem !important;
}
body.how-we-help-page #how-we-help-offers .offer-link {
  margin-top: .25rem !important;
  align-self: start !important;
  width: fit-content !important;
}
body.how-we-help-page #how-we-help-offers .offer-link,
body.how-we-help-page #how-we-help-offers .offer-link span {
  color: #EEC665 !important;
}
body.how-we-help-page #how-we-help-offers .offer-link:hover,
body.how-we-help-page #how-we-help-offers .offer-link:focus-visible,
body.how-we-help-page #how-we-help-offers .offer-link:active,
body.how-we-help-page #how-we-help-offers .offer-link:hover span,
body.how-we-help-page #how-we-help-offers .offer-link:focus-visible span,
body.how-we-help-page #how-we-help-offers .offer-link:active span {
  color: #071B34 !important;
}
@media (max-width: 640px) {
  body.how-we-help-page #how-we-help-offers .offer {
    grid-template-columns: 2.75rem 1fr !important;
  }
  body.how-we-help-page #how-we-help-offers .offer-icon {
    width: 2.75rem;
    height: 2.75rem;
  }
}

/* v8.59 — use the six user-supplied How We Help icon assets directly */
body.how-we-help-page #how-we-help-offers .offer-icon img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:.35rem;
}

/* ================================================================
   viCOMPASSa v8.60 — How We Help card hierarchy and spacing
   Audience labels are secondary white copy; remove the internal
   divider and collapse the vertical space through the card body.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-kicker {
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  margin: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer h3 {
  margin: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer {
  row-gap: .48rem !important;
}
body.how-we-help-page #how-we-help-offers .offer-situation {
  margin: .12rem 0 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer-details {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: .18rem !important;
}
body.how-we-help-page #how-we-help-offers .offer-details::before,
body.how-we-help-page #how-we-help-offers .offer-details::after {
  content: none !important;
  display: none !important;
}
body.how-we-help-page #how-we-help-offers .offer .pills {
  margin: .08rem 0 0 !important;
  padding: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer-link {
  margin-top: .12rem !important;
}

/* ================================================================
   viCOMPASSa v8.61 — How We Help card spacing correction
   Remove the residual middle gap above the capability tags and give
   each yellow text element clear 0.4 cm breathing room.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer {
  grid-auto-rows: max-content !important;
  align-content: start !important;
}
body.how-we-help-page #how-we-help-offers .offer h3 {
  margin-top: .4cm !important;
  margin-bottom: .4cm !important;
}
body.how-we-help-page #how-we-help-offers .offer-details {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer-details strong {
  display: block !important;
  margin-top: .4cm !important;
  margin-bottom: .4cm !important;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body.how-we-help-page #how-we-help-offers .offer-details span {
  display: block !important;
  margin: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer .pills {
  margin-top: .4cm !important;
  padding-top: 0 !important;
}

/* ================================================================
   viCOMPASSa v8.62 — compact What you gain spacing
   Keep exactly 0.5 cm between the label and the capability tags.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-details {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer-details strong {
  margin-bottom: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer-details span {
  display: none !important;
}
body.how-we-help-page #how-we-help-offers .offer .pills {
  margin-top: 0.5cm !important;
  padding-top: 0 !important;
  align-self: start !important;
}

/* ================================================================
   viCOMPASSa v8.63 — How We Help card header alignment
   Audience label spans the full card; icon aligns with engagement title.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-kicker {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
}
body.how-we-help-page #how-we-help-offers .offer-icon {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: center !important;
  margin-top: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer h3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
}
body.how-we-help-page #how-we-help-offers .offer-situation {
  grid-row: 3 !important;
}
body.how-we-help-page #how-we-help-offers .offer-details {
  grid-row: 4 !important;
}
body.how-we-help-page #how-we-help-offers .offer .pills {
  grid-row: 5 !important;
}
body.how-we-help-page #how-we-help-offers .offer-link {
  grid-row: 6 !important;
}

/* ================================================================
   viCOMPASSa v8.64 — Explore engagement CTA colour states
   Keep text and arrow yellow normally; both switch to navy on hover.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-link,
body.how-we-help-page #how-we-help-offers .offer-link > span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body.how-we-help-page #how-we-help-offers .offer-link:hover,
body.how-we-help-page #how-we-help-offers .offer-link:focus-visible,
body.how-we-help-page #how-we-help-offers .offer-link:active,
body.how-we-help-page #how-we-help-offers .offer-link:hover > span,
body.how-we-help-page #how-we-help-offers .offer-link:focus-visible > span,
body.how-we-help-page #how-we-help-offers .offer-link:active > span {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
}

/* ================================================================
   viCOMPASSa v8.65 — equal How We Help cards and CTA spacing
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
body.how-we-help-page #how-we-help-offers .offer {
  height: 100% !important;
  min-height: 100% !important;
  align-self: stretch !important;
}
body.how-we-help-page #how-we-help-offers .offer-link {
  margin-top: 0.5cm !important;
}

/* ================================================================
   viCOMPASSa v8.66 — anchor engagement CTAs to card bottoms
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer {
  grid-template-rows: max-content max-content max-content max-content max-content 1fr max-content !important;
  align-content: stretch !important;
}
body.how-we-help-page #how-we-help-offers .offer-link {
  grid-row: 7 !important;
  align-self: end !important;
  margin-top: .5cm !important;
}

/* ================================================================
   viCOMPASSa v8.68 — lower How We Help audience labels
   Move the full-width white audience copy down by a total of 1.1 cm.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-kicker {
  margin-top: 1.1cm !important;
}

/* ================================================================
   viCOMPASSa v8.69 — correct How We Help description spacing
   Revert the earlier audience-label offset and move only the white
   descriptive paragraph below each yellow title down by 0.5 cm.
   ================================================================ */
body.how-we-help-page #how-we-help-offers .offer-kicker {
  margin-top: 0 !important;
}
body.how-we-help-page #how-we-help-offers .offer-situation {
  margin-top: 0.5cm !important;
}

/* ================================================================
   v8.70 — How We Help hero readability spacing
   ================================================================ */
body.how-we-help-page #how-we-help-hero .eyebrow {
  margin-bottom: .5cm !important;
}
body.how-we-help-page #how-we-help-hero h1 {
  margin-bottom: .5cm !important;
}
body.how-we-help-page #how-we-help-hero .hero-intro {
  max-width: none !important;
  line-height: 1.6 !important;
}

/* ================================================================
   v8.71 — How We Help introduction spacing and three-line text
   ================================================================ */
body.how-we-help-page #how-we-help-hero .eyebrow {
  margin-bottom: .5cm !important;
}
body.how-we-help-page #how-we-help-hero h1 {
  margin-bottom: 1cm !important;
}
body.how-we-help-page #how-we-help-hero .hero-intro {
  max-width: none !important;
  line-height: 1.6 !important;
}


/* ================================================================
   v8.72 — Balanced How We Help introduction and reduced space below
   ================================================================ */
body.how-we-help-page #how-we-help-hero .hero-intro {
  max-width: none !important;
  line-height: 1.6 !important;
  margin-bottom: -1.3cm !important;
}

/* ================================================================
   v8.74 — How We Help heading spacing
   Add 1 cm before the primary heading.
   ================================================================ */
body.how-we-help-page #how-we-help-hero .eyebrow {
  margin-bottom: 1cm !important;
}

/* v8.75 — How We Help final CTA: bottom-right placement */
body.how-we-help-page .cta-section .cta-box {
  align-items: stretch !important;
  flex-direction: column !important;
}
body.how-we-help-page .cta-section .btn.gold {
  align-self: flex-end !important;
  margin-top: 1rem !important;
  margin-left: auto !important;
}


/* ================================================================
   v8.76 — Engagement subpages: remove breadcrumb and raise content
   ================================================================ */
body.service-engagement-page .service-hero {
  padding-top: calc(clamp(8rem, 13vw, 12rem) - 2cm) !important;
}

/* ================================================================
   v8.77 — Engagement subpages: spacing after Advisory engagement
   ================================================================ */
body.service-engagement-page .service-hero > .container > .eyebrow {
  margin-bottom: 1.4cm !important;
}

/* v8.78 — engagement pagination hover contrast */
.service-pagination a:hover,
.service-pagination a:focus-visible,
.service-pagination a:active,
.service-pagination a:hover *,
.service-pagination a:focus-visible *,
.service-pagination a:active * {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
}


/* v8.79 — service pagination labels: explicit hover contrast */
.service-pagination .service-nav-label {
  display:inline-block;
  color:#EEC665 !important;
  -webkit-text-fill-color:#EEC665 !important;
}
.service-pagination a:hover .service-nav-label,
.service-pagination a:focus-visible .service-nav-label,
.service-pagination a:active .service-nav-label {
  color:#071B34 !important;
  -webkit-text-fill-color:#071B34 !important;
}


/* ================================================================
   viCOMPASSa v8.80 — engagement closing CTA alignment
   Indent closing-panel content and align the discussion CTA bottom-right.
   ================================================================ */
body.service-engagement-page .service-page-cta .cta-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "copy copy"
    ". cta" !important;
  align-items: end !important;
  column-gap: 2rem !important;
  row-gap: 1.35rem !important;
  padding: 1.15cm 1.3cm 1cm !important;
  min-height: 0 !important;
  height: auto !important;
  text-align: left !important;
}
body.service-engagement-page .service-page-cta .cta-box > div {
  grid-area: copy !important;
  min-width: 0 !important;
}
body.service-engagement-page .service-page-cta .cta-box > div > :first-child {
  margin-top: 0 !important;
}
body.service-engagement-page .service-page-cta .cta-box > div > :last-child {
  margin-bottom: 0 !important;
}
body.service-engagement-page .service-page-cta .service-discuss-cta {
  grid-area: cta !important;
  justify-self: end !important;
  align-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 52px !important;
  padding: .72rem 1.35rem !important;
  border: 1.5px solid #EEC665 !important;
  border-radius: 999px !important;
  background: rgba(7,27,52,.82) !important;
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  transition: background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease !important;
}
body.service-engagement-page .service-page-cta .service-discuss-cta span {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body.service-engagement-page .service-page-cta .service-discuss-cta:hover,
body.service-engagement-page .service-page-cta .service-discuss-cta:focus-visible,
body.service-engagement-page .service-page-cta .service-discuss-cta:active {
  background: #EEC665 !important;
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(0,8,20,.24) !important;
}
body.service-engagement-page .service-page-cta .service-discuss-cta:hover span,
body.service-engagement-page .service-page-cta .service-discuss-cta:focus-visible span,
body.service-engagement-page .service-page-cta .service-discuss-cta:active span {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
}
@media (max-width: 760px) {
  body.service-engagement-page .service-page-cta .cta-box {
    grid-template-columns: 1fr !important;
    grid-template-areas: "copy" "cta" !important;
    padding: .85cm .75cm !important;
  }
  body.service-engagement-page .service-page-cta .service-discuss-cta {
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* ================================================================
   viCOMPASSa v8.81 — compact engagement closing panel + fixed primary CTA
   ================================================================ */
body.service-engagement-page .service-page-cta {
  padding-bottom: .55rem !important;
}
body.service-engagement-page .service-page-cta .cta-box {
  row-gap: .85rem !important;
  padding-bottom: .55cm !important;
}
body.service-engagement-page .service-page-cta .service-discuss-cta,
body.service-engagement-page .service-page-cta .service-discuss-cta:hover,
body.service-engagement-page .service-page-cta .service-discuss-cta:focus,
body.service-engagement-page .service-page-cta .service-discuss-cta:focus-visible,
body.service-engagement-page .service-page-cta .service-discuss-cta:active {
  background: #EEC665 !important;
  border-color: #EEC665 !important;
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
  transform: none !important;
  box-shadow: none !important;
}
body.service-engagement-page .service-page-cta .service-discuss-cta span,
body.service-engagement-page .service-page-cta .service-discuss-cta:hover span,
body.service-engagement-page .service-page-cta .service-discuss-cta:focus span,
body.service-engagement-page .service-page-cta .service-discuss-cta:focus-visible span,
body.service-engagement-page .service-page-cta .service-discuss-cta:active span {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
}

/* ================================================================
   v8.83 permanent primary style for every Discuss Your AI Decision CTA
   Loaded from main.css so it applies on every page.
   ================================================================ */
html body a.primary-yellow-cta,
html body a.primary-yellow-cta:link,
html body a.primary-yellow-cta:visited,
html body main a.primary-yellow-cta,
html body .site-header a.primary-yellow-cta,
html body .cta-box a.primary-yellow-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: max-content !important;
  padding: 0.72em 1.55em !important;
  background: #EEC665 !important;
  background-color: #EEC665 !important;
  border: 1.5px solid #EEC665 !important;
  border-radius: 999px !important;
  color: #071B34 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
html body a.primary-yellow-cta > span,
html body a.primary-yellow-cta .primary-yellow-cta__label,
html body main a.primary-yellow-cta > span,
html body .site-header a.primary-yellow-cta > span {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
}
html body a.primary-yellow-cta:hover,
html body a.primary-yellow-cta:focus,
html body a.primary-yellow-cta:focus-visible,
html body a.primary-yellow-cta:active,
html body main a.primary-yellow-cta:hover,
html body .site-header a.primary-yellow-cta:hover,
html body .cta-box a.primary-yellow-cta:hover {
  background: #EEC665 !important;
  background-color: #EEC665 !important;
  border-color: #EEC665 !important;
  color: #071B34 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
html body a.primary-yellow-cta:hover > span,
html body a.primary-yellow-cta:focus > span,
html body a.primary-yellow-cta:focus-visible > span,
html body a.primary-yellow-cta:active > span,
html body a.primary-yellow-cta:hover .primary-yellow-cta__label,
html body a.primary-yellow-cta:focus .primary-yellow-cta__label,
html body a.primary-yellow-cta:focus-visible .primary-yellow-cta__label,
html body a.primary-yellow-cta:active .primary-yellow-cta__label {
  color: #071B34 !important;
  -webkit-text-fill-color: #071B34 !important;
}

/* v8.84 final inline-compatible fallback for every primary Discuss CTA */
html body a.primary-yellow-cta[style],
html body a.primary-yellow-cta[style]:hover,
html body a.primary-yellow-cta[style]:focus,
html body a.primary-yellow-cta[style]:focus-visible,
html body a.primary-yellow-cta[style]:active {
  background:#EEC665 !important;
  background-color:#EEC665 !important;
  border-color:#EEC665 !important;
  color:#071B34 !important;
  -webkit-text-fill-color:#071B34 !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
}
html body a.primary-yellow-cta[style] span,
html body a.primary-yellow-cta[style]:hover span,
html body a.primary-yellow-cta[style]:focus span,
html body a.primary-yellow-cta[style]:focus-visible span,
html body a.primary-yellow-cta[style]:active span {
  color:#071B34 !important;
  -webkit-text-fill-color:#071B34 !important;
}


/* ================================================================
   v8.86 — larger desktop header tabs after navigation consolidation
   ================================================================ */
@media (min-width: 1501px) {
  .site-header .primary-nav {
    gap: 24px !important;
  }
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger {
    font-size: 1.06rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.005em !important;
  }
}

@media (min-width: 1081px) and (max-width: 1500px) {
  .site-header .primary-nav {
    gap: 14px !important;
  }
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger {
    font-size: 0.94rem !important;
    line-height: 1.2 !important;
  }
}

/* ================================================================
   v8.87 — stronger desktop header tab scale and spacing
   ================================================================ */
@media (min-width: 1501px) {
  .site-header .primary-nav {
    gap: 30px !important;
  }
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger {
    font-size: 1.16rem !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
    letter-spacing: 0.006em !important;
  }
}

@media (min-width: 1081px) and (max-width: 1500px) {
  .site-header .primary-nav {
    gap: 18px !important;
  }
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger {
    font-size: 1.01rem !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
  }
}

/* ================================================================
   v8.88 — additional 10% desktop header tab scale
   ================================================================ */
@media (min-width: 1501px) {
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger {
    font-size: 1.276rem !important;
  }
}

@media (min-width: 1081px) and (max-width: 1500px) {
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger {
    font-size: 1.111rem !important;
  }
}


/* v8.89 — Insights page aligned with the established viCOMPASSa visual system */
body.insights-page main > section {
  background: transparent !important;
}
body.insights-page .page-hero {
  padding-top: clamp(2.5rem, 5vw, 4.75rem) !important;
  padding-bottom: clamp(2.2rem, 4vw, 3.8rem) !important;
}
body.insights-page .page-hero .container,
body.insights-page main > section > .container {
  max-width: min(1180px, calc(100% - 3rem));
}
body.insights-page .page-hero .eyebrow,
body.insights-page .section-head .eyebrow {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  margin-bottom: .8rem !important;
}
body.insights-page .page-hero h1,
body.insights-page .section-head h2 {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  margin-bottom: 1rem !important;
}
body.insights-page .page-hero p,
body.insights-page .section-head p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  max-width: 900px;
  line-height: 1.65;
}
body.insights-page .section-head {
  margin-bottom: 1.35rem !important;
}
body.insights-page main > section:not(.page-hero) {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}
body.insights-page #decision-stories {
  padding-bottom: .65rem !important;
}
body.insights-page #decision-stories + section {
  padding-top: 1.25rem !important;
}
body.insights-page .insights-grid,
body.insights-page .capital-grid {
  gap: 1.15rem !important;
  align-items: stretch;
}
body.insights-page .insight,
body.insights-page .capital,
body.insights-page #briefs .card {
  background: rgba(7, 27, 52, .94) !important;
  border: 1.5px solid #EEC665 !important;
  border-radius: 18px !important;
  padding: 1.35rem 1.4rem !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.16) !important;
  height: 100%;
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
body.insights-page .insight:hover,
body.insights-page .capital:hover,
body.insights-page #briefs .card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
  background: rgba(7, 27, 52, .98) !important;
}
body.insights-page .insight h3,
body.insights-page .capital h3,
body.insights-page #briefs .card strong {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
  margin: 0 0 .75rem !important;
  line-height: 1.25;
}
body.insights-page .insight p,
body.insights-page .capital p,
body.insights-page #briefs .card p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  margin: 0 !important;
  line-height: 1.6;
}
body.insights-page #briefs .card {
  max-width: none !important;
}
@media (max-width: 720px) {
  body.insights-page .page-hero .container,
  body.insights-page main > section > .container {
    max-width: calc(100% - 1.5rem);
  }
  body.insights-page main > section:not(.page-hero) {
    padding-top: 1.8rem !important;
    padding-bottom: 1.8rem !important;
  }
}


/* ================================================================
   v8.90 — definitive Insights homepage-card treatment
   Remove the first-section panel and force every content card to the
   established navy / yellow contour / white text visual system.
   ================================================================ */
body.insights-page #insights-hero,
body.insights-page #insights-hero::before,
body.insights-page #insights-hero::after,
body.insights-page #insights-hero > .container,
body.insights-page #insights-hero > .container::before,
body.insights-page #insights-hero > .container::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.insights-page #insights-hero > .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.insights-page .insights-grid > .insight,
body.insights-page .capital-grid > .capital,
body.insights-page #briefs .card {
  background: #071B34 !important;
  background-color: #071B34 !important;
  background-image: none !important;
  border: 1.5px solid #EEC665 !important;
  border-radius: 18px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.16) !important;
}
body.insights-page .insights-grid > .insight h1,
body.insights-page .insights-grid > .insight h2,
body.insights-page .insights-grid > .insight h3,
body.insights-page .insights-grid > .insight h4,
body.insights-page .capital-grid > .capital h1,
body.insights-page .capital-grid > .capital h2,
body.insights-page .capital-grid > .capital h3,
body.insights-page .capital-grid > .capital h4,
body.insights-page #briefs .card strong {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
body.insights-page .insights-grid > .insight p,
body.insights-page .insights-grid > .insight li,
body.insights-page .insights-grid > .insight span,
body.insights-page .capital-grid > .capital p,
body.insights-page .capital-grid > .capital li,
body.insights-page .capital-grid > .capital span,
body.insights-page #briefs .card p,
body.insights-page #briefs .card li,
body.insights-page #briefs .card span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.insights-page .insights-grid > .insight:hover,
body.insights-page .capital-grid > .capital:hover,
body.insights-page #briefs .card:hover {
  background: #071B34 !important;
  background-color: #071B34 !important;
  color: #fff !important;
}

/* ================================================================
   v8.91 — Insights cards remain navy in every interaction state
   ================================================================ */
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card),
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):link,
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):visited,
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):hover,
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):focus,
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):focus-visible,
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):active {
  background: #071B34 !important;
  background-color: #071B34 !important;
  background-image: none !important;
  border: 1.5px solid #EEC665 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card) :is(h1,h2,h3,h4,strong) {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card) :is(p,li,span) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body.insights-page :is(.insights-grid > .insight, .capital-grid > .capital, #briefs .card):hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
}

/* ================================================================
   v8.92 — Insights hero eyebrow spacing
   ================================================================ */
body.insights-page #insights-hero > .container > .eyebrow {
  margin-bottom: 1.5cm !important;
}

/* ================================================================
   v8.97 — stable, balanced desktop header
   ================================================================ */
@media (min-width: 1081px) {
  .site-header .site-shell.nav-shell {
    padding-left: 0.55cm !important;
    padding-right: 0.45cm !important;
    column-gap: 0.45cm !important;
    overflow: visible !important;
  }

  .site-header .official-brand-lockup {
    margin-left: 0.18cm !important;
    transform: none !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  .site-header .official-brand-lockup > img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .site-header .primary-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(1.25rem, 1.65vw, 2rem) !important;
    margin-left: auto !important;
    margin-right: 0.25cm !important;
    min-width: 0 !important;
  }

  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > button.language-trigger,
  .site-header .primary-nav > .language-menu > button.language-trigger > span:not(.menu-chevron),
  .site-header .primary-nav > .nav-group > a > span:not(:last-child) {
    font-family: inherit !important;
    font-size: 1.08rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  .site-header .primary-nav .menu-chevron,
  .site-header .primary-nav > .nav-group > a > span:last-child {
    font-size: 0.82em !important;
    line-height: 1 !important;
  }

  .site-header .header-cta,
  .site-header .nav-cta,
  .site-header a[href*="contact"] {
    flex: 0 0 auto !important;
  }
}

/* ================================================================
   v8.98 — controlled desktop header typography and 0.7 cm spacing
   Only normalize the five top-level labels and their horizontal gap.
   ================================================================ */
@media (min-width: 1081px) {
  .site-header .primary-nav {
    gap: 0.7cm !important;
  }

  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > .language-trigger,
  .site-header .primary-nav > .language-menu > .language-trigger > span:not(.menu-chevron) {
    font-family: inherit !important;
    font-size: 1.08rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  .site-header .primary-nav > .language-menu > .language-trigger {
    padding: 0 !important;
    min-height: 0 !important;
  }

  .site-header .primary-nav .menu-chevron,
  .site-header .primary-nav > .nav-group > a > span:last-child {
    font-size: 0.82em !important;
    line-height: 1 !important;
  }
}

/* ================================================================
   v9.03 layered brand motion — rotate only the original white orbit
   ================================================================ */
.site-header .official-brand-lockup {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 92px !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.site-header .official-brand-lockup::before,
.site-header .official-brand-lockup::after { content: none !important; display: none !important; }
.site-header .official-brand-lockup > .vicompassa-motion-icon {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 64px;
  height: 92px;
  overflow: visible;
}
.site-header .official-brand-lockup > .vicompassa-motion-icon > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
.site-header .vicompassa-motion-ring {
  z-index: 1;
  transform-origin: 50% 50%;
  animation: vicompassa-ring-turn 22s linear infinite;
  will-change: transform;
}
.site-header .vicompassa-motion-gold { z-index: 2; }
.site-header .official-brand-lockup > .vicompassa-motion-wordmark {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 286px !important;
  height: auto !important;
  max-width: none !important;
  max-height: 78px !important;
  object-fit: contain !important;
  object-position: left center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
.site-header .official-brand-lockup:hover .vicompassa-motion-ring,
.site-header .official-brand-lockup:focus-visible .vicompassa-motion-ring {
  animation-play-state: paused;
}
@keyframes vicompassa-ring-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .site-header .vicompassa-motion-ring { animation: none !important; }
}
@media (max-width: 1180px) {
  .site-header .official-brand-lockup { height: 80px !important; gap: 8px !important; }
  .site-header .official-brand-lockup > .vicompassa-motion-icon { width: 56px; height: 80px; }
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark { width: 244px !important; max-height: 68px !important; }
}
@media (max-width: 980px) {
  .site-header .official-brand-lockup { height: 68px !important; }
  .site-header .official-brand-lockup > .vicompassa-motion-icon { width: 48px; height: 68px; }
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark { width: 208px !important; max-height: 58px !important; }
}
@media (max-width: 620px) {
  .site-header .official-brand-lockup { height: 56px !important; gap: 6px !important; }
  .site-header .official-brand-lockup > .vicompassa-motion-icon { width: 40px; height: 56px; }
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark { width: 166px !important; max-height: 48px !important; }
}


/* ================================================================
   v9.04 — checkpoint-to-North-Star pulse motion
   Keep the complete icon geometry static; animate only a soft gold
   highlight travelling upward through the checkpoint path.
   ================================================================ */
.site-header .vicompassa-motion-ring {
  animation: none !important;
  transform: none !important;
}
.site-header .vicompassa-motion-icon::before {
  content: "";
  position: absolute;
  z-index: 3;
  width: 11px;
  height: 11px;
  left: 14%;
  top: 77%;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle,
    rgba(255,255,255,.98) 0 14%,
    rgba(255,224,132,.95) 30%,
    rgba(238,198,101,.72) 52%,
    rgba(238,198,101,0) 76%);
  filter: drop-shadow(0 0 5px rgba(255,214,107,.95));
  transform: translate(-50%, -50%) scale(.65);
  animation: vicompassa-checkpoint-pulse 7.5s ease-in-out infinite;
}
.site-header .vicompassa-motion-icon::after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 31px;
  height: 31px;
  left: 76%;
  top: 8%;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle,
    rgba(255,245,208,.82) 0 13%,
    rgba(255,209,88,.46) 34%,
    rgba(238,198,101,.18) 56%,
    rgba(238,198,101,0) 76%);
  filter: blur(.4px) drop-shadow(0 0 7px rgba(255,204,64,.82));
  transform: translate(-50%, -50%) scale(.55);
  animation: vicompassa-star-arrival 7.5s ease-in-out infinite;
}
.site-header .official-brand-lockup:hover .vicompassa-motion-icon::before,
.site-header .official-brand-lockup:hover .vicompassa-motion-icon::after,
.site-header .official-brand-lockup:focus-visible .vicompassa-motion-icon::before,
.site-header .official-brand-lockup:focus-visible .vicompassa-motion-icon::after {
  animation-play-state: paused;
}
@keyframes vicompassa-checkpoint-pulse {
  0%, 9%   { left: 14%; top: 77%; opacity: 0; transform: translate(-50%,-50%) scale(.55); }
  12%      { opacity: .98; transform: translate(-50%,-50%) scale(1); }
  20%      { left: 22%; top: 67%; opacity: .94; }
  29%      { left: 30%; top: 57%; opacity: .94; }
  38%      { left: 38%; top: 47%; opacity: .94; }
  47%      { left: 46%; top: 37%; opacity: .94; }
  56%      { left: 55%; top: 28%; opacity: .94; }
  65%      { left: 65%; top: 19%; opacity: .98; transform: translate(-50%,-50%) scale(1.05); }
  72%      { left: 75%; top: 9%; opacity: .92; transform: translate(-50%,-50%) scale(1.15); }
  78%,100% { left: 75%; top: 9%; opacity: 0; transform: translate(-50%,-50%) scale(.55); }
}
@keyframes vicompassa-star-arrival {
  0%, 67%  { opacity: 0; transform: translate(-50%,-50%) scale(.5); }
  72%      { opacity: .92; transform: translate(-50%,-50%) scale(1.12); }
  78%      { opacity: .42; transform: translate(-50%,-50%) scale(.88); }
  84%,100% { opacity: 0; transform: translate(-50%,-50%) scale(.58); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .vicompassa-motion-icon::before,
  .site-header .vicompassa-motion-icon::after { animation: none !important; display: none !important; }
}


/* ================================================================
   v9.09 — visible 15% wordmark/tagline reduction is baked into asset
   Keep CSS dimensions stable so browser-specific layout cannot mask it.
   ================================================================ */
.site-header .official-brand-lockup > .vicompassa-motion-wordmark {
  width: 286px !important;
  max-height: 78px !important;
  height: auto !important;
}
@media (max-width: 1180px) {
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark { width: 244px !important; max-height: 68px !important; }
}
@media (max-width: 980px) {
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark { width: 208px !important; max-height: 58px !important; }
}
@media (max-width: 620px) {
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark { width: 166px !important; max-height: 48px !important; }
}


/* ================================================================
   v9.10 — exact shared header-tab typography + white header CTA text
   ================================================================ */
@media (min-width: 1081px) {
  .site-header .primary-nav > .nav-group > a,
  .site-header .primary-nav > .plain-link,
  .site-header .primary-nav > .language-menu > button.language-trigger,
  .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
  .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    display: inline-block !important;
    transform: none !important;
    zoom: 1 !important;
  }
}
.site-header .primary-yellow-cta,
.site-header .primary-yellow-cta .primary-yellow-cta__label {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}


/* ================================================================
   v9.11 — visually match the EN language label to the other tabs
   ================================================================ */
@media (min-width: 1081px) {
  .site-header .primary-nav > .language-menu > button.language-trigger {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }
  .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    display: inline-block !important;
    font-family: inherit !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transform: none !important;
    zoom: 1 !important;
  }
}

/* ================================================================
   v9.12 — direct visual correction for the rendered EN label only
   ================================================================ */
@media (min-width: 1081px) {
  .site-header .primary-nav > .language-menu > button.language-trigger {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    gap: 0.34em !important;
  }

  .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    display: inline-block !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transform: scale(0.78) !important;
    transform-origin: center center !important;
    zoom: 1 !important;
  }

  .site-header .primary-nav > .language-menu > button.language-trigger > .menu-chevron {
    display: inline-block !important;
    font-size: 0.82rem !important;
    line-height: 1 !important;
    transform: none !important;
  }
}


/* ================================================================
   v9.13 — retain exactly one original language chevron
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav > .language-menu::before,
  html body .site-header .primary-nav > .language-menu::after,
  html body .site-header .primary-nav > .language-menu > .language-trigger::before,
  html body .site-header .primary-nav > .language-menu > .language-trigger::after,
  html body .site-header .primary-nav > .language-menu > .language-trigger > .menu-chevron::before,
  html body .site-header .primary-nav > .language-menu > .language-trigger > .menu-chevron::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
  }

  html body .site-header .primary-nav > .language-menu {
    padding-right: 0 !important;
  }

  html body .site-header .primary-nav > .language-menu > .language-trigger > .menu-chevron {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin-left: 0.34em !important;
    padding: 0 !important;
    border: 0 !important;
    color: #EEC665 !important;
    font-size: 0.82rem !important;
    line-height: 1 !important;
    transform: none !important;
  }
}

/* ================================================================
   v9.14 — one identical dropdown chevron for every desktop header tab
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav > .nav-group > a > span:last-child,
  html body .site-header .primary-nav > .language-menu > .language-trigger > .menu-chevron {
    display: inline-block !important;
    flex: 0 0 auto !important;
    position: relative !important;
    width: 8px !important;
    height: 6px !important;
    margin-left: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: translateY(1px) !important;
  }

  html body .site-header .primary-nav > .nav-group > a > span:last-child::before,
  html body .site-header .primary-nav > .language-menu > .language-trigger > .menu-chevron::before {
    content: none !important;
    display: none !important;
  }

  html body .site-header .primary-nav > .nav-group > a > span:last-child::after,
  html body .site-header .primary-nav > .language-menu > .language-trigger > .menu-chevron::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid var(--color-gold, #EEC665) !important;
    background: none !important;
    box-shadow: none !important;
  }
}

/* v9.27 — final: animation is internal to the ring SVG; header design unchanged */
.site-header .vicompassa-motion-ring { animation:none!important; transform:none!important; opacity:1!important; }
.site-header .vicompassa-motion-gold { animation:none!important; transform:none!important; }


/* ================================================================
   v9.28 — axis-locked ring motion, original header design preserved
   ================================================================ */
.site-header .vicompassa-motion-ring {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 1 !important;
}
.site-header .vicompassa-motion-gold {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 2 !important;
}
.site-header .official-brand-lockup > .vicompassa-motion-icon > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}


/* ================================================================
   v9.29 — simple flat ring spin around the checkpoint centre
   No 3D motion, scaling, narrowing, translation or axis flipping.
   ================================================================ */
.site-header .vicompassa-motion-ring {
  animation: vicompassa-flat-ring-spin-v929 8s linear infinite !important;
  transform-origin: 51.5% 52.1% !important;
  transform-box: border-box !important;
  opacity: 1 !important;
  z-index: 1 !important;
  will-change: transform !important;
}

.site-header .vicompassa-motion-gold {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 2 !important;
}

@keyframes vicompassa-flat-ring-spin-v929 {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.site-header .official-brand-lockup:hover .vicompassa-motion-ring,
.site-header .official-brand-lockup:focus-visible .vicompassa-motion-ring {
  animation-play-state: paused !important;
}


/* ==========================================================
   v9.30 — Rotate complete icon only (ring + checkpoints + star)
   Wordmark and tagline remain fixed.
   ========================================================== */

.site-header .official-brand-lockup > .vicompassa-motion-icon{
    transform-origin:center center !important;
    transform-box:border-box !important;
    animation:vicompassaWholeIconSpin 16s linear infinite !important;
    will-change:transform;
}

.site-header .vicompassa-motion-ring,
.site-header .vicompassa-motion-gold{
    animation:none !important;
    transform:none !important;
}

@keyframes vicompassaWholeIconSpin{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
}

.site-header .official-brand-lockup:hover > .vicompassa-motion-icon{
    animation-play-state:paused;
}


/* ==========================================================
   v9.31 — Gentle whole-icon pivot
   North Star remains near the top; no full revolution.
   ========================================================== */

.site-header .official-brand-lockup > .vicompassa-motion-icon {
    transform-origin: 50% 50% !important;
    transform-box: border-box !important;
    animation: vicompassaIconPivotV931 7.5s ease-in-out infinite !important;
    will-change: transform !important;
}

.site-header .vicompassa-motion-ring,
.site-header .vicompassa-motion-gold {
    animation: none !important;
    transform: none !important;
}

@keyframes vicompassaIconPivotV931 {
    0%, 100% { transform: rotate(0deg); }
    25%      { transform: rotate(-16deg); }
    50%      { transform: rotate(0deg); }
    75%      { transform: rotate(16deg); }
}

.site-header .official-brand-lockup:hover > .vicompassa-motion-icon,
.site-header .official-brand-lockup:focus-visible > .vicompassa-motion-icon {
    animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
    .site-header .official-brand-lockup > .vicompassa-motion-icon {
        animation: none !important;
        transform: none !important;
    }
}


/* v9.32 – whole icon rotates around its own vertical axis */
.site-header .official-brand-lockup > .vicompassa-motion-icon{
  animation: viCompassYaw 6.5s ease-in-out infinite !important;
  transform-style: preserve-3d !important;
  transform-origin:center center !important;
  perspective:900px;
}

.site-header .vicompassa-motion-ring,
.site-header .vicompassa-motion-gold{
  animation:none !important;
}

@keyframes viCompassYaw{
  0%   {transform:perspective(900px) rotateY(0deg);}
  25%  {transform:perspective(900px) rotateY(-28deg);}
  50%  {transform:perspective(900px) rotateY(0deg);}
  75%  {transform:perspective(900px) rotateY(28deg);}
  100% {transform:perspective(900px) rotateY(0deg);}
}


/* v9.34 – refined continuous turn from v9.32 */
.site-header .official-brand-lockup > .vicompassa-motion-icon{
    animation: viCompassContinuousTurn 9s cubic-bezier(.45,.05,.55,.95) infinite !important;
    transform-origin:50% 50% !important;
    transform-style:preserve-3d !important;
}

@keyframes viCompassContinuousTurn{
    0%   {transform:perspective(1000px) rotateY(0deg);}
    18%  {transform:perspective(1000px) rotateY(-18deg);}
    32%  {transform:perspective(1000px) rotateY(-30deg);}
    50%  {transform:perspective(1000px) rotateY(0deg);}
    68%  {transform:perspective(1000px) rotateY(30deg);}
    82%  {transform:perspective(1000px) rotateY(18deg);}
    100% {transform:perspective(1000px) rotateY(0deg);}
}


/* ================================================================
   v9.40 — true 0.3 cm visible gap between icon and wordmark
   Removes only invisible left padding from the wordmark asset.
   Visible artwork scale and all other design details are unchanged.
   ================================================================ */
.site-header .official-brand-lockup {
  gap: 0.3cm !important;
  column-gap: 0.3cm !important;
}

.site-header .official-brand-lockup > .vicompassa-motion-icon {
  margin-right: 0 !important;
}

.site-header .official-brand-lockup > .vicompassa-motion-wordmark {
  width: 260.396px !important;
  margin-left: 0 !important;
}

@media (max-width: 1180px) {
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark {
    width: 222.156px !important;
  }
}

@media (max-width: 920px) {
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark {
    width: 189.379px !important;
  }
}

@media (max-width: 640px) {
  .site-header .official-brand-lockup > .vicompassa-motion-wordmark {
    width: 151.139px !important;
  }
}


/* ================================================================
   v9.42 — direct overrides of the active desktop header rules
   ================================================================ */
@media (min-width: 1081px) {
  /* Reduce the visible viCOMPASSa wordmark by exactly 9%. */
  html body .site-header .official-brand-lockup > .vicompassa-motion-wordmark {
    width: 236.96px !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
  }

  /* Use the actual grid gap and remove the auto margin that was
     pushing the navigation away from the logo. */
  html body .site-header .site-shell.nav-shell {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    column-gap: 0.8cm !important;
    gap: 0.8cm !important;
  }

  html body .site-header .primary-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
  }

  /* Increase every visible top-level tab consistently. */
  html body .site-header .primary-nav > .nav-group > a,
  html body .site-header .primary-nav > .plain-link,
  html body .site-header .primary-nav > .language-menu > .language-trigger,
  html body .site-header .primary-nav > .language-menu > .language-trigger > span:not(.menu-chevron) {
    font-size: 1.14rem !important;
    line-height: 1.15 !important;
  }
}


/* ================================================================
   v9.44 — 0.7 cm before homepage hero kicker
   Targets the actual text:
   “Confident AI decisions. Lasting business value.”
   ================================================================ */
body.homepage-nature-journey
  .home-hero
  .executive-hero-copy
  > .executive-hero-kicker {
  display: block !important;
  margin-top: 0.7cm !important;
}


/* ================================================================
   v9.45 — increase all desktop header-tab labels by exactly 5%
   Previous active size: 1.14rem
   New active size: 1.4rem
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav > .nav-group > a,
  html body .site-header .primary-nav > .plain-link,
  html body .site-header .primary-nav > .language-menu > .language-trigger,
  html body .site-header .primary-nav > .language-menu > .language-trigger > span:not(.menu-chevron),
  html body .site-header .primary-nav > .nav-group > a > span:not(:last-child) {
    font-size: 1.4rem !important;
  }
}


/* v9.52 diagnostic: force desktop nav to 1.4rem */
@media (min-width:1081px){
.site-header .primary-nav > .nav-group > a,
.site-header .primary-nav > .plain-link,
.site-header .primary-nav > .language-menu > .language-trigger,
.site-header .primary-nav a{
  font-size:1.4rem !important;
}
}


/* ================================================================
   v9.55 — correct EN visual balance from the working v9.52 baseline
   Tabs stay at 1.4rem. EN uses 78% of that size without transforms.
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav > .language-menu > button.language-trigger {
    font-family: inherit !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    gap: 0.30em !important;
  }

  html body .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    display: inline-block !important;
    font-family: inherit !important;
    font-size: 0.69em !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    transform: none !important;
    zoom: 1 !important;
  }

  html body .site-header .primary-nav > .language-menu > button.language-trigger > .menu-chevron {
    display: inline-block !important;
    font-size: 0.70em !important;
    line-height: 1 !important;
    transform: none !important;
  }
}


/* ================================================================
   v9.56 — reduce EN only; keep all other tabs unchanged
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    font-size: 0.69em !important;
  }
}


/* ================================================================
   v9.57 — increase non-language tabs only by 6%
   EN remains exactly as in v9.56.
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav > .nav-group > a,
  html body .site-header .primary-nav > .plain-link {
    font-size: 1.484rem !important;
  }

  /* Preserve EN and its chevron exactly as in v9.56. */
  html body .site-header .primary-nav > .language-menu > button.language-trigger {
    font-size: 1.4rem !important;
  }

  html body .site-header .primary-nav > .language-menu > button.language-trigger > .language-code {
    font-size: 0.69em !important;
  }
}


/* v9.59 — non-language top-level tabs set to 1.7rem.
   EN remains exactly as in v9.57. */
@media (min-width:1081px) {
  html body .site-header .primary-nav > .nav-group:not(.language-menu) > a {
    font-size: 1.0rem !important;
    line-height: 1.15 !important;
  }
}


/* ================================================================
   v9.61 — balanced header tabs
   Four non-language tabs set to 1.5rem.
   EN, CTA, spacing, logo, and header height remain unchanged.
   ================================================================ */
@media (min-width:1081px) {
  html body .site-header .primary-nav > .nav-group:not(.language-menu) > a {
    font-size: 1.0rem !important;
    line-height: 1.15 !important;
  }
}


/* ================================================================
   v9.62 — balanced header tabs at 1.35rem
   Four non-language tabs only.
   EN, CTA, spacing, logo, and header height remain unchanged.
   ================================================================ */
@media (min-width:1081px) {
  html body .site-header .primary-nav > .nav-group:not(.language-menu) > a {
    font-size: 1.0rem !important;
    line-height: 1.15 !important;
  }
}

/* v9.63 */
@media (min-width:1081px){
html body .site-header .primary-nav>.nav-group:not(.language-menu)>a{
font-size:1.0rem !important;
line-height:1.15 !important;
}}


/* ================================================================
   v9.64 — four main navigation tabs reduced to 1.0rem
   EN and all other header elements remain unchanged.
   ================================================================ */
@media (min-width:1081px) {
  html body .site-header .primary-nav > .nav-group:not(.language-menu) > a {
    font-size: 1.0rem !important;
    line-height: 1.15 !important;
  }
}


/* ================================================================
   v9.65 — increase header CTA text only by 12%
   Button dimensions, pill shape, spacing, logo, and navigation unchanged.
   ================================================================ */
@media (min-width:1081px) {
  html body .site-header .header-cta,
  html body .site-header .nav-cta,
  html body .site-header a[href*="contact"].button,
  html body .site-header a[href*="decision"].button {
    font-size: 1.12em !important;
  }
}


/* ================================================================
   v9.67 — enlarge textual logo lockup only by 5%
   Compass icon remains unchanged.
   ================================================================ */
@media (min-width:1081px) {
  html body .site-header
  .official-brand-lockup
  > .vicompassa-motion-wordmark {
    transform: scale(1.05) !important;
    transform-origin: left center !important;
  }

  
}


/* ================================================================
   v9.69 — restore original logo icon motion lost in v9.67
   Keep all v9.68 typography, spacing, and homepage refinements.
   ================================================================ */
@media (min-width:1081px) {
  html body .site-header
  .official-brand-lockup
  > .vicompassa-motion-icon {
    animation: viCompassContinuousTurn 9s cubic-bezier(.45,.05,.55,.95) infinite !important;
    transform-origin: 50% 50% !important;
    transform-style: preserve-3d !important;
  }
}


/* ================================================================
   v9.95 — dropdown menu text only, +1% from component baseline
   Original dropdown declaration: 0.88rem
   Updated dropdown declaration: 0.8888rem
   Excludes top-level navigation tabs.
   ================================================================ */
html body .site-header .primary-nav .dropdown a {
  font-size: 0.8888rem !important;
  line-height: 1.4 !important;
}


/* ================================================================
   v9.97 — standardized textual viCOMPASSa brand treatment
   vi + final a in gold; COMPASS in white; exact casing preserved.
   ================================================================ */
.vicompassa-inline-brand {
  display: inline-block;
  white-space: nowrap;
  text-transform: none !important;
  letter-spacing: inherit;
}
.vicompassa-inline-brand__vi,
.vicompassa-inline-brand__a {
  color: var(--color-gold-500, #EEC665) !important;
  -webkit-text-fill-color: var(--color-gold-500, #EEC665) !important;
}
.vicompassa-inline-brand__compass {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.decision-scenario-label--brand {
  text-transform: none !important;
}
.decision-scenario-label--brand .decision-brand-suffix {
  color: var(--color-gold-500, #EEC665) !important;
  -webkit-text-fill-color: var(--color-gold-500, #EEC665) !important;
}


/* v10.05 brand color hardening */
.vicompassa-inline-brand{display:inline-block!important;white-space:nowrap!important;text-transform:none!important;}
.vicompassa-inline-brand__vi,.vicompassa-inline-brand__a{color:#EEC665!important;-webkit-text-fill-color:#EEC665!important;}
.vicompassa-inline-brand__compass{color:#fff!important;-webkit-text-fill-color:#fff!important;}

/* ================================================================
   v10.08 — true global gap between page content and footer
   The 1.2 cm space sits outside the final content section so it is
   visible even when that section has its own background image/color.
   ================================================================ */
html body main {
  margin-bottom: 0 !important;
}

html body main + .site-footer,
html body main + .executive-footer,
html body main + .minimal-footer,
html body main + footer {
  margin-top: 1.2cm !important;
}

/* v10.10 — visible 1.2 cm gap for Decision Navigation.
   The transparent spacer reveals the fixed landscape instead of merging
   into the navy footer. */
body.decision-navigation-page main::after {
  content: none !important;
  display: none !important;
}
body.decision-navigation-page .decision-navigation-footer-gap {
  display: block !important;
  width: 100% !important;
  height: 1.2cm !important;
  min-height: 1.2cm !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.decision-navigation-page .decision-navigation-footer-gap + .site-footer,
body.decision-navigation-page .decision-navigation-footer-gap + .executive-footer,
body.decision-navigation-page .decision-navigation-footer-gap + footer {
  margin-top: 0 !important;
}

/* v10.11 — keep the viCOMPASSa brand inline inside advisory panels.
   pages.css makes generic panel spans block-level; the brand's nested
   spans must remain inline and inherit the surrounding paragraph type. */
body.decision-navigation-subpage .protected-method-panel .vicompassa-inline-brand {
  display: inline-block !important;
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
body.decision-navigation-subpage .protected-method-panel .vicompassa-inline-brand > span {
  display: inline !important;
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
}


/* ================================================================
   v10.12 — Decision Navigation exact end spacing
   The last CTA content ends 1.2 cm above the footer. No additional
   footer spacer or footer margin is used on this page.
   ================================================================ */
body.decision-navigation-page .cta-section {
  padding-bottom: 1.2cm !important;
}
body.decision-navigation-page main + .site-footer,
body.decision-navigation-page main + .executive-footer,
body.decision-navigation-page main + footer {
  margin-top: 0 !important;
}
body.decision-navigation-page .decision-navigation-footer-gap {
  display: none !important;
}

/* ================================================================
   v10.13 — exact 1.2 cm ending on Decision Navigation subpages
   Use one spacing source only: the bottom padding of the final CTA.
   ================================================================ */
body.decision-navigation-subpage .decision-next-section {
  padding-bottom: 0 !important;
}
body.decision-navigation-subpage .decision-next {
  padding-bottom: 1.2cm !important;
}
body.decision-navigation-subpage main + .site-footer,
body.decision-navigation-subpage main + .executive-footer,
body.decision-navigation-subpage main + footer {
  margin-top: 0 !important;
}


/* ================================================================
   v10.15 — standardized “Discuss Your AI Decision” CTA
   One visual system plus a restrained attention pulse.
   ================================================================ */
.primary-yellow-cta.primary-yellow-cta--pulse {
  position: relative !important;
  isolation: isolate;
  cursor: pointer;
  animation: viCtaPulse 4.8s ease-in-out infinite !important;
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease !important;
}
.primary-yellow-cta.primary-yellow-cta--pulse::after {
  content: "→";
  display: inline-block;
  color: #071B34;
  -webkit-text-fill-color: #071B34;
  font-weight: 800;
  line-height: 1;
  transform: translateX(0);
  transition: transform .22s ease;
}
.primary-yellow-cta.primary-yellow-cta--pulse:hover,
.primary-yellow-cta.primary-yellow-cta--pulse:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(7,27,52,.24) !important;
  animation-play-state: paused !important;
}
.primary-yellow-cta.primary-yellow-cta--pulse:hover::after,
.primary-yellow-cta.primary-yellow-cta--pulse:focus-visible::after {
  transform: translateX(3px);
}
.primary-yellow-cta.primary-yellow-cta--pulse:focus-visible {
  outline: 3px solid rgba(255,255,255,.92);
  outline-offset: 3px;
}
@keyframes viCtaPulse {
  0%, 76%, 100% { box-shadow: 0 8px 22px rgba(7,27,52,.18), 0 0 0 0 rgba(238,198,101,0); }
  84% { box-shadow: 0 8px 22px rgba(7,27,52,.18), 0 0 0 7px rgba(238,198,101,.17); }
  92% { box-shadow: 0 8px 22px rgba(7,27,52,.18), 0 0 0 14px rgba(238,198,101,0); }
}
@media (prefers-reduced-motion: reduce) {
  .primary-yellow-cta.primary-yellow-cta--pulse {
    animation: none !important;
    transition: none !important;
  }
  .primary-yellow-cta.primary-yellow-cta--pulse::after { transition: none !important; }
}

/* ================================================================
   v10.16 — verified visible CTA motion
   Pulse runs on a separate pseudo-element so inline !important
   box-shadow declarations cannot suppress it.
   ================================================================ */
.primary-yellow-cta.primary-yellow-cta--pulse {
  overflow: visible !important;
  transform: translateY(0) !important;
  transition: transform .2s ease, filter .2s ease !important;
  animation: none !important;
}
.primary-yellow-cta.primary-yellow-cta--pulse::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border: 3px solid rgba(238,198,101,.72) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: -1 !important;
  opacity: 0 !important;
  transform: scale(1) !important;
  animation: viCtaRingPulse 2.5s ease-out infinite !important;
}
.primary-yellow-cta.primary-yellow-cta--pulse:hover,
.primary-yellow-cta.primary-yellow-cta--pulse:focus-visible {
  transform: translateY(-4px) scale(1.015) !important;
  filter: brightness(1.04) !important;
}
.primary-yellow-cta.primary-yellow-cta--pulse:hover::before,
.primary-yellow-cta.primary-yellow-cta--pulse:focus-visible::before {
  animation-play-state: paused !important;
  opacity: 0 !important;
}
@keyframes viCtaRingPulse {
  0%, 62% {
    opacity: 0;
    transform: scale(1);
  }
  68% {
    opacity: .8;
    transform: scale(1);
  }
  88% {
    opacity: 0;
    transform: scale(1.16, 1.45);
  }
  100% {
    opacity: 0;
    transform: scale(1.16, 1.45);
  }
}
@media (prefers-reduced-motion: reduce) {
  .primary-yellow-cta.primary-yellow-cta--pulse::before {
    animation: none !important;
    display: none !important;
  }
  .primary-yellow-cta.primary-yellow-cta--pulse {
    transition: none !important;
  }
}

/* v10.17 — global atomic viCOMPASSa wordmark safeguard */
html body .vicompassa-inline-brand {
  display: inline-flex !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  vertical-align: baseline !important;
  text-transform: none !important;
  letter-spacing: inherit !important;
}
html body .vicompassa-inline-brand > .vicompassa-inline-brand__vi,
html body .vicompassa-inline-brand > .vicompassa-inline-brand__compass,
html body .vicompassa-inline-brand > .vicompassa-inline-brand__a {
  display: inline !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
}
html body .vicompassa-inline-brand > .vicompassa-inline-brand__vi,
html body .vicompassa-inline-brand > .vicompassa-inline-brand__a {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}
html body .vicompassa-inline-brand > .vicompassa-inline-brand__compass {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* ================================================================
   v10.18 — visible Discuss CTA motion correction
   The former pulse layer used z-index:-1 and was hidden behind the CTA.
   Keep the ring above the button edge and make hover movement explicit.
   ================================================================ */
html body .primary-yellow-cta.primary-yellow-cta--pulse {
  position: relative !important;
  z-index: 0 !important;
  overflow: visible !important;
  will-change: transform !important;
  transform: translate3d(0,0,0) scale(1) !important;
  transition: transform .18s ease-out !important;
}
html body .primary-yellow-cta.primary-yellow-cta--pulse::before {
  content: "" !important;
  position: absolute !important;
  inset: -4px !important;
  border: 3px solid rgba(255, 211, 103, .95) !important;
  border-radius: inherit !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  z-index: 2 !important;
  opacity: 0 !important;
  transform: scale(1) !important;
  transform-origin: center !important;
  animation: viCtaRingPulseVisible 2.5s ease-out infinite !important;
}
html body .primary-yellow-cta.primary-yellow-cta--pulse:hover,
html body .primary-yellow-cta.primary-yellow-cta--pulse:focus-visible {
  transform: translate3d(0,-6px,0) scale(1.025) !important;
}
html body .primary-yellow-cta.primary-yellow-cta--pulse:hover::before,
html body .primary-yellow-cta.primary-yellow-cta--pulse:focus-visible::before {
  animation-play-state: paused !important;
  opacity: .55 !important;
  transform: scale(1.04) !important;
}
@keyframes viCtaRingPulseVisible {
  0%, 55% {
    opacity: 0;
    transform: scale(1);
  }
  62% {
    opacity: .95;
    transform: scale(1);
  }
  88% {
    opacity: 0;
    transform: scale(1.12, 1.42);
  }
  100% {
    opacity: 0;
    transform: scale(1.12, 1.42);
  }
}
@media (prefers-reduced-motion: reduce) {
  html body .primary-yellow-cta.primary-yellow-cta--pulse::before {
    animation: none !important;
    display: none !important;
  }
  html body .primary-yellow-cta.primary-yellow-cta--pulse {
    transition: none !important;
  }
}

/* ================================================================
   v10.19 — inline viCOMPASSa typography inheritance
   The brand keeps only its color treatment. All typographic metrics
   inherit from the surrounding sentence, heading, card, or footer.
   ================================================================ */
html body .vicompassa-inline-brand {
  font-family: inherit !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-variant: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  word-spacing: inherit !important;
}
html body .vicompassa-inline-brand > .vicompassa-inline-brand__vi,
html body .vicompassa-inline-brand > .vicompassa-inline-brand__compass,
html body .vicompassa-inline-brand > .vicompassa-inline-brand__a {
  font-family: inherit !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-variant: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  word-spacing: inherit !important;
}

/* ================================================================
   v10.25 — compact Discuss CTA on non-home pages only
   The homepage CTA is deliberately excluded and remains untouched.
   Other pages are reduced to the approved compact homepage scale.
   ================================================================ */
html body:not(.home-page) a.primary-yellow-cta.primary-yellow-cta--pulse {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  min-height: 0 !important;
  height: auto !important;
  padding: .62em 1.28em !important;
  gap: .45em !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
html body:not(.home-page) a.primary-yellow-cta.primary-yellow-cta--pulse > .primary-yellow-cta__label {
  display: inline !important;
  width: auto !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
html body:not(.home-page) a.primary-yellow-cta.primary-yellow-cta--pulse::after {
  font-size: 1em !important;
}
@media (max-width: 760px) {
  html body:not(.home-page) a.primary-yellow-cta.primary-yellow-cta--pulse {
    max-width: 100% !important;
    font-size: .82rem !important;
    padding: .58em 1.12em !important;
  }
}

/* ================================================================
   v10.26 — Decision Navigation subpage CTA sizing
   These pages also carry the home-page class, so the v10.25
   body:not(.home-page) rule did not reach them. The actual homepage
   remains untouched; only Decision Navigation subpages are reduced.
   ================================================================ */
html body.decision-navigation-subpage a.primary-yellow-cta.primary-yellow-cta--pulse {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  min-height: 0 !important;
  height: auto !important;
  padding: .62em 1.28em !important;
  gap: .45em !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
html body.decision-navigation-subpage a.primary-yellow-cta.primary-yellow-cta--pulse > .primary-yellow-cta__label {
  display: inline !important;
  width: auto !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
html body.decision-navigation-subpage a.primary-yellow-cta.primary-yellow-cta--pulse::after {
  font-size: 1em !important;
}
@media (max-width: 760px) {
  html body.decision-navigation-subpage a.primary-yellow-cta.primary-yellow-cta--pulse {
    max-width: 100% !important;
    font-size: .82rem !important;
    padding: .58em 1.12em !important;
  }
}

/* ================================================================
   viCOMPASSa v10.30 — engagement closing panel cleanup
   Remove the closing CTA panel background/blur and add 0.5 cm before
   the Previous / Return / Next navigation row on every engagement page.
   ================================================================ */
body.service-engagement-page .service-page-cta .cta-box {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

body.service-engagement-page .service-pagination {
  margin-top: 0.5cm !important;
}


/* v10.36 — question-led Decision Engineering content */
.decision-engineering-section{padding:1.4cm 0;background:transparent}
.decision-engineering-card{max-width:1180px;margin:0 auto;padding:1.15cm 1.25cm;background:rgba(7,29,57,.94);border:1px solid #EEC665;border-radius:32px;color:#fff;box-shadow:0 18px 48px rgba(0,0,0,.18)}
.decision-engineering-card .eyebrow,.phase-reflection .eyebrow{color:#EEC665;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.decision-engineering-card h2{margin:.35cm 0 .45cm;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1.08;color:#fff}
.decision-engineering-card>p{max-width:1000px;font-size:1.18rem;line-height:1.75}
.decision-engineering-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45cm;margin-top:.75cm}
.decision-engineering-questions p{margin:0;padding:.55cm .65cm;border-left:3px solid #EEC665;background:rgba(255,255,255,.035);font-size:1.05rem;line-height:1.55}
.phase-reflection{max-width:1180px;margin:.8cm auto 0;padding:.7cm .8cm;border-left:3px solid #EEC665;background:rgba(7,29,57,.9);color:#fff}
.phase-reflection p{margin:.2cm 0 0;font-family:Georgia,serif;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.35}
@media(max-width:760px){.decision-engineering-questions{grid-template-columns:1fr}.decision-engineering-card{padding:.8cm}.phase-reflection{margin:.6cm .4cm 0}}

/* ================================================================
   v10.37 — exact Executive Reflection-to-footer spacing
   On the seven COMPASS phase pages, remove the phase section's large
   bottom padding. The global main-to-footer margin is the sole spacing
   source, leaving exactly 1.2 cm from the reflection edge to the footer.
   ================================================================ */
body.compass-phase-page .phase-content {
  padding-bottom: 0 !important;
}
body.compass-phase-page main + .site-footer,
body.compass-phase-page main + .executive-footer,
body.compass-phase-page main + footer {
  margin-top: 1.2cm !important;
}

/* ================================================================
   v10.38 — non-collapsing Executive Reflection footer gap
   A block pseudo-element creates a visible, measurable 1.2 cm space
   after the final reflection and before the footer on COMPASS phases.
   ================================================================ */
body.compass-phase-page main {
  margin-bottom: 0 !important;
}
body.compass-phase-page main::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 1.2cm !important;
  min-height: 1.2cm !important;
  background: transparent !important;
  pointer-events: none !important;
}
body.compass-phase-page main + .site-footer,
body.compass-phase-page main + .executive-footer,
body.compass-phase-page main + footer {
  margin-top: 0 !important;
}

/* ================================================================
   v11.02 — Contact page: reduce the space after the cards by 2.7 cm
   ================================================================ */
body.contact-page .contact-path {
  padding-bottom: max(0px, calc(clamp(80px, 9vw, 135px) - 2.7cm)) !important;
}

/* ================================================================
   v11.03 — Global balanced typography and orphan-line prevention
   ================================================================ */
:is(h1,h2,h3,.hero-title,.section-title,.card-title,.cta-title) {
  text-wrap: balance;
}

:is(.hero-copy,.hero-subtitle,.service-hero p,.section-intro,.lead,.lede) {
  text-wrap: pretty;
}

/* Give advisory hero copy enough horizontal room before wrapping. */
@media (min-width: 1500px) {
  body.service-engagement-page .service-hero .container {
    width: min(96vw, 1900px) !important;
    max-width: 1900px !important;
  }

  body.service-engagement-page .service-hero h1 {
    max-width: none !important;
    width: max-content;
    font-size: clamp(3rem, 4.6vw, 6.2rem) !important;
    white-space: nowrap;
  }

  body.service-engagement-page .service-hero p {
    max-width: none !important;
    width: auto;
    white-space: nowrap;
  }
}

/* On narrower screens, wrap naturally but keep the lines visually balanced. */
@media (max-width: 1499px) {
  body.service-engagement-page .service-hero h1,
  body.service-engagement-page .service-hero p {
    width: auto;
    max-width: min(100%, 1100px) !important;
    white-space: normal;
    text-wrap: balance;
  }
}

/* ================================================================
   v11.03 — Global balanced typography and orphan-line prevention
   ================================================================ */
:is(h1,h2,h3,.hero-title,.section-title,.card-title,.cta-title) {
  text-wrap: balance;
}
:is(.hero-copy,.hero-subtitle,.service-hero p,.section-intro,.lead,.lede) {
  text-wrap: pretty;
}
@media (min-width: 1500px) {
  body.service-engagement-page .service-hero .container {
    width: min(96vw, 1900px) !important;
    max-width: 1900px !important;
  }
  body.service-engagement-page .service-hero h1 {
    max-width: none !important;
    width: max-content;
    font-size: clamp(3rem, 4.6vw, 6.2rem) !important;
    white-space: nowrap;
  }
  body.service-engagement-page .service-hero p {
    max-width: none !important;
    width: auto;
    white-space: nowrap;
  }
}
@media (max-width: 1499px) {
  body.service-engagement-page .service-hero h1,
  body.service-engagement-page .service-hero p {
    width: auto;
    max-width: min(100%, 1100px) !important;
    white-space: normal;
    text-wrap: balance;
  }
}

/* ================================================================
   v11.04 — keep dropdown labels inside the existing menu panels
   ================================================================ */
html body.home-page .site-header .primary-nav .dropdown a {
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  box-sizing: border-box !important;
}

/* ================================================================
   v11.05 — Swedish confidence strip text fit
   Keep the approved component design; give the first Swedish label
   slightly more usable width by moving its copy closer to the icon.
   ================================================================ */
@media (min-width: 900px) {
  html[lang="sv"] body.homepage-nature-journey
  .executive-confidence-shell article:first-child {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 4px !important;
  }

  html[lang="sv"] body.homepage-nature-journey
  .executive-confidence-shell article:first-child > div {
    margin-left: -4px !important;
    min-width: 0 !important;
  }
}

/* ================================================================
   v11.07 — Swedish first confidence-card heading fit
   Preserve the approved card design while giving the long Swedish
   heading a few extra pixels so the final "n" does not wrap alone.
   ================================================================ */
@media (min-width: 900px) {
  html[lang="sv"] body.homepage-nature-journey
  .executive-confidence-shell article:first-child {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    column-gap: 0 !important;
  }

  html[lang="sv"] body.homepage-nature-journey
  .executive-confidence-shell article:first-child > div {
    margin-left: -8px !important;
    min-width: 0 !important;
  }
}

/* ================================================================
   v11.08 — centre the first Swedish confidence-card copy
   Keep the approved icon, separator, dimensions, and typography.
   Centre the copy block in the space available between icon and rule.
   ================================================================ */
@media (min-width: 900px) {
  html[lang="sv"] body.homepage-nature-journey
  .executive-confidence-shell article:first-child {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  html[lang="sv"] body.homepage-nature-journey
  .executive-confidence-shell article:first-child > div {
    margin-left: 0 !important;
    min-width: 0 !important;
    width: max-content !important;
    max-width: 100% !important;
    justify-self: center !important;
    text-align: left !important;
  }
}

/* ================================================================
   v11.11 — verified compact language menu and inter-section spacing
   ================================================================ */
@media (min-width: 1081px) {
  html body .primary-nav .language-menu > .language-dropdown {
    width: 190px !important;
    min-width: 0 !important;
    max-width: 190px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    box-sizing: border-box !important;
  }
  html body .primary-nav .language-menu > .language-dropdown > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 6px !important;
  }
  html body .primary-nav .language-menu > .language-dropdown .language-option {
    gap: 8px !important;
  }
}

/* ================================================================
   v11.12 — language selector: 2 mm horizontal inset
   Keep the approved design and vertical spacing; only tighten the
   distance from the menu border to its row content.
   ================================================================ */
@media (min-width: 1081px) {
  html body .primary-nav .language-menu > .language-dropdown {
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body .primary-nav .language-menu > .language-dropdown > a {
    padding-left: 2mm !important;
    padding-right: 2mm !important;
    gap: 6px !important;
  }
}

/* ================================================================
   v11.13 — language dropdown truly fitted to its contents
   Keep 2 mm between the white panel edge and each row. Remove the
   inherited fixed/stretch width that kept the panel unnecessarily wide.
   ================================================================ */
@media (min-width: 1081px) {
  html body .site-header .primary-nav .language-menu > .language-dropdown {
    width: fit-content !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }

  html body .site-header .primary-nav .language-menu > .language-dropdown > a {
    display: flex !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 2mm !important;
    padding-right: 2mm !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }

  html body .site-header .primary-nav .language-menu > .language-dropdown .active-language {
    margin-left: 0 !important;
  }
}

/* v11.25: keep the Swedish asymmetry icon and label on the same
   middle-column centre line. Break the long compound across two balanced
   lines so it stays inside the column instead of entering the right panel. */
html[lang="sv"] .asymmetry-transition-message {
  width: 148px !important;
  justify-self: center !important;
  justify-items: center !important;
  margin-inline: auto !important;
}
html[lang="sv"] .asymmetry-transition-title-sv {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 148px !important;
  max-width: 148px !important;
  justify-self: center !important;
  margin-inline: auto !important;
  text-align: center !important;
}
html[lang="sv"] .asymmetry-transition-title-sv > span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: nowrap !important;
}


/* v11.37 — crisp active-language flag in the header tab */
.site-header .primary-nav > .language-menu > .language-trigger > .language-current-flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.45rem !important;
  height: 0.97rem !important;
  min-width: 1.45rem !important;
  flex: 0 0 1.45rem !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.site-header .primary-nav > .language-menu > .language-trigger > .language-current-flag > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* v11.81 — canonical viCOMPASSa token, used in every visible language context */
html body .vicompassa-global-token {
  direction: ltr !important;
  unicode-bidi: isolate !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: baseline !important;
  font: inherit !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
}

html body .vicompassa-global-token > span {
  display: inline !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  font: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  text-shadow: inherit !important;
}

html body .vicompassa-global-token__vi,
html body .vicompassa-global-token__a {
  color: #EEC665 !important;
  -webkit-text-fill-color: #EEC665 !important;
}

html body .vicompassa-global-token__compass {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Arabic: keep the Latin brand token isolated from adjacent Arabic words. */
html[dir="rtl"] body .vicompassa-global-token,
html[lang="ar"] body .vicompassa-global-token {
  direction: ltr !important;
  unicode-bidi: isolate !important;
  flex-direction: row !important;
}
/* end v11.81 */


