/* =========================================================
   IMMIX LOCKED TYPOGRAPHY SYSTEM v2
   Main-content scoped typography layer for upgraded Immix pages

   Upload path:
   /assets/css/immix-locked-typography.css

   What changed in v2:
   - Typography lock is now scoped to main/page content, not the full page wrapper.
   - Footer is protected from typography overrides.
   - Dark navy sections keep white headings/body copy instead of becoming blue-on-blue.
   - H1 remains Noto Serif.
   - H2-H6, body, cards, buttons, labels and forms remain Inter.
   - 17px readability floor is preserved.
========================================================= */

:root {
  --ix-font-sans: "Inter", Arial, Helvetica, sans-serif;
  --ix-font-serif: "Noto Serif", Georgia, serif;

  --ix-type-body-size: 17px;
  --ix-type-body-line: 1.68;
  --ix-type-lead-line: 1.72;
  --ix-type-card-line: 1.6;

  --ix-type-h1-size: clamp(46px, 4vw, 64px);
  --ix-type-h1-line: 0.98;
  --ix-type-h1-tracking: -0.042em;

  --ix-type-h2-size: clamp(28px, 2vw, 34px);
  --ix-type-h2-line: 1.12;
  --ix-type-h2-tracking: -0.024em;

  --ix-type-h3-size: clamp(22px, 1.55vw, 29px);
  --ix-type-h3-line: 1.16;
  --ix-type-h3-tracking: -0.018em;

  --ix-type-kicker-size: 17px;
  --ix-type-text: #344f6a;
  --ix-type-muted: #4f6681;
  --ix-type-heading: var(--ix-navy-800, #12345d);
  --ix-type-green: var(--ix-green-650, #568f32);
}

/* =========================================================
   Main-content scope only
   This prevents the global footer/header from being restyled.
========================================================= */

:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-resources-page main,
  .ix-tax-page main,
  .ix-funding-page main,
  .ix-gsi-page main,
  .ix-lunch-page main,
  .ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Keep header/footer under their own CSS systems. */
:is(
  header,
  footer,
  .ixf-footer,
  .ixf-footer *,
  .main-header,
  .main-header *,
  .main-menu,
  .main-menu *,
  .immix-shared-header,
  .immix-shared-header *
) {
  font-family: inherit;
}

/* Base text: keep meaningful reader-facing content at the successful 17px floor. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-resources-page main,
  .ix-tax-page main,
  .ix-funding-page main,
  .ix-gsi-page main,
  .ix-lunch-page main,
  .ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ix-lead,
  [class*="__lead"],
  [class*="__lede"],
  [class*="__text"],
  [class*="__copy"],
  [class*="__body"],
  [class*="__note"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

/* Muted but legible body text in main content only. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

/* H1: the only intentional serif headline. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-resources-page main,
  .ix-tax-page main,
  .ix-funding-page main,
  .ix-gsi-page main,
  .ix-lunch-page main,
  .ix-typography-locked
) :where(h1),
:is(
  #ixc-page-title,
  #ixq-page-title,
  #ixhome-hero-title,
  #ixabout-hero-title,
  #ixapproach-hero-title,
  #ixg-hero-title,
  #ixba-hero-title
) {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

/* H2-H6: Inter for the locked Contact / Quote page feel. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-resources-page main,
  .ix-tax-page main,
  .ix-funding-page main,
  .ix-gsi-page main,
  .ix-lunch-page main,
  .ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(h3) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

/* Kicker / eyebrow labels: legible, not tiny. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(
  .ix-kicker,
  .ixq-kicker,
  .ixg-kicker,
  .ixabout-kicker,
  .ixapproach-kicker,
  .ixba-kicker,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Buttons and form controls: match Quote/Contact readability. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(
  input,
  select,
  textarea
) {
  min-height: 52px !important;
  font-family: var(--ix-font-sans) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(
  button,
  [class*="btn"],
  [class*="button"],
  [class*="submit"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* Card copy and lists: preserve the easy Contact/Quote rhythm. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(
  [class*="card"] p,
  [class*="card"] li,
  [class*="panel"] p,
  [class*="panel"] li,
  [class*="step"] p,
  [class*="detail"] span,
  [class*="detail"] strong
) {
  font-size: 17px !important;
  line-height: var(--ix-type-card-line) !important;
}

/* Lead text gets the taller proven hero rhythm. */
:is(
  .ix-contact-page main,
  .ixq-page main,
  .ixhome-page main,
  .ixabout-main,
  .ixapproach-main,
  main.ixg-page,
  .ixg-page main,
  .ixba-page main,
  .ix-typography-locked
) :where(
  .ix-lead,
  .ixq-lead,
  .ixg-hero__lead,
  .ixhome-hero__lede,
  .ixabout-hero__lede,
  .ixapproach-hero__lede,
  .ixba-hero__lede
) {
  font-size: 17px !important;
  line-height: var(--ix-type-lead-line) !important;
  font-weight: 500 !important;
  color: var(--ix-type-muted) !important;
}

/* =========================================================
   Dark-section contrast restoration
   Prevents blue-on-blue after the main typography lock.
========================================================= */

:is(
  .ixabout-group__card,
  .ixabout-group__card *,
  .ixabout-values,
  .ixabout-values *,
  .ixabout-wide-note,
  .ixabout-wide-note *,
  .ixapproach-cta__card,
  .ixapproach-cta__card *,
  .ixapproach-hero__panel,
  .ixapproach-hero__panel *,
  .ixg-hero__panel,
  .ixg-hero__panel *,
  .ixg-cta__card,
  .ixg-cta__card *,
  .ixba-hero__panel-card,
  .ixba-hero__panel-card *,
  .ixba-band__card,
  .ixba-band__card *,
  .ixhome-decision-card,
  .ixhome-decision-card *,
  .ixhome-hero__routes,
  .ixhome-hero__routes *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

:is(
  .ixabout-group__card,
  .ixabout-values,
  .ixabout-wide-note,
  .ixapproach-cta__card,
  .ixapproach-hero__panel,
  .ixg-hero__panel,
  .ixg-cta__card,
  .ixba-hero__panel-card,
  .ixba-band__card,
  .ixhome-decision-card,
  .ixhome-hero__routes
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.84) !important;
}

:is(
  .ixabout-group__card,
  .ixapproach-cta__card,
  .ixg-cta__card,
  .ixba-band__card
) :where(.ixabout-kicker, .ixapproach-kicker, .ixg-kicker, .ixba-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Exceptions for intentionally light cards inside dark sections. */
:is(
  .ixba-band__identity,
  .ixba-band__identity *,
  .ixba-band__logo-card,
  .ixba-band__logo-card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading) !important;
}

:is(
  .ixba-band__identity,
  .ixba-band__identity *,
  .ixba-band__logo-card,
  .ixba-band__logo-card *
) :where(p, li, span, a) {
  color: var(--ix-type-muted) !important;
}

/* Footer hard-protection in case older cached CSS is still present for a moment. */
.ixf-footer :where(h1, h2, h3, h4, h5, h6, p, li, a, span, strong, address, button) {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
}

.ixf-footer .ixf-lead-band__copy h2 {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixf-footer .ixf-brand-card h2,
.ixf-footer .ixf-link-card h3,
.ixf-footer .ixf-linkedin-card h3,
.ixf-footer .ixf-contact-card h3 {
  color: #ffffff !important;
}

.ixf-footer .ixf-brand-card p,
.ixf-footer .ixf-linkedin-card p,
.ixf-footer .ixf-contact-card,
.ixf-footer .ixf-contact-card address,
.ixf-footer .ixf-contact-card span,
.ixf-footer .ixf-link-card a,
.ixf-footer .ixf-contact-list a,
.ixf-footer .ixf-proof-strip span,
.ixf-footer .ixf-bottom p,
.ixf-footer .ixf-bottom a {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 760px) {
  :is(
    .ix-contact-page main,
    .ixq-page main,
    .ixhome-page main,
    .ixabout-main,
    .ixapproach-main,
    main.ixg-page,
    .ixg-page main,
    .ixba-page main,
    .ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    .ix-lead,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  :is(
    .ix-contact-page main,
    .ixq-page main,
    .ixhome-page main,
    .ixabout-main,
    .ixapproach-main,
    main.ixg-page,
    .ixg-page main,
    .ixba-page main,
    .ix-typography-locked
  ) :where(h1),
  :is(
    #ixc-page-title,
    #ixq-page-title,
    #ixhome-hero-title,
    #ixabout-hero-title,
    #ixapproach-hero-title,
    #ixg-hero-title,
    #ixba-hero-title
  ) {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }

  :is(
    .ix-contact-page main,
    .ixq-page main,
    .ixhome-page main,
    .ixabout-main,
    .ixapproach-main,
    main.ixg-page,
    .ixg-page main,
    .ixba-page main,
    .ix-typography-locked
  ) :where(h2) {
    font-size: clamp(28px, 7vw, 34px) !important;
  }

  :is(
    .ix-contact-page main,
    .ixq-page main,
    .ixhome-page main,
    .ixabout-main,
    .ixapproach-main,
    main.ixg-page,
    .ixg-page main,
    .ixba-page main,
    .ix-typography-locked
  ) :where(h3) {
    font-size: clamp(23px, 6vw, 29px) !important;
  }
}

/* Optional utility class for any new page wrapper. */
.ix-typography-locked {
  font-family: var(--ix-font-sans) !important;
}

.ix-typography-locked h1 {
  font-family: var(--ix-font-serif) !important;
}

.ix-typography-locked :where(h2, h3, h4, h5, h6, p, li, a, label, input, select, textarea, button) {
  font-family: var(--ix-font-sans) !important;
}

/* =========================================================
   v3 About-page dark-section contrast hardening
   Fixes nested H3 values-card headings after typography lock.
   Root cause: generic H3 typography rules can overpower dark-panel intent.
========================================================= */

.ixabout-main .ixabout-group__card,
.ixabout-main .ixabout-group__card .ixabout-values {
  color: #ffffff !important;
}

.ixabout-main .ixabout-group__card :is(h2, h3, h4, h5, h6, strong),
.ixabout-main .ixabout-group__card .ixabout-values :is(h2, h3, h4, h5, h6, strong),
.ixabout-main .ixabout-group__card .ixabout-values h3 {
  color: #ffffff !important;
}

.ixabout-main .ixabout-group__card :is(p, li, span),
.ixabout-main .ixabout-group__card .ixabout-values :is(p, li, span),
.ixabout-main .ixabout-group__card .ixabout-values li span {
  color: rgba(255, 255, 255, 0.82) !important;
}

.ixabout-main .ixabout-group__card .ixabout-kicker,
.ixabout-main .ixabout-group__card [class*="kicker"],
.ixabout-main .ixabout-group__card [class*="eyebrow"] {
  color: rgba(255, 255, 255, 0.78) !important;
}

.ixabout-main .ixabout-group__card .ixabout-values {
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

/* Keep the lower light CTA card readable if it sits after the navy section. */
.ixabout-main .ixabout-cta-card :is(h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixabout-main .ixabout-cta-card :is(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

/* =========================================================
   v4 About hero panel contrast hardening
   Fixes "At a glance" and metric text in the About hero card.
========================================================= */

.ixabout-main .ixabout-hero__panel,
.ixabout-main .ixabout-hero__panel * {
  color: #ffffff !important;
}

.ixabout-main .ixabout-hero__panel :is(h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

.ixabout-main .ixabout-hero__panel :is(p, li, span) {
  color: rgba(255, 255, 255, 0.84) !important;
}

.ixabout-main .ixabout-hero__panel .ixabout-kicker,
.ixabout-main .ixabout-hero__panel .ixabout-kicker--light,
.ixabout-main .ixabout-hero__panel [class*="kicker"],
.ixabout-main .ixabout-hero__panel [class*="eyebrow"] {
  color: rgba(255, 255, 255, 0.78) !important;
}

.ixabout-main .ixabout-hero__panel .ixabout-kicker::before,
.ixabout-main .ixabout-hero__panel .ixabout-kicker--light::before,
.ixabout-main .ixabout-hero__panel [class*="kicker"]::before,
.ixabout-main .ixabout-hero__panel [class*="eyebrow"]::before {
  background: rgba(255, 255, 255, 0.78) !important;
}

.ixabout-main .ixabout-metric-grid strong {
  color: #ffffff !important;
}

.ixabout-main .ixabout-metric-grid span {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* =========================================================
   v5 Careers-page typography integration
   Adds Careers page to the unified Immix typography lock.
========================================================= */

/* Careers main-content scope */
main.ixcar-page,
.ixcar-page.ix-typography-locked {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Careers readable text floor */
main.ixcar-page :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixcar-hero__lead,
  .ixcar-hero__panel p,
  .ixcar-intro__copy p,
  .ixcar-intro__copy li,
  .ixcar-opening__header p,
  .ixcar-job__summary p,
  .ixcar-job-section li,
  .ixcar-info-panel li,
  .ixcar-apply-box p,
  .ixcar-apply-box a
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

/* Careers body copy colour */
main.ixcar-page :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

/* Careers H1 remains the only serif heading */
main.ixcar-page :where(h1),
main.ixcar-page .ixcar-hero h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

/* Careers H2-H6 use Inter */
main.ixcar-page :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

main.ixcar-page :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

main.ixcar-page :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

/* Careers kickers */
main.ixcar-page :where(.ixcar-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Careers dark panel contrast restoration */
main.ixcar-page :is(
  .ixcar-hero__panel,
  .ixcar-hero__panel *,
  .ixcar-apply-box,
  .ixcar-apply-box *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixcar-page :is(
  .ixcar-hero__panel,
  .ixcar-apply-box
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.84) !important;
}

main.ixcar-page .ixcar-hero__panel .ixcar-kicker,
main.ixcar-page .ixcar-apply-box .ixcar-kicker,
main.ixcar-page .ixcar-hero__panel [class*="kicker"],
main.ixcar-page .ixcar-apply-box [class*="kicker"] {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Careers light card exception */
main.ixcar-page :is(
  .ixcar-hero__content,
  .ixcar-intro__grid,
  .ixcar-job,
  .ixcar-job-section,
  .ixcar-info-panel
) :where(h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixcar-page :is(
  .ixcar-hero__content,
  .ixcar-intro__grid,
  .ixcar-job,
  .ixcar-job-section,
  .ixcar-info-panel
) :where(p, li, span, a) {
  color: var(--ix-type-muted, #4f6681) !important;
}

/* Careers form/button consistency, if future application forms are added */
main.ixcar-page :where(input, select, textarea) {
  min-height: 52px !important;
  font-family: var(--ix-font-sans) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

main.ixcar-page :where(button, [class*="btn"], [class*="button"], [class*="submit"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* Careers mobile preservation */
@media (max-width: 760px) {
  main.ixcar-page :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    .ixcar-hero__lead,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixcar-page :where(h1),
  main.ixcar-page .ixcar-hero h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }

  main.ixcar-page :where(h2) {
    font-size: clamp(28px, 7vw, 34px) !important;
  }

  main.ixcar-page :where(h3, h4) {
    font-size: clamp(23px, 6vw, 29px) !important;
  }
}

/* =========================================================
   v6 Careers final apply-box readability hardening
   Fixes the "If you think..." paragraph being too dim on navy.
========================================================= */

main.ixcar-page .ixcar-apply-box,
main.ixcar-page .ixcar-apply-box * {
  opacity: 1 !important;
}

main.ixcar-page .ixcar-apply-box h4,
main.ixcar-page .ixcar-apply-box #ixcar-apply-title {
  color: #ffffff !important;
}

main.ixcar-page .ixcar-apply-box p,
main.ixcar-page .ixcar-apply-box p *,
main.ixcar-page .ixcar-apply-box li,
main.ixcar-page .ixcar-apply-box span {
  color: rgba(255, 255, 255, 0.94) !important;
  font-weight: 600 !important;
}

main.ixcar-page .ixcar-apply-box a,
main.ixcar-page .ixcar-apply-box p a {
  color: #ffffff !important;
  font-weight: 850 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.22em !important;
  text-decoration-thickness: 1.5px !important;
}

main.ixcar-page .ixcar-apply-box a:hover,
main.ixcar-page .ixcar-apply-box a:focus {
  color: #ffffff !important;
  text-decoration-thickness: 2px !important;
}

/* =========================================================
   v7 Glossary-page contrast/readability hardening
   Adds explicit safeguards for ixg glossary hero, stats, search,
   term cards, and final CTA after typography lock adoption.
========================================================= */

main.ixg-page .ixg-hero__panel,
main.ixg-page .ixg-cta__card {
  color: #ffffff !important;
}

main.ixg-page .ixg-hero__panel :is(h2, h3, h4, h5, h6, strong),
main.ixg-page .ixg-cta__card :is(h2, h3, h4, h5, h6, strong),
main.ixg-page .ixg-panel__stats strong {
  color: #ffffff !important;
}

main.ixg-page .ixg-hero__panel :is(p, li, span, label),
main.ixg-page .ixg-cta__card :is(p, li, span, a),
main.ixg-page .ixg-panel__stats span {
  color: rgba(255, 255, 255, 0.86) !important;
}

main.ixg-page .ixg-hero__panel :is(input, textarea, select) {
  color: var(--ix-type-text, #344f6a) !important;
  background: #ffffff !important;
}

main.ixg-page .ixg-term-card :is(h2, h3, h4, strong),
main.ixg-page .ixg-tools :is(h2, h3, h4, strong),
main.ixg-page .ixg-faq__panel :is(h2, h3, h4, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixg-page .ixg-term-card__body p {
  color: #193650 !important;
}

main.ixg-page .ixg-term-card__context p,
main.ixg-page .ixg-faq details p,
main.ixg-page .ixg-section-head p {
  color: var(--ix-type-muted, #4f6681) !important;
}

/* =========================================================
   v8 Executive Benefits typography integration
   Adds explicit safeguards for the ixeb executive-benefit page.
========================================================= */

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixeb-copy p,
  .ixeb-hero__panel-item h3,
  .ixeb-hero__panel-item p,
  .ixeb-advisory__card p,
  .ixeb-strategies__lead,
  .ixeb-strategy-card h3,
  .ixeb-strategy-card p,
  .ixeb-strategy-card__subtitle,
  .ixeb-fit__item,
  .ixeb-summary__card p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(h1),
main.ixeb-page .ixeb-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixeb-page,
  .ixeb-page main,
  .ixeb-page.ix-typography-locked
) :where(.ixeb-kicker, .ixeb-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark executive panels */
main.ixeb-page :is(
  .ixeb-hero__panel-card,
  .ixeb-hero__panel-card *,
  .ixeb-fit__panel,
  .ixeb-fit__panel *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixeb-page :is(
  .ixeb-hero__panel-card,
  .ixeb-fit__panel
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixeb-page .ixeb-hero__panel-kicker,
main.ixeb-page .ixeb-fit__header .ixeb-kicker {
  color: rgba(255, 255, 255, 0.82) !important;
}

main.ixeb-page .ixeb-hero__panel-num,
main.ixeb-page .ixeb-strategy-card__number {
  color: #ffffff !important;
}

/* Light executive cards */
main.ixeb-page :is(
  .ixeb-hero__content,
  .ixeb-advisory__card,
  .ixeb-strategy-card,
  .ixeb-summary__card
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixeb-page :is(
  .ixeb-hero__content,
  .ixeb-advisory__card,
  .ixeb-strategy-card,
  .ixeb-summary__card
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixeb-page .ixeb-strategy-card__subtitle {
  color: #4f842e !important;
}

@media (max-width: 760px) {
  :is(
    main.ixeb-page,
    .ixeb-page main,
    .ixeb-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixeb-page .ixeb-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v9 Group Benefit Plans typography integration
   Adds explicit safeguards for the ixgb group-benefit-plans page.
========================================================= */

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixgb-copy p,
  .ixgb-route-card__label,
  .ixgb-route-card__text,
  .ixgb-support__lede,
  .ixgb-support__block h3,
  .ixgb-support__block p,
  .ixgb-products__lead,
  .ixgb-product-card h3,
  .ixgb-product-card p,
  .ixgb-hero__panel-item h3,
  .ixgb-hero__panel-item p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(h1),
main.ixgb-page .ixgb-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixgb-page,
  .ixgb-page main,
  .ixgb-page.ix-typography-locked
) :where(.ixgb-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark group-benefit panels */
main.ixgb-page :is(
  .ixgb-hero__panel-card,
  .ixgb-hero__panel-card *,
  .ixgb-close-cta__card,
  .ixgb-close-cta__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixgb-page :is(
  .ixgb-hero__panel-card,
  .ixgb-close-cta__card
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixgb-page .ixgb-hero__panel-num {
  color: #ffffff !important;
}

/* Light group-benefit cards */
main.ixgb-page :is(
  .ixgb-hero__content,
  .ixgb-cta-band__card,
  .ixgb-route-card,
  .ixgb-support__shell,
  .ixgb-product-card
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixgb-page :is(
  .ixgb-hero__content,
  .ixgb-cta-band__card,
  .ixgb-route-card,
  .ixgb-support__shell,
  .ixgb-product-card
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixgb-page .ixgb-route-card__label,
main.ixgb-page .ixgb-kicker,
main.ixgb-page .ixgb-inline-link {
  color: #4f842e !important;
}

main.ixgb-page .ixgb-close-cta__btn--primary {
  color: #0b2a4a !important;
}

main.ixgb-page .ixgb-close-cta__btn--secondary {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :is(
    main.ixgb-page,
    .ixgb-page main,
    .ixgb-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixgb-page .ixgb-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v10 Group Insurance Funding Structures typography integration
   Adds explicit safeguards for the ixgis funding structures page.
========================================================= */

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixgis-hero__lead,
  .ixgis-hero__panel p,
  .ixgis-intro__copy p,
  .ixgis-structure-card p,
  .ixgis-model__intro p,
  .ixgis-model__feature p,
  .ixgis-factor-card p,
  .ixgis-procon li,
  .ixgis-guideline-box li,
  .ixgis-step-list p,
  .ixgis-faq__answer p,
  .ixgis-closing__copy p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(h1),
main.ixgis-page .ixgis-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixgis-page,
  .ixgis-page main,
  .ixgis-page.ix-typography-locked
) :where(.ixgis-kicker, .ixgis-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark funding panels */
main.ixgis-page :is(
  .ixgis-hero__panel,
  .ixgis-hero__panel *,
  .ixgis-model__shell--dark,
  .ixgis-model__shell--dark *,
  .ixgis-faq__panel,
  .ixgis-faq__panel *
) :where(h1, h2, h3, h4, h5, h6, strong, summary) {
  color: #ffffff !important;
}

main.ixgis-page :is(
  .ixgis-hero__panel,
  .ixgis-model__shell--dark,
  .ixgis-faq__panel
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.86) !important;
}

main.ixgis-page :is(
  .ixgis-hero__panel,
  .ixgis-model__shell--dark,
  .ixgis-faq__panel
) :where(.ixgis-kicker, .ixgis-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Light funding cards */
main.ixgis-page :is(
  .ixgis-hero__content,
  .ixgis-intro__card,
  .ixgis-structure-card,
  .ixgis-model__shell:not(.ixgis-model__shell--dark),
  .ixgis-model__feature,
  .ixgis-factor-card,
  .ixgis-procon,
  .ixgis-advisor-note,
  .ixgis-guideline-box,
  .ixgis-bridge__card,
  .ixgis-closing__card,
  .ixgis-closing__aside
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixgis-page :is(
  .ixgis-hero__content,
  .ixgis-intro__card,
  .ixgis-structure-card,
  .ixgis-model__shell:not(.ixgis-model__shell--dark),
  .ixgis-model__feature,
  .ixgis-factor-card,
  .ixgis-procon,
  .ixgis-advisor-note,
  .ixgis-guideline-box,
  .ixgis-bridge__card,
  .ixgis-closing__card,
  .ixgis-closing__aside
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixgis-page .ixgis-structure-card__label,
main.ixgis-page .ixgis-kicker {
  color: #5f9938 !important;
}

main.ixgis-page .ixgis-step-list span {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :is(
    main.ixgis-page,
    .ixgis-page main,
    .ixgis-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixgis-page .ixgis-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v11 Funding dark model contrast hardening
   High-specificity safeguard for ASO / dark model cards.
========================================================= */

main.ixgis-page .ixgis-model__shell--dark,
main.ixgis-page .ixgis-model__shell--dark * {
  opacity: 1 !important;
}

main.ixgis-page .ixgis-model__shell--dark :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  strong,
  summary
) {
  color: #ffffff !important;
}

main.ixgis-page .ixgis-model__shell--dark :is(
  p,
  li,
  span,
  a
) {
  color: rgba(255, 255, 255, 0.92) !important;
}

main.ixgis-page .ixgis-model__shell--dark :is(
  .ixgis-model__feature,
  .ixgis-procon,
  .ixgis-guideline-box,
  .ixgis-advisor-note,
  .ixgis-step-list li,
  .ixgis-step-section__note
) {
  background: rgba(255, 255, 255, 0.105) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
}

main.ixgis-page .ixgis-model__shell--dark :is(
  .ixgis-model__feature,
  .ixgis-procon,
  .ixgis-guideline-box,
  .ixgis-advisor-note,
  .ixgis-step-list li,
  .ixgis-step-section__note
) :is(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixgis-page .ixgis-model__shell--dark :is(
  .ixgis-model__feature,
  .ixgis-procon,
  .ixgis-guideline-box,
  .ixgis-advisor-note,
  .ixgis-step-list li,
  .ixgis-step-section__note
) :is(p, li, span, a) {
  color: rgba(255, 255, 255, 0.90) !important;
}

main.ixgis-page .ixgis-model__shell--dark .ixgis-kicker,
main.ixgis-page .ixgis-model__shell--dark [class*="kicker"],
main.ixgis-page .ixgis-model__shell--dark [class*="eyebrow"] {
  color: #b9df9c !important;
}

main.ixgis-page .ixgis-model__shell--dark .ixgis-kicker::after,
main.ixgis-page .ixgis-model__shell--dark [class*="kicker"]::after,
main.ixgis-page .ixgis-model__shell--dark [class*="eyebrow"]::after {
  background: rgba(185, 223, 156, 0.76) !important;
}

main.ixgis-page .ixgis-model__shell--dark .ixgis-step-list span {
  color: #ffffff !important;
}

/* =========================================================
   v12 Group Savings Plans typography integration
   Adds explicit safeguards for the ixgs group-savings page.
========================================================= */

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixgs-copy p,
  .ixgs-hero__panel-intro,
  .ixgs-hero__panel-item h3,
  .ixgs-hero__panel-item p,
  .ixgs-support__point,
  .ixgs-support__guide p,
  .ixgs-plans__lead,
  .ixgs-plan-card h3,
  .ixgs-plan-card p,
  .ixgs-plan-card li,
  .ixgs-reasons__highlight,
  .ixgs-reasons__callout,
  .ixgs-reason-card h3,
  .ixgs-reason-card p,
  .ixgs-next-step__lede,
  .ixgs-next-step__text strong,
  .ixgs-next-step__text span
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(h1),
main.ixgs-page .ixgs-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixgs-page,
  .ixgs-page main,
  .ixgs-page.ix-typography-locked
) :where(.ixgs-kicker, .ixgs-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark group-savings panels */
main.ixgs-page :is(
  .ixgs-hero__panel-card,
  .ixgs-hero__panel-card *,
  .ixgs-reasons__panel,
  .ixgs-reasons__panel *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixgs-page :is(
  .ixgs-hero__panel-card,
  .ixgs-reasons__panel
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixgs-page :is(
  .ixgs-hero__panel-card,
  .ixgs-reasons__panel
) :where(.ixgs-kicker, .ixgs-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(255, 255, 255, 0.82) !important;
}

main.ixgs-page .ixgs-hero__panel-num,
main.ixgs-page .ixgs-reason-card__number,
main.ixgs-page .ixgs-plan-card__number {
  color: #ffffff !important;
}

/* Light group-savings cards */
main.ixgs-page :is(
  .ixgs-hero__content,
  .ixgs-support__shell,
  .ixgs-support__content-card,
  .ixgs-support__point,
  .ixgs-support__guide,
  .ixgs-plan-card,
  .ixgs-plan-card__list-block,
  .ixgs-next-step__panel,
  .ixgs-next-step__card
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixgs-page :is(
  .ixgs-hero__content,
  .ixgs-support__shell,
  .ixgs-support__content-card,
  .ixgs-support__point,
  .ixgs-support__guide,
  .ixgs-plan-card,
  .ixgs-plan-card__list-block,
  .ixgs-next-step__panel,
  .ixgs-next-step__card
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixgs-page .ixgs-kicker,
main.ixgs-page .ixgs-plan-card__eyebrow,
main.ixgs-page .ixgs-next-step__text strong {
  color: #5f9938 !important;
}

main.ixgs-page .ixgs-inline-btn {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :is(
    main.ixgs-page,
    .ixgs-page main,
    .ixgs-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixgs-page .ixgs-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v13 GSI Disability Coverage typography integration
   Adds explicit safeguards for the ixgsi disability coverage page.
========================================================= */

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixgsi-copy p,
  .ixgsi-hero__panel-copy p,
  .ixgsi-overview__card p,
  .ixgsi-definition__content p,
  .ixgsi-benefits__card li,
  .ixgsi-chart__content p,
  .ixgsi-importance__copy p,
  .ixgsi-faq__answer p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(h1),
main.ixgsi-page .ixgsi-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixgsi-page,
  .ixgsi-page main,
  .ixgsi-page.ix-typography-locked
) :where(.ixgsi-kicker, .ixgsi-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark GSI panels */
main.ixgsi-page :is(
  .ixgsi-hero__panel,
  .ixgsi-hero__panel *,
  .ixgsi-chart,
  .ixgsi-chart *,
  .ixgsi-faq__panel,
  .ixgsi-faq__panel *
) :where(h1, h2, h3, h4, h5, h6, strong, summary) {
  color: #ffffff !important;
}

main.ixgsi-page :is(
  .ixgsi-hero__panel,
  .ixgsi-chart,
  .ixgsi-faq__panel
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixgsi-page :is(
  .ixgsi-hero__panel,
  .ixgsi-chart,
  .ixgsi-faq__panel
) :where(.ixgsi-kicker, .ixgsi-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

main.ixgsi-page .ixgsi-faq__item {
  background: rgba(255, 255, 255, 0.105) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* Light GSI cards */
main.ixgsi-page :is(
  .ixgsi-hero__content,
  .ixgsi-overview__card,
  .ixgsi-definition__shell,
  .ixgsi-benefits__card,
  .ixgsi-chart__figure,
  .ixgsi-importance__card
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixgsi-page :is(
  .ixgsi-hero__content,
  .ixgsi-overview__card,
  .ixgsi-definition__shell,
  .ixgsi-benefits__card,
  .ixgsi-importance__card
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixgsi-page .ixgsi-kicker {
  color: #5f9938 !important;
}

main.ixgsi-page .ixgsi-btn--primary {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :is(
    main.ixgsi-page,
    .ixgsi-page main,
    .ixgsi-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixgsi-page .ixgsi-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v14 Health Spending Accounts typography integration
   Adds explicit safeguards for the ixhsa health-spending page.
========================================================= */

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixhsa-copy p,
  .ixhsa-hero__panel-item h3,
  .ixhsa-hero__panel-item p,
  .ixhsa-structures__lead,
  .ixhsa-structure-card h3,
  .ixhsa-structure-card p,
  .ixhsa-structure-card__eyebrow,
  .ixhsa-explainer__lede,
  .ixhsa-explainer__block h3,
  .ixhsa-explainer__block p,
  .ixhsa-practical__card h3,
  .ixhsa-practical__card p,
  .ixhsa-practical__card li,
  .ixhsa-summary__card p,
  .ixhsa-summary__signal strong,
  .ixhsa-summary__signal span
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(h1),
main.ixhsa-page .ixhsa-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixhsa-page,
  .ixhsa-page main,
  .ixhsa-page.ix-typography-locked
) :where(.ixhsa-kicker, .ixhsa-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark HSA panels */
main.ixhsa-page :is(
  .ixhsa-hero__panel-card,
  .ixhsa-hero__panel-card *,
  .ixhsa-practical__panel,
  .ixhsa-practical__panel *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixhsa-page :is(
  .ixhsa-hero__panel-card,
  .ixhsa-practical__panel
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixhsa-page :is(
  .ixhsa-hero__panel-card,
  .ixhsa-practical__panel
) :where(.ixhsa-kicker, .ixhsa-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

main.ixhsa-page .ixhsa-practical__card {
  background: rgba(255, 255, 255, 0.105) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* Light HSA cards */
main.ixhsa-page :is(
  .ixhsa-hero__content,
  .ixhsa-structures__heading,
  .ixhsa-structure-card,
  .ixhsa-explainer__shell,
  .ixhsa-explainer__content-card,
  .ixhsa-explainer__block,
  .ixhsa-summary__card,
  .ixhsa-summary__signal
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixhsa-page :is(
  .ixhsa-hero__content,
  .ixhsa-structures__heading,
  .ixhsa-structure-card,
  .ixhsa-explainer__shell,
  .ixhsa-explainer__content-card,
  .ixhsa-explainer__block,
  .ixhsa-summary__card,
  .ixhsa-summary__signal
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixhsa-page .ixhsa-kicker,
main.ixhsa-page .ixhsa-structure-card__eyebrow {
  color: #5f9938 !important;
}

main.ixhsa-page .ixhsa-structure-card__number,
main.ixhsa-page .ixhsa-hero__panel-num,
main.ixhsa-page .ixhsa-btn--primary {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :is(
    main.ixhsa-page,
    .ixhsa-page main,
    .ixhsa-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixhsa-page .ixhsa-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v15 Immix Benefits Advantage typography integration
   Adds explicit safeguards for the ixba Immix Benefits Advantage page.
========================================================= */

:is(
  .ixba-page main,
  main.ixba-page
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixba-hero__lede,
  .ixba-hero__byline,
  .ixba-chip,
  .ixba-intro__copy p,
  .ixba-section-head p,
  .ixba-card p,
  .ixba-faq__item p,
  .ixba-cta__content p,
  .ixba-band__card p,
  .ixba-stat p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(h1),
.ixba-page main .ixba-hero h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  .ixba-page main,
  main.ixba-page
) :where(.ixba-kicker, .ixba-hero__eyebrow, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark Immix Benefits Advantage surfaces */
.ixba-page main :is(
  .ixba-visual-card__label,
  .ixba-visual-card__label *,
  .ixba-stat,
  .ixba-stat *,
  .ixba-band__card,
  .ixba-band__card *,
  .ixba-band__card--refined,
  .ixba-band__card--refined *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

.ixba-page main :is(
  .ixba-visual-card__label,
  .ixba-stat,
  .ixba-band__card,
  .ixba-band__card--refined
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

.ixba-page main :is(
  .ixba-band__card,
  .ixba-band__card--refined
) :where(.ixba-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light identity card exception inside navy band */
.ixba-page main :is(
  .ixba-band__identity,
  .ixba-band__identity *,
  .ixba-band__logo-card,
  .ixba-band__logo-card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixba-page main :is(
  .ixba-band__identity,
  .ixba-band__identity *,
  .ixba-band__logo-card,
  .ixba-band__logo-card *
) :where(p, li, span, a) {
  color: var(--ix-type-muted, #4f6681) !important;
}

/* Light Immix Benefits Advantage surfaces */
.ixba-page main :is(
  .ixba-hero__content,
  .ixba-intro__card,
  .ixba-card,
  .ixba-faq__item,
  .ixba-cta__card,
  .ixba-section-head
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixba-page main :is(
  .ixba-hero__content,
  .ixba-intro__card,
  .ixba-card,
  .ixba-faq__item,
  .ixba-cta__card,
  .ixba-section-head
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

.ixba-page main :is(.ixba-kicker, .ixba-hero__eyebrow) {
  color: #4f8735 !important;
}

.ixba-page main .ixba-btn--primary {
  color: #ffffff !important;
}

.ixba-page main .ixba-btn--secondary,
.ixba-page main .ixba-chip {
  color: var(--ix-type-heading, #12345d) !important;
}

@media (max-width: 760px) {
  :is(
    .ixba-page main,
    main.ixba-page
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .ixba-page main .ixba-hero h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v16 Immix Benefits Advantage stat-card contrast hardening
   Fixes overview stat cards after broad light-surface rules.
========================================================= */

.ixba-page main .ixba-intro__statbox .ixba-stat,
.ixba-page main .ixba-intro__statbox .ixba-stat * {
  opacity: 1 !important;
}

.ixba-page main .ixba-intro__statbox .ixba-stat {
  color: #ffffff !important;
  background:
    radial-gradient(circle at 94% 0%, rgba(111, 158, 57, 0.28), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.10), transparent 46%),
    linear-gradient(145deg, #154978 0%, #0b315a 56%, #061f42 100%) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

.ixba-page main .ixba-intro__statbox .ixba-stat strong {
  color: #c9eba9 !important;
}

.ixba-page main .ixba-intro__statbox .ixba-stat span {
  color: #ffffff !important;
}

.ixba-page main .ixba-intro__statbox .ixba-stat p {
  color: rgba(255, 255, 255, 0.90) !important;
}

.ixba-page main .ixba-band__card--refined .ixba-kicker,
.ixba-page main .ixba-band__card--refined .ixba-kicker * {
  color: #c9eba9 !important;
}

.ixba-page main .ixba-band__proof span {
  color: rgba(255, 255, 255, 0.94) !important;
}

/* =========================================================
   v17 Immix Homepage typography integration
   Adds explicit safeguards for the ixhome homepage.
========================================================= */

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixhome-hero__lead,
  .ixhome-hero__lede,
  .ixhome-hero__trust li,
  .ixhome-hero__routes strong,
  .ixhome-hero__routes em,
  .ixhome-path-card p,
  .ixhome-service-card p,
  .ixhome-plan-card p,
  .ixhome-proof-list p,
  .ixhome-advantage__copy p,
  .ixhome-proof-chips span,
  .ixhome-review__card p,
  .ixhome-quote-card p,
  .ixhome-blog-card p,
  .ixhome-next__card p,
  .ixhome-next__actions span,
  .ixhome-next__actions strong
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(h1),
.ixhome-page .ixhome-hero h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: var(--ix-type-h1-size) !important;
  font-weight: 700 !important;
  line-height: var(--ix-type-h1-line) !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  .ixhome-page main,
  .ixhome-page .ixhome-pagewrap,
  main.ixhome-page
) :where(.ixhome-kicker, .ixhome-panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark homepage surfaces */
.ixhome-page :is(
  .ixhome-hero__routes,
  .ixhome-hero__routes *,
  .ixhome-decision-card,
  .ixhome-decision-card *,
  .ixhome-advantage__card,
  .ixhome-advantage__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

.ixhome-page :is(
  .ixhome-hero__routes,
  .ixhome-decision-card,
  .ixhome-advantage__card
) :where(p, li, span, em, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

.ixhome-page :is(.ixhome-panel-kicker, .ixhome-advantage__copy .ixhome-kicker) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light homepage surfaces */
.ixhome-page :is(
  .ixhome-hero__content,
  .ixhome-path-card,
  .ixhome-proof__content,
  .ixhome-proof-list article,
  .ixhome-service-card,
  .ixhome-plan-card,
  .ixhome-review__card,
  .ixhome-quote-card,
  .ixhome-blog-card,
  .ixhome-next__card,
  .ixhome-section-head
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixhome-page :is(
  .ixhome-hero__content,
  .ixhome-path-card,
  .ixhome-proof__content,
  .ixhome-proof-list article,
  .ixhome-service-card,
  .ixhome-plan-card,
  .ixhome-review__card,
  .ixhome-quote-card,
  .ixhome-blog-card,
  .ixhome-next__card,
  .ixhome-section-head
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

.ixhome-page :is(.ixhome-kicker, .ixhome-blog-card__date) {
  color: #4f8735 !important;
}

.ixhome-page :is(.ixhome-btn--primary, .ixhome-inline-btn) {
  color: #ffffff !important;
}

.ixhome-page .ixhome-btn--secondary,
.ixhome-page .ixhome-hero__trust li,
.ixhome-page .ixhome-next__actions a {
  color: var(--ix-type-heading, #12345d) !important;
}

@media (max-width: 760px) {
  :is(
    .ixhome-page main,
    .ixhome-page .ixhome-pagewrap,
    main.ixhome-page
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .ixhome-page .ixhome-hero h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
  }
}

/* =========================================================
   v18 Homepage polish and footer2 protection
   Keeps homepage title scale premium, not oversized, and
   stops homepage typography rules from resizing/recolouring footer2.
========================================================= */

/* Homepage title scale corrections */
.ixhome-page .ixhome-hero h1 {
  max-width: 11.25ch !important;
  font-size: clamp(54px, 5.15vw, 86px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.055em !important;
}

.ixhome-page .ixhome-services .ixhome-section-head h2,
.ixhome-page .ixhome-plan-solutions .ixhome-section-head h2 {
  max-width: 780px !important;
  font-size: clamp(42px, 4.05vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.047em !important;
}

.ixhome-page .ixhome-section-head h2,
.ixhome-page .ixhome-proof__content h2,
.ixhome-page .ixhome-advantage__copy h2,
.ixhome-page .ixhome-review__card h2,
.ixhome-page .ixhome-next__card h2 {
  font-size: clamp(34px, 2.7vw, 48px) !important;
  line-height: 1.07 !important;
}

/* Homepage team image crop correction */
.ixhome-page .ixhome-proof__image img {
  object-position: 48% 42% !important;
}

@media (min-width: 1121px) {
  .ixhome-page .ixhome-proof__image img {
    object-position: 46% 40% !important;
  }
}

/* High-specificity footer2 protection */
.ixhome-page .ixhome-pagewrap footer,
.ixhome-page .ixhome-pagewrap footer *,
.ixhome-page footer,
.ixhome-page footer *,
.ixhome-page .ixf-footer,
.ixhome-page .ixf-footer * {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
}

.ixhome-page .ixhome-pagewrap footer :where(p, li, a, address, span, small),
.ixhome-page footer :where(p, li, a, address, span, small),
.ixhome-page .ixf-footer :where(p, li, a, address, span, small) {
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 560 !important;
}

.ixhome-page .ixhome-pagewrap footer :where(h1, h2, h3, h4, h5, h6),
.ixhome-page footer :where(h1, h2, h3, h4, h5, h6),
.ixhome-page .ixf-footer :where(h1, h2, h3, h4, h5, h6) {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  letter-spacing: -0.025em !important;
}

/* Footer lead band */
.ixhome-page .ixf-footer .ixf-lead-band__copy h2,
.ixhome-page footer .ixf-lead-band__copy h2,
.ixhome-page footer [class*="lead-band"] h2,
.ixhome-page footer [class*="lead"] h2 {
  color: #12345d !important;
  font-size: clamp(26px, 2.1vw, 34px) !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
}

.ixhome-page .ixf-footer .ixf-lead-band__copy p,
.ixhome-page footer .ixf-lead-band__copy p,
.ixhome-page footer [class*="lead-band"] p {
  color: rgba(18, 52, 93, 0.86) !important;
  font-size: 16.5px !important;
  line-height: 1.58 !important;
  font-weight: 620 !important;
}

/* Footer dark cards/columns */
.ixhome-page .ixf-footer .ixf-brand-card h2,
.ixhome-page .ixf-footer .ixf-link-card h3,
.ixhome-page .ixf-footer .ixf-linkedin-card h3,
.ixhome-page .ixf-footer .ixf-contact-card h3,
.ixhome-page footer [class*="brand-card"] h2,
.ixhome-page footer [class*="link-card"] h3,
.ixhome-page footer [class*="linkedin-card"] h3,
.ixhome-page footer [class*="contact-card"] h3 {
  color: #ffffff !important;
  font-size: clamp(22px, 1.65vw, 28px) !important;
  line-height: 1.14 !important;
  font-weight: 850 !important;
}

.ixhome-page .ixf-footer .ixf-link-card h3,
.ixhome-page .ixf-footer .ixf-linkedin-card h3,
.ixhome-page .ixf-footer .ixf-contact-card h3,
.ixhome-page footer [class*="link-card"] h3,
.ixhome-page footer [class*="linkedin-card"] h3,
.ixhome-page footer [class*="contact-card"] h3 {
  font-size: clamp(19px, 1.25vw, 23px) !important;
}

.ixhome-page .ixf-footer .ixf-brand-card p,
.ixhome-page .ixf-footer .ixf-linkedin-card p,
.ixhome-page .ixf-footer .ixf-contact-card,
.ixhome-page .ixf-footer .ixf-contact-card address,
.ixhome-page .ixf-footer .ixf-contact-card span,
.ixhome-page .ixf-footer .ixf-link-card a,
.ixhome-page .ixf-footer .ixf-contact-list a,
.ixhome-page .ixf-footer .ixf-bottom p,
.ixhome-page .ixf-footer .ixf-bottom a,
.ixhome-page footer [class*="brand-card"] p,
.ixhome-page footer [class*="linkedin-card"] p,
.ixhome-page footer [class*="contact-card"],
.ixhome-page footer [class*="contact-card"] address,
.ixhome-page footer [class*="contact-card"] span,
.ixhome-page footer [class*="link-card"] a,
.ixhome-page footer [class*="bottom"] p,
.ixhome-page footer [class*="bottom"] a {
  color: rgba(255, 255, 255, 0.80) !important;
}

.ixhome-page .ixf-footer .ixf-proof-strip span,
.ixhome-page footer [class*="proof-strip"] span {
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 14.5px !important;
  font-weight: 760 !important;
}

@media (max-width: 740px) {
  .ixhome-page .ixhome-hero h1 {
    max-width: 100% !important;
    font-size: clamp(42px, 11.5vw, 58px) !important;
    line-height: 0.98 !important;
  }

  .ixhome-page .ixhome-services .ixhome-section-head h2,
  .ixhome-page .ixhome-plan-solutions .ixhome-section-head h2 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 48px) !important;
    line-height: 1.06 !important;
  }
}

/* =========================================================
   v19 Homepage header protection + footer CTA white text
   Corrects homepage leakage into shared header/footer2.
========================================================= */

/* Shared header protection */
.ixhome-page :is(
  .main-header,
  .main-header-two,
  .stricky-header,
  .sticky-header,
  .immix-topbar,
  .main-menu,
  .main-menu-two,
  .header-navigation,
  .navbar,
  .navigation
),
.ixhome-page :is(
  .main-header,
  .main-header-two,
  .stricky-header,
  .sticky-header,
  .immix-topbar,
  .main-menu,
  .main-menu-two,
  .header-navigation,
  .navbar,
  .navigation
) * {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
}

.ixhome-page :is(
  .main-menu .main-menu__list > li > a,
  .main-menu .navigation > li > a,
  .main-menu-two .main-menu__list > li > a,
  .main-menu-two .navigation > li > a,
  .header-navigation ul li a,
  .navbar-nav > li > a
) {
  color: #1f2e3b !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Footer CTA/lead band should be white text on green. */
.ixhome-page :is(
  .ixf-footer .ixf-lead-band,
  .ixf-footer .ixf-lead,
  .ixf-footer .ixf-cta,
  footer .ixf-lead-band,
  footer .ixf-lead,
  footer .ixf-cta,
  footer [class*="lead-band"],
  footer [class*="footer-cta"],
  footer [class*="cta"]
) :is(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

.ixhome-page :is(
  .ixf-footer .ixf-lead-band,
  .ixf-footer .ixf-lead,
  .ixf-footer .ixf-cta,
  footer .ixf-lead-band,
  footer .ixf-lead,
  footer .ixf-cta,
  footer [class*="lead-band"],
  footer [class*="footer-cta"],
  footer [class*="cta"]
) :is(p, li, span, a) {
  color: rgba(255, 255, 255, 0.90) !important;
}

.ixhome-page :is(
  .ixf-footer .ixf-lead-band__copy h2,
  footer .ixf-lead-band__copy h2,
  footer [class*="lead-band"] h2,
  footer [class*="lead"] h2,
  footer [class*="cta"] h2
) {
  color: #ffffff !important;
}

.ixhome-page :is(
  .ixf-footer .ixf-lead-band__copy p,
  footer .ixf-lead-band__copy p,
  footer [class*="lead-band"] p,
  footer [class*="lead"] p,
  footer [class*="cta"] p
) {
  color: rgba(255, 255, 255, 0.88) !important;
}

.ixhome-page :is(
  .ixf-footer .ixf-lead-band a:first-of-type,
  .ixf-footer .ixf-lead a:first-of-type,
  .ixf-footer .ixf-cta a:first-of-type,
  footer [class*="lead-band"] a:first-of-type,
  footer [class*="lead"] a:first-of-type,
  footer [class*="cta"] a:first-of-type
) {
  color: #12345d !important;
}

.ixhome-page :is(
  .ixf-footer .ixf-lead-band a:not(:first-of-type),
  .ixf-footer .ixf-lead a:not(:first-of-type),
  .ixf-footer .ixf-cta a:not(:first-of-type),
  footer [class*="lead-band"] a:not(:first-of-type),
  footer [class*="lead"] a:not(:first-of-type),
  footer [class*="cta"] a:not(:first-of-type)
) {
  color: #ffffff !important;
}

/* =========================================================
   v20 Individual Health Plans typography integration
   Adds explicit safeguards for the ixihp individual-health page.
========================================================= */

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixihp-copy p,
  .ixihp-hero__panel-item h3,
  .ixihp-hero__panel-item p,
  .ixihp-options__lead,
  .ixihp-option-card h3,
  .ixihp-option-card__actions a,
  .ixihp-conversion__lede,
  .ixihp-conversion__block h3,
  .ixihp-conversion__block p,
  .ixihp-faq__item summary,
  .ixihp-faq__answer p,
  .ixihp-faq__answer li,
  .ixihp-disability__copy p,
  .ixihp-disability__benefits h3,
  .ixihp-disability__benefits li,
  .ixihp-disability__note,
  .ixihp-summary__content p,
  .ixihp-summary__signal strong,
  .ixihp-summary__signal span
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(h1),
main.ixihp-page .ixihp-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(48px, 4.6vw, 74px) !important;
  font-weight: 700 !important;
  line-height: 0.98 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixihp-page,
  .ixihp-page main,
  .ixihp-page.ix-typography-locked
) :where(.ixihp-kicker, .ixihp-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark individual-health panels */
main.ixihp-page :is(
  .ixihp-hero__panel-card,
  .ixihp-hero__panel-card *,
  .ixihp-faq__panel,
  .ixihp-faq__panel *
) :where(h1, h2, h3, h4, h5, h6, strong, summary) {
  color: #ffffff !important;
}

main.ixihp-page :is(
  .ixihp-hero__panel-card,
  .ixihp-faq__panel
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixihp-page :is(
  .ixihp-hero__panel-card,
  .ixihp-faq__panel
) :where(.ixihp-kicker, .ixihp-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

main.ixihp-page .ixihp-faq__item {
  background: rgba(255, 255, 255, 0.105) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* Light individual-health cards */
main.ixihp-page :is(
  .ixihp-hero__content,
  .ixihp-options__card,
  .ixihp-option-card,
  .ixihp-conversion__shell,
  .ixihp-conversion__content-card,
  .ixihp-conversion__block,
  .ixihp-disability__panel,
  .ixihp-disability__benefits,
  .ixihp-summary__card,
  .ixihp-summary__signal
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixihp-page :is(
  .ixihp-hero__content,
  .ixihp-options__card,
  .ixihp-option-card,
  .ixihp-conversion__shell,
  .ixihp-conversion__content-card,
  .ixihp-conversion__block,
  .ixihp-disability__panel,
  .ixihp-disability__benefits,
  .ixihp-summary__card,
  .ixihp-summary__signal
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixihp-page .ixihp-kicker,
main.ixihp-page .ixihp-option-card__actions a {
  color: #5f9938 !important;
}

main.ixihp-page .ixihp-hero__panel-num,
main.ixihp-page .ixihp-inline-btn {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :is(
    main.ixihp-page,
    .ixihp-page main,
    .ixihp-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixihp-page .ixihp-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(38px, 10.5vw, 52px) !important;
    line-height: 1.02 !important;
  }
}

/* =========================================================
   v21 Lunch n Learn typography integration
   Adds explicit safeguards for the ixln education sessions page.
========================================================= */

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixln-copy p,
  .ixln-hero__panel-kicker,
  .ixln-hero__panel p,
  .ixln-intro__content p,
  .ixln-intro__note p,
  .ixln-topic-card h3,
  .ixln-experience__content p,
  .ixln-close__card p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(h1),
main.ixln-page .ixln-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(50px, 5.05vw, 82px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(
  main.ixln-page,
  .ixln-page main,
  .ixln-page.ix-typography-locked
) :where(.ixln-kicker, .ixln-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Dark Lunch n Learn panels */
main.ixln-page :is(
  .ixln-hero__panel,
  .ixln-hero__panel *,
  .ixln-close,
  .ixln-close *,
  .ixln-close__card,
  .ixln-close__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixln-page :is(
  .ixln-hero__panel,
  .ixln-close,
  .ixln-close__card
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixln-page :is(
  .ixln-hero__panel,
  .ixln-close,
  .ixln-close__card
) :where(.ixln-kicker, .ixln-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light Lunch n Learn surfaces */
main.ixln-page :is(
  .ixln-hero__content,
  .ixln-intro__content,
  .ixln-intro__note,
  .ixln-topics__intro,
  .ixln-topic-card,
  .ixln-experience__card,
  .ixln-experience__content
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixln-page :is(
  .ixln-hero__content,
  .ixln-intro__content,
  .ixln-intro__note,
  .ixln-topics__intro,
  .ixln-topic-card,
  .ixln-experience__card,
  .ixln-experience__content
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixln-page .ixln-kicker {
  color: #5f9938 !important;
}

main.ixln-page .ixln-btn--primary {
  color: #ffffff !important;
}

main.ixln-page .ixln-btn--secondary {
  color: var(--ix-type-heading, #12345d) !important;
}

@media (max-width: 760px) {
  :is(
    main.ixln-page,
    .ixln-page main,
    .ixln-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  main.ixln-page .ixln-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 56px) !important;
    line-height: 1.01 !important;
  }
}

/* =========================================================
   v22 Our Approach typography integration
   Adds explicit safeguards for the ixapproach page.
========================================================= */

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixapproach-hero__lede,
  .ixapproach-hero p,
  .ixapproach-panel-list span,
  .ixapproach-section-head p,
  .ixapproach-section-copy p,
  .ixapproach-journey-card p,
  .ixapproach-step p,
  .ixapproach-support-grid p,
  .ixapproach-cta p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(h1),
.ixapproach-page .ixapproach-hero h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(52px, 5.65vw, 94px) !important;
  font-weight: 700 !important;
  line-height: 0.94 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(h2, h3, h4, h5, h6) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(h2) {
  font-size: var(--ix-type-h2-size) !important;
  font-weight: 800 !important;
  line-height: var(--ix-type-h2-line) !important;
  letter-spacing: var(--ix-type-h2-tracking) !important;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(h3, h4) {
  font-size: var(--ix-type-h3-size) !important;
  font-weight: 780 !important;
  line-height: var(--ix-type-h3-line) !important;
  letter-spacing: var(--ix-type-h3-tracking) !important;
}

:is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(.ixapproach-kicker, [class*="kicker"], [class*="eyebrow"]) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.ixapproach-page :is(.ixapproach-hero__panel, .ixapproach-hero__panel *, .ixapproach-cta__card, .ixapproach-cta__card *) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

.ixapproach-page :is(.ixapproach-hero__panel, .ixapproach-cta__card) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

.ixapproach-page :is(.ixapproach-hero__panel, .ixapproach-cta__card) :where(.ixapproach-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

.ixapproach-page :is(.ixapproach-hero__content, .ixapproach-section-head, .ixapproach-section-copy, .ixapproach-journey-card, .ixapproach-step__content, .ixapproach-support-grid article) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixapproach-page :is(.ixapproach-hero__content, .ixapproach-section-head, .ixapproach-section-copy, .ixapproach-journey-card, .ixapproach-step__content, .ixapproach-support-grid article) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

.ixapproach-page .ixapproach-kicker {
  color: #4f8735 !important;
}

.ixapproach-page .ixapproach-step__number,
.ixapproach-page .ixapproach-btn--primary,
.ixapproach-page .ixapproach-btn--light {
  color: #ffffff !important;
}

.ixapproach-page .ixapproach-btn--secondary {
  color: var(--ix-type-heading, #12345d) !important;
}

@media (max-width: 760px) {
  :is(main.ixapproach-page, .ixapproach-page main, .ixapproach-page.ix-typography-locked, .ixapproach-main.ix-typography-locked) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .ixapproach-page .ixapproach-hero h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.01 !important;
  }
}

/* =========================================================
   v23 Privacy Policy typography integration
   Adds explicit safeguards for the ixprivacy page and reinforces
   footer CTA button contrast.
========================================================= */

:is(
  main.ixprivacy-main,
  .ixprivacy-page main,
  .ixprivacy-main.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixprivacy-main,
  .ixprivacy-page main,
  .ixprivacy-main.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixprivacy-policy__body p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: 1.78 !important;
}

:is(
  main.ixprivacy-main,
  .ixprivacy-page main,
  .ixprivacy-main.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

.ixprivacy-page .ixprivacy-hero h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(54px, 6vw, 92px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

.ixprivacy-page .ixprivacy-policy__body h2 {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
  font-size: clamp(28px, 2.2vw, 38px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
}

.ixprivacy-page .ixprivacy-kicker {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4f8735 !important;
}

.ixprivacy-page .ixprivacy-policy__body p,
.ixprivacy-page .ixprivacy-policy__body li,
.ixprivacy-page .ixprivacy-policy__body span {
  color: var(--ix-type-muted, #4f6681) !important;
}

.ixprivacy-page .ixprivacy-policy__body strong {
  color: var(--ix-type-heading, #12345d) !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
) {
  color: #ffffff !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  .ixprivacy-page .ixprivacy-hero h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.01 !important;
  }

  .ixprivacy-page .ixprivacy-policy__body p,
  .ixprivacy-page .ixprivacy-policy__body li,
  .ixprivacy-page .ixprivacy-policy__body a {
    font-size: 17px !important;
    line-height: 1.62 !important;
  }
}

/* =========================================================
   v24 Disclaimer typography integration
   Adds explicit safeguards for the ixdisclaimer page and reinforces
   footer CTA button contrast.
========================================================= */

:is(
  main.ixdisclaimer-main,
  .ixdisclaimer-page main,
  .ixdisclaimer-main.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixdisclaimer-main,
  .ixdisclaimer-page main,
  .ixdisclaimer-main.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixdisclaimer-card__body p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: 1.78 !important;
}

:is(
  main.ixdisclaimer-main,
  .ixdisclaimer-page main,
  .ixdisclaimer-main.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

.ixdisclaimer-page .ixdisclaimer-hero h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(54px, 6vw, 92px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

.ixdisclaimer-page .ixdisclaimer-card__header h2 {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-heading) !important;
  font-size: clamp(34px, 3.2vw, 52px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
}

.ixdisclaimer-page .ixdisclaimer-kicker,
.ixdisclaimer-page .ixdisclaimer-hero__panel-kicker {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.ixdisclaimer-page .ixdisclaimer-kicker {
  color: #4f8735 !important;
}

.ixdisclaimer-page .ixdisclaimer-hero__panel,
.ixdisclaimer-page .ixdisclaimer-hero__panel * {
  color: #ffffff !important;
}

.ixdisclaimer-page .ixdisclaimer-hero__panel-kicker {
  color: rgba(199, 232, 179, 0.96) !important;
}

.ixdisclaimer-page .ixdisclaimer-card__body p,
.ixdisclaimer-page .ixdisclaimer-card__body li,
.ixdisclaimer-page .ixdisclaimer-card__body span {
  color: var(--ix-type-muted, #4f6681) !important;
}

.ixdisclaimer-page .ixdisclaimer-card__body p:first-child,
.ixdisclaimer-page .ixdisclaimer-card__body strong {
  color: var(--ix-type-heading, #12345d) !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
) {
  color: #ffffff !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  .ixdisclaimer-page .ixdisclaimer-hero h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.01 !important;
  }

  .ixdisclaimer-page .ixdisclaimer-card__body p,
  .ixdisclaimer-page .ixdisclaimer-card__body li,
  .ixdisclaimer-page .ixdisclaimer-card__body a {
    font-size: 17px !important;
    line-height: 1.62 !important;
  }
}

/* =========================================================
   v25 Referral Program typography integration
   Adds explicit safeguards for the ixref referral page and reinforces
   footer CTA button contrast.
========================================================= */

:is(
  main.ixref-page,
  .ixref-page main,
  .ixref-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixref-page,
  .ixref-page main,
  .ixref-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixref-hero__content > p,
  .ixref-hero__panel-copy p,
  .ixref-actions__intro p,
  .ixref-community__content p,
  .ixref-community__stat p,
  .ixref-step p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixref-page,
  .ixref-page main,
  .ixref-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

main.ixref-page .ixref-hero h1,
main.ixref-page .ixref-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(52px, 5.45vw, 86px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

main.ixref-page :is(
  .ixref-actions__intro h2,
  .ixref-steps__intro h2,
  .ixref-community__content h2,
  .ixref-closing__card h2,
  .ixref-gift-card__copy h3,
  .ixref-hero__panel-copy h2
) {
  font-family: var(--ix-font-sans) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
}

main.ixref-page :is(
  .ixref-kicker,
  .ixref-card-kicker,
  .ixref-hero__panel-kicker,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Dark referral surfaces */
main.ixref-page :is(
  .ixref-hero__panel,
  .ixref-hero__panel *,
  .ixref-community,
  .ixref-community *,
  .ixref-community__grid,
  .ixref-community__grid *,
  .ixref-closing__card,
  .ixref-closing__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixref-page :is(
  .ixref-hero__panel,
  .ixref-community,
  .ixref-community__grid,
  .ixref-closing__card
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixref-page :is(
  .ixref-hero__panel,
  .ixref-community,
  .ixref-community__grid,
  .ixref-closing__card
) :where(.ixref-kicker, .ixref-card-kicker, .ixref-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light referral surfaces */
main.ixref-page :is(
  .ixref-hero__content,
  .ixref-actions__intro,
  .ixref-action-card,
  .ixref-gift-card,
  .ixref-steps__card,
  .ixref-step
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixref-page :is(
  .ixref-hero__content,
  .ixref-actions__intro,
  .ixref-action-card,
  .ixref-gift-card,
  .ixref-steps__card,
  .ixref-step
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixref-page :is(.ixref-kicker, .ixref-card-kicker) {
  color: #5f9938 !important;
}

main.ixref-page .ixref-btn--primary {
  color: #ffffff !important;
}

main.ixref-page .ixref-btn--secondary {
  color: var(--ix-type-heading, #12345d) !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
),
:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  main.ixref-page .ixref-hero h1,
  main.ixref-page .ixref-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.01 !important;
  }

  :is(
    main.ixref-page,
    .ixref-page main,
    .ixref-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

/* =========================================================
   v26 Resources typography integration
   Adds explicit safeguards for the ixres Resources page and reinforces
   footer CTA button contrast.
========================================================= */

:is(
  main.ixres-page,
  .ixres-page main,
  .ixres-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixres-page,
  .ixres-page main,
  .ixres-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  .ixres-lead,
  .ixres-hero__content p,
  .ixres-hero__panel li,
  .ixres-system p,
  .ixres-section-head p,
  .ixres-feed-card p,
  .ixres-feature-card p,
  .ixres-resource-card p,
  .ixres-advisory p,
  .ixres-faq p,
  .ixres-close p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixres-page,
  .ixres-page main,
  .ixres-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

main.ixres-page .ixres-hero h1,
main.ixres-page .ixres-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(52px, 5.45vw, 84px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

main.ixres-page :is(
  .ixres-section-head h2,
  .ixres-advisory h2,
  .ixres-close h2,
  .ixres-hero__panel h2
) {
  font-family: var(--ix-font-sans) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
}

main.ixres-page :is(
  .ixres-kicker,
  .ixres-panel-kicker,
  .ixres-card-source,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* Dark Resources surfaces */
main.ixres-page :is(
  .ixres-hero__panel,
  .ixres-hero__panel *,
  .ixres-advisory,
  .ixres-advisory *,
  .ixres-advisory__card,
  .ixres-advisory__card *,
  .ixres-close,
  .ixres-close *,
  .ixres-close__card,
  .ixres-close__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixres-page :is(
  .ixres-hero__panel,
  .ixres-advisory,
  .ixres-advisory__card,
  .ixres-close,
  .ixres-close__card
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixres-page :is(
  .ixres-hero__panel,
  .ixres-advisory,
  .ixres-advisory__card,
  .ixres-close,
  .ixres-close__card
) :where(.ixres-kicker, .ixres-panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light Resources surfaces */
main.ixres-page :is(
  .ixres-hero__content,
  .ixres-system article,
  .ixres-section-head,
  .ixres-feed-card,
  .ixres-feature-card,
  .ixres-resource-card,
  .ixres-faq__panel,
  .ixres-faq details,
  .ixres-filterbar button
) :where(h1, h2, h3, h4, h5, h6, strong, summary) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixres-page :is(
  .ixres-hero__content,
  .ixres-system article,
  .ixres-section-head,
  .ixres-feed-card,
  .ixres-feature-card,
  .ixres-resource-card,
  .ixres-faq__panel,
  .ixres-faq details,
  .ixres-filterbar button
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixres-page :is(.ixres-kicker, .ixres-card-source, .ixres-feed-card a, .ixres-feature-card a, .ixres-resource-card a) {
  color: #5f9938 !important;
}

main.ixres-page .ixres-btn--primary,
main.ixres-page .ixres-filterbar button.is-active,
main.ixres-page .ixres-filterbar button:hover {
  color: #ffffff !important;
}

main.ixres-page :is(.ixres-btn--secondary, .ixres-btn--light) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixres-page .ixres-resource-card__footer span {
  color: #71879b !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
),
:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  main.ixres-page .ixres-hero h1,
  main.ixres-page .ixres-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.01 !important;
  }

  :is(
    main.ixres-page,
    .ixres-page main,
    .ixres-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

/* =========================================================
   v27 Taxation of Benefits typography integration
   Adds explicit safeguards for the ixtax page and reinforces
   footer CTA button contrast.
========================================================= */

:is(
  main.ixtax-page,
  .ixtax-page main,
  .ixtax-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixtax-page,
  .ixtax-page main,
  .ixtax-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  small,
  .ixtax-hero__lead,
  .ixtax-hero__content p,
  .ixtax-hero__panel p,
  .ixtax-intro__copy p,
  .ixtax-intro__note p,
  .ixtax-benefit-card li,
  .ixtax-advisory__content p,
  .ixtax-advisory__checklist li,
  .ixtax-official__copy p,
  .ixtax-faq__answer p,
  .ixtax-cta__card p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size) !important;
  line-height: var(--ix-type-body-line) !important;
}

:is(
  main.ixtax-page,
  .ixtax-page main,
  .ixtax-page.ix-typography-locked
) :where(p, li) {
  color: var(--ix-type-muted);
  font-weight: 500;
}

main.ixtax-page .ixtax-hero h1,
main.ixtax-page .ixtax-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(54px, 5.75vw, 90px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking) !important;
  color: var(--ix-type-heading) !important;
}

main.ixtax-page :is(
  .ixtax-intro__copy h2,
  .ixtax-section-head h2,
  .ixtax-advisory__content h2,
  .ixtax-official__copy h2,
  .ixtax-faq__intro h2,
  .ixtax-cta__card h2,
  .ixtax-hero__panel h2
) {
  font-family: var(--ix-font-sans) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
}

main.ixtax-page :is(
  .ixtax-kicker,
  .ixtax-hero__panel-kicker,
  .ixtax-source-cards span,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* Dark Taxation surfaces */
main.ixtax-page :is(
  .ixtax-hero__panel,
  .ixtax-hero__panel *,
  .ixtax-intro__note,
  .ixtax-intro__note *,
  .ixtax-treatment__side,
  .ixtax-treatment__side *,
  .ixtax-advisory,
  .ixtax-advisory *,
  .ixtax-advisory__shell,
  .ixtax-advisory__shell *,
  .ixtax-advisory__checklist,
  .ixtax-advisory__checklist *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixtax-page :is(
  .ixtax-hero__panel,
  .ixtax-intro__note,
  .ixtax-treatment__side,
  .ixtax-advisory,
  .ixtax-advisory__shell,
  .ixtax-advisory__checklist
) :where(p, li, span, small, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixtax-page :is(
  .ixtax-hero__panel,
  .ixtax-intro__note,
  .ixtax-treatment__side,
  .ixtax-advisory,
  .ixtax-advisory__shell
) :where(.ixtax-kicker, .ixtax-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light Taxation surfaces */
main.ixtax-page :is(
  .ixtax-hero__content,
  .ixtax-intro__card,
  .ixtax-intro__copy,
  .ixtax-section-head,
  .ixtax-treatment,
  .ixtax-benefit-card,
  .ixtax-official__grid,
  .ixtax-official__copy,
  .ixtax-source-cards a,
  .ixtax-faq__shell,
  .ixtax-faq__item,
  .ixtax-cta__card
) :where(h1, h2, h3, h4, h5, h6, strong, summary) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtax-page :is(
  .ixtax-hero__content,
  .ixtax-intro__card,
  .ixtax-intro__copy,
  .ixtax-section-head,
  .ixtax-treatment,
  .ixtax-benefit-card,
  .ixtax-official__grid,
  .ixtax-official__copy,
  .ixtax-source-cards a,
  .ixtax-faq__shell,
  .ixtax-faq__item,
  .ixtax-cta__card
) :where(p, li, span, small) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixtax-page :is(.ixtax-kicker, .ixtax-source-cards span) {
  color: #5f9938 !important;
}

main.ixtax-page .ixtax-btn--primary {
  color: #ffffff !important;
}

main.ixtax-page .ixtax-btn--secondary {
  color: var(--ix-type-heading, #12345d) !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
),
:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 767px) {
  main.ixtax-page .ixtax-hero h1,
  main.ixtax-page .ixtax-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.01 !important;
  }

  :is(
    main.ixtax-page,
    .ixtax-page main,
    .ixtax-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    small,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

/* =========================================================
   v28 Taxation of Benefits polish lock
   Final contrast hardening for premium dark cards
========================================================= */

main.ixtax-page .ixtax-treatment__side > p {
  color: rgba(191, 227, 165, 0.98) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.28 !important;
  text-transform: uppercase !important;
}

main.ixtax-page .ixtax-treatment__side > h3 {
  color: #ffffff !important;
  font-family: var(--ix-font-sans) !important;
  font-size: clamp(27px, 2.08vw, 38px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.038em !important;
}

main.ixtax-page .ixtax-treatment__side > span {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

main.ixtax-page .ixtax-treatment__side > small {
  color: rgba(255,255,255,0.92) !important;
  font-size: 16px !important;
  line-height: 1.64 !important;
}

main.ixtax-page .ixtax-intro__note > span,
main.ixtax-page .ixtax-hero__panel > .ixtax-hero__panel-kicker,
main.ixtax-page .ixtax-advisory .ixtax-kicker {
  color: rgba(199, 232, 179, 0.98) !important;
}

main.ixtax-page .ixtax-intro__note > p,
main.ixtax-page .ixtax-hero__panel > p:not(.ixtax-hero__panel-kicker),
main.ixtax-page .ixtax-advisory__content > p,
main.ixtax-page .ixtax-advisory__checklist > ul > li,
main.ixtax-page .ixtax-advisory__checklist > h3,
main.ixtax-page .ixtax-hero__panel > h2,
main.ixtax-page .ixtax-intro__note *,
main.ixtax-page .ixtax-hero__panel *,
main.ixtax-page .ixtax-advisory__content *,
main.ixtax-page .ixtax-advisory__checklist * {
  color: inherit;
}

main.ixtax-page .ixtax-intro__note,
main.ixtax-page .ixtax-hero__panel,
main.ixtax-page .ixtax-advisory__shell,
main.ixtax-page .ixtax-advisory__checklist,
main.ixtax-page .ixtax-treatment__side {
  color: #ffffff !important;
}

main.ixtax-page .ixtax-benefit-card h4,
main.ixtax-page .ixtax-benefit-card strong,
main.ixtax-page .ixtax-benefit-card summary,
main.ixtax-page .ixtax-official__copy h2,
main.ixtax-page .ixtax-faq__intro h2,
main.ixtax-page .ixtax-cta__card h2,
main.ixtax-page .ixtax-section-head h2,
main.ixtax-page .ixtax-intro__copy h2 {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtax-page .ixtax-benefit-card li,
main.ixtax-page .ixtax-official__copy p,
main.ixtax-page .ixtax-faq__answer p,
main.ixtax-page .ixtax-cta__card p,
main.ixtax-page .ixtax-section-head p,
main.ixtax-page .ixtax-intro__copy p {
  color: var(--ix-type-muted, #4f6681) !important;
}

/* =========================================================
   v29 Taxation of Benefits polish lock
   Rebalances oversized section titles and hardens dark-card contrast.
========================================================= */

main.ixtax-page .ixtax-section-head {
  max-width: 780px !important;
}

main.ixtax-page .ixtax-section-head h2 {
  max-width: 12ch !important;
  font-size: clamp(30px, 2.55vw, 46px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
}

main.ixtax-page .ixtax-faq__intro h2 {
  max-width: 8.3ch !important;
  font-size: clamp(28px, 2.35vw, 42px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.037em !important;
}

main.ixtax-page .ixtax-cta__card h2 {
  max-width: 10.5ch !important;
  font-size: clamp(29px, 2.42vw, 43px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.038em !important;
}

main.ixtax-page .ixtax-intro__copy h2 {
  max-width: 11.5ch !important;
  font-size: clamp(31px, 2.62vw, 47px) !important;
  line-height: 1.04 !important;
}

main.ixtax-page .ixtax-intro__note {
  background:
    radial-gradient(circle at 100% 0%, rgba(135, 193, 96, 0.22), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(255,255,255,0.08), transparent 38%),
    linear-gradient(180deg, #184c80 0%, #103a68 52%, #0a2d54 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: 0 22px 48px rgba(7, 31, 61, 0.18) !important;
  color: #ffffff !important;
}

main.ixtax-page .ixtax-intro__note > span {
  color: rgba(210, 239, 192, 0.98) !important;
}

main.ixtax-page .ixtax-intro__note > p,
main.ixtax-page .ixtax-intro__note p,
main.ixtax-page .ixtax-intro__note small,
main.ixtax-page .ixtax-intro__note li,
main.ixtax-page .ixtax-intro__note strong,
main.ixtax-page .ixtax-intro__note em,
main.ixtax-page .ixtax-intro__note * {
  color: rgba(255,255,255,0.94) !important;
}

main.ixtax-page .ixtax-treatment__side {
  background:
    radial-gradient(circle at 100% 0%, rgba(165, 214, 130, 0.18), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(255,255,255,0.08), transparent 38%),
    linear-gradient(180deg, #1b528a 0%, #103a68 52%, #092a50 100%) !important;
  color: #ffffff !important;
}

main.ixtax-page .ixtax-treatment__side > p {
  color: rgba(199, 232, 179, 0.98) !important;
}

main.ixtax-page .ixtax-treatment__side > h3 {
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(2, 16, 32, 0.18) !important;
  font-size: clamp(25px, 1.95vw, 35px) !important;
  line-height: 1.05 !important;
}

main.ixtax-page .ixtax-treatment__side > span {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
}

main.ixtax-page .ixtax-treatment__side > small,
main.ixtax-page .ixtax-treatment__side small,
main.ixtax-page .ixtax-treatment__side li,
main.ixtax-page .ixtax-treatment__side strong,
main.ixtax-page .ixtax-treatment__side em,
main.ixtax-page .ixtax-treatment__side * {
  color: rgba(255,255,255,0.93) !important;
}

@media (max-width: 980px) {
  main.ixtax-page .ixtax-section-head h2,
  main.ixtax-page .ixtax-faq__intro h2,
  main.ixtax-page .ixtax-cta__card h2,
  main.ixtax-page .ixtax-intro__copy h2 {
    max-width: 100% !important;
    font-size: clamp(27px, 7.4vw, 38px) !important;
    line-height: 1.06 !important;
  }
}

/* =========================================================
   v30 Team page typography integration
   Adds explicit safeguards for the ixtm Team page and keeps
   footer CTA contrast stable.
========================================================= */

:is(
  main.ixtm-page,
  .ixtm-page main,
  .ixtm-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text, #12345d);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  main.ixtm-page,
  .ixtm-page main,
  .ixtm-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  small,
  .ixtm-copy p,
  .ixtm-hero__panel-item p,
  .ixtm-intro__copy p,
  .ixtm-directory__heading p,
  .ixtm-member__summary,
  .ixtm-member__bio p,
  .ixtm-process__card p,
  .ixtm-office__content p,
  .ixtm-faq__answer p,
  .ixtm-summary__content p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size, 17px) !important;
  line-height: var(--ix-type-body-line, 1.7) !important;
}

main.ixtm-page .ixtm-hero h1,
main.ixtm-page .ixtm-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(50px, 4.9vw, 82px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking, -0.055em) !important;
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtm-page :is(
  .ixtm-directory__heading h2,
  .ixtm-process__intro h2,
  .ixtm-office__content h2,
  .ixtm-faq__intro h2,
  .ixtm-summary__intro h2,
  .ixtm-intro__heading h2
) {
  font-family: var(--ix-font-sans) !important;
  font-size: clamp(30px, 2.55vw, 46px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtm-page :is(
  .ixtm-kicker,
  .ixtm-member__role,
  .ixtm-team-panel__eyebrow strong,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size, 14px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* Dark Team surfaces */
main.ixtm-page :is(
  .ixtm-hero__panel-card,
  .ixtm-hero__panel-card *,
  .ixtm-process__panel,
  .ixtm-process__panel *,
  .ixtm-process__card,
  .ixtm-process__card *,
  .ixtm-faq__panel,
  .ixtm-faq__panel *,
  .ixtm-faq__item,
  .ixtm-faq__item *
) :where(h1, h2, h3, h4, h5, h6, strong, summary) {
  color: #ffffff !important;
}

main.ixtm-page :is(
  .ixtm-hero__panel-card,
  .ixtm-process__panel,
  .ixtm-process__card,
  .ixtm-faq__panel,
  .ixtm-faq__item
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixtm-page :is(
  .ixtm-hero__panel-card,
  .ixtm-process__panel,
  .ixtm-faq__panel
) :where(.ixtm-kicker, .ixtm-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light Team surfaces */
main.ixtm-page :is(
  .ixtm-hero__content,
  .ixtm-intro__grid,
  .ixtm-directory__heading,
  .ixtm-team-explorer__tab,
  .ixtm-team-panel,
  .ixtm-member,
  .ixtm-office__card,
  .ixtm-summary__card
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtm-page :is(
  .ixtm-hero__content,
  .ixtm-intro__grid,
  .ixtm-directory__heading,
  .ixtm-team-explorer__tab,
  .ixtm-team-panel,
  .ixtm-member,
  .ixtm-office__card,
  .ixtm-summary__card
) :where(p, li, span, small) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixtm-page :is(.ixtm-kicker, .ixtm-member__role, .ixtm-team-panel__eyebrow strong) {
  color: #5f9938 !important;
}

main.ixtm-page .ixtm-team-panel h3 {
  color: var(--ix-type-heading, #12345d) !important;
  font-size: clamp(38px, 3.2vw, 58px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.05em !important;
}

main.ixtm-page .ixtm-team-panel h3 span,
main.ixtm-page .ixtm-team-explorer__tab-copy small {
  color: #5a738b !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

main.ixtm-page .ixtm-team-panel .ixtm-member__summary,
main.ixtm-page .ixtm-team-panel .ixtm-member__bio p {
  color: #425d76 !important;
  font-size: 17px !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
),
:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 767px) {
  main.ixtm-page .ixtm-hero h1,
  main.ixtm-page .ixtm-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 11vw, 56px) !important;
    line-height: 1.01 !important;
  }

  main.ixtm-page :is(
    .ixtm-directory__heading h2,
    .ixtm-process__intro h2,
    .ixtm-office__content h2,
    .ixtm-faq__intro h2,
    .ixtm-summary__intro h2,
    .ixtm-intro__heading h2
  ) {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.06 !important;
  }

  :is(
    main.ixtm-page,
    .ixtm-page main,
    .ixtm-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    small,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

/* =========================================================
   v31 Testimonials page typography integration
   Adds explicit safeguards for the ixtest Testimonials page and hides
   the removed external feedback block if stale markup is cached.
========================================================= */

:is(
  main.ixtest-page,
  .ixtest-page main,
  .ixtest-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text, #12345d);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main.ixtest-page .ixtest-more-feedback,
.ixtest-page .ixtest-more-feedback,
main.ixtest-page .ixtest-elfsight-frame,
.ixtest-page .ixtest-elfsight-frame {
  display: none !important;
}

:is(
  main.ixtest-page,
  .ixtest-page main,
  .ixtest-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  small,
  span,
  .ixtest-slide blockquote p,
  .ixtest-signal-card p,
  .ixtest-hero__panel p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size, 17px) !important;
  line-height: var(--ix-type-body-line, 1.7) !important;
}

main.ixtest-page .ixtest-hero h1,
main.ixtest-page .ixtest-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(50px, 5.25vw, 86px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking, -0.055em) !important;
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtest-page :is(
  .ixtest-slider__heading,
  .ixtest-slide h3,
  .ixtest-signals__intro h2,
  .ixtest-closing__card h2,
  .ixtest-hero__panel h2
) {
  font-family: var(--ix-font-sans) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
}

main.ixtest-page :is(
  .ixtest-kicker,
  .ixtest-slide__theme,
  .ixtest-hero__panel-kicker,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size, 14px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* Dark Testimonials surfaces */
main.ixtest-page :is(
  .ixtest-hero__panel,
  .ixtest-hero__panel *,
  .ixtest-closing__card,
  .ixtest-closing__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

main.ixtest-page :is(
  .ixtest-hero__panel,
  .ixtest-closing__card
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

main.ixtest-page :is(
  .ixtest-hero__panel,
  .ixtest-closing__card
) :where(.ixtest-kicker, .ixtest-hero__panel-kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light Testimonials surfaces */
main.ixtest-page :is(
  .ixtest-hero__content,
  .ixtest-slider-card,
  .ixtest-slider-card__content,
  .ixtest-slide,
  .ixtest-signals__intro,
  .ixtest-signal-card
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

main.ixtest-page :is(
  .ixtest-hero__content,
  .ixtest-slider-card,
  .ixtest-slider-card__content,
  .ixtest-slide,
  .ixtest-signals__intro,
  .ixtest-signal-card
) :where(p, li, span, blockquote, footer) {
  color: var(--ix-type-muted, #4f6681) !important;
}

main.ixtest-page :is(.ixtest-kicker, .ixtest-slide__theme, .ixtest-signal-card__number) {
  color: #5f9938 !important;
}

main.ixtest-page .ixtest-btn {
  color: var(--ix-type-heading, #12345d) !important;
  background: #ffffff !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
),
:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 767px) {
  main.ixtest-page .ixtest-hero h1,
  main.ixtest-page .ixtest-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 12vw, 58px) !important;
    line-height: 1.01 !important;
  }

  main.ixtest-page :is(
    .ixtest-slider__heading,
    .ixtest-slide h3,
    .ixtest-signals__intro h2,
    .ixtest-closing__card h2
  ) {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.06 !important;
  }

  :is(
    main.ixtest-page,
    .ixtest-page main,
    .ixtest-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    small,
    span,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

/* =========================================================
   v32 Why Choose Us typography integration
   Adds explicit safeguards for the ixwhy page and keeps footer CTA
   contrast stable.
========================================================= */

:is(
  .ixwhy-page,
  main.ixwhy-main,
  .ixwhy-page.ix-typography-locked
) {
  font-family: var(--ix-font-sans) !important;
  color: var(--ix-type-text, #12345d);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  .ixwhy-page,
  main.ixwhy-main,
  .ixwhy-page.ix-typography-locked
) :where(
  p,
  li,
  a,
  label,
  input,
  select,
  textarea,
  button,
  summary,
  small,
  span,
  .ixwhy-hero__lead,
  .ixwhy-hero__panel p,
  .ixwhy-reason-card p,
  .ixwhy-path__content p,
  .ixwhy-path__steps p,
  .ixwhy-cta__card p
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-body-size, 17px) !important;
  line-height: var(--ix-type-body-line, 1.7) !important;
}

.ixwhy-page .ixwhy-hero h1,
.ixwhy-page .ixwhy-hero__content h1,
main.ixwhy-main .ixwhy-hero h1,
main.ixwhy-main .ixwhy-hero__content h1 {
  font-family: var(--ix-font-serif) !important;
  font-size: clamp(50px, 5.35vw, 86px) !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: var(--ix-type-h1-tracking, -0.055em) !important;
  color: var(--ix-type-heading, #12345d) !important;
}

.ixwhy-page :is(
  .ixwhy-section-head h2,
  .ixwhy-path__content h2,
  .ixwhy-cta__card h2,
  .ixwhy-hero__panel h2
),
main.ixwhy-main :is(
  .ixwhy-section-head h2,
  .ixwhy-path__content h2,
  .ixwhy-cta__card h2,
  .ixwhy-hero__panel h2
) {
  font-family: var(--ix-font-sans) !important;
  font-size: clamp(30px, 2.65vw, 48px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
}

.ixwhy-page :is(
  .ixwhy-kicker,
  .ixwhy-panel__kicker,
  .ixwhy-reason-card__tag,
  [class*="kicker"],
  [class*="eyebrow"]
),
main.ixwhy-main :is(
  .ixwhy-kicker,
  .ixwhy-panel__kicker,
  .ixwhy-reason-card__tag,
  [class*="kicker"],
  [class*="eyebrow"]
) {
  font-family: var(--ix-font-sans) !important;
  font-size: var(--ix-type-kicker-size, 14px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* Dark Why Choose Us surfaces */
.ixwhy-page :is(
  .ixwhy-hero__panel,
  .ixwhy-hero__panel *,
  .ixwhy-cta__card,
  .ixwhy-cta__card *
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: #ffffff !important;
}

.ixwhy-page :is(
  .ixwhy-hero__panel,
  .ixwhy-cta__card
) :where(p, li, span, a) {
  color: rgba(255, 255, 255, 0.88) !important;
}

.ixwhy-page :is(
  .ixwhy-hero__panel,
  .ixwhy-cta__card
) :where(.ixwhy-kicker, .ixwhy-panel__kicker, [class*="kicker"], [class*="eyebrow"]) {
  color: rgba(199, 232, 179, 0.96) !important;
}

/* Light Why Choose Us surfaces */
.ixwhy-page :is(
  .ixwhy-hero__content,
  .ixwhy-section-head,
  .ixwhy-reason-card,
  .ixwhy-path__card,
  .ixwhy-path__steps div
) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--ix-type-heading, #12345d) !important;
}

.ixwhy-page :is(
  .ixwhy-hero__content,
  .ixwhy-section-head,
  .ixwhy-reason-card,
  .ixwhy-path__card,
  .ixwhy-path__steps div
) :where(p, li, span) {
  color: var(--ix-type-muted, #4f6681) !important;
}

.ixwhy-page :is(.ixwhy-kicker, .ixwhy-reason-card__tag, .ixwhy-path__steps span) {
  color: #5f9938 !important;
}

.ixwhy-page .ixwhy-btn--primary {
  color: #ffffff !important;
}

.ixwhy-page .ixwhy-btn--secondary {
  color: var(--ix-type-heading, #12345d) !important;
  background: #ffffff !important;
}

/* Footer CTA button contrast hardening */
:is(
  .ixf-footer .ixf-lead-band__actions a:first-child,
  .ixf-footer .ixf-lead-band__actions a:first-of-type,
  footer .ixf-lead-band__actions a:first-child,
  footer .ixf-lead-band__actions a:first-of-type,
  footer [class*="lead-band"] [class*="actions"] a:first-child,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type
) {
  color: #12345d !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:first-child *,
  .ixf-footer .ixf-lead-band__actions a:first-of-type *,
  footer .ixf-lead-band__actions a:first-child *,
  footer .ixf-lead-band__actions a:first-of-type *,
  footer [class*="lead-band"] [class*="actions"] a:first-child *,
  footer [class*="lead-band"] [class*="actions"] a:first-of-type *
) {
  color: #12345d !important;
}

:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child),
  footer .ixf-lead-band__actions a:not(:first-child),
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child)
),
:is(
  .ixf-footer .ixf-lead-band__actions a:not(:first-child) *,
  footer .ixf-lead-band__actions a:not(:first-child) *,
  footer [class*="lead-band"] [class*="actions"] a:not(:first-child) *
) {
  color: #ffffff !important;
}

@media (max-width: 767px) {
  .ixwhy-page .ixwhy-hero h1,
  .ixwhy-page .ixwhy-hero__content h1,
  main.ixwhy-main .ixwhy-hero h1,
  main.ixwhy-main .ixwhy-hero__content h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 12vw, 58px) !important;
    line-height: 1.01 !important;
  }

  .ixwhy-page :is(
    .ixwhy-section-head h2,
    .ixwhy-path__content h2,
    .ixwhy-cta__card h2,
    .ixwhy-hero__panel h2
  ),
  main.ixwhy-main :is(
    .ixwhy-section-head h2,
    .ixwhy-path__content h2,
    .ixwhy-cta__card h2,
    .ixwhy-hero__panel h2
  ) {
    max-width: 100% !important;
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.06 !important;
  }

  :is(
    .ixwhy-page,
    main.ixwhy-main,
    .ixwhy-page.ix-typography-locked
  ) :where(
    p,
    li,
    a,
    label,
    input,
    select,
    textarea,
    button,
    summary,
    small,
    span,
    [class*="__lead"],
    [class*="__lede"],
    [class*="__text"],
    [class*="__copy"],
    [class*="__body"],
    [class*="__note"]
  ) {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }
}

/* =========================================================
   Why Choose Us small fix: white secondary CTA button text
   Ensures the white button in the dark closing CTA remains
   readable across page-specific and shared typography layers.
========================================================= */
.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary,
.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary:link,
.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary:visited {
  color: #12345d !important;
  -webkit-text-fill-color: #12345d !important;
  background: #ffffff !important;
  border: 1px solid rgba(18, 52, 93, 0.10) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary *,
.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary:link *,
.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary:visited * {
  color: #12345d !important;
  -webkit-text-fill-color: #12345d !important;
  opacity: 1 !important;
}

.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary:hover,
.ixwhy-page .ixwhy-cta__actions .ixwhy-btn--secondary:focus-visible {
  color: #12345d !important;
  -webkit-text-fill-color: #12345d !important;
  background: #ffffff !important;
}
