/*
 * Site-wide section-header contract.
 *
 * Keep structural spacing and title typography here. Page styles may set
 * colour and measure, but must not redefine the eyebrow/title/intro rhythm
 * or title scale.
 */
.aqa-section-header {
  --aqa-section-header-eyebrow-gap: clamp(14px, 1.4vw, 20px);
  --aqa-section-header-intro-gap: clamp(14px, 1.25vw, 18px);
  --aqa-section-header-title-size: clamp(32px, 3.5vw, 52px);
  --aqa-section-header-title-line-height: 1.04;
  --aqa-section-header-title-letter-spacing: -.035em;
  --aqa-section-header-intro-size: clamp(16px, 1.2vw, 18px);
  --aqa-section-header-intro-line-height: 1.6;
  display: grid;
  align-content: start;
  gap: 0;
}

.aqa-section-header .aqa-section-header__eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-self: start;
  gap: 10px;
  margin: 0 0 var(--aqa-section-header-eyebrow-gap);
  font-family: var(--tp-ff-inter, sans-serif);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.aqa-section-header .aqa-section-header__title.aqa-home-section-title {
  margin: 0;
  font-family: var(--tp-ff-inter, sans-serif);
  font-size: var(--aqa-section-header-title-size);
  font-weight: 600;
  line-height: var(--aqa-section-header-title-line-height);
  letter-spacing: var(--aqa-section-header-title-letter-spacing);
  text-wrap: balance;
}

.aqa-section-header .aqa-section-header__intro {
  margin: var(--aqa-section-header-intro-gap) 0 0;
  font-family: var(--tp-ff-inter, sans-serif);
  font-size: var(--aqa-section-header-intro-size);
  font-weight: 400;
  line-height: var(--aqa-section-header-intro-line-height);
  text-wrap: pretty;
  overflow-wrap: anywhere;
}

/* Existing AI QA section-header design, shared outside the home page. */
.ai-qa-section__header.tp-counter-cst-bridge-copy {
  max-width: 980px;
}

.ai-qa-section__header.tp-counter-cst-bridge-copy .ai-qa-eyebrow {
  color: rgb(16 24 32 / 68%);
}

.ai-qa-section__header.tp-counter-cst-bridge-copy .ai-qa-eyebrow::before {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--service-green, var(--ai-qa-accent, #b4e717));
  content: "";
}

.ai-qa-section__header .aqa-section-header__title.aqa-home-section-title {
  max-width: 980px;
  color: #101820;
}

.ai-qa-section__header.tp-counter-cst-bridge-copy .aqa-section-header__intro {
  max-width: 790px;
  color: rgb(16 24 32 / 64%);
}

.ai-qa-section--dark .ai-qa-section__header .ai-qa-eyebrow {
  color: rgb(255 255 255 / 62%) !important;
}

.ai-qa-section--dark .ai-qa-section__header .aqa-home-section-title {
  color: var(--ai-qa-paper, #f7f4ed) !important;
}

.ai-qa-section--dark .ai-qa-section__header .aqa-section-header__intro {
  color: rgb(255 255 255 / 72%);
}

/* Editorial split: heading at left, supporting copy at right. */
.aqa-section-header--split {
  grid-template-columns: minmax(0, .9fr) minmax(260px, .55fr);
  align-items: end;
  column-gap: clamp(40px, 8vw, 130px);
}

.aqa-section-header--split > .aqa-section-header__eyebrow,
.aqa-section-header--split > .aqa-section-header__title {
  grid-column: 1;
}

.aqa-section-header--split > .aqa-section-header__intro {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin-top: 0;
}

/* Capability headers preserve their richer nested layout while sharing rhythm. */
.aqa-section-header--capabilities {
  display: block;
}

/* Compact titles are reserved for genuinely narrow content columns. */
.aqa-section-header--compact {
  --aqa-section-header-title-size: clamp(28px, 2.5vw, 40px);
  --aqa-section-header-title-line-height: 1.08;
  --aqa-section-header-title-letter-spacing: -.035em;
}

.aqa-section-header--compact .aqa-section-header__title.aqa-home-section-title {
  text-wrap: pretty;
}

/* Section-to-content spacing for the shared header variants. */
.qa-pilot-proof__header {
  margin-bottom: clamp(32px, 3.5vw, 48px);
}

.qa-pilot-problem__header {
  margin-bottom: clamp(42px, 6vw, 78px);
}

.qa-pilot-capabilities__header {
  margin-bottom: clamp(46px, 6vw, 82px);
}

.qa-pilot-workflow__header {
  margin-bottom: clamp(52px, 7vw, 92px);
}

.qa-pilot-timeline__header {
  margin-bottom: clamp(34px, 4.5vw, 56px);
}

.qa-pilot-deliverables__header {
  margin-bottom: clamp(40px, 5vw, 64px);
}

.qa-pilot-offer__header,
.qa-pilot-fit__header {
  margin-bottom: clamp(42px, 6vw, 72px);
}

.qa-enablement-light-header {
  margin-bottom: clamp(48px, 7vw, 82px);
}

.qa-enablement-dark-header {
  margin-bottom: clamp(48px, 7vw, 86px);
}

.tam-section-header {
  margin-bottom: clamp(44px, 5vw, 72px);
}

.tam-paths__header {
  margin-bottom: clamp(42px, 6vw, 78px);
}

.tam-problem__header {
  margin-bottom: clamp(42px, 5vw, 68px);
}

.tam-operating-model .tam-section-header {
  margin-bottom: clamp(52px, 7vw, 92px);
}

.tam-deliverables__header {
  margin-bottom: clamp(40px, 5vw, 68px);
}

.tam-page .qa-pilot-timeline__header .tam-section-header {
  margin-bottom: 0;
}

.tam-page .tam-faq-cta .tp-counter-cst-kicker {
  margin: 0 0 var(--aqa-section-header-eyebrow-gap);
}

@media (max-width: 991px) {
  .aqa-section-header--split-tablet {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .aqa-section-header--split-tablet > .aqa-section-header__eyebrow,
  .aqa-section-header--split-tablet > .aqa-section-header__title,
  .aqa-section-header--split-tablet > .aqa-section-header__intro {
    grid-column: 1;
    grid-row: auto;
  }

  .aqa-section-header--split-tablet > .aqa-section-header__intro {
    margin-top: var(--aqa-section-header-intro-gap);
  }
}

@media (max-width: 767px) {
  .aqa-section-header--split {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .aqa-section-header--split > .aqa-section-header__eyebrow,
  .aqa-section-header--split > .aqa-section-header__title,
  .aqa-section-header--split > .aqa-section-header__intro {
    grid-column: 1;
    grid-row: auto;
  }

  .aqa-section-header--split > .aqa-section-header__intro {
    margin-top: var(--aqa-section-header-intro-gap);
  }

  .tam-section-header,
  .tam-paths__header,
  .tam-problem__header {
    margin-bottom: 38px;
  }

  .tam-page .qa-pilot-timeline__header .tam-section-header {
    margin-bottom: 0;
  }
}

@media (max-width: 575px) {
  .tam-paths__header {
    margin-bottom: 34px;
  }
}
