/* Site-wide visual consistency layer. Keep this stylesheet last in the cascade. */

/* Conversion reassurance should read as a separate supporting line. */
body.gg-design-v2 .hero-reassurance,
body.gg-refined .hero-reassurance {
  margin: 14px 0 0 !important;
  color: #cbd6e2 !important;
  -webkit-text-fill-color: #cbd6e2 !important;
  line-height: 1.55 !important;
}

/* Standard dark-surface status pill: pale mint surface and dark teal copy. */
body.gg-design-v2 .section-dark .tag.tag-dark,
body.gg-refined .section-dark .tag.tag-dark,
body.gg-design-v2 .case-panel .tag.tag-dark,
body.gg-refined .case-panel .tag.tag-dark,
body.page-results .proof-summary .proof-kicker {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border: 1px solid #8dcfc4 !important;
  border-radius: 999px !important;
  background: #e1f5f1 !important;
  color: #0b5f55 !important;
  -webkit-text-fill-color: #0b5f55 !important;
  line-height: 1.25 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

body.gg-design-v2 .case-panel .tag.tag-dark,
body.gg-refined .case-panel .tag.tag-dark {
  justify-self: start !important;
}

body.page-results .proof-summary .proof-kicker {
  margin: 0 0 20px !important;
}

/* Keep the headline result readable as one deliberate comparison. */
body.page-results .proof-summary .proof-number {
  display: grid !important;
  grid-template-columns: max-content auto max-content !important;
  align-items: center !important;
  column-gap: clamp(10px, 1.25vw, 18px) !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: clamp(2.35rem, 3.25vw, 3.15rem) !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
}

body.page-results .proof-summary .proof-metric,
body.page-results .proof-summary .proof-arrow {
  display: block !important;
  white-space: nowrap !important;
}

body.page-results .proof-summary .proof-arrow {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: .8em !important;
  line-height: 1 !important;
}

/* Keep the flagship offer compact and protect its contrast from legacy rules. */
body.page-home .flagship-deliverables {
  align-items: start !important;
  gap: clamp(24px, 3vw, 36px) !important;
  padding: clamp(26px, 3vw, 38px) !important;
}

body.page-home .flagship-price-card,
body.page-audit .flagship-price-card {
  align-self: start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(24px, 3vw, 32px) !important;
}

body.page-home .flagship-price-card > strong,
body.page-audit .flagship-price-card > strong {
  margin: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.page-home .flagship-price-card > span:not(.tag),
body.page-audit .flagship-price-card > span:not(.tag) {
  margin: 0 0 6px !important;
  color: #d5e1e8 !important;
  -webkit-text-fill-color: #d5e1e8 !important;
}

body.page-home .flagship-price-card .button {
  width: 100% !important;
  margin-top: 8px !important;
}

body.page-home .flagship-price-card .text-link {
  margin-top: 6px !important;
  color: #8ee7d6 !important;
  -webkit-text-fill-color: #8ee7d6 !important;
  opacity: 1 !important;
}

/* The partner disclaimer needs separation and a readable line length. */
body.page-home .partner-network-note {
  max-width: 78ch !important;
  margin: 24px auto 0 !important;
  padding-inline: clamp(8px, 2vw, 24px) !important;
  color: #4d5d6e !important;
  -webkit-text-fill-color: #4d5d6e !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

/* The evidence link is secondary; it should not compete with primary CTAs. */
body.page-workflow .section-dark > .case-study {
  width: min(calc(100% - 40px), 1040px) !important;
  margin-inline: auto !important;
}

body.page-workflow .case-panel .button-light {
  border-color: rgba(255, 255, 255, .34) !important;
  background: rgba(255, 255, 255, .06) !important;
  color: #f7fbff !important;
  -webkit-text-fill-color: #f7fbff !important;
  box-shadow: none !important;
}

body.page-workflow .case-panel .button-light:hover {
  border-color: rgba(142, 231, 214, .72) !important;
  background: rgba(67, 206, 181, .14) !important;
}

/* Use a balanced two-line title on desktop, without forcing mobile overflow. */
body.page-workflow .case-panel > h2 {
  width: 100% !important;
  max-width: none !important;
  font-size: clamp(2.25rem, 2.75vw, 2.75rem) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

body.page-workflow .case-panel > h2 .case-title-line {
  display: block !important;
  white-space: nowrap !important;
}

/* Result metrics use the same compact scale as the homepage evidence cards. */
body.page-workflow .case-panel .case-stat {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.page-workflow .case-panel .case-stat > div {
  display: flex !important;
  min-height: 164px !important;
  min-width: 0 !important;
  width: auto !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 20px 18px !important;
  box-sizing: border-box !important;
}

body.page-workflow .case-panel .case-stat strong {
  font-size: clamp(2rem, 2.35vw, 2.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
  white-space: nowrap !important;
}

body.page-workflow .case-panel .case-stat span:not(.arrow) {
  color: #cbd6e2 !important;
  -webkit-text-fill-color: #cbd6e2 !important;
  font-size: .75rem !important;
  line-height: 1.4 !important;
  text-wrap: balance;
}

body.page-workflow .case-panel .case-stat .arrow {
  min-width: 0 !important;
  font-size: 1.5rem !important;
  line-height: 1 !important;
  justify-self: center !important;
}

@media (max-width: 620px) {
  body.page-results .proof-summary .proof-number {
    column-gap: 8px !important;
    font-size: clamp(1.7rem, 7.5vw, 2.15rem) !important;
  }

  body.page-home .flagship-deliverables {
    padding: 22px !important;
  }

  body.page-home .flagship-price-card,
  body.page-audit .flagship-price-card {
    padding: 22px !important;
  }

  body.page-workflow .case-panel .case-stat > div {
    min-height: 0 !important;
  }

  body.page-workflow .case-panel .case-stat {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.page-workflow .case-panel .case-stat .arrow {
    transform: rotate(90deg) !important;
  }

  body.page-workflow .case-panel > h2 {
    font-size: clamp(2rem, 10vw, 2.65rem) !important;
  }

  body.page-workflow .case-panel > h2 .case-title-line {
    display: inline !important;
    white-space: normal !important;
  }

}

/* September consistency pass: shared hero rhythm, type hierarchy, and contrast. */
body.gg-design-v2 :is(.page-hero, .hero) .breadcrumb,
body.gg-refined :is(.page-hero, .hero) .breadcrumb {
  margin: 0 0 18px !important;
  color: #b9c8d6 !important;
  -webkit-text-fill-color: #b9c8d6 !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
}

body.gg-design-v2 :is(.page-hero, .hero) .breadcrumb a,
body.gg-refined :is(.page-hero, .hero) .breadcrumb a {
  color: #dce6ee !important;
  -webkit-text-fill-color: #dce6ee !important;
  text-decoration-color: rgba(142, 231, 214, .52) !important;
}

body.gg-design-v2 :is(.page-hero, .hero) .eyebrow,
body.gg-refined :is(.page-hero, .hero) .eyebrow,
body.page-insight-article .article-header .eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
}

body.gg-design-v2 :is(.page-hero, .hero) .eyebrow::before,
body.gg-refined :is(.page-hero, .hero) .eyebrow::before,
body.page-insight-article .article-header .eyebrow::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #43ceb5, #d7ad55) !important;
}

body.gg-design-v2 .page-hero .button-light,
body.gg-refined .page-hero .button-light {
  border-color: rgba(255, 255, 255, .36) !important;
  background: rgba(255, 255, 255, .045) !important;
  color: #f7fbff !important;
  -webkit-text-fill-color: #f7fbff !important;
  box-shadow: none !important;
}

body.gg-design-v2 .page-hero .button-light:hover,
body.gg-refined .page-hero .button-light:hover {
  border-color: rgba(142, 231, 214, .76) !important;
  background: rgba(67, 206, 181, .13) !important;
}

/* Evaluation features sit on a light section; legacy dark-card colors failed here. */
body.page-evaluation .scorecard-feature {
  border-color: #cfdbdf !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(13, 34, 48, .075) !important;
}

body.page-evaluation .scorecard-feature span {
  border-color: #a9d8d0 !important;
  background: #e2f5f1 !important;
  color: #0b665b !important;
  -webkit-text-fill-color: #0b665b !important;
}

body.page-evaluation .scorecard-feature strong {
  color: #0b1b2d !important;
  -webkit-text-fill-color: #0b1b2d !important;
}

body.page-evaluation .scorecard-feature p {
  color: #516273 !important;
  -webkit-text-fill-color: #516273 !important;
}

/* Process steps are supporting cards, not competing page headlines. */
body.page-process .section .card > h2 {
  margin: 14px 0 12px !important;
  font-size: clamp(1.35rem, 1.75vw, 1.72rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
}

/* Align the founder's authority panel with the profile heading. */
@media (min-width: 821px) {
  body.page-about .founder-text-only .founder-profile-aside {
    grid-row: 2 / span 2 !important;
  }
}

/* Bring the three compact insight pages into the established dark editorial shell. */
body.page-insight-article .article-header {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(68px, 6vw, 92px) 0 clamp(58px, 5vw, 78px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(67, 206, 181, .13), transparent 34%),
    linear-gradient(135deg, #071728 0%, #0b2033 58%, #10283b 100%) !important;
  color: #f7fbff !important;
}

body.page-insight-article .article-header::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 72px 72px;
}

body.page-insight-article .article-header .container {
  position: relative !important;
  z-index: 1 !important;
}

body.page-insight-article .article-header .breadcrumb {
  margin: 0 0 18px !important;
  color: #b9c8d6 !important;
  -webkit-text-fill-color: #b9c8d6 !important;
  font-size: .84rem !important;
}

body.page-insight-article .article-header .breadcrumb a {
  color: #dce6ee !important;
  -webkit-text-fill-color: #dce6ee !important;
}

body.page-insight-article .article-header .eyebrow {
  margin-bottom: 22px !important;
  color: #8ee7d6 !important;
  -webkit-text-fill-color: #8ee7d6 !important;
}

body.page-insight-article .article-header h1 {
  max-width: 14ch !important;
  margin: 0 !important;
  color: #f8fbff !important;
  -webkit-text-fill-color: #f8fbff !important;
  font-size: clamp(3rem, 5vw, 4.75rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

body.page-insight-article .article-deck {
  max-width: 760px !important;
  margin-top: 24px !important;
  color: #c9d5df !important;
  -webkit-text-fill-color: #c9d5df !important;
  font-size: clamp(1.05rem, 1.45vw, 1.2rem) !important;
  line-height: 1.68 !important;
}

body.page-insight-article .article-meta {
  margin-top: 20px !important;
  color: #b7c5d2 !important;
  -webkit-text-fill-color: #b7c5d2 !important;
}

body.page-insight-article .article-body {
  width: min(calc(100% - 40px), 780px) !important;
  padding-top: clamp(56px, 6vw, 82px) !important;
  padding-bottom: clamp(68px, 7vw, 96px) !important;
}

@media (max-width: 720px) {
  body.page-insight-article .article-header {
    padding: 54px 0 50px !important;
  }

  body.page-insight-article .article-header h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
  }

  body.page-insight-article .article-body {
    width: min(calc(100% - 32px), 780px) !important;
  }
}
