/* 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 {
  gap: 16px !important;
}

body.page-workflow .case-panel .case-stat > div {
  display: flex !important;
  min-height: 164px !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 24px !important;
}

body.page-workflow .case-panel .case-stat strong {
  font-size: clamp(2.15rem, 2.8vw, 2.65rem) !important;
  white-space: nowrap !important;
}

body.page-workflow .case-panel .case-stat span:not(.arrow) {
  color: #cbd6e2 !important;
  -webkit-text-fill-color: #cbd6e2 !important;
  line-height: 1.5 !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 > 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;
  }

}
