/*
 * LIFA Global Trade - sitewide premium system v2
 *
 * This file is the final presentation layer for every public template. It
 * keeps the established navy, gold, white, and editorial type roles while
 * carrying the homepage's premium card language across parity-marked
 * interior pages. The existing page architecture, imagery and section order
 * remain intact; only the shared presentation layer is strengthened.
 */

:root {
  /* Homepage primitives. All public routes inherit this exact palette. */
  --lifa-ink: var(--deep-ink, #07111e);
  --lifa-navy: var(--navy, #0f1e36);
  --lifa-navy-soft: var(--secondary-navy, #132b4a);
  --lifa-gold: var(--gold, #eed47d);
  --lifa-gold-soft: var(--gold-light, #eed47d);
  --lifa-white: var(--white, #ffffff);
  --lifa-cool: var(--off-white, #f7f9fc);
  /* Legacy aliases remain for old templates, but no cream color remains. */
  --lifa-paper: var(--lifa-cool);
  --lifa-cream: var(--lifa-white);
  --lifa-copy: var(--body-text, #182033);
  /* Dark enough for AA body copy on both white and the cool-neutral tint. */
  --lifa-muted: #5d6b7d;
  --lifa-gold-deep: #eed47d;
  --lifa-line: var(--line, #dce3ed);
  --lifa-line-strong: var(--line, #dce3ed);

  /* Semantic tokens */
  --surface-canvas: var(--lifa-white);
  --surface-default: var(--lifa-white);
  --surface-muted: var(--lifa-cool);
  --surface-inverse: var(--lifa-ink);
  --text-primary: var(--lifa-copy);
  --text-secondary: var(--lifa-muted);
  --text-inverse: var(--lifa-white);
  --text-inverse-muted: rgba(255, 255, 255, .82);
  --text-inverse-subtle: rgba(255, 255, 255, .72);
  --text-accent-on-light: var(--lifa-gold-deep);
  --text-accent-on-inverse: var(--lifa-gold-soft);
  --border-default: var(--lifa-line);
  --border-emphasis: rgba(238, 212, 125, .56);
  --accent-primary: var(--lifa-gold);
  --accent-secondary: var(--lifa-navy);

  /* Component tokens */
  --radius-panel: 10px;
  --radius-control: 7px;
  --shadow-panel: 0 18px 44px rgba(7, 17, 30, .10);
  --shadow-hover: 0 24px 52px rgba(7, 17, 30, .16);
  --focus-ring: 0 0 0 4px rgba(238, 212, 125, .24);
  --motion-standard: .24s cubic-bezier(.22, 1, .36, 1);
  --home-hero-stage-min: 840px;
  --home-hero-copy-width: min(1180px, 68vw);
  --hero-signature-color: var(--lifa-gold-soft);
  --hero-signature-shadow: none;
}

/* -------------------------------------------------------------------------
   Base canvas, type, and navigation
   ------------------------------------------------------------------------- */

html {
  background: var(--surface-canvas);
}

body[data-page-family] {
  color: var(--text-primary);
  background: var(--surface-canvas);
}

body[data-page-family] main {
  isolation: isolate;
}

body[data-page-family] :where(p, li, dd, dt, figcaption) {
  color: var(--text-secondary);
}

/* Interior-page heading defaults must not override the homepage's section
   surfaces, which intentionally provide their own light/dark heading colors. */
body[data-page-family]:not(.home-page) :where(h1, h2, h3, h4, h5) {
  color: var(--lifa-navy);
}

body[data-page-family] :where(a, button, input, select, textarea) {
  -webkit-tap-highlight-color: rgba(238, 212, 125, .18);
}

body[data-page-family] :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(238, 212, 125, .78);
  outline-offset: 3px;
  box-shadow: var(--focus-ring);
}

/* Hero copy is editorial reading content. Keep it left-aligned by default;
   centered section introductions retain their own component rules below. */
html:not([lang="ar"]) body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero):not(.hero--center):not(.hero--centered):not(.text-center):not([data-hero-align="center"]) .hero-content {
  align-items: flex-start !important;
  text-align: left !important;
}

html:not([lang="ar"]) body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero):not(.hero--center):not(.hero--centered):not(.text-center):not([data-hero-align="center"]) .hero-content :is(.breadcrumb, .eyebrow, h1, p, .blog-hero-list, .hero-actions) {
  align-self: flex-start;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

html:not([lang="ar"]) body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero):not(.hero--center):not(.hero--centered):not(.text-center):not([data-hero-align="center"]) .hero-actions {
  justify-content: flex-start !important;
}

.site-header {
  /* A fixed-height top rail gives every route the same restrained brand cue
     without changing the sticky header or navigation geometry. */
  isolation: isolate;
  background: var(--lifa-ink) !important;
  border-bottom: 1px solid rgba(238, 212, 125, .34) !important;
  box-shadow: 0 12px 32px rgba(7, 17, 30, .22) !important;
}

.site-header::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(238, 212, 125, .42) 0%,
    var(--lifa-gold-soft) 8%,
    var(--lifa-gold) 32%,
    var(--lifa-gold-soft) 68%,
    rgba(238, 212, 125, .42) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, .34);
  box-shadow: 0 2px 10px rgba(238, 212, 125, .22);
}

.site-header::after {
  height: 2px;
  background: var(--lifa-gold) !important;
}

.site-header .container {
  width: min(1440px, calc(100% - 48px));
}

.site-header .brand img {
  /* Do not flash the image fallback text while the high-priority logo decodes.
     The alt attribute remains exposed to assistive technology. */
  color: transparent;
  font-size: 0;
}

.header-inner {
  min-height: 84px;
  gap: 30px;
}

.brand img {
  width: 178px;
}

.main-nav {
  gap: 22px;
}

.main-nav > a,
.main-nav > .nav-item > a {
  min-height: 48px;
  padding: 26px 3px 22px;
  color: rgba(255, 255, 255, .88);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .025em;
}

.main-nav > a::before,
.main-nav > .nav-item > a::before {
  bottom: -1px;
  height: 2px;
  background: var(--lifa-gold) !important;
}

.main-nav > a:hover,
.main-nav > .nav-item > a:hover,
.main-nav > a.active,
.main-nav > .nav-item > a.active {
  color: var(--lifa-gold-soft);
}

.header-cta {
  min-height: 48px;
  padding: 13px 24px;
  border-radius: var(--radius-control);
  background: var(--lifa-gold) !important;
  color: var(--lifa-ink) !important;
  box-shadow: 0 12px 28px rgba(238, 212, 125, .24);
}

.header-cta:hover,
.header-cta:focus-visible {
  color: var(--lifa-ink) !important;
  background: var(--lifa-gold-soft) !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(238, 212, 125, .32);
}

.dropdown-panel {
  border: 1px solid rgba(238, 212, 125, .28) !important;
  border-radius: 8px !important;
  background: var(--lifa-ink) !important;
  box-shadow: 0 28px 60px rgba(2, 8, 16, .34) !important;
}

.dropdown-panel a {
  min-height: 44px;
  padding: 11px 16px 11px 38px;
}

.dropdown-panel a:hover,
.dropdown-panel a:focus-visible {
  padding-left: 42px;
}

/* Keep menu labels crisp; decorative circles compete with the actual routes. */
.dropdown-panel::after {
  display: none;
}

@media (max-width: 767px) {
  .dropdown-panel a,
  .dropdown-panel a:hover,
  .dropdown-panel a:focus-visible {
    min-height: 0;
    padding: 11px 0;
  }

  .dropdown-panel a::before {
    display: none;
  }
}

@media (min-width: 768px) {
  html body[data-page-family] .dropdown-panel a:not(.dropdown-viewall) {
    padding-left: 38px;
  }

  html body[data-page-family] .dropdown-panel a:not(.dropdown-viewall):is(:hover, :focus-visible) {
    padding-left: 42px;
  }
}

/* -------------------------------------------------------------------------
   Section rhythm and editorial hierarchy
   ------------------------------------------------------------------------- */

body[data-page-family] main > .section {
  padding-block: clamp(64px, 7vw, 108px);
}

body[data-page-family] main > .section + .section {
  border-top: 1px solid rgba(15, 30, 54, .06);
}

body[data-page-family] main > .section.section-muted,
body[data-page-family] main > .section-muted {
  background: var(--surface-muted) !important;
}

body[data-page-family] main > .section.section-dark,
body[data-page-family] main > .section-dark {
  color: rgba(255, 255, 255, .86);
  background: var(--surface-inverse) !important;
}

body[data-page-family] main > .section.section-dark :where(h2, h3, h4),
body[data-page-family] main > .section-dark :where(h2, h3, h4) {
  color: var(--lifa-white);
}

body[data-page-family] .section-heading {
  max-width: 980px;
  margin-bottom: 38px;
}

body[data-page-family] .section-heading .eyebrow,
body[data-page-family] .home-section-header .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  color: var(--lifa-navy);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .70rem;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page-family] .section-heading .eyebrow::before,
body[data-page-family] .home-section-header .eyebrow::before {
  width: 28px;
  height: 2px;
  content: "";
  background: var(--lifa-gold);
}

body[data-page-family] .section-heading h2,
body[data-page-family] .home-section-header h2 {
  max-width: 25ch;
  margin: 0 0 16px;
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 1.08;
}

body[data-page-family] .section-heading > p,
body[data-page-family] .home-section-header > div > p {
  max-width: 68ch;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.72;
}

body[data-page-family] .section-heading + :where(.grid, .card-grid, .cards-grid, .process-grid, .image-grid) {
  margin-top: 10px;
}

/* -------------------------------------------------------------------------
   Shared surfaces. The homepage keeps the richer framed card language below;
   interior pages get editorial rows further down this file.
   ------------------------------------------------------------------------- */

body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step, .process-feature-card, .process-info-card) {
  border-radius: var(--radius-panel);
  border: 1px solid var(--border-default);
  background: var(--surface-default);
  box-shadow: 0 10px 28px rgba(7, 17, 30, .07);
  transition: border-color var(--motion-standard), box-shadow var(--motion-standard), transform var(--motion-standard), background-color var(--motion-standard);
}

body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step, .process-feature-card, .process-info-card):is(:hover, :focus-within) {
  border-color: var(--border-emphasis);
  box-shadow: var(--shadow-hover);
}

body[data-page-family] main :where(a.card, a.link-card, a.lifa-card, a.media-card, .process-step, .process-feature-card, .process-info-card) {
  cursor: pointer;
}

body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step) h3 {
  margin-top: 0;
  color: var(--lifa-navy);
  font-size: 1.35rem;
  line-height: 1.18;
}

body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step) p {
  line-height: 1.68;
}

body[data-page-family] main :where(.card-link, .home-text-link, .text-link) {
  color: var(--lifa-navy);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body[data-page-family] main :where(.card-link, .home-text-link, .text-link):hover {
  color: var(--lifa-ink);
}

body[data-page-family] main :where(.lifa-number-badge, .step-number) {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  min-height: 38px;
  border: 1px solid rgba(238, 212, 125, .62);
  border-radius: 50%;
  color: var(--lifa-navy);
  background: rgba(255, 255, 255, .76);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
}

body[data-page-family] main :where(.image-grid, .grid, .card-grid, .cards-grid, .process-grid) {
  align-items: stretch;
}

body[data-page-family] main :where(.image-grid, .media-card) img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

body[data-page-family] main :where(.media-card, .image-frame) img {
  border-radius: 7px;
}

/* -------------------------------------------------------------------------
   Interior pages: fewer floating cards, more editorial rows
   ------------------------------------------------------------------------- */

body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) {
  gap: 0 !important;
  border-top: 1px solid var(--border-default) !important;
}

body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) > :where(.card, .link-card, .lifa-card) {
  min-width: 0;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 28px 24px 30px !important;
  transform: none !important;
}

body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) > :where(.card, .link-card, .lifa-card):is(:hover, :focus-within) {
  background: rgba(255, 255, 255, .74);
  border-color: var(--border-default);
  box-shadow: none;
}

body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) > :where(.card, .link-card, .lifa-card)::before,
body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) > :where(.card, .link-card, .lifa-card)::after {
  display: none !important;
}

body[data-page-family]:not(.home-page) main :where(.grid-3, .grid-4, .three-grid, .four-grid) > :where(.card, .link-card, .lifa-card) {
  border-left: 1px solid var(--border-default) !important;
}

body[data-page-family]:not(.home-page) main :where(.grid-3, .grid-4, .three-grid, .four-grid) > :where(.card, .link-card, .lifa-card):first-child {
  border-left: 0 !important;
}

/* The legacy parity layer intentionally uses high-specificity !important
   declarations. This equally explicit contract is scoped to the generated
   public templates so the editorial treatment wins without affecting the
   homepage or unrelated markup. */
html body[data-page-family]:not(.home-page) main :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card) {
  min-height: 0 !important;
  padding: 28px 24px 30px !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main :is(.grid-3, .grid-4, .three-grid, .four-grid) > :is(.card, .link-card, .lifa-card) {
  border-left: 1px solid var(--border-default) !important;
}

html body[data-page-family]:not(.home-page) main :is(.grid-3, .grid-4, .three-grid, .four-grid) > :is(.card, .link-card, .lifa-card):first-child {
  border-left: 0 !important;
}

html body[data-page-family]:not(.home-page) main :is(.image-grid, .grid) > .media-card {
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main :is(.image-grid, .grid) > .media-card :is(img, picture) {
  border-radius: var(--radius-control);
  box-shadow: 0 8px 22px rgba(7, 17, 30, .08);
}

/* Parity v1 has a deliberately strong selector for generated page cards.
   Match that specificity (plus one attribute) so the calmer v2 row treatment
   remains the final, documented presentation contract. */
html body[data-page-family][data-page-family]:not(.home-page) main > .section:not(.section-dark):not(.section-navy) :is(.card, .link-card, .lifa-card) {
  min-height: 0 !important;
  padding: 28px 24px 30px !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main > .section:not(.section-dark):not(.section-navy) :is(.grid-3, .grid-4, .three-grid, .four-grid) > :is(.card, .link-card, .lifa-card) {
  border-left: 1px solid var(--border-default) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main > .section:not(.section-dark):not(.section-navy) :is(.grid-3, .grid-4, .three-grid, .four-grid) > :is(.card, .link-card, .lifa-card):first-child {
  border-left: 0 !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main > .section:not(.section-dark):not(.section-navy) :is(.image-grid, .grid) > .media-card {
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Process showcase cards are intentionally dark focal panels. The older
   showcase skin could leave white cards with white copy, so give them a
   deliberate inverse surface and readable hierarchy. */
html body[data-page-family]:not(.home-page) main :is(.process-info-card, .process-feature-card) {
  background: var(--lifa-navy) !important;
  border-color: rgba(238, 212, 125, .42) !important;
  color: rgba(255, 255, 255, .86) !important;
}

html body[data-page-family]:not(.home-page) main :is(.process-info-card, .process-feature-card) :is(h2, h3, h4) {
  color: var(--lifa-white) !important;
}

html body[data-page-family]:not(.home-page) main :is(.process-info-card, .process-feature-card) :is(p, li) {
  color: rgba(255, 255, 255, .76) !important;
}

html body[data-page-family]:not(.home-page) main .process-info-icon {
  color: var(--lifa-gold-soft) !important;
  border-color: rgba(238, 212, 125, .4) !important;
}

body[data-page-family]:not(.home-page) main :where(.grid-3, .grid-4, .three-grid, .four-grid) > :where(.card, .link-card, .lifa-card) h3 {
  font-size: 1.22rem;
}

/* Keep feature imagery and process controls as framed focal points. */
body[data-page-family]:not(.home-page) main :where(.image-grid, .grid) > .media-card,
body[data-page-family]:not(.home-page) main :where(.process-feature-card, .process-info-card) {
  border: 1px solid var(--border-default) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--surface-default) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .07) !important;
}

body[data-page-family]:not(.home-page) main :where(.image-grid, .grid) > .media-card {
  overflow: hidden;
  padding: 0;
}

body[data-page-family]:not(.home-page) main :where(.image-grid, .grid) > .media-card :where(.media-card-content, figcaption) {
  padding: 18px 20px 22px;
}

body[data-page-family]:not(.home-page) main .process-grid {
  gap: 0 !important;
  border-top: 1px solid rgba(238, 212, 125, .28) !important;
}

body[data-page-family]:not(.home-page) main .process-grid > .process-step {
  border: 0 !important;
  border-bottom: 1px solid rgba(238, 212, 125, .25) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 26px 22px 28px !important;
  transform: none !important;
}

body[data-page-family]:not(.home-page) main .process-grid > .process-step + .process-step {
  border-left: 1px solid rgba(238, 212, 125, .25);
}

body[data-page-family]:not(.home-page) main .section-dark .process-grid > .process-step :where(h3, p) {
  color: rgba(255, 255, 255, .86);
}

/* Process steps are a sequence, not a set of floating panels. Keep them as
   editorial rows even when an older page skin carries parity attributes. */
html body[data-page-family]:not(.home-page) main .process-grid > .process-step {
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 26px 22px 28px !important;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main .process-grid > .process-step + .process-step {
  border-left: 1px solid var(--border-default) !important;
}

/* Final parity override: generated interior pages still carry the v1 parity
   attribute and its broad card selector. Match that selector explicitly so
   the non-home row contract wins on every family, not only newer templates. */
html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item) {
  min-height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 28px 24px 30px !important;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item)::before,
html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item)::after {
  display: none !important;
}

html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item):is(:hover, :focus-within) {
  border-bottom-color: rgba(238, 212, 125, .52) !important;
  background: rgba(238, 212, 125, .045) !important;
  box-shadow: none !important;
  transform: translateX(3px) !important;
}

/* Restore hierarchy for media and process showcase panels after the broad
   row normalization above. These are content focal points, not utility cards. */
html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  :is(.media-card, .process-feature-card, .process-info-card) {
  border: 1px solid var(--border-default) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--surface-default) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .07) !important;
  padding: 0 !important;
  transform: none !important;
}

/* Process records contain a badge, heading, and body copy. Give that content
   an inset of its own; media cards can remain edge-to-edge around imagery. */
html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .process-info-card {
  padding: clamp(28px, 3vw, 38px) !important;
}

html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  :is(.media-card, .process-feature-card, .process-info-card):is(:hover, :focus-within) {
  border-color: var(--border-emphasis) !important;
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-3px) !important;
}

html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .process-grid > .process-step {
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 26px 22px 28px !important;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .process-grid > .process-step:is(:hover, :focus-within) {
  border-bottom-color: rgba(238, 212, 125, .52) !important;
  background: rgba(238, 212, 125, .045) !important;
  transform: translateX(3px) !important;
}

/* -------------------------------------------------------------------------
   Hero and post-hero signals
   ------------------------------------------------------------------------- */

body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) {
  min-height: min(660px, calc(100svh - var(--header-h)));
  border-bottom: 1px solid rgba(238, 212, 125, .42);
}

body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-content {
  max-width: 900px;
}

body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-content h1 {
  max-width: 24ch;
  font-size: clamp(2.7rem, 5.2vw, 5.2rem);
  line-height: 1.02;
}

body[data-page-family]:not(.home-page) .post-hero-signal-shell {
  position: relative;
  z-index: 2;
  margin-top: -30px;
}

body[data-page-family]:not(.home-page) .signal-strip {
  border: 1px solid rgba(238, 212, 125, .34);
  border-radius: var(--radius-panel);
  background: var(--lifa-ink);
  box-shadow: var(--shadow-panel);
}

body[data-page-family]:not(.home-page) .signal-item {
  min-height: 104px;
  padding: 22px 20px;
}

body[data-page-family]:not(.home-page) .signal-item + .signal-item {
  border-left-color: rgba(238, 212, 125, .22);
}

/* -------------------------------------------------------------------------
   Forms, calculators, tables, FAQ, and conversion panels
   ------------------------------------------------------------------------- */

body[data-page-family] main :where(.form-panel, .quote-panel, .tool-workspace, .calculator-card, .tool-form-section) {
  border: 1px solid var(--border-emphasis) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--surface-default) !important;
  box-shadow: var(--shadow-panel) !important;
}

body[data-page-family] main :where(.form-panel, .quote-panel) {
  padding: clamp(24px, 3vw, 42px) !important;
}

body[data-page-family] main :where(.form-grid, .tool-form-grid) {
  gap: 20px 22px;
}

body[data-page-family] main :where(.field, .tool-field) > label {
  margin-bottom: 8px;
  color: var(--lifa-navy);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .71rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

body[data-page-family] main :where(.field input, .field select, .field textarea, .tool-field input, .tool-field select, .tool-field textarea) {
  min-height: 54px;
  border: 1px solid var(--lifa-line-strong);
  border-radius: var(--radius-control);
  background: var(--lifa-paper);
  color: var(--lifa-copy);
}

body[data-page-family] main :where(.field input, .field select, .field textarea, .tool-field input, .tool-field select, .tool-field textarea):focus {
  border-color: var(--lifa-gold);
  background: var(--lifa-white);
  box-shadow: var(--focus-ring);
}

body[data-page-family] main :where(.quote-section-label, .form-section-label) {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 26px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-default);
  color: var(--lifa-navy);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body[data-page-family] main :where(.compare-table, .guide-table, .kc-table) {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--surface-default);
  box-shadow: 0 10px 28px rgba(7, 17, 30, .07);
}

body[data-page-family] main :where(.compare-table, .guide-table, .kc-table) th {
  color: var(--lifa-white);
  background: var(--lifa-navy);
  border-bottom: 2px solid var(--lifa-gold);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body[data-page-family] main :where(.compare-table, .guide-table, .kc-table) :is(td, th) {
  padding: 16px 18px;
  vertical-align: top;
}

/* Editorial data tables use the same deliberate frame as the card system.
   The classless tables in older guide pages are included by their scroll
   wrapper so they cannot fall back to loose spreadsheet styling. */
body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(13, 35, 55, .16);
  border-radius: 8px;
  background: var(--lifa-white);
  box-shadow: 0 12px 28px rgba(7, 17, 30, .08);
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table {
  width: 100%;
  min-width: 860px;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--lifa-muted);
  background: var(--lifa-white);
  font-size: .92rem;
  line-height: 1.55;
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table th {
  padding: 15px 18px;
  color: var(--lifa-cream);
  background: var(--lifa-navy);
  border-bottom: 2px solid var(--lifa-gold);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.35;
  text-align: left;
  text-transform: uppercase;
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table td {
  padding: 17px 18px;
  vertical-align: top;
  border-bottom: 1px solid rgba(13, 35, 55, .1);
  border-right: 1px solid rgba(13, 35, 55, .08);
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table td:first-child {
  min-width: 180px;
  color: var(--lifa-navy);
  font-weight: 700;
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table tbody tr:nth-child(even) td {
  background: rgba(255, 255, 255, .52);
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table tbody tr:hover td {
  background: rgba(238, 212, 125, .1);
}

body[data-page-family]:not(.home-page) main :is(.table-scroll, .table-wrap, .guide-table-wrap) > table a {
  color: var(--lifa-navy);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(238, 212, 125, .38);
  text-underline-offset: 3px;
}

body[data-page-family] main .faq-wrap {
  max-width: 980px;
  gap: 10px;
}

body[data-page-family] main .faq-item {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-default);
  box-shadow: 0 6px 18px rgba(7, 17, 30, .05);
}

body[data-page-family] main .faq-question {
  min-height: 58px;
  padding: 16px 20px;
  color: var(--lifa-navy);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .95rem;
  font-weight: 700;
  text-align: left;
}

body[data-page-family] main .faq-answer {
  padding: 0 20px 20px;
}

body[data-page-family] main .cta-band {
  border: 1px solid rgba(238, 212, 125, .42);
  border-radius: var(--radius-panel);
  background: var(--lifa-ink) !important;
  box-shadow: 0 24px 56px rgba(7, 17, 30, .18);
}

body[data-page-family] main .cta-band :where(h2, h3, p, li) {
  color: rgba(255, 255, 255, .88);
}

/* -------------------------------------------------------------------------
   Article, guide, case-study, and tool-specific hierarchy
   ------------------------------------------------------------------------- */

body[data-page-family="Editorial"] main :where(.article-content, .guide-content),
body[data-page-family="knowledge"] main :where(.article-content, .guide-content),
body[data-page-family="case-study"] main :where(.article-content, .guide-content) {
  max-width: 980px;
}

body[data-page-family="Editorial"] main :where(.article-content, .guide-content) > section,
body[data-page-family="knowledge"] main :where(.article-content, .guide-content) > section,
body[data-page-family="case-study"] main :where(.article-content, .guide-content) > section {
  padding-block: 42px;
  border-bottom: 1px solid var(--border-default);
}

body[data-page-family="Editorial"] main :where(.article-content, .guide-content) :where(p, li),
body[data-page-family="knowledge"] main :where(.article-content, .guide-content) :where(p, li),
body[data-page-family="case-study"] main :where(.article-content, .guide-content) :where(p, li) {
  max-width: 72ch;
  font-size: 1.04rem;
  line-height: 1.82;
}

body[data-page-family] main :where(.article-toc, .article-side-note, .highlight-box, .scenario-question, .educational-scenario-note) {
  border: 1px solid var(--border-default);
  border-left: 3px solid var(--lifa-gold);
  border-radius: var(--radius-control);
  background: var(--surface-default);
  box-shadow: 0 8px 22px rgba(7, 17, 30, .06);
}

body[data-page-family="Tool"] main :where(.tool-answer-band, .tool-result-panel) {
  border: 1px solid var(--border-emphasis);
  border-radius: var(--radius-panel);
  background: var(--surface-default);
  box-shadow: var(--shadow-panel);
}

/* -------------------------------------------------------------------------
   Homepage-only refinements. The homepage intentionally retains its larger
   card and image vocabulary, but receives the same spacing and hierarchy.
   ------------------------------------------------------------------------- */

body.home-page main > .section {
  padding-block: clamp(72px, 8vw, 120px);
}

body.home-page main :where(.home-route-step, .home-commitment-grid > a, .home-category-card, .home-industry-grid > a, .home-freight-manifest > a, .home-freight-details > a) {
  border-color: rgba(238, 212, 125, .34);
  box-shadow: 0 14px 34px rgba(7, 17, 30, .10);
}

body.home-page main :where(.home-route-step, .home-commitment-grid > a, .home-category-card, .home-industry-grid > a, .home-freight-manifest > a, .home-freight-details > a):is(:hover, :focus-visible) {
  border-color: rgba(238, 212, 125, .72);
  box-shadow: var(--shadow-hover);
}

body.home-page main .home-service-group,
body.home-page main .home-dossier-section,
body.home-page main .home-freight {
  border-color: rgba(238, 212, 125, .28);
}

body.home-page main .home-service-group > header {
  border-bottom: 1px solid rgba(238, 212, 125, .28);
}

body.home-page main .home-route-grid,
body.home-page main .home-commitment-grid,
body.home-page main .home-category-grid,
body.home-page main .home-industry-grid {
  align-items: stretch;
}

/* -------------------------------------------------------------------------
   Pointer and focus motion. Motion is intentionally small so dense sourcing
   content remains calm while interactive blocks still feel responsive.
   ------------------------------------------------------------------------- */

body[data-page-family] main > .section,
body[data-page-family] main > section {
  --section-heading-shift: 0px;
}

body[data-page-family] main > :where(.section, section):is(:hover, :focus-within) :where(.section-heading, .home-section-header) h2 {
  --section-heading-shift: 3px;
  transform: translateX(var(--section-heading-shift));
}

body[data-page-family] main :where(.section-heading, .home-section-header) h2 {
  transition: transform .28s cubic-bezier(.22, .61, .36, 1), color .28s ease;
}

body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step, .process-feature-card, .process-info-card, .info-card, .proof-card, .faq-item) {
  transition: transform .28s cubic-bezier(.22, .61, .36, 1), border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}

body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step, .process-feature-card, .process-info-card, .info-card, .proof-card, .faq-item):is(:hover, :focus-within) {
  transform: translateY(-2px);
}

body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) > :where(.card, .link-card, .lifa-card):is(:hover, :focus-within) {
  transform: translateX(3px);
  background: rgba(238, 212, 125, .045) !important;
  border-bottom-color: rgba(238, 212, 125, .52) !important;
}

html body[data-page-family]:not(.home-page) main :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card):is(:hover, :focus-within) {
  transform: translateX(3px) !important;
  background: rgba(238, 212, 125, .045) !important;
  border-bottom-color: rgba(238, 212, 125, .52) !important;
}

html body[data-page-family]:not(.home-page) main .process-grid > .process-step:is(:hover, :focus-within) {
  transform: translateX(3px) !important;
  background: rgba(238, 212, 125, .045) !important;
  border-bottom-color: rgba(238, 212, 125, .52) !important;
}

body[data-page-family] main :where(.media-card, .image-card, .card-with-image, .home-category-card, .home-route-step) {
  overflow: hidden;
}

body[data-page-family] main :where(.media-card, .image-card, .card-with-image, .home-category-card, .home-route-step) img {
  transition: transform .6s cubic-bezier(.22, .61, .36, 1), filter .4s ease;
}

body[data-page-family] main :where(.media-card, .image-card, .card-with-image, .home-category-card, .home-route-step):is(:hover, :focus-within) img {
  transform: scale(1.035);
  filter: saturate(1.04);
}

body[data-page-family] main :where(.card-link, .text-link, .arrow-link, .learn-more, .cta-link) {
  transition: color .25s ease, gap .25s ease, transform .25s ease;
}

body[data-page-family] main :where(.card-link, .text-link, .arrow-link, .learn-more, .cta-link):is(:hover, :focus-visible) {
  transform: translateX(3px);
}

body[data-page-family] :where(.btn, .button, button, input[type="submit"], input[type="button"], a.btn-primary, a.btn-secondary) {
  transition: transform .25s cubic-bezier(.22, .61, .36, 1), box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}

body[data-page-family] :where(.btn, .button, button, input[type="submit"], input[type="button"], a.btn-primary, a.btn-secondary):is(:hover, :focus-visible) {
  transform: translateY(-2px);
}

body.home-page main :where(.home-route-step, .home-commitment-grid > a, .home-category-card, .home-industry-grid > a, .home-freight-manifest > a, .home-freight-details > a):is(:hover, :focus-visible) {
  transform: translateY(-4px) scale(1.005);
}

/* -------------------------------------------------------------------------
   Footer and responsive behavior
   ------------------------------------------------------------------------- */

.site-footer {
  margin-top: clamp(72px, 8vw, 120px);
  border-top: 2px solid rgba(238, 212, 125, .62) !important;
  background: var(--lifa-ink) !important;
}

.site-footer::before,
.site-footer::after {
  opacity: .18;
}

.site-footer .footer-value-card {
  border-radius: var(--radius-control);
  background: rgba(255, 255, 255, .05);
}

.site-footer .footer-column a {
  min-height: 34px;
}

@media (max-width: 1040px) {
  .site-header .container {
    width: min(100%, calc(100% - 32px));
  }

  .header-inner {
    min-height: 76px;
  }

  .main-nav {
    gap: 14px;
  }

  .main-nav > a,
  .main-nav > .nav-item > a {
    font-size: .75rem;
  }

  body[data-page-family]:not(.home-page) main :where(.grid-3, .grid-4, .three-grid, .four-grid) > :where(.card, .link-card, .lifa-card) {
    border-left: 0 !important;
  }
}

@media (max-width: 767px) {
  .site-header .container {
    width: min(100%, calc(100% - 28px));
  }

  .header-inner {
    min-height: 68px;
  }

  .brand img {
    width: 146px;
  }

  body[data-page-family] main > .section,
  body.home-page main > .section {
    padding-block: 56px;
  }

  body[data-page-family] .section-heading {
    margin-bottom: 26px;
  }

  body[data-page-family] .section-heading h2,
  body[data-page-family] .home-section-header h2 {
    font-size: 2rem;
  }

  body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) {
    min-height: min(680px, calc(100svh - 68px));
  }

  body[data-page-family]:not(.home-page) .post-hero-signal-shell {
    margin-top: -18px;
  }

  body[data-page-family]:not(.home-page) main :where(.grid, .card-grid, .cards-grid) > :where(.card, .link-card, .lifa-card) {
    padding: 22px 4px 24px;
  }

  body[data-page-family]:not(.home-page) main :where(.process-grid) > .process-step {
    padding: 22px 4px 24px;
  }

  body[data-page-family]:not(.home-page) main .process-grid > .process-step + .process-step {
    border-left: 0 !important;
  }

  body[data-page-family] main :where(.form-panel, .quote-panel) {
    padding: 22px 18px !important;
  }

  body[data-page-family] main :where(.form-grid, .tool-form-grid) {
    gap: 16px;
  }

  body[data-page-family] main :where(.compare-table, .guide-table, .kc-table) :is(td, th) {
    padding: 13px 12px;
  }

  .site-footer .footer-value-strip {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-family] :where(a, button, input, select, textarea, img),
  body[data-page-family] :where(.card, .link-card, .lifa-card, .media-card, .process-step, .process-feature-card, .process-info-card) {
    transition-duration: .01ms !important;
  }

  body[data-page-family] main :where(.card, .link-card, .lifa-card, .media-card, .process-step, .process-feature-card, .process-info-card, .info-card, .proof-card, .faq-item, .card-link, .text-link, .arrow-link, .learn-more, .cta-link, .btn, .button, button, input[type="submit"], input[type="button"], a.btn-primary, a.btn-secondary),
  body[data-page-family] main > :where(.section, section):is(:hover, :focus-within) :where(.section-heading, .home-section-header) h2 {
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------
   Final parity normalization

   Parity-marked interior pages share the homepage markup, but their
   information blocks use an editorial row treatment. Focal media and process
   panels are restored below as the only framed exceptions.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item, .service-card, .resource-card,
      .tool-method-step, .workbook-section-card, .workbook-coverage-card):not(.process-info-card):not(.process-feature-card) {
  min-width: 0 !important;
  min-height: 0 !important;
  align-self: start !important;
  height: fit-content !important;
  padding: 28px 24px 30px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color var(--motion-standard), box-shadow var(--motion-standard), transform var(--motion-standard), background-color var(--motion-standard);
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item, .service-card, .resource-card,
      .tool-method-step, .workbook-section-card, .workbook-coverage-card):not(.process-info-card):not(.process-feature-card):is(:hover, :focus-within) {
  border-bottom-color: rgba(238, 212, 125, .52) !important;
  background: rgba(238, 212, 125, .045) !important;
  box-shadow: none !important;
  transform: translateX(3px) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item, .service-card, .resource-card,
      .tool-method-step, .workbook-section-card, .workbook-coverage-card):not(.process-info-card):not(.process-feature-card)::before {
  display: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  :is(.grid, .card-grid, .cards-grid, .services-grid, .service-grid, .resource-grid,
      .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid,
      .related-links-grid) {
  gap: 0 !important;
  border-top: 1px solid var(--border-default) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  :is(.grid-3, .grid-4, .three-grid, .four-grid) > :is(.card, .link-card, .lifa-card) {
  border-left: 1px solid var(--border-default) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:is(.section-dark, .section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item, .service-card, .resource-card,
      .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  border-color: rgba(238, 212, 125, .38) !important;
  border-radius: 8px !important;
  background: linear-gradient(145deg, var(--lifa-navy-soft), var(--lifa-ink)) !important;
  box-shadow: 0 18px 38px rgba(2, 8, 16, .22) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:is(.section-dark, .section-navy)
  :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
      .check-item, .check-panel, .checklist-item, .value-evidence__item,
      .media-card, .risk-panel, .founder-service-card, .calculator-card,
      .article-tool-band, .kc-timeline-item, .service-card, .resource-card,
      .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  align-self: start !important;
  height: fit-content !important;
}

@media (max-width: 767px) {
  html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
    > .section:not(.section-dark):not(.section-navy)
    :is(.card, .link-card, .lifa-card, .feature-card, .process-step, .process-item,
        .check-item, .check-panel, .checklist-item, .value-evidence__item,
        .media-card, .risk-panel, .founder-service-card, .calculator-card,
        .article-tool-band, .kc-timeline-item, .service-card, .resource-card,
        .tool-method-step, .workbook-section-card, .workbook-coverage-card):not(.process-info-card):not(.process-feature-card) {
    padding: 22px 4px 24px !important;
  }
}

/* Process showcase panels are the one deliberate exception to the row
   language. Keep the inverse navy surface last in the cascade so their copy
   remains readable on parity-marked interior templates. */
html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy) :is(.process-feature-card, .process-info-card) {
  border: 1px solid rgba(238, 212, 125, .42) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--lifa-navy) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .18) !important;
  color: rgba(255, 255, 255, .86) !important;
  padding: clamp(28px, 3vw, 38px) !important;
  transform: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy) :is(.process-feature-card, .process-info-card) :is(h2, h3, h4) {
  color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy) :is(.process-feature-card, .process-info-card) :is(p, li) {
  color: rgba(255, 255, 255, .76) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity]
  > .section:not(.section-dark):not(.section-navy) :is(.process-feature-card, .process-info-card):is(:hover, :focus-within) {
  border-color: rgba(238, 212, 125, .78) !important;
  box-shadow: 0 18px 38px rgba(7, 17, 30, .24) !important;
  transform: translateY(-3px) !important;
}

/* Evidence prompts use inverse contrast so the question remains legible over
   the light scenario brief on every case-study and guide template. */
html body[data-page-family] main :where(.scenario-question, .scenario-question-panel) {
  border: 1px solid rgba(238, 212, 125, .42) !important;
  border-radius: var(--radius-control) !important;
  background: var(--lifa-navy) !important;
  box-shadow: 0 12px 28px rgba(7, 17, 30, .16) !important;
  color: rgba(255, 255, 255, .86) !important;
}

html body[data-page-family] main :where(.scenario-question, .scenario-question-panel) :is(h2, h3, h4, strong) {
  color: var(--lifa-white) !important;
}

html body[data-page-family] main :where(.scenario-question, .scenario-question-panel) :is(p, li, span) {
  color: rgba(255, 255, 255, .76) !important;
}

html body[data-page-family] main :where(.scenario-question, .scenario-question-panel):is(:hover, :focus-within) {
  border-color: rgba(238, 212, 125, .76) !important;
  box-shadow: 0 18px 38px rgba(7, 17, 30, .22) !important;
  transform: translateY(-2px);
}

/* Route navigation is a shared decision surface. The homepage and interior
   related-route sections use different markup, but the same visual rhythm:
   clear section lead, numbered destination, useful context and one action. */
html body[data-page-family] main :is(.home-next-routes, .parity-related-links) {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(238, 212, 125, .4) !important;
  background: var(--lifa-cream) !important;
}

html body[data-page-family] main .home-next-routes-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 5;
  margin: 0 0 clamp(24px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(13, 35, 55, .18);
  border-radius: 8px;
  background: var(--lifa-line);
  box-shadow: 10px 10px 0 -7px rgba(238, 212, 125, .76), 0 18px 36px rgba(7, 17, 30, .12);
}

html body[data-page-family] main .home-next-routes-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  filter: saturate(.92) contrast(1.04);
}

html body[data-page-family] main .home-next-routes-visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 25, 42, .08), rgba(9, 25, 42, .46));
  content: "";
  pointer-events: none;
}

html body[data-page-family] main .home-next-routes-visual figcaption {
  position: absolute;
  z-index: 1;
  right: clamp(18px, 4vw, 56px);
  bottom: clamp(18px, 3vw, 34px);
  display: grid;
  gap: 5px;
  max-width: min(420px, 72%);
  padding: 14px 18px 15px;
  border: 1px solid rgba(238, 212, 125, .46);
  border-radius: var(--radius-control);
  background: rgba(9, 25, 42, .92);
  box-shadow: 0 12px 24px rgba(7, 17, 30, .2);
  color: #fff;
  text-align: right;
}

html body[data-page-family] main .home-next-routes-visual figcaption span {
  color: var(--lifa-gold-soft);
  font: 700 .68rem/1.2 var(--font-ui, Montserrat, Arial, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
}

html body[data-page-family] main .home-next-routes-visual figcaption strong {
  font: 700 clamp(1.2rem, 2.4vw, 2rem)/1.05 var(--font-heading, Georgia, serif);
}

/* Image-led cards use one dependable frame language across page families. */
html body[data-page-family] main :is(a.media-card, .media-card-link > .media-card, .process-feature-card) {
  box-shadow: 10px 10px 0 -7px rgba(238, 212, 125, .68), 0 18px 38px rgba(7, 17, 30, .12) !important;
}

/* Service directory cards stay scannable while retaining their full detail
   in the linked service page. */
html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card {
  min-height: 0 !important;
}

html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card > img,
html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card > picture {
  height: clamp(156px, 15vw, 208px) !important;
  aspect-ratio: 16 / 10 !important;
}

html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card > div {
  padding: 20px 20px 18px !important;
}

html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card h3 {
  min-height: 2.2em;
  margin-bottom: 9px !important;
  font-size: clamp(1.25rem, 1.7vw, 1.55rem) !important;
}

html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card p {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 14px !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

html body[data-page-family] main :is(.home-next-routes, .parity-related-links) > .container {
  position: relative;
  z-index: 1;
}

html body[data-page-family][data-page-family] main > :is(.home-next-routes, .parity-related-links) > .container > .section-heading {
  display: block !important;
  max-width: 800px;
  margin-bottom: clamp(28px, 4vw, 42px) !important;
  margin-inline: auto;
  text-align: center !important;
}

html body[data-page-family][data-page-family] main > :is(.home-next-routes, .parity-related-links) > .container > .section-heading :is(.eyebrow, h2, p) {
  text-align: center !important;
}

html body[data-page-family][data-page-family] main > :is(.home-next-routes, .parity-related-links) > .container > .section-heading h2 {
  max-width: 18ch;
  margin-inline: auto;
  color: var(--lifa-navy) !important;
  font-size: clamp(2rem, 4vw, 3.45rem) !important;
  line-height: 1.02 !important;
  text-wrap: balance;
}

html body[data-page-family][data-page-family] main > :is(.home-next-routes, .parity-related-links) > .container > .section-heading p {
  max-width: 62ch;
  margin-inline: auto;
  color: var(--lifa-muted) !important;
  font-size: clamp(.98rem, 1.3vw, 1.12rem) !important;
}

html body[data-page-family] main :is(.home-next-route-grid, .related-links-grid) {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.5vw, 18px) !important;
}

html body[data-page-family] main .related-links-grid {
  counter-reset: route-card;
}

html body[data-page-family] main :is(.home-next-route-card, .parity-related-links .link-card) {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 196px;
  padding: 72px 22px 20px !important;
  overflow: hidden;
  border: 1px solid rgba(13, 35, 55, .16) !important;
  border-radius: 8px !important;
  background: var(--lifa-white) !important;
  box-shadow: 0 14px 30px rgba(7, 17, 30, .09) !important;
  color: var(--lifa-navy) !important;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

html body[data-page-family] main :is(.home-next-route-card, .parity-related-links .link-card):is(:hover, :focus-visible, :focus-within) {
  transform: translateY(-5px) !important;
  border-color: rgba(238, 212, 125, .8) !important;
  box-shadow: 0 22px 42px rgba(7, 17, 30, .14) !important;
}

html body[data-page-family] main .parity-related-links .link-card {
  counter-increment: route-card;
}

html body[data-page-family] main .parity-related-links .link-card h3 {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 !important;
  color: var(--lifa-navy) !important;
  font-size: clamp(1.08rem, 1.6vw, 1.28rem) !important;
  line-height: 1.16 !important;
}

html body[data-page-family] main .parity-related-links .link-card h3::before {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: var(--lifa-cream);
  background: var(--lifa-navy);
  border: 1px solid rgba(238, 212, 125, .8);
  border-radius: 6px;
  content: counter(route-card, decimal-leading-zero);
  font: 700 .7rem/1 var(--font-ui, Montserrat, Arial, sans-serif);
  letter-spacing: .05em;
}

html body[data-page-family] main .parity-related-links .link-card p {
  margin: 14px 0 0 !important;
  color: var(--lifa-muted) !important;
  font-size: .86rem !important;
  line-height: 1.5 !important;
}

html body[data-page-family] main .parity-related-links .link-card::before {
  top: 26px !important;
  right: 22px !important;
  left: auto !important;
  margin: 0 !important;
  color: var(--lifa-navy) !important;
  font-size: .62rem !important;
  letter-spacing: .1em !important;
}

html body[data-page-family] main .parity-related-links .link-card::after {
  margin-top: auto !important;
  padding-top: 15px !important;
  border-top: 1px solid rgba(13, 35, 55, .14) !important;
  color: var(--lifa-navy) !important;
  content: "Explore route  \2192" !important;
  font-size: .68rem !important;
  letter-spacing: .08em !important;
}

html body[data-page-family][data-page-family] main .home-next-route-card-primary {
  border-color: rgba(238, 212, 125, .72) !important;
  background: var(--lifa-navy-soft) !important;
  color: var(--lifa-cream) !important;
}

@media (max-width: 1120px) {
  html body[data-page-family] main :is(.home-next-route-grid, .related-links-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family] main :is(.home-next-route-grid, .related-links-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html body[data-page-family] main :is(.home-next-route-card, .parity-related-links .link-card) {
    min-height: 176px;
    padding: 64px 16px 16px !important;
  }

  html body[data-page-family] main .parity-related-links .link-card h3 {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 9px;
    font-size: 1rem !important;
  }

  html body[data-page-family] main .parity-related-links .link-card h3::before {
    width: 32px;
    height: 32px;
    font-size: .64rem;
  }
}

/* The legacy parity contract repeats page attributes and uses several
   negation clauses, giving it unusually high specificity. Repeat the stable
   parity markers here so this final card contract is authoritative in the
   computed cascade as well as in source order. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main[data-homepage-parity][data-homepage-parity]
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card) {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(18px, 2vw, 22px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 30, 54, .18) !important;
  border-radius: 8px !important;
  background: var(--lifa-white) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .08) !important;
  transform: translateY(0) !important;
  transition: transform var(--motion-standard), border-color var(--motion-standard), box-shadow var(--motion-standard), background-color var(--motion-standard) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main[data-homepage-parity][data-homepage-parity]
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  height: 3px !important;
  background: var(--lifa-gold) !important;
  opacity: 1 !important;
  transform: none !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main[data-homepage-parity][data-homepage-parity]
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card):is(:hover, :focus-within) {
  border-color: rgba(238, 212, 125, .68) !important;
  box-shadow: 0 18px 38px rgba(7, 17, 30, .14) !important;
  transform: translateY(-3px) !important;
}

@media (max-width: 700px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity]
    :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card) {
    padding: 18px !important;
    border: 1px solid rgba(15, 30, 54, .18) !important;
    border-radius: 8px !important;
  }
}

/* Dark content bands use the same light dossier cards for a clear, premium
   contrast. The doubled page-family qualifier wins over legacy dark gradients. */
html body[data-page-family][data-page-family] main > .section:is(.section-dark, .section-navy) :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  background: var(--lifa-white) !important;
  background-image: none !important;
  color: var(--lifa-navy) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity] > .section:is(.section-dark, .section-navy) :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  background: var(--lifa-white) !important;
  background-image: none !important;
  color: var(--lifa-navy) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy) :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  background: var(--lifa-white) !important;
  background-image: none !important;
  color: var(--lifa-navy) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy) :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  background: var(--lifa-white) !important;
  background-image: none !important;
  color: var(--lifa-navy) !important;
}

@media (max-width: 440px) {
  html body[data-page-family] main :is(.home-next-route-grid, .related-links-grid) {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family] main .home-next-routes-visual {
    aspect-ratio: 4 / 3;
  }

  html body[data-page-family] main .home-next-routes-visual figcaption {
    right: 16px;
    bottom: 16px;
    max-width: 84%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family] main :is(.home-next-route-card, .parity-related-links .link-card) {
    transition: none;
  }
}

/* The portrait is tall; keep the founder's face in frame when it fills the hero. */
html body.founder-profile-page[data-page-family] .founder-showcase .founder-portrait-slide {
  object-position: 50% 27% !important;
}

/* Keep editorial overview headers centered; split service introductions read left to right. */
html body[data-page-family] main .section-heading {
  width: min(100%, 1120px);
  margin-inline: auto;
  text-align: center;
}

html body[data-page-family] main .section-heading h2 {
  max-width: min(100%, 38ch) !important;
  margin-inline: auto !important;
  text-wrap: balance;
}

html body[data-page-family] main .section-heading > p {
  margin-inline: auto !important;
}

/* Let the featured Knowledge Center guide cards sit on the section surface
   rather than breaking the reading rhythm with a white content slab. */
html body[data-page-family="knowledge"] main #sourcing-guides.section-muted .media-card > div {
  background: var(--lifa-cream) !important;
  box-shadow: inset 0 0 0 1px rgba(13, 35, 55, .08);
  transition: background-color .28s ease, box-shadow .28s ease, transform .28s cubic-bezier(.22, .61, .36, 1);
}

html body[data-page-family="knowledge"] main #sourcing-guides.section-muted .media-card:is(:hover, :focus-visible) > div {
  background: var(--lifa-line) !important;
  box-shadow: inset 0 0 0 1px rgba(238, 212, 125, .72), 0 14px 30px rgba(7, 17, 30, .10);
  transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family="knowledge"] main #sourcing-guides.section-muted .media-card > div {
    transition: none;
  }

  html body[data-page-family="knowledge"] main #sourcing-guides.section-muted .media-card:is(:hover, :focus-visible) > div {
    transform: none;
  }
}

/* These paired homepage introductions are directional reading content, not centered overviews. */
html body.home-page[data-page-family] main .home-section-header.home-section-header-split,
html body.home-page[data-page-family] main .home-section-header.home-section-header-split > div {
  text-align: left;
}

html body.home-page[data-page-family] main .home-section-header.home-section-header-split h2,
html body.home-page[data-page-family] main .home-section-header.home-section-header-split > div > p {
  margin-inline: 0 !important;
}

html body.home-page[data-page-family] main .home-section-header.home-section-header-split :is(.eyebrow, .home-text-link, .home-inline-links) {
  justify-content: flex-start;
  text-align: left;
}

@media (max-width: 767px) {
  html body[data-page-family] main .section-heading h2 {
    max-width: min(100%, 30ch) !important;
  }
}

/* Shared card guardrails: content-sized cards stay readable at every width. */
html body[data-page-family] main :is(.process-showcase-layout, .process-info-stack, .image-grid, .grid, .card-grid, .services-grid, .service-grid, .resource-grid),
html body[data-page-family] main :is(.process-info-card, .media-card, .media-card-link, .card, .link-card, .lifa-card, .feature-card, .process-step, .process-item, .check-item, .check-panel, .checklist-item, .value-evidence__item, .risk-panel, .founder-service-card, .calculator-card, .article-tool-band, .kc-timeline-item, .tool-method-step, .workbook-section-card, .workbook-coverage-card, .service-card, .resource-card) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

html body[data-page-family] main :is(.process-info-card, .media-card, .media-card-link, .card, .link-card, .lifa-card, .feature-card, .process-step, .process-item, .check-item, .check-panel, .checklist-item, .value-evidence__item, .risk-panel, .founder-service-card, .calculator-card, .article-tool-band, .kc-timeline-item, .tool-method-step, .workbook-section-card, .workbook-coverage-card, .service-card, .resource-card) > *,
html body[data-page-family] main :is(.process-info-card, .media-card, .media-card-link, .card, .link-card, .lifa-card, .feature-card, .process-step, .process-item, .check-item, .check-panel, .checklist-item, .value-evidence__item, .risk-panel, .founder-service-card, .calculator-card, .article-tool-band, .kc-timeline-item, .tool-method-step, .workbook-section-card, .workbook-coverage-card, .service-card, .resource-card) :is(h2, h3, h4, p) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Cards are signposts, so keep their previews concise and send the full detail
   to the linked page. This prevents one verbose item from creating a tower. */
html body[data-page-family] main :is(.media-card, .card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}

@media (max-width: 700px) {
  html body[data-page-family] main :is(.image-grid, .grid, .card-grid, .services-grid, .service-grid, .resource-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  html body[data-page-family] main :is(.media-card-link > .media-card, a.media-card, .card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
    width: 100%;
    min-height: 0 !important;
  }

  html body[data-page-family] main :is(.media-card-link > .media-card, a.media-card) > :is(img, picture) {
    height: clamp(168px, 48vw, 210px) !important;
  }

  html body[data-page-family] main :is(.media-card-link > .media-card, a.media-card) > :is(div, figcaption) {
    padding: 20px !important;
  }

  html body[data-page-family] main :is(.media-card, .card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) p {
    -webkit-line-clamp: 5;
  }

  html body[data-page-family] main .process-showcase .process-info-card {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 20px 18px 22px;
  }

  html body[data-page-family] main .process-showcase .process-info-card h3 {
    font-size: clamp(1.35rem, 6.5vw, 1.7rem);
    line-height: 1.1;
  }

  html body[data-page-family] main .process-showcase .process-info-card p {
    grid-column: 1 / -1;
    font-size: .96rem;
    line-height: 1.55;
  }
}

/* --------------------------------------------------------------------------
   Unified dossier cards
   Older page families used nth-child spans and mixed card treatments. Keep
   every navigational card in a predictable grid with one restrained LIFA
   editorial treatment.
   -------------------------------------------------------------------------- */
html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) {
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  grid-column: auto !important;
  grid-row: auto !important;
  position: relative;
  display: flex !important;
  min-height: 0 !important;
  height: 340px !important;
  align-items: stretch;
  padding: 26px 24px 22px !important;
  overflow: hidden;
  color: var(--lifa-navy) !important;
  background: var(--lifa-white) !important;
  background-image: none !important;
  border: 1px solid rgba(13, 35, 55, .16) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(7, 17, 30, .08) !important;
  text-decoration: none;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)::before {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 3px;
  background: var(--lifa-gold);
  content: "";
  opacity: .95;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card):is(:hover, :focus-visible, :focus-within) {
  transform: translateY(-4px);
  border-color: rgba(238, 212, 125, .72) !important;
  box-shadow: 0 18px 36px rgba(7, 17, 30, .13) !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) > .lifa-number-badge {
  flex: 0 0 auto;
  width: max-content;
  min-width: 42px;
  height: 42px;
  margin: 0 0 20px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lifa-cream);
  background: var(--lifa-navy);
  border: 1px solid rgba(238, 212, 125, .82);
  border-radius: 6px;
  font-size: .7rem;
  letter-spacing: .06em;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) :is(h2, h3, h4) {
  max-width: 26ch;
  margin: 0 0 12px !important;
  color: var(--lifa-navy) !important;
  font-family: var(--font-editorial, "Times New Roman", Times, serif);
  font-size: clamp(1.28rem, 1.5vw, 1.58rem) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) > p {
  max-width: 48ch;
  margin: 0 0 20px !important;
  color: var(--lifa-muted) !important;
  font-size: .92rem !important;
  line-height: 1.58 !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) > .card-link {
  margin-top: auto !important;
  padding-top: 15px;
  color: var(--lifa-navy) !important;
  border-top: 1px solid rgba(13, 35, 55, .14);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Service directories use photo cards in older templates. In the shared
   directory grid they follow the same compact dossier pattern as every
   other non-home card, so rows align and visitors can scan the titles first. */
html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) {
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card {
  grid-column: auto !important;
  grid-row: auto !important;
  display: flex !important;
  min-height: 0 !important;
  height: 340px !important;
  padding: 26px 24px 22px !important;
  overflow: hidden;
  color: var(--lifa-navy) !important;
  background: var(--lifa-white) !important;
  background-image: none !important;
  border: 1px solid rgba(13, 35, 55, .16) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(7, 17, 30, .08) !important;
}

html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .container > .grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card {
  align-self: stretch !important;
  height: 340px !important;
}

/* The service hub has an older ID-scoped transparent-card rule. Keep the
   shared dossier surface authoritative there as well. */
html body[data-page-family][data-page-family] main[data-workbook-role="Service hub"] #services-directory .media-card {
  padding: 26px 24px 22px !important;
  color: var(--lifa-navy) !important;
  background: var(--lifa-white) !important;
  background-image: none !important;
  border: 1px solid rgba(13, 35, 55, .16) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(7, 17, 30, .08) !important;
  height: 340px !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card > :is(img, picture, figure) {
  display: none !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card > div {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 0 !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card::before {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 3px;
  background: var(--lifa-gold);
  content: "";
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card :is(h2, h3, h4) {
  max-width: 26ch;
  margin: 0 0 12px !important;
  color: var(--lifa-navy) !important;
  font-family: var(--font-editorial, "Times New Roman", Times, serif);
  font-size: clamp(1.28rem, 1.5vw, 1.58rem) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card p {
  max-width: 48ch;
  margin: 0 0 20px !important;
  color: var(--lifa-muted) !important;
  font-size: .92rem !important;
  line-height: 1.58 !important;
}

html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card .card-link {
  margin-top: auto !important;
  padding-top: 15px;
  color: var(--lifa-navy) !important;
  border-top: 1px solid rgba(13, 35, 55, .14);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Image grids use the same row rhythm as text cards. Some legacy media rules
   set cards to align-self:start, leaving shorter cards visibly lower than
   their neighbors; stretch both direct cards and clickable wrappers instead. */
html body[data-page-family] main .image-grid {
  align-items: stretch !important;
  grid-auto-flow: row !important;
}

html body[data-page-family] main .image-grid > :is(.media-card, .media-card-link) {
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
}

html body[data-page-family] main .image-grid > .media-card-link {
  display: flex !important;
  flex-direction: column;
}

html body[data-page-family] main .image-grid > .media-card-link > .media-card {
  flex: 1 1 auto;
  height: auto !important;
  align-self: stretch !important;
}

/* Final cascade guard for legacy parity templates: their compact-card rule
   uses a higher-specificity `align-self:start`/`height:fit-content` pair.
   Image-grid cards must stretch to the tallest item in their row instead. */
html body[data-page-family][data-page-family][data-page-family][data-page-family] main .image-grid
  > :is(.media-card, .media-card-link) {
  align-self: stretch !important;
  height: auto !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .image-grid
  > .media-card-link > .media-card {
  height: 100% !important;
}

/* Knowledge Center article and related-route cards are authored as media or
   link cards rather than `.card`. Treat them as the same dossier family so
   no legacy spans, transparent panels, or uneven content heights remain. */
html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) > :is(.media-card, .link-card) {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column;
  min-height: 0 !important;
  height: 340px !important;
  padding: 26px 24px 22px !important;
  overflow: hidden;
  color: var(--lifa-navy) !important;
  background: var(--lifa-white) !important;
  background-image: none !important;
  border: 1px solid rgba(13, 35, 55, .16) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(7, 17, 30, .08) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) > :is(.media-card, .link-card) > :is(img, picture, figure) {
  display: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) > :is(.media-card, .link-card) > div {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 0 !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) > :is(.media-card, .link-card) :is(h2, h3, h4) {
  max-width: 26ch;
  margin: 0 0 12px !important;
  color: var(--lifa-navy) !important;
  font-family: var(--font-editorial, "Times New Roman", Times, serif);
  font-size: clamp(1.28rem, 1.5vw, 1.58rem) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) > :is(.media-card, .link-card) p {
  max-width: 48ch;
  margin: 0 0 20px !important;
  color: var(--lifa-muted) !important;
  font-size: .92rem !important;
  line-height: 1.58 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.media-card, .link-card)) > :is(.media-card, .link-card) .card-link {
  margin-top: auto !important;
  padding-top: 15px;
  color: var(--lifa-navy) !important;
  border-top: 1px solid rgba(13, 35, 55, .14);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (min-width: 701px) {
  /* Keep every repeated card on its declared track. Stretching an odd final
     card creates an unrelated full-width component and destabilizes wrapping. */
  html body[data-page-family][data-page-family]:not(.home-page) main > .section :is(.tools-directory-grid, .related-links-grid, .decision-answer-grid, .grid.grid-3, .grid.grid-4) > :last-child:nth-child(odd) {
    grid-column: auto !important;
  }

  /* Match the specificity of the legacy homepage-parity card rule so these
     values cannot be replaced by fit-content or transparent surfaces. */
  html body[data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity] > .section :is(.grid, .card-grid, .services-grid, .service-grid, .related-links-grid):has(> :is(.card, .link-card, .lifa-card, .media-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .media-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card):not(.process-info-card):not(.process-feature-card) {
    align-self: stretch !important;
    height: auto !important;
    min-height: 270px !important;
    padding: 26px 24px 22px !important;
    color: var(--lifa-navy) !important;
    background: var(--lifa-white) !important;
    background-image: none !important;
    border: 1px solid rgba(13, 35, 55, .16) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 22px rgba(7, 17, 30, .07) !important;
  }
}

@media (max-width: 700px) {
  /* Every repeated card grid becomes a single readable column on phones,
     including legacy pages that do not carry the homepage parity marker. */
  html body[data-page-family] main :is(.grid, .card-grid, .cards-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid, .related-links-grid, .media-card-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card, .media-card)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family] main :is(.tools-directory-grid, .related-links-grid, .decision-answer-grid, .grid.grid-3, .grid.grid-4) > :last-child:nth-child(odd) {
    grid-column: auto !important;
  }
}

/* Final cascade guard: homepage-parity rules previously let cards shrink to
   their content. Keep the reference grid's equal-height rhythm authoritative
   on every non-home section. */
html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main[data-homepage-parity] > .section :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
  align-self: stretch !important;
  height: auto !important;
  min-height: 270px !important;
}

@media (max-width: 700px) {
  html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
    padding: 22px 20px 20px !important;
  }

  html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid):has(> .media-card) > .media-card {
    padding: 22px 20px 20px !important;
    height: auto !important;
  }

  html body[data-page-family] main :is(.grid, .card-grid, .services-grid, .service-grid, .resource-grid, .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid):has(> :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) > :is(.card, .link-card, .lifa-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card) {
    height: auto !important;
  }
}

/* -------------------------------------------------------------------------
   Header balance

   The logo and primary quote action share the same visual frame so the
   header reads as a deliberate left/right pair at every route. The logo
   keeps its intrinsic proportions inside that frame; the CTA remains wider
   only when its label needs the room.
   ------------------------------------------------------------------------- */
:root {
  --header-side-frame: 160px;
  --header-control-height: 54px;
  --header-logo-height: 79px;
}

html body[data-page-family] .site-header .header-inner {
  min-height: 84px;
  gap: 22px;
}

html body[data-page-family] .site-header .brand {
  flex: 0 0 var(--header-side-frame);
  width: var(--header-side-frame);
  height: var(--header-control-height);
  align-items: center;
  justify-content: flex-start;
  padding: 0 4px;
  box-sizing: border-box;
}

html body[data-page-family] .site-header .brand img {
  display: block;
  width: 100%;
  height: var(--header-logo-height);
  max-width: none;
  max-height: none;
  object-fit: contain;
  filter: none !important;
}

html body[data-page-family] .site-header .main-nav {
  gap: 18px;
}

html body[data-page-family] .site-header .header-cta {
  flex: 0 0 var(--header-side-frame);
  width: var(--header-side-frame);
  height: var(--header-control-height);
  min-height: var(--header-control-height);
  padding: 0 16px !important;
  box-sizing: border-box;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
}

html body[data-page-family] .site-header .brand:focus-visible {
  outline: 3px solid rgba(238, 212, 125, .78);
  outline-offset: 4px;
  box-shadow: var(--focus-ring);
}

@media (max-width: 1040px) and (min-width: 768px) {
  :root {
    --header-side-frame: 144px;
    --header-control-height: 50px;
    --header-logo-height: 71px;
  }

  html body[data-page-family] .site-header .header-inner {
    min-height: 76px;
    gap: 20px;
  }

  html body[data-page-family] .site-header .brand,
  html body[data-page-family] .site-header .header-cta {
    flex-basis: var(--header-side-frame);
    width: var(--header-side-frame);
  }

  html body[data-page-family] .site-header .brand img {
    width: 136px;
  }
}

@media (max-width: 767px) {
  :root {
    --header-side-frame: 146px;
    --header-control-height: 52px;
    --header-logo-height: 72px;
  }

  html body[data-page-family] .site-header .header-inner {
    min-height: 68px;
    gap: 12px;
  }

  html body[data-page-family] .site-header .brand {
    flex-basis: 146px;
    width: 146px;
    padding-inline: 2px;
  }

  html body[data-page-family] .site-header .brand img {
    width: 146px;
  }
}

@media (max-width: 560px) {
  :root {
    --header-logo-height: 64px;
  }

  html body[data-page-family] .site-header .brand {
    flex-basis: 128px;
    width: 128px;
  }

  html body[data-page-family] .site-header .brand img {
    width: 128px;
  }
}

@media (max-width: 400px) {
  :root {
    --header-logo-height: 58px;
  }

  html body[data-page-family] .site-header .brand {
    flex-basis: 116px;
    width: 116px;
  }

  html body[data-page-family] .site-header .brand img {
    width: 116px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family] .site-header .brand,
  html body[data-page-family] .site-header .header-cta {
    transition-duration: .01ms !important;
  }
}

/* Keep the progress summary legible when form-specific cascade order changes. */
body[data-page-family="request"] main .quote-progress-panel :where(h1, h2, h3, h4, strong) {
  color: var(--lifa-white) !important;
}

/* -------------------------------------------------------------------------
   Homepage color contract

   The homepage is the visual source of truth. Interior templates historically
   introduced close-but-different blues, teals and gray surfaces through local
   CSS and inline workbook content. Keep those documents on the same navy,
   gold, white and cool-neutral roles without changing their content structure.
   ------------------------------------------------------------------------- */
body[data-page-family] {
  --form-ink: var(--lifa-navy);
  --form-ink-deep: var(--lifa-ink);
  --form-gold: var(--lifa-gold);
  --form-gold-light: var(--lifa-gold-soft);
  --form-paper: var(--lifa-white);
  --form-canvas: var(--surface-muted);
  --form-soft: var(--surface-muted);
  --form-line: var(--lifa-line);
  --form-copy: var(--lifa-muted);
  --form-success: var(--lifa-navy);
  --form-error: var(--lifa-navy);
}

html body[data-page-family] main :is(
  .form-panel, .quote-panel, .quote-progress-panel, .tool-workspace,
  .calculator-card, .calculator-results, .tool-results, .tool-output,
  .tool-form-section, .tool-methodology, .tool-answer-band, .field,
  .tool-field, .faq-item, .faq-answer, .compare-table, .guide-table,
  .kc-table, .table-wrap, .workbook-section-card, .workbook-coverage-card
) {
  border-color: var(--lifa-line) !important;
}

html body[data-page-family] main :is(
  .form-panel, .quote-panel, .tool-workspace, .calculator-card,
  .tool-form-section, .calculator-results, .tool-results, .tool-output,
  .faq-answer, .compare-table, .guide-table, .kc-table, .table-wrap
) {
  background-color: var(--lifa-white) !important;
  color: var(--lifa-copy) !important;
}

html body[data-page-family] main :is(
  .section-muted, .band-muted, .tool-answer-band, .article-tool-band,
  .form-summary, .calculator-summary, .quote-progress-panel .progress-step,
  .compare-table thead, .guide-table thead, .kc-table thead
) {
  background-color: var(--lifa-cream) !important;
}

html body[data-page-family] main :is(
  .field input, .field select, .field textarea, .tool-field input,
  .tool-field select, .tool-field textarea, .form-control, .quote-input,
  .calculator-input, .tool-input
) {
  border-color: var(--lifa-line) !important;
  background-color: var(--lifa-paper) !important;
  color: var(--lifa-copy) !important;
}

html body[data-page-family] main :is(input, select, textarea) {
  border-color: var(--lifa-line) !important;
}

html body[data-page-family] main :is(
  .field input, .field select, .field textarea, .tool-field input,
  .tool-field select, .tool-field textarea, .form-control, .quote-input,
  .calculator-input, .tool-input
):focus {
  border-color: var(--lifa-gold) !important;
  background-color: var(--lifa-white) !important;
}

/* Author-provided content blocks use a small, known set of inline neutral
   colors. Normalize their rendered values into the homepage surface roles. */
html body[data-page-family] main [style*="#ddd"],
html body[data-page-family] main [style*="#d8"],
html body[data-page-family] main [style*="#d9"],
html body[data-page-family] main [style*="#cbd"],
html body[data-page-family] main [style*="#c7d"] {
  border-color: var(--lifa-line) !important;
}

html body[data-page-family] main [style*="#f4f0e5"],
html body[data-page-family] main [style*="#f5f2"],
html body[data-page-family] main [style*="#fff7"],
html body[data-page-family] main [style*="#fff8"] {
  background-color: var(--lifa-cream) !important;
}

html body[data-page-family] main [style*="#f9"],
html body[data-page-family] main [style*="#faf"],
html body[data-page-family] main [style*="#f3f"],
html body[data-page-family] main [style*="#eef"] {
  background-color: var(--lifa-paper) !important;
}

html body[data-page-family] main [style*="#fff"] {
  background-color: var(--lifa-white) !important;
}

html body[data-page-family] main :is(.form-error, .form-success, .field-error,
  .field-success, .validation-error, .validation-success, .status-error,
  .status-success, .alert-error, .alert-success) {
  color: var(--lifa-navy) !important;
  border-color: var(--lifa-gold) !important;
  background-color: var(--lifa-cream) !important;
}

/* Legacy interior templates define a second, conflicting visual language late
   in styles.css. Rebind every one of those aliases to the homepage roles so
   the same components cannot reintroduce teal, coral, or blue-gray surfaces. */
html body[data-page-family]:not(.home-page) {
  --page-canvas: var(--lifa-white);
  --page-soft: var(--surface-muted);
  --page-soft-2: var(--surface-default);
  --page-navy: var(--lifa-navy);
  --page-navy-2: var(--lifa-navy-soft);
  --page-ink: var(--lifa-ink);
  --page-copy: var(--lifa-muted);
  --page-rule: rgba(15, 30, 54, .16);
  --page-gold: var(--lifa-gold);
  --page-gold-light: var(--lifa-gold-soft);
  --page-teal: var(--lifa-gold);
  --page-coral: var(--lifa-navy);
}

/* The homepage keeps its layered editorial composition, but decorative
   accents still resolve to the same navy/gold identity as the interior pages.
   Text accents use deep gold for readable contrast; rules and markers use the
   brighter gold token. */
html body.home-page[data-page-family] {
  --home-section-accent: var(--lifa-gold) !important;
  --hp-teal: var(--lifa-gold-deep) !important;
  --hp-blue: var(--lifa-navy-soft) !important;
  --hp-coral: var(--lifa-gold-deep) !important;
  --cluster-accent: var(--lifa-gold) !important;
  --service-accent: var(--lifa-gold) !important;
}

html body.home-page[data-page-family] main .home-section-header:not(.home-section-header-light) .eyebrow {
  color: var(--lifa-gold-deep) !important;
}

html body.home-page[data-page-family] main .home-section-header-light .eyebrow {
  color: var(--lifa-gold-soft) !important;
}

/* Keep recurring editorial and evidence blocks within the same restrained
   white, cool-neutral, navy, and gold palette as the homepage. */
html body[data-page-family] main :is(.editorial-standards-section, .evidence-section) {
  background: var(--lifa-cream) !important;
  border-color: var(--lifa-line) !important;
}

html body[data-page-family] main :is(.editorial-principles span, .evidence-kicker) {
  color: var(--lifa-navy) !important;
}

html body[data-page-family] main :is(.editorial-principles p, .evidence-layout p,
  .editorial-boundary p, .content-author) {
  color: var(--lifa-muted) !important;
}

html body[data-page-family] main :is(.editorial-principles a, .editorial-boundary a,
  .evidence-section a, .content-author a) {
  color: var(--lifa-navy) !important;
  text-decoration-color: var(--lifa-gold) !important;
}

html body[data-page-family] main .editorial-boundary {
  background: var(--lifa-navy) !important;
  border-color: var(--lifa-gold) !important;
}

html body[data-page-family] main .section:has(.process-grid)::before {
  background: var(--lifa-gold) !important;
}

/* Green is reserved for the two live contact channels. Keep it confined to
   their small availability indicators so the site-wide navy and gold system
   remains intact. */
html body .float-btn.whatsapp::after,
html body .float-btn.wechat::after {
  background: linear-gradient(145deg, #3fd57a, #168a4c) !important;
  box-shadow: 0 2px 6px rgba(7, 17, 30, .4), 0 0 0 3px rgba(63, 213, 122, .12) !important;
}

/* The guide action band is part of the page rhythm, not a nested text card.
   Let its copy and actions sit directly on the surrounding page canvas. */
html body[data-page-family] main .article-action-section,
html body[data-page-family] main .article-action-section .article-tool-band {
  background: transparent !important;
}

/* Knowledge Center featured guides are text-first reference material. Keep
   their cards quiet and compact: one paper surface, one fine gold edge, and
   hierarchy supplied by the editorial type rather than stacked color panels. */
html body[data-page-family="knowledge"] main #sourcing-guides > .container > .grid {
  gap: 18px !important;
}

html body[data-page-family="knowledge"][data-page-family][data-page-family][data-page-family]
  main #sourcing-guides .media-card {
  min-height: 276px !important;
  height: auto !important;
  padding: 22px 24px 18px !important;
  background: var(--lifa-white) !important;
  border: 1px solid var(--lifa-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family="knowledge"] main #sourcing-guides .media-card > div {
  padding: 0 !important;
  background: transparent !important;
  border-top: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Match the legacy rule's section specificity so its cream inset cannot
   return on the Knowledge Center after the shared card rules have loaded. */
html body[data-page-family="knowledge"][data-page-family][data-page-family][data-page-family]
  main #sourcing-guides.section-muted .media-card > div,
html body[data-page-family="knowledge"][data-page-family][data-page-family][data-page-family]
  main #sourcing-guides.section-muted .media-card:is(:hover, :focus-visible) > div {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family="knowledge"] main #sourcing-guides .media-card::before {
  height: 2px;
  background: var(--lifa-gold) !important;
}

html body[data-page-family="knowledge"] main #sourcing-guides .media-card h3 {
  margin-bottom: 10px !important;
  color: var(--lifa-navy) !important;
  font-size: 1.35rem !important;
  line-height: 1.14 !important;
}

html body[data-page-family="knowledge"] main #sourcing-guides .media-card p {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 14px !important;
  color: var(--lifa-muted) !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

html body[data-page-family="knowledge"] main #sourcing-guides .media-card .card-link {
  padding-top: 13px;
  border-top-color: var(--lifa-line) !important;
}

html body[data-page-family="knowledge"] main #sourcing-guides .media-card:is(:hover, :focus-visible) {
  background: var(--lifa-white) !important;
  border-color: var(--lifa-gold) !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 700px) {
  html body[data-page-family="knowledge"] main #sourcing-guides > .container > .grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family="knowledge"] main #sourcing-guides .media-card {
    min-height: 0 !important;
    padding: 20px 19px 17px !important;
  }

  html body[data-page-family="knowledge"] main #sourcing-guides .media-card h3 {
    font-size: 1.25rem !important;
  }

  html body[data-page-family="knowledge"] main #sourcing-guides .media-card p {
    -webkit-line-clamp: 5;
  }
}

/* Sitewide equal-row contract. Keep every image-card frame aligned with the
   tallest sibling in its section, including legacy parity templates whose
   compact-card rules otherwise opt into `align-self:start`. */
html body[data-page-family][data-page-family][data-page-family][data-page-family] main .image-grid {
  align-items: stretch !important;
  grid-auto-flow: row !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .image-grid
  > :is(.media-card, .media-card-link) {
  align-self: stretch !important;
  height: auto !important;
  min-height: 0 !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .image-grid
  > .media-card-link {
  display: flex !important;
  flex-direction: column;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .image-grid
  > .media-card-link > .media-card {
  height: 100% !important;
  align-self: stretch !important;
}

/* Match the legacy parity selector's specificity so its compact-card
   align-self:start and fit-content height cannot undo row alignment. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main[data-homepage-parity] .image-grid > :is(.media-card, .media-card-link) {
  align-self: stretch !important;
  height: auto !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main[data-homepage-parity] .image-grid > .media-card-link > .media-card {
  height: 100% !important;
}

/* Exact parity-grid match: legacy compact cards use this section-scoped
   selector, so keep every sibling stretched to the tallest grid row. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .image-grid:has(> .media-card) > .media-card {
  align-self: stretch !important;
  height: auto !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .image-grid:has(> .media-card-link) > .media-card-link {
  align-self: stretch !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .image-grid:has(> .media-card-link) > .media-card-link > .media-card {
  align-self: stretch !important;
  height: 100% !important;
}

/* The recurring step-by-step method is a five-card decision sequence. Older
   pages left it as grid-3, which wrapped the fifth card onto a lower row and
   made the section feel unlike the homepage's aligned card directories. */
html body[data-page-family]:not(.home-page) main
  .section:has(> .container > .section-heading > h2[data-workbook-row-id$="-S04"])
  .grid:has(> :is(.card, .link-card)) {
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 18px !important;
}

html body[data-page-family]:not(.home-page) main
  .section:has(> .container > .section-heading > h2[data-workbook-row-id$="-S04"])
  .grid:has(> :is(.card, .link-card)) > :is(.card, .link-card) {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: stretch !important;
  height: 380px !important;
}

@media (min-width: 1200px) {
  html body[data-page-family]:not(.home-page) main
    .section:has(> .container > .section-heading > h2[data-workbook-row-id$="-S04"])
    .grid:has(> :nth-child(5)) {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 701px) and (max-width: 1199px) {
  html body[data-page-family]:not(.home-page) main
    .section:has(> .container > .section-heading > h2[data-workbook-row-id$="-S04"])
    .grid:has(> :is(.card, .link-card)) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family]:not(.home-page) main
    .section:has(> .container > .section-heading > h2[data-workbook-row-id$="-S04"])
    .grid:has(> :is(.card, .link-card)) > :is(.card, .link-card) {
    height: auto !important;
  }
}

/* Narrow card directories should read as a single sequence. A few legacy
   link-card grids retain their desktop track count at mobile widths, which
   compresses each card instead of letting it breathe. */
@media (max-width: 700px) {
  html body[data-page-family]:not(.home-page) main
    :is(.grid.grid-2, .grid.grid-3, .grid.grid-4, .card-grid, .cards-grid, .services-grid, .service-grid, .resource-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: stretch !important;
  }

  html body[data-page-family]:not(.home-page) main
    :is(.grid.grid-2, .grid.grid-3, .grid.grid-4, .card-grid, .cards-grid, .services-grid, .service-grid, .resource-grid)
    > :is(.card, .link-card, .media-card, .media-card-link, .service-card, .resource-card) {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    height: auto !important;
  }
}

/* Palette contract: light content bands share one calm reading hierarchy.
   A few legacy templates set white section introductions for an older dark
   skin; keep that inverse treatment only when the section is actually dark. */
html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.founder-accountability):not(.process-showcase):not(.trustpilot-section):not(:has(.cta-band)):not(:has(form.request-form))
  > .container > .section-heading :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-navy) !important;
}

html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.founder-accountability):not(.process-showcase):not(.trustpilot-section):not(:has(.cta-band)):not(:has(form.request-form))
  > .container > .section-heading :where(p, li, dd, dt) {
  color: var(--lifa-muted) !important;
}

html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.founder-accountability):not(.process-showcase):not(.trustpilot-section):not(:has(.cta-band)):not(:has(form.request-form))
  > .container > .section-heading .eyebrow {
  color: var(--lifa-gold-deep, #eed47d) !important;
}

/* Process showcases are often labelled section-muted even though their cards
   are inverse navy panels. Their lead remains on the paper canvas. */
html body[data-page-family]:not(.home-page) main > .section.process-showcase:not(.section-dark):not(.section-navy)
  > .container > .section-heading :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-navy) !important;
}

html body[data-page-family]:not(.home-page) main > .section.process-showcase:not(.section-dark):not(.section-navy)
  > .container > .section-heading > p {
  color: var(--lifa-muted) !important;
}

/* Keep links and inline actions on light surfaces within the same navy/gold
   system; status and validation colors remain owned by form styles. */
html body[data-page-family] main > .section:not(.section-dark):not(.section-navy)
  :where(.section-heading, .section-intro, .content-intro) a {
  color: var(--lifa-navy) !important;
  text-decoration-color: var(--lifa-gold) !important;
}

html body[data-page-family] main > .section:not(.section-dark):not(.section-navy)
  :where(.section-heading, .section-intro, .content-intro) a:is(:hover, :focus-visible) {
  color: var(--lifa-gold-deep, #eed47d) !important;
}

/* Paper cards inside dark bands are a deliberate dossier treatment. Override
   the older section-wide white-copy rule at the same boundary so the card
   surface and its text always belong to one readable color system. */
html body[data-page-family] main > .section:is(.section-dark, .section-navy)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card):not(.dark-card):not(.process-info-card):not(.process-feature-card) {
  background: var(--lifa-white) !important;
  background-image: none !important;
  color: var(--lifa-navy) !important;
  border-color: var(--lifa-line) !important;
}

html body[data-page-family] main > .section:is(.section-dark, .section-navy)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-navy) !important;
}

html body[data-page-family] main > .section:is(.section-dark, .section-navy)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  :where(p, li, dt, dd, small, .text-muted) {
  color: var(--lifa-muted) !important;
}

html body[data-page-family] main > .section:is(.section-dark, .section-navy)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  :where(.eyebrow, .card-link, .step-label, .process-label, .artifact-label, .gate-label, .status-label) {
  color: var(--lifa-gold-deep, #eed47d) !important;
}

/* Trustpilot and final conversion bands are inverse sections even when legacy
   markup omits the dark-section class or labels the band section-muted. Bind
   the complete component to the dark surface contract. */
html body[data-page-family] main > .trustpilot-section,
html body[data-page-family] main > .section.final-cta,
html body[data-page-family] main > .section.final-cta-section,
html body[data-page-family] main > .section.workbook-final-cta,
html body[data-page-family] main > .workbook-final-cta {
  background: var(--lifa-navy) !important;
  background-image: none !important;
  color: var(--lifa-white) !important;
}

html body[data-page-family] main > :is(.trustpilot-section, .section.final-cta, .section.final-cta-section, .section.workbook-final-cta, .workbook-final-cta)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
}

html body[data-page-family] main > :is(.trustpilot-section, .section.final-cta, .section.final-cta-section, .section.workbook-final-cta, .workbook-final-cta)
  :where(p, li, small, dd, dt) {
  color: rgba(255, 255, 255, .76) !important;
}

html body[data-page-family] main > :is(.trustpilot-section, .section.final-cta, .section.final-cta-section, .section.workbook-final-cta, .workbook-final-cta)
  :where(.eyebrow, .card-link, .cta-value-list > li > span) {
  color: var(--lifa-gold-soft) !important;
}

/* Interior heroes use inverse type over imagery; keep the text role explicit
   for templates that carry page-specific typography layers. */
html body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero) .hero-content
  > :where(h1, h2, h3, p, li, small, strong) {
  color: var(--lifa-white) !important;
}

html body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero) .hero-content
  > :where(.eyebrow, .hero-kicker) {
  color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero) .hero-content
  :where(h1, h2, h3) em,
html body[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero) .hero-content
  :where(.hero-highlight) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* -------------------------------------------------------------------------
   Final separated-card contract

   Supersedes the earlier editorial-matrix experiment. Interior card grids
   now use the homepage's individually framed decision surfaces: a measured
   inset, restrained gold rail, independent border, and small lift motion.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  :is(.grid, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card)) {
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
  gap: clamp(14px, 1.7vw, 22px) !important;
  border: 0 !important;
  overflow: visible !important;
  align-items: stretch !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card) {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(18px, 2vw, 22px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 30, 54, .18) !important;
  border-radius: 8px !important;
  background: var(--lifa-white) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .08) !important;
  transform: translateY(0) !important;
  transition: transform var(--motion-standard), border-color var(--motion-standard), box-shadow var(--motion-standard), background-color var(--motion-standard) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  height: 3px !important;
  background: var(--lifa-gold) !important;
  opacity: 1 !important;
  transform: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card)::after {
  display: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card):is(:hover, :focus-within) {
  border-color: rgba(238, 212, 125, .68) !important;
  background: var(--lifa-white) !important;
  box-shadow: 0 18px 38px rgba(7, 17, 30, .14) !important;
  transform: translateY(-3px) !important;
}

/* Numbered sequences retain their order while gaining the same independent
   frame, responsive spacing, and keyboard-visible interaction. */
html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main .process-grid {
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
  gap: clamp(14px, 1.7vw, 22px) !important;
  border: 0 !important;
  overflow: visible !important;
  align-items: stretch !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  .process-grid > .process-step {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(18px, 2vw, 22px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 30, 54, .18) !important;
  border-radius: 8px !important;
  background: var(--lifa-white) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .08) !important;
  transform: translateY(0) !important;
  transition: transform var(--motion-standard), border-color var(--motion-standard), box-shadow var(--motion-standard), background-color var(--motion-standard) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  .process-grid > .process-step::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  height: 3px !important;
  background: var(--lifa-gold) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
  .process-grid > .process-step:is(:hover, :focus-within) {
  border-color: rgba(238, 212, 125, .68) !important;
  box-shadow: 0 18px 38px rgba(7, 17, 30, .14) !important;
  transform: translateY(-3px) !important;
}

@media (max-width: 700px) {
  html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card)),
  html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main .process-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid, .card-grid, .cards-grid) > :is(.card, .link-card, .lifa-card),
  html body[data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .process-grid > .process-step {
    padding: 18px !important;
    border-radius: 8px !important;
  }
}

/* Operational sequences are repeated across the knowledge library. The
   earlier five-step placement leaves a spare grid column and clips long
   steps. Treat the sequence as an editorial checklist: complete rows,
   content-sized records, and one restrained home-page accent. */
html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid {
  width: 100% !important;
  max-width: none !important;
  gap: 18px !important;
  padding-top: 0 !important;
  border: 0 !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid > .process-step {
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 22px 20px !important;
  overflow: visible !important;
  background: var(--lifa-white) !important;
  border: 1px solid var(--lifa-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid > .process-step::before {
  height: 2px !important;
  background: var(--lifa-gold) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid > .process-step :is(h2, h3, h4) {
  margin-bottom: 10px !important;
  color: var(--lifa-navy) !important;
  font-size: 1.35rem !important;
  line-height: 1.14 !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid > .process-step p {
  margin-bottom: 14px !important;
  color: var(--lifa-muted) !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid > .process-step .card-link {
  margin-top: auto !important;
  padding-top: 13px;
  border-top: 1px solid var(--lifa-line);
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-grid > .process-step:is(:hover, :focus-within) {
  background: var(--lifa-white) !important;
  border-color: var(--lifa-gold) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* A five-step sequence should fill its desktop row. The legacy six-track
   formula left an unnecessary blank column beside the final record. */
@media (min-width: 1101px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main .process-grid:has(> .process-step:nth-child(5):last-child) {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main .process-grid:has(> .process-step:nth-child(5):last-child) > .process-step {
    grid-column: auto !important;
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main .process-grid:has(> .process-step:nth-child(5):last-child) {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main .process-grid:has(> .process-step:nth-child(5):last-child) > .process-step {
    grid-column: span 2 !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main .process-grid:has(> .process-step:nth-child(5):last-child) > .process-step:nth-last-child(-n + 2) {
    grid-column: span 3 !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main .process-grid > .process-step {
    padding: 20px 19px 18px !important;
  }
}

/* Homepage-parity templates formerly reset process records to transparent
   rows. Match that selector so the shared card treatment stays intact. */
html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .process-grid > .process-step {
  align-self: stretch !important;
  background-color: var(--lifa-white) !important;
  background-image: none !important;
  border: 1px solid var(--lifa-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
  main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy)
  .process-grid > .process-step:is(:hover, :focus-within) {
  background-color: var(--lifa-white) !important;
  border-color: var(--lifa-gold) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Inverse sections can use named layouts instead of the generic section-dark
   class. Keep their text roles bound to the dark-surface palette so a later
   light-section rule can never make the content disappear into navy. */
html body[data-page-family] main > .section.founder-accountability
  > .container > .section-heading :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
}

html body[data-page-family] main > .section.founder-accountability
  > .container > .section-heading :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] main > .section.founder-accountability
  > .container > .section-heading .eyebrow,
html body.home-page main > :is(#home-categories, #home-markets) .eyebrow {
  color: var(--lifa-gold-soft) !important;
}

/* Final typography-color contract. Keep section introductions readable when
   legacy template rules are loaded after the base palette. */
html body[data-page-family] main > .section:is(.section-dark, .section-navy, .dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main > .section:is(.section-dark, .section-navy, .dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

html body[data-page-family] main > .section:is(.section-dark, .section-navy, .dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(.eyebrow, .hero-kicker, .section-kicker) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(p, li, dd, dt) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(.eyebrow, .hero-kicker, .section-kicker) {
  color: var(--lifa-gold-deep, #eed47d) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep, #eed47d) !important;
}

/* Homepage light-header sections sit on inverse surfaces even when the
   section itself uses a named class rather than `.section-dark`. */
html body.home-page[data-page-family] main .home-section-header-light
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body.home-page[data-page-family] main .home-section-header-light
  :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

html body.home-page[data-page-family] main .home-section-header-light
  :where(.eyebrow, .hero-kicker, .section-kicker, .home-text-link) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* Structural fallback for legacy pages without a data-page-family marker. */
html body main > .section:is(.section-dark, .section-navy, .dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body main > .section:is(.section-dark, .section-navy, .dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

html body main > .section:is(.section-dark, .section-navy, .dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(.eyebrow, .hero-kicker, .section-kicker) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(p, li, dd, dt) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.section-heading, .section-intro, .content-intro, .home-section-header)
  :where(.eyebrow, .hero-kicker, .section-kicker) {
  color: var(--lifa-gold-deep, #eed47d) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep, #eed47d) !important;
}

/*
 * Inverse panels are self-contained navy surfaces. Generic card and heading
 * rules must not recolor their content with the paper-surface ink token.
 */
html body[data-page-family] main :is(
  .founder-accountability,
  .founder-contact-card,
  .process-feature-card,
  .process-info-card,
  .scenario-question,
  .scenario-question-panel,
  .quote-progress-panel,
  .tool-output,
  .wechat-contact-card,
  .cta-band,
  .article-actions,
  .dark-card
) :where(h1, h2, h3, h4, h5, h6, strong):not(.btn *) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main :is(
  .founder-accountability,
  .founder-contact-card,
  .process-feature-card,
  .process-info-card,
  .scenario-question,
  .scenario-question-panel,
  .quote-progress-panel,
  .tool-output,
  .wechat-contact-card,
  .cta-band,
  .article-actions,
  .dark-card
) :where(p, li, dt, dd, small, .text-muted, .direct-answer) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] main :is(
  .founder-accountability,
  .founder-contact-card,
  .process-feature-card,
  .process-info-card,
  .scenario-question,
  .scenario-question-panel,
  .quote-progress-panel,
  .tool-output,
  .wechat-contact-card,
  .cta-band,
  .article-actions,
  .dark-card
) :where(.eyebrow, .section-kicker, .hero-kicker, .cap-tag, .step-label, .process-label, .artifact-label, .gate-label, .status-label, .founder-contact-kicker) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] main :is(
  .founder-accountability,
  .founder-contact-card,
  .process-feature-card,
  .process-info-card,
  .scenario-question,
  .scenario-question-panel,
  .quote-progress-panel,
  .tool-output,
  .wechat-contact-card,
  .cta-band,
  .article-actions,
  .dark-card
) a:not(.btn) {
  color: var(--lifa-white) !important;
}

/* Restored homepage hero stage: make the image-led composition tall enough
   for the office panel, headline, supporting copy, actions, and controls. */
@media (min-width: 769px) {
  html body.home-page[data-page-family][data-page-family] #home-hero.home-hero {
    height: auto !important;
    min-height: max(var(--home-hero-stage-min), calc(100svh - var(--header-h, 105px))) !important;
    max-height: none !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content-wrapper {
    box-sizing: border-box;
    min-height: max(var(--home-hero-stage-min), calc(100svh - var(--header-h, 105px))) !important;
    padding-block: clamp(64px, 7vh, 96px) clamp(142px, 15vh, 174px) !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content {
    width: var(--home-hero-copy-width) !important;
    max-width: 1180px !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 {
    max-width: 1180px !important;
    margin-block: 18px 24px !important;
    font-size: clamp(3.35rem, 5.6vw, 6rem) !important;
    line-height: .96 !important;
  }
}

/* Signature handwriting is limited to deliberate gold hero headline accents. */
html body[data-page-family][data-page-family][data-page-family][data-page-family]
:is(.hero, .tool-page-hero) .hero-content h1 :is(em, .hero-highlight, [data-hero-signature]) {
  display: inline-block;
  max-width: 100%;
  color: var(--hero-signature-color) !important;
  -webkit-text-fill-color: var(--hero-signature-color) !important;
  font-family: var(--font-signature, "Reey", cursive) !important;
  font-size: .84em;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  line-height: 1.16;
  text-shadow: var(--hero-signature-shadow);
  white-space: normal;
}

@media (max-width: 768px) {
  html body.home-page[data-page-family][data-page-family] #home-hero.home-hero {
    height: auto !important;
    min-height: max(760px, calc(100svh - 68px)) !important;
    max-height: none !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content-wrapper {
    box-sizing: border-box;
    min-height: inherit !important;
    padding: 38px 20px 154px !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 {
    margin-block: 16px 20px !important;
    font-size: clamp(2.6rem, 10.7vw, 3.55rem) !important;
    line-height: .99 !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 :is(em, .hero-highlight, [data-hero-signature]) {
    font-size: .8em;
    line-height: 1.12;
  }
}

/* Workbook decision answers are substantive guidance, not teaser cards. Keep
   every evidence boundary and approval condition visible at all breakpoints. */
html body[data-page-family] main .decision-answer-card > p {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

/* -------------------------------------------------------------------------
   Final surface-aware contrast guard

   Several legacy layers use the same component names on both paper and navy
   bands. Keep the component's background and text roles coupled at the end of
   the cascade so a later generic palette rule cannot erase the contrast.
   ------------------------------------------------------------------------- */

html body[data-page-family] main > :is(.home-freight, #home-categories, #home-markets)
  :where(.home-section-header, .home-section-header-light) :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main > :is(.home-freight, #home-categories, #home-markets)
  :where(.home-section-header, .home-section-header-light) :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] main > :is(.home-freight, #home-categories, #home-markets)
  :where(.home-section-header, .home-section-header-light) :where(.eyebrow, .hero-kicker, .section-kicker, .home-text-link) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family]:not(.home-page) main > .section.process-showcase {
  background-color: var(--lifa-navy-2, #0f1e36) !important;
  color: var(--lifa-white) !important;
}

html body[data-page-family]:not(.home-page) main > .section.process-showcase
  > .container > .section-heading :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family]:not(.home-page) main > .section.process-showcase
  > .container > .section-heading :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family]:not(.home-page) main > .section.process-showcase
  > .container > .section-heading :where(.eyebrow, .hero-kicker, .section-kicker) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] main > .section.founder-accountability {
  background-color: var(--lifa-navy) !important;
  color: var(--lifa-white) !important;
}

html body[data-page-family] main > .section.founder-accountability
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main > .section.founder-accountability
  :where(p, li, dt, dd, small) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] main :is(
  .founder-contact-card,
  .process-feature-card,
  .process-info-card,
  .quote-progress-panel,
  .tool-output,
  .wechat-contact-card,
  .article-actions,
  .dark-card
) {
  background-color: var(--lifa-navy) !important;
  color: var(--lifa-white) !important;
}

html body[data-page-family] main :is(.founder-contact-card, .process-feature-card, .process-info-card,
  .quote-progress-panel, .tool-output, .wechat-contact-card, .article-actions, .dark-card)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main :is(.founder-contact-card, .process-feature-card, .process-info-card,
  .quote-progress-panel, .tool-output, .wechat-contact-card, .article-actions, .dark-card)
  :where(p, li, dt, dd, small, .text-muted, .direct-answer) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] main :is(.founder-contact-card, .process-feature-card, .process-info-card,
  .quote-progress-panel, .tool-output, .wechat-contact-card, .article-actions, .dark-card)
  :where(.eyebrow, .section-kicker, .hero-kicker, .founder-contact-kicker, .card-link) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] main :is(.section-dark, .section-navy, .dark-section, #request-form)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main :is(.section-dark, .section-navy, .dark-section, #request-form)
  :where(p, li, dt, dd, small) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] main :is(.section-dark, .section-navy, .dark-section, #request-form)
  :where(.eyebrow, .hero-kicker, .section-kicker, .step-label, .step-number) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] main > .section.section-dark .process-step .step-number,
html body[data-page-family] main > .section.section-navy .process-step .step-number {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  background-color: var(--lifa-cream) !important;
  border-color: var(--lifa-gold) !important;
}

html body[data-page-family] .site-header .dropdown-panel .dropdown-viewall {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] main > .section#founder-credentials .founder-contact-card {
  background-color: var(--lifa-navy) !important;
}

/* Raise specificity above legacy named-section color rules. */
html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.process-showcase > .container > .section-heading
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section)
  :is(.process-step, .process-info-card, .process-feature-card, .card, .link-card, .lifa-card, .knowledge-card) {
  background-color: var(--lifa-navy) !important;
  color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section)
  :is(.process-step, .process-info-card, .process-feature-card, .card, .link-card, .lifa-card, .knowledge-card)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section)
  :is(.process-step, .process-info-card, .process-feature-card, .card, .link-card, .lifa-card, .knowledge-card)
  :where(p, li, dt, dd, small, span) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section)
  :is(.process-step, .process-info-card, .process-feature-card, .card, .link-card, .lifa-card, .knowledge-card)
  :where(.eyebrow, .step-label, .step-number, .card-link, .section-kicker) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* Legacy dark bands can contain additional card names. Keep their surfaces
   paired with the inverse text palette as one rule, including nested grids. */
html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card,
      .media-card, .faq-item, .tool-method-step, .workbook-section-card,
      .workbook-coverage-card, .checklist-item, .process-step, .process-item,
      .process-info-card, .process-feature-card, .knowledge-card) {
  background-color: var(--lifa-navy) !important;
  color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card,
      .media-card, .faq-item, .tool-method-step, .workbook-section-card,
      .workbook-coverage-card, .checklist-item, .process-step, .process-item,
      .process-info-card, .process-feature-card, .knowledge-card)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card,
      .media-card, .faq-item, .tool-method-step, .workbook-section-card,
      .workbook-coverage-card, .checklist-item, .process-step, .process-item,
      .process-info-card, .process-feature-card, .knowledge-card)
  :where(p, li, dt, dd, small, span, label) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card,
      .media-card, .faq-item, .tool-method-step, .workbook-section-card,
      .workbook-coverage-card, .checklist-item, .process-step, .process-item,
      .process-info-card, .process-feature-card, .knowledge-card)
  :where(.eyebrow, .step-label, .step-number, .card-link, .section-kicker, a:not(.btn)) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* Direct copy in named inverse sections follows the same roles even when it
   is not wrapped in a section-heading or card component. */
html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :where(p, li, dt, dd, small) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.founder-accountability :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.founder-accountability :where(p, li, dt, dd, small) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

/* -------------------------------------------------------------------------
   Sitewide premium refinement v3

   Text-only grids read as an editorial index instead of a wall of floating
   cards. Image-led cards keep their photography and become quieter frames so
   the image, heading, and route carry the hierarchy.
   ------------------------------------------------------------------------- */

:root {
  --lifa-editorial-rule: rgba(15, 30, 54, .16);
  --lifa-editorial-rule-dark: rgba(238, 212, 125, .28);
  --lifa-surface-tint: rgba(220, 227, 237, .42);
  --lifa-surface-tint-dark: rgba(255, 255, 255, .035);
  --lifa-editorial-radius: 8px;
  --lifa-editorial-ease: cubic-bezier(.22, 1, .36, 1);
}

/* The consent prompt is an inverse utility panel; keep every text role on
   the same high-contrast surface even when legacy page CSS is loaded first. */
html body[data-page-family] .analytics-consent,
html body[data-page-family] .analytics-consent__inner {
  color: var(--lifa-white) !important;
}

html body[data-page-family] .analytics-consent h2,
html body[data-page-family] .analytics-consent h2 *,
html body[data-page-family] .analytics-consent__copy > p:last-child {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family] .analytics-consent__copy > p:last-child {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family] .analytics-consent__eyebrow,
html body[data-page-family] .analytics-consent__link {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family] .site-header .dropdown-panel a.dropdown-viewall {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* Consent is a bottom utility, not part of the document flow. Keep it clear
   of the floating contact rail on desktop while giving it the same calm
   navy, gold, and paper language as the rest of the site. */
html body[data-page-family] .analytics-consent {
  position: fixed !important;
  left: 24px !important;
  right: max(92px, calc(env(safe-area-inset-right) + 92px)) !important;
  bottom: max(16px, calc(env(safe-area-inset-bottom) + 16px)) !important;
  z-index: 1700 !important;
  width: auto !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 2px !important;
  overflow: hidden !important;
  border: 1px solid rgba(238, 212, 125, .34) !important;
  border-top: 2px solid var(--lifa-gold-soft, #eed47d) !important;
  border-radius: 8px !important;
  background: linear-gradient(160deg, rgba(7, 17, 30, .99), rgba(15, 30, 54, .98)) !important;
  box-shadow: 0 18px 46px rgba(7, 17, 30, .28), 0 4px 12px rgba(7, 17, 30, .14) !important;
  transform: none !important;
  translate: 0 0;
  animation: lifaConsentIn 220ms cubic-bezier(.22, 1, .36, 1) both;
}

html body[data-page-family].analytics-consent-open :is(.floating-contact, .lifa-ai-root) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body[data-page-family] .analytics-consent__inner {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
}

html body[data-page-family] .analytics-consent__copy {
  min-width: 0;
}

html body[data-page-family] .analytics-consent__eyebrow {
  margin: 0 0 5px !important;
  color: var(--lifa-gold-soft, #eed47d) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .64rem !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html body[data-page-family] .analytics-consent h2 {
  margin: 0 0 5px !important;
  color: var(--lifa-white, #fff) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 1.16rem !important;
  line-height: 1.18 !important;
}

html body[data-page-family] .analytics-consent__copy > p:last-child {
  max-width: 58ch !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-family: var(--font-reading, var(--primary-font), Arial, sans-serif) !important;
  font-size: .79rem !important;
  line-height: 1.45 !important;
}

html body[data-page-family] .analytics-consent__actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
}

html body[data-page-family] .analytics-consent__actions .btn {
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 11px 16px !important;
  font-size: .76rem !important;
  white-space: nowrap !important;
}

html body[data-page-family] .analytics-consent__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px !important;
  color: var(--lifa-gold-soft, #eed47d) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

@keyframes lifaConsentIn {
  from { opacity: 0; translate: 0 12px; }
  to { opacity: 1; translate: 0 0; }
}

@media (max-width: 760px) {
  html body[data-page-family] .analytics-consent {
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 12px)) !important;
    max-width: none !important;
  }

  html body[data-page-family] .analytics-consent__inner {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px 12px !important;
  }

  html body[data-page-family] .analytics-consent h2 {
    font-size: 1.04rem !important;
  }

  html body[data-page-family] .analytics-consent__copy > p:last-child {
    font-size: .74rem !important;
    line-height: 1.35 !important;
  }

  html body[data-page-family] .analytics-consent__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  html body[data-page-family] .analytics-consent__actions .btn {
    width: 100% !important;
    padding-inline: 10px !important;
  }
}

@media (max-width: 420px) {
  html body[data-page-family] .analytics-consent__actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
  }

  html body[data-page-family] .analytics-consent__link {
    grid-column: auto;
    min-height: 44px;
    justify-content: center;
    padding: 4px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family] .analytics-consent {
    animation: none !important;
    translate: 0 0;
  }
}

/* Valid fallback for text-only grids. Keep this explicit because nested
   :has() selectors are rejected by current CSS parsers. */
@media (min-width: 769px) {
  html body[data-page-family]:not(.home-page) main > .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card)) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule);
  }

  html body[data-page-family]:not(.home-page) main > .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card))
    > :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card):not(.media-card):not(.process-feature-card):not(.process-info-card) {
    position: relative;
    min-height: 0 !important;
    padding: 26px clamp(18px, 2.2vw, 32px) 28px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .24s var(--lifa-editorial-ease), padding-left .24s var(--lifa-editorial-ease) !important;
  }

  html body[data-page-family]:not(.home-page) main > .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card))
    > :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card):not(.media-card):not(.process-feature-card):not(.process-info-card)::before {
    content: "" !important;
    position: absolute;
    top: -1px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--lifa-gold) !important;
    opacity: .9;
  }

  html body[data-page-family]:not(.home-page) main > .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card))
    > :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card):not(.media-card):not(.process-feature-card):not(.process-info-card):is(:hover, :focus-within) {
    padding-left: 32px !important;
    background: var(--lifa-surface-tint) !important;
  }
}

/* -------------------------------------------------------------------------
   SITEWIDE FAQ HOMEPAGE PARITY V2

   Every public FAQ section carries this source-level marker. These direct
   selectors preserve the homepage layout without depending on :has(), while
   the editorial row, focus, open-state and reduced-motion rules above remain
   the single component authority.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] {
  position: relative !important;
  overflow: clip !important;
  background: var(--faq-section-surface) !important;
  background-image: none !important;
  border-block: 1px solid var(--faq-rule) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"]::before {
  position: absolute !important;
  top: -1px !important;
  left: max(24px, calc((100% - 1180px) / 2)) !important;
  width: 72px !important;
  height: 3px !important;
  content: "" !important;
  background: var(--lifa-gold) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] > :is(.container, .hpv2-container) {
  display: grid !important;
  width: min(100% - 48px, 1180px) !important;
  max-width: 1180px !important;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr) !important;
  column-gap: clamp(40px, 5.5vw, 76px) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] > :is(.container, .hpv2-container) > .section-heading {
  position: sticky !important;
  top: 120px !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
  text-align: left !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] .section-heading > .eyebrow {
  margin: 0 0 16px !important;
  color: var(--faq-number) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] .section-heading > h2 {
  max-width: 15ch !important;
  margin: 0 0 18px !important;
  color: var(--faq-question) !important;
  font-family: var(--font-editorial, Prata, Georgia, serif) !important;
  font-size: clamp(2rem, 2.65vw, 2.75rem) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-wrap: balance;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] .section-heading > p {
  max-width: 34ch !important;
  margin: 0 !important;
  color: var(--faq-answer) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  text-align: left !important;
  text-wrap: pretty;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
  main section[data-faq-system="homepage-v2"] > :is(.container, .hpv2-container) > [data-faq-list="homepage-v2"] {
  grid-column: 2 !important;
  grid-row: 1 / span 4 !important;
}

@media (max-width: 900px) {
  html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
    main section[data-faq-system="homepage-v2"] > :is(.container, .hpv2-container) {
    display: block !important;
    width: min(100% - 40px, 720px) !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
    main section[data-faq-system="homepage-v2"] > :is(.container, .hpv2-container) > .section-heading {
    position: static !important;
    max-width: 620px !important;
    margin: 0 0 28px !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
    main section[data-faq-system="homepage-v2"] .section-heading > h2 {
    max-width: 20ch !important;
  }
}

@media (max-width: 520px) {
  html body[data-page-family][data-page-family]:not(#lifa-faq-parity-a):not(#lifa-faq-parity-b):not(#lifa-faq-parity-c)
    main section[data-faq-system="homepage-v2"] > :is(.container, .hpv2-container) {
    width: min(100% - 32px, 720px) !important;
  }
}

/* -------------------------------------------------------------------------
   EYE-COMFORT LIGHT BRAND PALETTE V1

   Large interface surfaces stay white or cool paper. Deep navy remains the
   primary text and identity color; warm gold remains the restrained accent.
   The official navy-and-gold logo variant is rendered directly on the light
   page chrome, without a frame or dark backing panel.
   ------------------------------------------------------------------------- */

:root {
  --comfort-canvas: #ffffff;
  --comfort-paper: #f7f9fc;
  --comfort-paper-strong: #eef3f8;
  --comfort-ink: #102843;
  --comfort-copy: #465a70;
  --comfort-muted: #5d6b7d;
  --comfort-rule: rgba(16, 40, 67, .14);
  --comfort-rule-soft: rgba(16, 40, 67, .09);
  --comfort-gold: #eed47d;
  --comfort-gold-deep: #eed47d;
  --comfort-shadow: 0 14px 34px rgba(16, 40, 67, .08);

  /* Inverse remains a paired dark-surface role. Light reading surfaces use
     the explicit comfort tokens below instead of reversing this contract. */
  --surface-inverse: var(--lifa-ink);
  --text-inverse: var(--lifa-white);
  --text-inverse-muted: rgba(255, 255, 255, .82);
  --text-inverse-subtle: rgba(255, 255, 255, .72);
}

html,
html body[data-page-family],
html body[data-page-family] main {
  background-color: var(--comfort-canvas) !important;
}

html body[data-page-family] .site-header {
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid var(--comfort-rule) !important;
  box-shadow: 0 10px 28px rgba(16, 40, 67, .08) !important;
}

html body[data-page-family] .site-header::before {
  height: 3px !important;
  background: var(--comfort-gold) !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body[data-page-family] .site-header::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .site-header .brand img {
  content: url("../logos/lifa-logo-primary-transparent.png");
  width: 176px !important;
  height: 66px !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  box-sizing: border-box !important;
}

html body[data-page-family] .site-header :is(.main-nav > a, .main-nav > .nav-item > a) {
  color: var(--comfort-ink) !important;
}

html body[data-page-family] .site-header :is(.main-nav > a, .main-nav > .nav-item > a):is(:hover, :focus-visible, .active, [aria-current="page"]) {
  color: var(--comfort-gold-deep) !important;
}

html body[data-page-family] .site-header .menu-toggle span,
html body[data-page-family] .site-header .nav-caret,
html body[data-page-family] .site-header .dropdown-toggle {
  color: var(--comfort-ink) !important;
  border-color: var(--comfort-rule) !important;
}

html body[data-page-family] .site-header .menu-toggle span {
  background: var(--comfort-ink) !important;
}

html body[data-page-family] .site-header .dropdown-panel {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border: 1px solid var(--comfort-rule) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html body[data-page-family] .site-header .dropdown-panel a {
  color: var(--comfort-copy) !important;
  background: transparent !important;
}

html body[data-page-family] .site-header .dropdown-panel a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: var(--comfort-ink) !important;
  background: var(--comfort-paper) !important;
}

html body[data-page-family] .post-hero-signal-shell,
html body[data-page-family] .post-hero-signal-shell > .signal-strip {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-bottom: 1px solid var(--comfort-rule) !important;
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip::before {
  height: 2px !important;
  background: var(--comfort-gold) !important;
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item {
  color: var(--comfort-copy) !important;
  background: transparent !important;
  border-right: 1px solid var(--comfort-rule-soft) !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:last-child {
  border-right: 0 !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item::before,
html body[data-page-family] .post-hero-signal-shell .signal-item::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:is(:hover, :focus-visible) {
  color: var(--comfort-ink) !important;
  background: var(--comfort-paper) !important;
  box-shadow: inset 0 -2px 0 var(--comfort-gold) !important;
  transform: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item h3 {
  color: var(--comfort-ink) !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item p {
  color: var(--comfort-muted) !important;
}

html body[data-page-family] .post-hero-signal-shell .lifa-number-badge,
html body[data-page-family] .post-hero-signal-shell .lifa-number-badge.lifa-badge--semantic {
  color: var(--comfort-ink) !important;
  background: var(--comfort-paper) !important;
  border-color: rgba(238, 212, 125, .64) !important;
  box-shadow: none !important;
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: none !important;
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
)::before,
html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
)::after {
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
) :is(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
) :is(p, li, dt, dd, small, .text-muted, .direct-answer) {
  color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
) :is(.eyebrow, .section-kicker, .card-link, .step-label, .process-label, .artifact-label, .gate-label, .status-label) {
  color: var(--comfort-gold-deep) !important;
  text-shadow: none !important;
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .cta-band,
  .article-actions,
  .site-network-index,
  .knowledge-nav-panel
) :is(.card, .link-card, .lifa-card, .signal-item, .faq-item, .accordion-item) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: 0 10px 28px rgba(16, 40, 67, .07) !important;
}

html body[data-page-family] main :is(.cta-band, .article-actions) .btn-secondary {
  color: var(--comfort-ink) !important;
  background: var(--comfort-canvas) !important;
  border-color: rgba(16, 40, 67, .34) !important;
}

html body[data-page-family] :is(.sitewide-trustpilot, .trustpilot-section, .trustpilot-proof) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-color: var(--comfort-rule) !important;
}

html body[data-page-family] .site-footer,
html body[data-page-family] .site-footer[data-footer-system="v7"],
html body[data-page-family] .site-footer :is(.footer-main, .footer-content, .footer-brand-section, .footer-links-section, .footer-column, .footer-bottom, .footer-bottom-content) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: none !important;
}

html body[data-page-family] .site-footer::before {
  height: 3px !important;
  background: var(--comfort-gold) !important;
  box-shadow: none !important;
}

html body[data-page-family] .site-footer::after,
html body[data-page-family] .site-footer[data-footer-system="v7"]::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .site-footer .footer-logo {
  content: url("../logos/lifa-logo-primary-alpha.png");
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  box-sizing: border-box !important;
}

html body[data-page-family] .site-footer :is(h2, h3, h4, .column-title, .footer-column-heading, .footer-statement, strong) {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family] .site-footer :is(p, li, small, .footer-description, .footer-origin, .footer-copyright, .footer-address) {
  color: var(--comfort-muted) !important;
  text-shadow: none !important;
}

html body[data-page-family] .site-footer :is(.footer-kicker, .footer-column-heading > span, .footer-principles li span) {
  color: var(--comfort-gold-deep) !important;
}

html body[data-page-family] .site-footer a:not(.btn) {
  color: var(--comfort-copy) !important;
}

html body[data-page-family] .site-footer a:not(.btn):is(:hover, :focus-visible) {
  color: var(--comfort-gold-deep) !important;
}

html body[data-page-family] .site-footer :is(.footer-principles li, .footer-column a, .footer-legal-links a) {
  background: transparent !important;
  border-color: var(--comfort-rule-soft) !important;
  box-shadow: none !important;
}

@media (max-width: 1024px) {
  html body[data-page-family] .site-header .main-nav,
  html body[data-page-family] .site-header .main-nav.open {
    color: var(--comfort-copy) !important;
    background: var(--comfort-canvas) !important;
    border-color: var(--comfort-rule) !important;
    box-shadow: var(--comfort-shadow) !important;
  }
}

@media (max-width: 780px) {
  html body[data-page-family] .post-hero-signal-shell .signal-item {
    border-right: 0 !important;
    border-bottom: 1px solid var(--comfort-rule-soft) !important;
  }

  html body[data-page-family] .post-hero-signal-shell .signal-item:last-child {
    border-bottom: 0 !important;
  }
}

/* END EYE-COMFORT LIGHT BRAND PALETTE V1 */

/* -------------------------------------------------------------------------
   RELATED SOURCING ROUTES CONTRACT
   Route cards already contain a real badge and action label. Keep those
   elements as the single source of truth and protect the component from the
   broader editorial-card pseudo-elements above.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid {
  gap: 20px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  align-content: start !important;
  gap: 0 !important;
  min-width: 0 !important;
  min-height: 100% !important;
  height: auto !important;
  padding: 26px 24px 22px !important;
  overflow: visible !important;
  background: var(--lifa-white, #ffffff) !important;
  border: 1px solid var(--premium-card-border, rgba(15, 30, 54, .14)) !important;
  border-radius: var(--premium-card-radius, 8px) !important;
  box-shadow: 0 10px 26px rgba(7, 22, 40, .07) !important;
  transform: none !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card::before,
html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card::after,
html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > h3::before,
html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > h3::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > .lifa-number-badge {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  margin: 0 0 18px !important;
  place-items: center !important;
  align-self: start !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > h3 {
  display: block !important;
  min-height: 3.54em !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--lifa-navy, #0f1e36) !important;
  font-size: clamp(1.3rem, 1.5vw, 1.58rem) !important;
  line-height: 1.18 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > p {
  display: block !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 22px !important;
  overflow: visible !important;
  color: var(--lifa-muted, #60708a) !important;
  line-height: 1.6 !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > .card-link {
  position: static !important;
  display: inline-flex !important;
  width: 100% !important;
  min-height: 35px !important;
  margin: 0 !important;
  padding: 15px 0 0 !important;
  align-items: center !important;
  align-self: end !important;
  border-top: 1px solid rgba(15, 30, 54, .12) !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card:is(:hover, :focus-visible) {
  padding: 26px 24px 22px !important;
  background: var(--lifa-cream, #ffffff) !important;
  border-color: rgba(15, 30, 54, .28) !important;
  box-shadow: 0 14px 30px rgba(7, 22, 40, .1) !important;
  transform: none !important;
}

html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card:focus-visible {
  outline: 3px solid var(--lifa-gold-soft, #eed47d) !important;
  outline-offset: 3px !important;
}

@media (max-width: 768px) {
  html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card,
  html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card:is(:hover, :focus-visible) {
    min-height: 0 !important;
    padding: 22px 20px 20px !important;
  }

  html body[data-page-family][data-page-family] main .parity-related-links .related-links-grid > .link-card > h3 {
    min-height: 0 !important;
    font-size: 1.35rem !important;
  }
}

/* Selector-stable final contract. Keep :has() attached to its grid selector;
   whitespace before the pseudo-class changes it into a descendant selector. */
html body[data-page-family]:not(#lifa-editorial-final-a):not(#lifa-editorial-final-b):not(#lifa-editorial-final-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])) {
  gap: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-block: 1px solid var(--lifa-editorial-rule) !important;
  background: transparent !important;
}

html body[data-page-family]:not(#lifa-editorial-final-a):not(#lifa-editorial-final-b):not(#lifa-editorial-final-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]) {
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 24px clamp(20px, 2.15vw, 30px) 26px 24px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lifa-editorial-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 220ms var(--lifa-editorial-ease), padding-left 220ms var(--lifa-editorial-ease) !important;
}

html body[data-page-family]:not(#lifa-editorial-final-a):not(#lifa-editorial-final-b):not(#lifa-editorial-final-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])::before {
  position: absolute !important;
  top: -1px !important;
  left: 0 !important;
  display: block !important;
  width: 40px !important;
  height: 2px !important;
  content: "" !important;
  background: var(--lifa-gold) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body[data-page-family]:not(#lifa-editorial-final-a):not(#lifa-editorial-final-b):not(#lifa-editorial-final-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]):is(:hover, :focus-within) {
  padding-left: 32px !important;
  background: var(--lifa-surface-tint) !important;
  border-bottom-color: var(--lifa-editorial-rule) !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 768px) {
  html body[data-page-family]:not(#lifa-editorial-final-a):not(#lifa-editorial-final-b):not(#lifa-editorial-final-c):not(.home-page)
    main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
    > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]) {
    padding: 22px 20px 24px !important;
  }
}

/* Process and knowledge showcases already use a visual lead panel. Their
   supporting notes work better as a numbered editorial stack than as nested
   floating cards. */
html body[data-page-family] main .process-info-stack {
  gap: 0 !important;
  border-block: 1px solid var(--lifa-editorial-rule-dark);
}

html body[data-page-family] main .process-info-stack > .process-info-card {
  position: relative;
  min-height: 0 !important;
  padding: 28px 30px 30px 38px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lifa-editorial-rule-dark) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .24s var(--lifa-editorial-ease), padding-left .24s var(--lifa-editorial-ease) !important;
}

html body[data-page-family] main .process-info-stack > .process-info-card:last-child {
  border-bottom: 0 !important;
}

html body[data-page-family] main .process-info-stack > .process-info-card::before {
  content: "" !important;
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--lifa-gold) !important;
}

html body[data-page-family] main .process-info-stack > .process-info-card:is(:hover, :focus-within) {
  padding-left: 46px !important;
  background: var(--lifa-surface-tint-dark) !important;
}

@media (max-width: 768px) {
  html body[data-page-family] main .process-info-stack > .process-info-card {
    padding: 24px 20px 26px 26px !important;
  }

  html body[data-page-family] main .process-info-stack > .process-info-card:is(:hover, :focus-within) {
    padding-left: 32px !important;
  }
}

/* This matches the legacy parity contract's specificity so existing raised
   card declarations cannot override the quieter editorial system. */
@media (min-width: 769px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-3:has(> .card),
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-4:has(> .card) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-3:has(> .card) > .card,
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-4:has(> .card) > .card {
    min-height: 0 !important;
    padding: 26px clamp(18px, 2.2vw, 32px) 28px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy) .process-info-stack > .process-info-card {
    min-height: 0 !important;
    padding: 28px 30px 30px 38px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy) .process-info-stack > .process-info-card:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 768px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-3:has(> .card),
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-4:has(> .card) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-3:has(> .card) > .card,
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .grid.grid-4:has(> .card) > .card {
    min-height: 0 !important;
    padding: 22px 22px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity] > .section:not(.section-dark):not(.section-navy) .process-info-stack > .process-info-card {
    min-height: 0 !important;
    padding: 24px 20px 26px 26px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* Selector-correct card index rules (same-element :has() relationship). */
@media (min-width: 769px) {
  html body[data-page-family]:not(.home-page) main .grid.grid-3:has(> .card),
  html body[data-page-family]:not(.home-page) main .grid.grid-4:has(> .card) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule);
  }

  html body[data-page-family]:not(.home-page) main .grid.grid-3:has(> .card) > .card,
  html body[data-page-family]:not(.home-page) main .grid.grid-4:has(> .card) > .card {
    min-height: 0 !important;
    padding: 26px clamp(18px, 2.2vw, 32px) 28px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family] main .process-info-stack > .process-info-card {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* Related routes are navigation, not another card collection. */
html body[data-page-family] main .related-links-grid {
  gap: 0 !important;
  border-block: 1px solid var(--lifa-editorial-rule);
}

html body[data-page-family] main .related-links-grid > .link-card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border: 0 !important;
  border-right: 1px solid var(--lifa-editorial-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family] main .related-links-grid > .link-card:last-child {
  border-right: 0 !important;
}

html body[data-page-family] main .related-links-grid > .link-card:is(:hover, :focus-visible, :focus-within) {
  background: var(--lifa-surface-tint) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Gold numbers remain legible on paper surfaces. */
html body[data-page-family] main > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  :where(.step-number, .lifa-number-badge) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

/* Homepage commitment, market, and tool strips use rules and rhythm instead
   of a repeated stack of raised boxes. */
html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) {
  gap: 0 !important;
  border-block: 1px solid var(--lifa-editorial-rule);
  background: transparent !important;
}

html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) > a {
  position: relative;
  min-height: 0 !important;
  padding: 24px clamp(18px, 2.4vw, 30px) 26px !important;
  border: 0 !important;
  border-right: 1px solid var(--lifa-editorial-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .24s var(--lifa-editorial-ease), padding-top .24s var(--lifa-editorial-ease) !important;
}

html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) > a:last-child {
  border-right: 0 !important;
}

html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) > a::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 34px;
  height: 2px;
  background: var(--lifa-gold);
}

html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) > a:is(:hover, :focus-visible) {
  background: var(--lifa-surface-tint) !important;
  transform: none !important;
}

@media (max-width: 768px) {
  html body[data-page-family] main .related-links-grid > .link-card,
  html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) > a {
    border-right: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
  }

  html body[data-page-family] main .related-links-grid > .link-card:last-child,
  html body.home-page[data-page-family] main :is(.home-commitment-grid, .home-market-grid, .home-tool-grid) > a:last-child {
    border-bottom: 0 !important;
  }
}

/* -------------------------------------------------------------------------
   Balanced grid occupancy

   A late generic card rule can otherwise collapse semantic four-column
   layouts to three tracks and leave a stranded final row. Keep the source
   grid intent, then use the remaining track(s) for the final records. This
   applies only to interior pages; the homepage has its own editorial spans.
   ------------------------------------------------------------------------- */

@media (min-width: 1101px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-4, .card-grid.four-grid, .four-grid):has(> :nth-child(4):last-child, > :nth-child(8):last-child) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-2, .card-grid.two-grid, .two-grid):has(> :is(.card, .link-card, .lifa-card, .media-card, .service-card, .resource-card):nth-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.card-grid.one-column, .one-column):has(> :is(.card, .link-card, .lifa-card, .media-card, .service-card, .resource-card)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.card-grid.one-column, .one-column, .card-grid.two-grid, .two-grid) > * {
    grid-column: auto !important;
  }

  /* Two-card three-column sections use two equal tracks instead of an empty
     third column. */
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-3, .card-grid.three-grid, .three-grid):has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-3, .card-grid.three-grid, .three-grid):has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-3, .card-grid.three-grid, .three-grid):has(> :nth-child(3):last-child) > * {
    grid-column: auto !important;
  }

  /* Related routes are a five-item navigation index on wide screens. */
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid > .link-card:last-child {
    grid-column: auto !important;
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-4, .card-grid.four-grid, .four-grid, .card-grid, .cards-grid, .grid.grid-3, .grid.grid-2):has(> :is(.card, .link-card, .lifa-card, .media-card, .service-card, .resource-card)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid.grid-4, .card-grid.four-grid, .four-grid, .card-grid, .cards-grid, .grid.grid-3, .grid.grid-2):has(> :nth-child(2n + 1):last-child) > :last-child {
    grid-column: 1 / -1 !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid:has(> :nth-child(3n + 2):last-child) > :nth-last-child(2) {
    grid-column: span 2 !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid > .link-card:last-child {
    grid-column: auto !important;
  }
}

@media (max-width: 700px) {
  /* Include media-card records, which the earlier mobile guard did not
     match, and keep every repeated interior collection one readable column. */
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    :is(.grid, .card-grid, .cards-grid, .services-grid, .service-grid, .resource-grid,
        .tools-directory-grid, .workbook-section-grid, .workbook-coverage-grid,
        .media-card-grid):not(.related-links-grid):has(> :is(.card, .link-card, .lifa-card, .media-card, .service-card, .resource-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main
    .related-links-grid > .link-card {
    grid-column: auto !important;
  }

  /* The Services hub has an ID-scoped desktop directory rule. Match that
     scope here so the phone layout remains one column. */
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) main[data-workbook-role="Service hub"]
    #services-directory .container > .grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Progressive disclosure for the inspection quotation fields. Native
   details keeps the optional brief accessible without another dependency. */
body[data-page-family] form .inspection-form-options {
  margin: 24px 0 4px;
  padding: 0;
  border-top: 1px solid rgba(15, 30, 54, .16);
  border-bottom: 1px solid rgba(15, 30, 54, .16);
}

body[data-page-family] form .inspection-form-options > summary {
  display: flex;
  min-height: 52px;
  padding: 15px 34px 15px 0;
  align-items: center;
  position: relative;
  cursor: pointer;
  color: var(--lifa-navy, #0f1e36);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .055em;
  text-transform: uppercase;
  list-style: none;
}

body[data-page-family] form .inspection-form-options > summary::-webkit-details-marker {
  display: none;
}

body[data-page-family] form .inspection-form-options > summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 3px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(15, 30, 54, .28);
  color: #eed47d;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-50%);
}

body[data-page-family] form .inspection-form-options[open] > summary::after {
  content: "−";
}

body[data-page-family] form .inspection-form-options > summary:focus-visible {
  outline: 3px solid rgba(238, 212, 125, .42);
  outline-offset: 3px;
}

body[data-page-family] form .inspection-form-options > .field-hint {
  margin: 0 0 18px;
  color: #526174;
}

body[data-page-family] form .inspection-form-options > .form-grid {
  padding: 4px 0 22px;
}

@media (max-width: 700px) {
  body[data-page-family] form .inspection-form-options > summary {
    font-size: .68rem;
  }
}

/* Final homepage hero sizing pass. Keep the reference composition spacious on
   desktop, while letting the phone layout reach its controls without a large
   empty tail below the visible copy. */
@media (min-width: 769px) {
  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content-wrapper {
    width: var(--home-hero-copy-width) !important;
    margin-inline: max(48px, 4vw) !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-grid {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content-wrapper {
    padding-block: clamp(56px, 6vh, 84px) clamp(72px, 7vh, 104px) !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 span {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 :is(em, .hero-highlight, [data-hero-signature]) {
    max-width: clamp(860px, 48vw, 1080px) !important;
  }
}

@media (max-width: 768px) {
  html body.home-page[data-page-family][data-page-family] #home-hero.home-hero,
  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content-wrapper {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content-wrapper {
    padding: 16px 20px 48px !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-office-card {
    margin-bottom: 12px !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hpv2-hero-kicker {
    margin-bottom: 12px !important;
    flex-wrap: wrap;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hpv2-hero-kicker > span:last-child {
    flex: 0 0 auto;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 {
    margin-block: 10px 14px !important;
    font-size: clamp(2.3rem, 10.2vw, 3.2rem) !important;
    line-height: .98 !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-content h1 :is(em, .hero-highlight, [data-hero-signature]) {
    font-size: .76em;
    line-height: 1.08;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-brand-promise {
    margin-top: 7px !important;
    padding-top: 8px !important;
    font-size: .92rem !important;
    line-height: 1.34 !important;
  }

  html body.home-page[data-page-family][data-page-family] #home-hero .hero-actions {
    margin-top: 12px !important;
  }

  /* The complete supporting paragraph and proof list remain in the desktop
     hero; on phones the location panel, statement, promise, and CTA form the
     first-screen decision path. */
  html body.home-page[data-page-family][data-page-family] #home-hero :is(.hero-primary-description, .hero-credentials) {
    display: none !important;
  }
}

/* Final editorial collection pass. Card-only interior grids are reading
   indexes; image-led grids retain their visual showcase treatment. */
@media (min-width: 769px) {
  html body[data-page-family]:not(.home-page) main .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card)) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule);
  }

  html body[data-page-family]:not(.home-page) main .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card))
    > :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card):not(.media-card):not(.process-feature-card):not(.process-info-card) {
    min-height: 0 !important;
    padding: 26px clamp(18px, 2.2vw, 32px) 28px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .24s var(--lifa-editorial-ease), padding-left .24s var(--lifa-editorial-ease) !important;
  }

  html body[data-page-family]:not(.home-page) main .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card))
    > :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card):not(.media-card):not(.process-feature-card):not(.process-info-card)::before {
    content: "" !important;
    position: absolute;
    top: -1px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--lifa-gold) !important;
  }

  html body[data-page-family]:not(.home-page) main .section
    :is(.grid.grid-3, .grid.grid-4, .three-grid, .four-grid)
    :has(> :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card))
    :not(:has(> .media-card, > .process-feature-card, > .process-info-card))
    > :is(.card, .link-card, .lifa-card, .knowledge-card, .feature-card, .service-card, .resource-card):not(.media-card):not(.process-feature-card):not(.process-info-card):is(:hover, :focus-within) {
    padding-left: 32px !important;
    background: var(--lifa-surface-tint) !important;
  }

  html body[data-page-family] main .process-info-stack > .process-info-card {
    min-height: 0 !important;
    padding: 28px 30px 30px 38px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family] main .process-info-stack > .process-info-card:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 768px) {
  html body[data-page-family] main .process-info-stack > .process-info-card {
    min-height: 0 !important;
    padding: 24px 20px 26px 26px !important;
    border-radius: 0 !important;
  }
}

/* Inspection service detail blocks keep the approved service page readable
   while giving the comparison and commercial terms their own hierarchy. */
html body[data-inspection-service="true"] .hero-visual-note {
  max-width: 52ch;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, .76) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .035em;
}

html body[data-inspection-service="true"] .inspection-service-detail .section-heading > p {
  max-width: 78ch;
}

html body[data-inspection-service="true"] .inspection-scope-grid,
html body[data-inspection-service="true"] .inspection-records-grid,
html body[data-inspection-service="true"] .inspection-commercial-grid {
  align-items: stretch;
}

html body[data-inspection-service="true"] .inspection-scope-grid .card,
html body[data-inspection-service="true"] .inspection-records-grid .card,
html body[data-inspection-service="true"] .inspection-commercial-grid .card {
  min-height: 100%;
}

html body[data-inspection-service="true"] .inspection-scope-grid .card > p,
html body[data-inspection-service="true"] .inspection-records-grid .card > p,
html body[data-inspection-service="true"] .inspection-commercial-grid .card > p {
  max-width: 58ch;
}

html body[data-inspection-service="true"] .inspection-compare-wrap {
  margin-top: 30px;
  overflow-x: auto;
  background: var(--lifa-paper, #fff);
}

html body[data-inspection-service="true"] .inspection-compare {
  min-width: 860px;
}

html body[data-inspection-service="true"] .inspection-compare caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

html body[data-inspection-service="true"] .inspection-compare th[scope="row"] {
  min-width: 190px;
  color: var(--lifa-navy, #0f1e36);
  font-family: var(--font-display, "Times New Roman", Times, serif);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
}

html body[data-inspection-service="true"] .inspection-compare td {
  vertical-align: top;
}

html body[data-inspection-service="true"] .inspection-terms-callout {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  margin-top: 28px;
  padding: 18px 20px;
  border-left: 3px solid var(--lifa-gold, #eed47d);
  background: rgba(255, 255, 255, .76);
  color: var(--lifa-navy, #0f1e36);
}

html body[data-inspection-service="true"] .inspection-terms-callout strong {
  font-family: var(--font-display, "Times New Roman", Times, serif);
  font-size: 1.1rem;
}

html body[data-inspection-service="true"] .inspection-terms-callout a {
  color: #eed47d;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 700px) {
  html body[data-inspection-service="true"] .hero-visual-note {
    margin-top: 13px;
    font-size: .66rem;
  }

  html body[data-inspection-service="true"] .hero-content .direct-answer {
    font-size: .9rem;
    line-height: 1.48;
  }

  html body[data-inspection-service="true"] .inspection-compare-wrap {
    margin-inline: -2px;
  }

  html body[data-inspection-service="true"] .inspection-terms-callout {
    display: block;
  }

  html body[data-inspection-service="true"] .inspection-terms-callout > * {
    display: block;
    margin-top: 6px;
  }

  html body[data-inspection-service="true"] .inspection-terms-callout > :first-child {
    margin-top: 0;
  }
}

/* Final route-index pass for text-only links and process steps. The repeated
   data markers intentionally match the legacy parity contract's specificity. */
@media (min-width: 769px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] :is(.grid.grid-3, .grid.grid-4, .tools-directory-grid):has(> .link-card) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] :is(.grid.grid-3, .grid.grid-4, .tools-directory-grid):has(> .link-card) > .link-card {
    min-height: 0 !important;
    padding: 24px clamp(18px, 2.2vw, 30px) 26px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .24s var(--lifa-editorial-ease), padding-left .24s var(--lifa-editorial-ease) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] :is(.grid.grid-3, .grid.grid-4, .tools-directory-grid):has(> .link-card) > .link-card:is(:hover, :focus-within) {
    padding-left: 32px !important;
    background: var(--lifa-surface-tint) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .process-grid > .process-step {
    min-height: 0 !important;
    padding: 28px 24px 30px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] :is(.grid.grid-3, .grid.grid-4, .tools-directory-grid):has(> .link-card) {
    gap: 0 !important;
    border-block: 1px solid var(--lifa-editorial-rule) !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] :is(.grid.grid-3, .grid.grid-4, .tools-directory-grid):has(> .link-card) > .link-card {
    min-height: 0 !important;
    padding: 22px 22px 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page)
    main[data-homepage-parity][data-homepage-parity] .process-grid > .process-step {
    min-height: 0 !important;
    padding: 24px 20px 26px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lifa-editorial-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* -------------------------------------------------------------------------
   Strict sitewide contrast contract

   Named inverse bands are shared by the homepage and interior templates.
   Keep every readable role on the inverse palette at the end of the cascade;
   this prevents legacy paper-surface selectors from making copy disappear
   against navy gradients. Evidence sections are intentionally paper surfaces
   and are explicitly restored to the light palette below.
   The compact spacing utility is intentionally excluded: it controls spacing only and
   appears on both paper and inverse surfaces.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(
    .section-dark,
    .section-navy,
    .dark-section,
    .process-showcase,
    .home-commitments,
    .home-freight,
    .home-categories,
    .home-markets,
    .home-request,
    .trustpilot-section
  ) {
  color: rgba(255, 255, 255, .86) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(
    .section-dark,
    .section-navy,
    .dark-section,
    .process-showcase,
    .home-commitments,
    .home-freight,
    .home-categories,
    .home-markets,
    .home-request,
    .trustpilot-section
  ) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(
    .section-dark,
    .section-navy,
    .dark-section,
    .process-showcase,
    .home-commitments,
    .home-freight,
    .home-categories,
    .home-markets,
    .home-request,
    .trustpilot-section
  ) :where(p, li, dt, dd, small, label, legend, figcaption, blockquote) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(
    .section-dark,
    .section-navy,
    .dark-section,
    .process-showcase,
    .home-commitments,
    .home-freight,
    .home-categories,
    .home-markets,
    .home-request,
    .trustpilot-section
  ) :where(.eyebrow, .hero-kicker, .section-kicker, .step-label, .step-number, .home-text-link, .card-link) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* Process showcases are inverse bands even though their legacy class also
   carries section-muted. This selector outranks the old paper copy rule. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.process-showcase > .container > .section-heading
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.process-showcase > .container > .section-heading
  :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

/* The commitments band is a dark gradient without the generic section-dark
   class. Bind its split header to the same inverse palette as the other dark
   homepage bands. */
html body.home-page[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.home-commitments .home-section-header
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body.home-page[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.home-commitments .home-section-header
  :where(p, li, dd, dt) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

html body.home-page[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.home-commitments .home-section-header
  :where(.eyebrow, .hero-kicker, .section-kicker, .home-text-link) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

/* Evidence sections are paper surfaces. Keep their headings and body copy in
   the dark text roles even when a broad inverse-band selector is present. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.evidence-section
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

/* Specialized imported sections can carry their own high-authority H2 color.
   The signature phrase itself always retains the sole official gold. */
:is(#lifa-signature-color-a#lifa-signature-color-b#lifa-signature-color-c#lifa-signature-color-d#lifa-signature-color-e#lifa-signature-color-f#lifa-signature-color-g#lifa-signature-color-h#lifa-signature-color-i#lifa-signature-color-j#lifa-signature-color-k#lifa-signature-color-l#lifa-signature-color-m#lifa-signature-color-n#lifa-signature-color-o#lifa-signature-color-p#lifa-signature-color-q#lifa-signature-color-r, html)
  body main h2 > .content-signature[data-content-signature="true"],
:is(#lifa-signature-color-a#lifa-signature-color-b#lifa-signature-color-c#lifa-signature-color-d#lifa-signature-color-e#lifa-signature-color-f#lifa-signature-color-g#lifa-signature-color-h#lifa-signature-color-i#lifa-signature-color-j#lifa-signature-color-k#lifa-signature-color-l#lifa-signature-color-m#lifa-signature-color-n#lifa-signature-color-o#lifa-signature-color-p#lifa-signature-color-q#lifa-signature-color-r, html)
  body :is(section.hero, .tool-page-hero) .hero-content h1 > :is(em.hero-highlight, em[data-hero-signature]),
:is(#lifa-signature-color-a#lifa-signature-color-b#lifa-signature-color-c#lifa-signature-color-d#lifa-signature-color-e#lifa-signature-color-f#lifa-signature-color-g#lifa-signature-color-h#lifa-signature-color-i#lifa-signature-color-j#lifa-signature-color-k#lifa-signature-color-l#lifa-signature-color-m#lifa-signature-color-n#lifa-signature-color-o#lifa-signature-color-p#lifa-signature-color-q#lifa-signature-color-r, html)
  body main .article-header h1 > em.hero-highlight {
  color: var(--lifa-official-gold) !important;
  -webkit-text-fill-color: var(--lifa-official-gold) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.evidence-section
  :where(p, li, dt, dd, small, label, legend, figcaption, blockquote) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.evidence-section
  :where(.eyebrow, .hero-kicker, .section-kicker, .step-label, .card-link) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

/* Request forms use a dark progress rail followed by a white input body. The
   body is a separate light surface, so its labels and hints must return to
   the dark copy roles instead of inheriting the inverse section palette. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.quote-wizard-body, .form-panel-light, .request-form-light)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.quote-wizard-body, .form-panel-light, .request-form-light)
  :where(p, li, dt, dd, small, label, legend, figcaption) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.quote-wizard-body, .form-panel-light, .request-form-light)
  :where(.eyebrow, .section-kicker, .step-label, .card-link) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main .home-request-form-wrap
  :where(h1, h2, h3, h4, h5, h6, p, li, label, legend, small, strong, span) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main .home-request-form-wrap
  :where(.home-request-form-heading span, .field-hint, .upload-help, .form-note) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main #request-form .quote-wizard-body
  :where(h1, h2, h3, h4, h5, h6, p, li, label, legend, small, strong, span) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main #request-form .quote-wizard-body
  :where(.field-hint, .upload-help, .form-note) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.quote-wizard-body, .form-panel-light, .request-form-light) .lifa-number-badge {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  background: var(--lifa-cream) !important;
  border-color: var(--lifa-gold) !important;
}

/* Preserve the error summary's semantic red ink on its pale alert surface. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main :is(.quote-wizard-body, .form-panel-light, .request-form-light) .lifa-form-error-summary
  :where(h1, h2, h3, h4, h5, h6, p, li, strong) {
  color: #5d211d !important;
  -webkit-text-fill-color: #5d211d !important;
}

/* Evidence boundaries are intentionally inverse callouts nested inside an
   otherwise paper evidence section. Keep their copy on the inverse palette. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.evidence-section .editorial-boundary
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-white) !important;
  -webkit-text-fill-color: var(--lifa-white) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > .section.evidence-section .editorial-boundary
  :where(p, li, dt, dd, small, label, figcaption) {
  color: rgba(255, 255, 255, .82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .82) !important;
}

/* Dark-band cards use cream badges and gold route links for a clear edge
   against navy card surfaces. */
html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase,
    .home-commitments, .home-freight, .home-categories,
    .home-markets, .home-request, .trustpilot-section)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card)
  :where(.card-link, a:not(.btn):not(.button)) {
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family][data-page-family][data-page-family]
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase,
    .home-commitments, .home-freight, .home-categories,
    .home-markets, .home-request, .trustpilot-section)
  :where(.lifa-number-badge, .step-number) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  background: var(--lifa-cream) !important;
  border-color: var(--lifa-gold) !important;
}

/* -------------------------------------------------------------------------
   SITEWIDE PREMIUM CARD FRAME V2

   Every genuine content card now uses the same homepage-led frame: a warm
   gold top edge, a fine gold perimeter, a quiet paper or navy surface, and a
   short lift on precise pointers. Form fields, menus, modals, and broad page
   sections are intentionally outside this component contract.
   ------------------------------------------------------------------------- */

:root {
  --premium-card-surface: var(--lifa-white);
  --premium-card-border: rgba(15, 30, 54, .14);
  --premium-card-border-hover: rgba(238, 212, 125, .72);
  --premium-card-radius: 6px;
  --premium-card-shadow: 0 8px 22px rgba(7, 17, 30, .07), inset 0 1px 0 rgba(255, 255, 255, .8);
  --premium-card-shadow-hover: 0 15px 32px rgba(7, 17, 30, .12), 0 4px 12px rgba(238, 212, 125, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
  --premium-card-motion: 220ms cubic-bezier(.22, 1, .36, 1);
  --premium-card-grid-gap: clamp(14px, 1.5vw, 20px);
}

html body[data-page-family] main :is(
  .section-dark,
  .section-navy,
  .dark-section,
  .process-showcase,
  .home-categories,
  .home-industries,
  .home-freight,
  .home-markets,
  .home-request,
  .founder-accountability
) {
  --premium-card-surface: var(--lifa-navy);
  --premium-card-border: rgba(238, 212, 125, .34);
  --premium-card-border-hover: rgba(238, 212, 125, .72);
  --premium-card-shadow: 0 10px 26px rgba(1, 7, 15, .22), inset 0 1px 0 rgba(255, 255, 255, .05);
  --premium-card-shadow-hover: 0 17px 36px rgba(1, 7, 15, .3), 0 5px 14px rgba(238, 212, 125, .1), inset 0 1px 0 rgba(255, 255, 255, .08);
}

/* The non-matching ID in :not() is a specificity sentinel. Legacy generated
   grids repeat page attributes up to eight times; this keeps one readable,
   final component contract authoritative without adding markup hooks. */
html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override)
  main :is(
    .card,
    .link-card,
    .lifa-card,
    .media-card,
    .feature-card,
    .service-card,
    .resource-card,
    .knowledge-card,
    .decision-answer-card,
    .record-library-card,
    .founder-service-card,
    .founder-contact-card,
    .founder-portrait-card,
    .process-step,
    .process-info-card,
    .process-feature-card,
    .tool-method-step,
    .workbook-section-card,
    .workbook-coverage-card,
    .faq-item,
    .mini-card,
    .calc-card,
    .wechat-contact-card,
    .home-category-card,
    .home-industry-lead-card,
    .home-industry-grid > a
  ) {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid var(--premium-card-border) !important;
  border-radius: var(--premium-card-radius) !important;
  background-color: var(--premium-card-surface) !important;
  box-shadow: var(--premium-card-shadow) !important;
  transition:
    transform var(--premium-card-motion),
    border-color 220ms ease,
    box-shadow var(--premium-card-motion),
    background-color 220ms ease !important;
}

html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override)
  main :is(.dark-card, .founder-contact-card, .process-info-card, .process-feature-card, .wechat-contact-card) {
  --premium-card-surface: var(--lifa-navy);
}

/* Restore independent spacing where earlier editorial-index rules joined
   named cards into a continuous ruled list. */
html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override)
  main[data-homepage-parity][data-homepage-parity]
  :is(
    .grid,
    .card-grid,
    .cards-grid,
    .services-grid,
    .service-grid,
    .resource-grid,
    .tools-directory-grid,
    .workbook-section-grid,
    .workbook-coverage-grid,
    .related-links-grid,
    .decision-answer-grid,
    .process-grid,
    .process-info-stack,
    .media-card-grid
  ):has(> :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card, .decision-answer-card, .record-library-card, .process-step, .process-info-card, .process-feature-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) {
  gap: var(--premium-card-grid-gap) !important;
  border: 0 !important;
  overflow: visible !important;
}

html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override)
  main :is(
    .card,
    .link-card,
    .lifa-card,
    .media-card,
    .feature-card,
    .service-card,
    .resource-card,
    .knowledge-card,
    .decision-answer-card,
    .record-library-card,
    .founder-service-card,
    .founder-contact-card,
    .founder-portrait-card,
    .process-step,
    .process-info-card,
    .process-feature-card,
    .tool-method-step,
    .workbook-section-card,
    .workbook-coverage-card,
    .faq-item,
    .mini-card,
    .calc-card,
    .wechat-contact-card,
    .home-category-card,
    .home-industry-lead-card,
    .home-industry-grid > a
  ):focus-within {
  border-color: var(--premium-card-border-hover) !important;
  box-shadow: var(--premium-card-shadow-hover), 0 0 0 3px rgba(238, 212, 125, .20) !important;
  transform: translate3d(0, -3px, 0) !important;
}

html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override) main :is(
  a.card,
  a.link-card,
  a.lifa-card,
  a.media-card,
  a.feature-card,
  a.service-card,
  a.resource-card,
  a.knowledge-card,
  a.record-library-card,
  a.founder-service-card,
  a.home-category-card,
  a.home-industry-lead-card,
  .home-industry-grid > a
):focus-visible {
  outline: 3px solid var(--lifa-gold-soft) !important;
  outline-offset: 3px !important;
}

@media (hover: hover) and (pointer: fine) {
  html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override)
    main :is(
      .card,
      .link-card,
      .lifa-card,
      .media-card,
      .feature-card,
      .service-card,
      .resource-card,
      .knowledge-card,
      .decision-answer-card,
      .record-library-card,
      .founder-service-card,
      .founder-contact-card,
      .founder-portrait-card,
      .process-step,
      .process-info-card,
      .process-feature-card,
      .tool-method-step,
      .workbook-section-card,
      .workbook-coverage-card,
      .faq-item,
      .mini-card,
      .calc-card,
      .wechat-contact-card,
      .home-category-card,
      .home-industry-lead-card,
      .home-industry-grid > a
    ):hover {
    border-color: var(--premium-card-border-hover) !important;
    box-shadow: var(--premium-card-shadow-hover) !important;
    transform: translate3d(0, -3px, 0) !important;
  }
}

/* A legacy action-layout rule expands containers that also hold a CTA. Keep
   card directories on the same deliberate mobile inset as the homepage. */
@media (max-width: 700px) {
  html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override)
    main .container:has(> :is(
      .grid,
      .card-grid,
      .cards-grid,
      .services-grid,
      .service-grid,
      .resource-grid,
      .tools-directory-grid,
      .workbook-section-grid,
      .workbook-coverage-grid,
      .related-links-grid,
      .decision-answer-grid,
      .process-grid,
      .process-info-stack,
      .media-card-grid,
      .home-category-grid,
      .home-industry-grid
    ) > :is(
      .card,
      .link-card,
      .lifa-card,
      .media-card,
      .feature-card,
      .service-card,
      .resource-card,
      .knowledge-card,
      .decision-answer-card,
      .record-library-card,
      .process-step,
      .process-info-card,
      .process-feature-card,
      .tool-method-step,
      .workbook-section-card,
      .workbook-coverage-card,
      .home-category-card,
      .home-industry-lead-card,
      a
    )) {
    width: min(720px, calc(100% - 32px)) !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family]:not(#lifa-premium-card-specificity):not(#lifa-premium-card-override) main :is(
    .card,
    .link-card,
    .lifa-card,
    .media-card,
    .feature-card,
    .service-card,
    .resource-card,
    .knowledge-card,
    .decision-answer-card,
    .record-library-card,
    .founder-service-card,
    .founder-contact-card,
    .founder-portrait-card,
    .process-step,
    .process-info-card,
    .process-feature-card,
    .tool-method-step,
    .workbook-section-card,
    .workbook-coverage-card,
    .faq-item,
    .mini-card,
    .calc-card,
    .wechat-contact-card,
    .home-category-card,
    .home-industry-lead-card,
    .home-industry-grid > a
  ) {
    transition: none !important;
    transform: none !important;
  }
}

/* Utility directory sections are paper surfaces nested below a shared
   directory wrapper. The wrapper participates in the inverse-band contract
   for its dark cards, so restore the light heading roles for its section
   introductions explicitly. */
html body[data-page-family="utility"][data-page-family][data-page-family]
  main .site-network-index > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  > .section-heading
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family="utility"][data-page-family][data-page-family]
  main .site-network-index > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  > .section-heading
  :where(p, li, dt, dd, small, label, legend, figcaption, blockquote) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family="utility"][data-page-family][data-page-family]
  main .site-network-index > .section:not(.section-dark):not(.section-navy):not(.dark-section)
  > .section-heading
  :where(.eyebrow, .hero-kicker, .section-kicker, .step-label, .card-link) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

html body[data-page-family][data-page-family][data-page-family]
  main > .section:not(.section-dark):not(.section-navy):not(.dark-section):not(.process-showcase):not(.section-tight)
  :where(.step-number, .lifa-number-badge) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

/* -------------------------------------------------------------------------
   RESPONSIVE CONTENT CARD CONTRACT

   Repeated editorial cards keep the grid named by their component, use the
   same compact homepage frame, and grow only when their content needs room.
   Five-card collections deliberately remain 3 + 2 instead of introducing
   six narrow tracks or an unrelated full-width final card.
   ------------------------------------------------------------------------- */

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main :is(.grid.grid-2, .grid.grid-3, .grid.grid-4, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)) {
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main :is(.grid, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card) {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: stretch !important;
  height: auto !important;
  min-width: 0 !important;
}

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)
  :is(h2, h3, h4) {
  max-width: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance;
}

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card) h3 {
  margin: 18px 0 10px !important;
  font-size: 1.22rem !important;
  line-height: 1.28 !important;
}

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card) p {
  -webkit-line-clamp: 5 !important;
}

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main > .section:not(.section-dark):not(.section-navy):not(.dark-section):not(.process-showcase)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)
  :is(.lifa-number-badge, .step-number) {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin-bottom: 0 !important;
  color: var(--lifa-cream) !important;
  -webkit-text-fill-color: var(--lifa-cream) !important;
  background: var(--lifa-navy) !important;
  border: 1px solid rgba(238, 212, 125, .66) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}

html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)
  :is(.lifa-number-badge, .step-number) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  background: var(--lifa-cream) !important;
  border-color: var(--lifa-gold) !important;
}

@media (min-width: 1101px) {
  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main .grid.grid-3:has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main :is(.grid, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card):nth-child(5):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main :is(.grid, .card-grid, .cards-grid)
    > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card) {
    min-height: 270px !important;
    padding: 24px 22px 22px !important;
  }
}

@media (min-width: 1201px) {
  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main .grid.grid-4:has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main :is(.grid.grid-3, .grid.grid-4, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1101px) and (max-width: 1200px) {
  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main .grid.grid-4:has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main :is(.grid.grid-2, .grid.grid-3, .grid.grid-4, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family]:not(#lifa-card-layout-specificity):not(#lifa-card-layout-override)
    main :is(.grid, .card-grid, .cards-grid)
    > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card) {
    min-height: 0 !important;
    padding: 21px 19px 20px !important;
  }
}

/* Guide actions are compact working surfaces, followed by a distinct route
   rail. Their shared frame makes one-link and two-link states equally clear. */
html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-action-section {
  padding: 30px 0 24px !important;
  background: var(--lifa-paper, #f8fafc) !important;
  border-top: 1px solid rgba(15, 30, 54, .12) !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-action-section .article-tool-band {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 250px) !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 26px 28px !important;
  background: var(--lifa-white) !important;
  border: 1px solid var(--premium-card-border) !important;
  border-radius: var(--premium-card-radius) !important;
  box-shadow: var(--premium-card-shadow) !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-tool-band h2 {
  max-width: 30ch !important;
  margin: 5px 0 8px !important;
  font-size: 1.9rem !important;
  line-height: 1.18 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-tool-band p {
  max-width: 68ch !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-tool-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-tool-actions .btn {
  width: 100% !important;
  min-height: 44px !important;
  padding: 11px 15px !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-learning-nav {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 14px !important;
  overflow: hidden !important;
  background: var(--lifa-white) !important;
  border: 1px solid var(--premium-card-border) !important;
  border-radius: var(--premium-card-radius) !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-learning-nav:has(> .learning-link:only-child) {
  grid-template-columns: minmax(0, 1fr) !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-learning-nav .learning-link {
  display: flex !important;
  min-height: 86px !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 17px 20px !important;
  border: 0 !important;
  transition: background-color 180ms ease, color 180ms ease !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-learning-nav .learning-link + .learning-link {
  border-left: 1px solid var(--premium-card-border) !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-learning-nav .learning-link:is(:hover, :focus-visible) {
  background: var(--lifa-cream) !important;
}

html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
  main .article-learning-nav .learning-link:focus-visible {
  outline: 3px solid var(--lifa-gold-soft) !important;
  outline-offset: -3px !important;
}

@media (max-width: 768px) {
  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-action-section {
    padding: 22px 0 18px !important;
  }

  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-action-section .article-tool-band {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 22px 18px !important;
  }

  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-tool-band h2 {
    max-width: none !important;
    font-size: 1.62rem !important;
  }

  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-learning-nav {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-learning-nav .learning-link + .learning-link {
    border-top: 1px solid var(--premium-card-border) !important;
    border-left: 0 !important;
  }

  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-learning-nav .learning-link--next {
    text-align: left !important;
  }

  html body[data-page-family]:not(#lifa-action-surface-specificity):not(#lifa-action-surface-override)
    main .article-learning-nav .learning-link--next strong {
    margin-left: 0 !important;
  }
}

/* Light cards remain light content surfaces even when a navy section provides
   their outer canvas. Bind the text roles to the card surface so section-level
   inverse typography can never paint white copy onto a white card body. */
html body[data-page-family]:not(#lifa-light-card-specificity):not(#lifa-light-card-override)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card) {
  --premium-card-surface: var(--lifa-white);
  color: var(--lifa-navy) !important;
  background: var(--lifa-white) !important;
}

html body[data-page-family]:not(#lifa-light-card-specificity):not(#lifa-light-card-override)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  > :is(div, figcaption) {
  color: var(--lifa-navy) !important;
  background: var(--lifa-white) !important;
}

html body[data-page-family]:not(#lifa-light-card-specificity):not(#lifa-light-card-override)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family]:not(#lifa-light-card-specificity):not(#lifa-light-card-override)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  :where(p, li, dt, dd, small, figcaption, .text-muted) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family]:not(#lifa-light-card-specificity):not(#lifa-light-card-override)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  :where(.eyebrow, .card-link, .step-label, .process-label, .artifact-label, .gate-label, .status-label) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

/* The homepage form heading is an inverse surface inside a light panel. */
html body.home-page[data-page-family][data-page-family][data-page-family]
  main .home-request-form-wrap .home-request-form-heading > span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body.home-page[data-page-family][data-page-family][data-page-family]
  main .home-request-form-wrap .home-request-form-heading > small {
  color: rgba(255, 255, 255, .72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

/* -------------------------------------------------------------------------
   FINAL EDITORIAL INDEX CONTRACT
   Text-only collections use rules, rhythm, and whitespace instead of a wall
   of raised panels. Photo-led cards remain governed by card-visual-system.
   ------------------------------------------------------------------------- */

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])):not(:has(> :is(.media-card, .process-feature-card, [data-card-visual-family]))) {
  gap: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-block: 1px solid var(--lifa-editorial-rule) !important;
  background: transparent !important;
}

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])):not(:has(> :is(.media-card, .process-feature-card, [data-card-visual-family])))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]) {
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 24px clamp(20px, 2.15vw, 30px) 26px 24px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lifa-editorial-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 220ms var(--lifa-editorial-ease), padding-left 220ms var(--lifa-editorial-ease) !important;
}

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])):not(:has(> :is(.media-card, .process-feature-card, [data-card-visual-family])))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])::before {
  position: absolute !important;
  top: -1px !important;
  left: 0 !important;
  display: block !important;
  width: 40px !important;
  height: 2px !important;
  content: "" !important;
  background: var(--lifa-gold) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])):not(:has(> :is(.media-card, .process-feature-card, [data-card-visual-family])))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]):is(:hover, :focus-within) {
  padding-left: 32px !important;
  background: var(--lifa-surface-tint) !important;
  border-bottom-color: var(--lifa-editorial-rule) !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] .process-info-stack {
  gap: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-block: 1px solid var(--lifa-editorial-rule-dark) !important;
}

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] .process-info-stack > .process-info-card {
  min-height: 0 !important;
  padding: 28px 30px 30px 38px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lifa-editorial-rule-dark) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
  main[data-homepage-parity] .process-info-stack > .process-info-card:last-child {
  border-bottom: 0 !important;
}

@media (max-width: 768px) {
  html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
    main[data-homepage-parity] :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])):not(:has(> :is(.media-card, .process-feature-card, [data-card-visual-family])))
    > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]) {
    padding: 22px 20px 24px !important;
  }

  html body[data-page-family]:not(#lifa-editorial-index-a):not(#lifa-editorial-index-b):not(#lifa-editorial-index-c):not(.home-page)
    main[data-homepage-parity] .process-info-stack > .process-info-card {
    padding: 24px 20px 26px 26px !important;
  }
}

/* Authoritative premium-card selectors for the final cascade position. */
html body[data-page-family]:not(#lifa-editorial-authority-a):not(#lifa-editorial-authority-b):not(#lifa-editorial-authority-c):not(#lifa-editorial-authority-d):not(.home-page)
  main :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])) {
  gap: var(--premium-card-grid-gap) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

/* Final direct-card frame authority. */
html body[data-page-family]:not(#lifa-editorial-authority-a):not(#lifa-editorial-authority-b):not(#lifa-editorial-authority-c):not(#lifa-editorial-authority-d):not(.home-page)
  main :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]) {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 22px 22px !important;
  overflow: hidden !important;
  color: var(--lifa-navy) !important;
  background: var(--premium-card-surface) !important;
  border: 1px solid var(--premium-card-border) !important;
  border-radius: var(--premium-card-radius) !important;
  box-shadow: var(--premium-card-shadow) !important;
  transform: none !important;
  transition:
    transform var(--premium-card-motion),
    border-color var(--premium-card-motion),
    box-shadow var(--premium-card-motion) !important;
}

html body[data-page-family]:not(#lifa-editorial-authority-a):not(#lifa-editorial-authority-b):not(#lifa-editorial-authority-c):not(#lifa-editorial-authority-d):not(.home-page)
  main :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family])::before {
  display: none !important;
  content: none !important;
}

html body[data-page-family]:not(#lifa-editorial-authority-a):not(#lifa-editorial-authority-b):not(#lifa-editorial-authority-c):not(#lifa-editorial-authority-d):not(.home-page)
  main :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
  > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]):is(:hover, :focus-within) {
  background: var(--premium-card-surface) !important;
  border-color: var(--premium-card-border-hover) !important;
  box-shadow: var(--premium-card-shadow-hover) !important;
  transform: translate3d(0, -3px, 0) !important;
}

@media (max-width: 768px) {
  html body[data-page-family]:not(#lifa-editorial-authority-a):not(#lifa-editorial-authority-b):not(#lifa-editorial-authority-c):not(#lifa-editorial-authority-d):not(.home-page)
    main :is(.grid, .card-grid, .cards-grid, .tools-directory-grid, .related-links-grid, .process-grid):has(> :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]))
    > :is(.card, .link-card, .lifa-card, .feature-card, .service-card, .resource-card, .knowledge-card, .record-library-card, .decision-answer-card, .process-step):not([data-card-visual-family]) {
    min-height: 0 !important;
    padding: 21px 19px 20px !important;
  }
}

/* Extended premium-card coverage for named component variants.
   Legacy editorial rules are intentionally earlier; content cards retain the
   shared component frame without needing page-specific markup hooks. */
html body[data-page-family]:not(#lifa-premium-card-final-a):not(#lifa-premium-card-final-b):not(#lifa-premium-card-final-c):not(#lifa-premium-card-final-d):not(#lifa-premium-card-final-e)
  main :is(
    .card,
    .link-card,
    .lifa-card,
    .media-card,
    .feature-card,
    .service-card,
    .resource-card,
    .knowledge-card,
    .decision-answer-card,
    .record-library-card,
    .founder-service-card,
    .founder-contact-card,
    .founder-portrait-card,
    .process-step,
    .process-info-card,
    .process-feature-card,
    .tool-method-step,
    .workbook-section-card,
    .workbook-coverage-card,
    .faq-item,
    .mini-card,
    .calc-card,
    .wechat-contact-card,
    .home-category-card,
    .home-industry-lead-card,
    .home-industry-grid > a
  ) {
  height: auto !important;
  border: 1px solid var(--premium-card-border) !important;
  border-radius: var(--premium-card-radius) !important;
  background-color: var(--premium-card-surface) !important;
  box-shadow: var(--premium-card-shadow) !important;
}

html body[data-page-family]:not(#lifa-premium-card-final-a):not(#lifa-premium-card-final-b):not(#lifa-premium-card-final-c):not(#lifa-premium-card-final-d):not(#lifa-premium-card-final-e)
  main :is(
    .grid,
    .card-grid,
    .cards-grid,
    .services-grid,
    .service-grid,
    .resource-grid,
    .tools-directory-grid,
    .workbook-section-grid,
    .workbook-coverage-grid,
    .related-links-grid,
    .decision-answer-grid,
    .process-grid,
    .process-info-stack,
    .media-card-grid
  ):has(> :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card, .decision-answer-card, .record-library-card, .process-step, .process-info-card, .process-feature-card, .tool-method-step, .workbook-section-card, .workbook-coverage-card)) {
  gap: var(--premium-card-grid-gap) !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

/* Route-card authority follows the broad editorial collection rules so the
   framed related-routes component cannot inherit their generated gold rule. */
html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
  main[data-homepage-parity] .parity-related-links .related-links-grid {
  gap: 20px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
  main[data-homepage-parity] .parity-related-links .related-links-grid > .link-card {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  min-height: 100% !important;
  height: auto !important;
  padding: 26px 24px 22px !important;
  overflow: visible !important;
  background: var(--lifa-white, #ffffff) !important;
  border: 1px solid var(--premium-card-border, rgba(15, 30, 54, .14)) !important;
  border-radius: var(--premium-card-radius, 8px) !important;
  box-shadow: 0 10px 26px rgba(7, 22, 40, .07) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
  main[data-homepage-parity] .parity-related-links .related-links-grid > .link-card::before,
html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
  main[data-homepage-parity] .parity-related-links .related-links-grid > .link-card::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
  main[data-homepage-parity] .parity-related-links .related-links-grid > .link-card:is(:hover, :focus-visible, :focus-within) {
  padding: 26px 24px 22px !important;
  background: var(--lifa-cream, #ffffff) !important;
  border-color: rgba(15, 30, 54, .28) !important;
  box-shadow: 0 14px 30px rgba(7, 22, 40, .1) !important;
  transform: none !important;
}

@media (max-width: 768px) {
  html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
    main[data-homepage-parity] .parity-related-links .related-links-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
    main[data-homepage-parity] .parity-related-links .related-links-grid > .link-card,
  html body[data-page-family][data-page-family][data-page-family]:not(#lifa-related-routes-a):not(#lifa-related-routes-b):not(#lifa-related-routes-c):not(#lifa-related-routes-d)
    main[data-homepage-parity] .parity-related-links .related-links-grid > .link-card:is(:hover, :focus-visible, :focus-within) {
    min-height: 0 !important;
    padding: 22px 20px 20px !important;
  }
}

/* Light-card authority for inverse sections. A light card owns its complete
   text surface; the surrounding navy section must not invert its children or
   add a second gold edge. */
html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid):has(> :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card))
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card) {
  color: var(--lifa-navy, #0f1e36) !important;
  background: var(--lifa-white, #ffffff) !important;
  border: 1px solid rgba(15, 30, 54, .16) !important;
  border-radius: var(--premium-card-radius, 8px) !important;
  box-shadow: 0 10px 26px rgba(2, 12, 25, .18) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)::before,
html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, div, figcaption, small, strong, span) {
  background-color: transparent !important;
}

html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  > :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  > :where(p, ul, ol, dl, figcaption, small) {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  color: var(--lifa-muted, #607086) !important;
  text-overflow: clip !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-text-fill-color: var(--lifa-muted, #607086) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-inverse-light-card-a):not(#lifa-inverse-light-card-b):not(#lifa-inverse-light-card-c):not(#lifa-inverse-light-card-d)
  main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.grid, .card-grid, .cards-grid)
  > :is(.card, .link-card, .lifa-card, .media-card, .feature-card, .service-card, .resource-card, .knowledge-card):not(.dark-card):not(.process-info-card):not(.process-feature-card)
  > .card-link {
  color: var(--lifa-gold-deep, #eed47d) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep, #eed47d) !important;
}

@media (min-width: 1180px) {
  html body[data-page-family][data-page-family]:not(#lifa-inverse-light-grid-a):not(#lifa-inverse-light-grid-b):not(#lifa-inverse-light-grid-c)
    main[data-homepage-parity] > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
    :is(.grid.grid-3, .card-grid.grid-3):has(> :is(.card, .link-card, .lifa-card):nth-child(n + 7)) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* -------------------------------------------------------------------------
   FINAL CONTRAST SENTINELS

   These component roles sit after layout contracts that can change a surface
   from inverse to paper. Specificity sentinels keep those late layout rules
   from reintroducing inherited text colors that belong to the old surface.
   ------------------------------------------------------------------------- */

/* Process markers use a paper badge on inverse sections. The ink therefore
   follows the dark text role, not the surrounding gold accent role. */
html body[data-page-family]:not(#lifa-contrast-dark-badge-a):not(#lifa-contrast-dark-badge-b):not(#lifa-contrast-dark-badge-c)
  main > :is(.section-dark, .section-navy, .dark-section, .process-showcase)
  :is(.process-step, .process-item, .checklist-item)
  :is(.step-number, .lifa-number-badge) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  background: var(--lifa-cream) !important;
  border-color: var(--lifa-gold) !important;
}

/* Legacy case-study action bands are now paper surfaces. Restore the light
   content roles while leaving button components to their own color contract. */
html body[data-page-family]:not(#lifa-contrast-action-a):not(#lifa-contrast-action-b):not(#lifa-contrast-action-c)
  main .article-action-section .cta-band
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body[data-page-family]:not(#lifa-contrast-action-a):not(#lifa-contrast-action-b):not(#lifa-contrast-action-c)
  main .article-action-section .cta-band
  :where(p, li, dt, dd, small, label, legend, figcaption, blockquote) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body[data-page-family]:not(#lifa-contrast-action-a):not(#lifa-contrast-action-b):not(#lifa-contrast-action-c)
  main .article-action-section .cta-band .cta-value-list > li > span {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

/* The freight visual uses a paper caption inside an inverse section. Keep the
   caption ink coupled to its own surface and present the handover as one
   readable three-stage rail. */
html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span {
  --freight-caption-surface: var(--surface-default);
  --freight-caption-surface-active: var(--surface-canvas);
  --freight-caption-ink: var(--lifa-navy);
  --freight-caption-copy: var(--lifa-muted);
  --freight-caption-accent: var(--lifa-gold-deep);
  --freight-caption-rule: var(--lifa-gold-soft);
  display: grid !important;
  padding: 20px 24px 22px !important;
  grid-template-columns: max-content minmax(20px, 1fr) max-content minmax(20px, 1fr) max-content;
  grid-template-rows: auto auto;
  column-gap: 12px !important;
  row-gap: 13px !important;
  align-items: center !important;
  color: var(--freight-caption-copy) !important;
  -webkit-text-fill-color: var(--freight-caption-copy) !important;
  background-color: var(--freight-caption-surface) !important;
  border-top: 3px solid var(--freight-caption-rule) !important;
  box-shadow: inset 0 1px 0 rgba(238, 212, 125, .12);
  text-shadow: none !important;
  transition: background-color var(--motion-standard), border-color var(--motion-standard) !important;
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span > small {
  display: flex !important;
  grid-column: 1 / -1;
  align-items: center;
  gap: 10px;
  color: var(--freight-caption-accent) !important;
  -webkit-text-fill-color: var(--freight-caption-accent) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2;
  opacity: 1 !important;
  text-shadow: none !important;
  text-transform: uppercase;
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span > small::before {
  width: 30px;
  height: 2px;
  flex: 0 0 30px;
  background: var(--freight-caption-rule);
  content: "";
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span > strong {
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  color: var(--freight-caption-ink) !important;
  -webkit-text-fill-color: var(--freight-caption-ink) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 1.05rem !important;
  line-height: 1.18;
  opacity: 1 !important;
  white-space: nowrap;
  text-shadow: none !important;
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span > strong > b {
  display: inline-flex;
  min-width: 24px;
  padding-bottom: 3px;
  justify-content: flex-start;
  color: var(--freight-caption-accent) !important;
  -webkit-text-fill-color: var(--freight-caption-accent) !important;
  border-bottom: 2px solid var(--freight-caption-rule);
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .66rem !important;
  font-variant-numeric: tabular-nums;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1;
  transition: color var(--motion-standard), border-color var(--motion-standard) !important;
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span > i {
  position: relative;
  display: block !important;
  width: 100% !important;
  min-width: 20px;
  height: 1px !important;
  background: var(--freight-caption-rule) !important;
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual > span > i::after {
  position: absolute;
  top: -3px;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--freight-caption-accent);
  border-right: 1px solid var(--freight-caption-accent);
  content: "";
  transform: rotate(45deg);
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual:is(:hover, :focus-visible) > span {
  background-color: var(--freight-caption-surface-active) !important;
  border-top-color: var(--freight-caption-accent) !important;
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual:is(:hover, :focus-visible) > span > strong > b {
  color: var(--freight-caption-ink) !important;
  -webkit-text-fill-color: var(--freight-caption-ink) !important;
  border-bottom-color: var(--freight-caption-accent);
}

html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
  main #home-freight .home-freight-visual:focus-visible {
  outline: 3px solid var(--freight-caption-rule) !important;
  outline-offset: 4px !important;
  box-shadow: var(--focus-ring), var(--shadow-hover) !important;
}

@media (max-width: 700px) {
  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span {
    padding: 20px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
  }

  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span > small {
    margin-bottom: 14px;
  }

  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span > strong {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    white-space: normal;
  }

  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span > strong > b {
    min-width: 28px;
    flex: 0 0 28px;
  }

  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span > i {
    width: 1px !important;
    min-width: 1px;
    height: 16px !important;
    margin: 3px 0 3px 13px;
    background: var(--freight-caption-rule) !important;
  }

  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span > i::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span,
  html body.home-page[data-page-family]:not(#lifa-contrast-freight-a):not(#lifa-contrast-freight-b):not(#lifa-contrast-freight-c)
    main #home-freight .home-freight-visual > span > strong > b {
    transition: none !important;
  }
}

/* Form title rails are inverse surfaces. Keep both the regular foreground and
   WebKit text fill aligned so visual audits and the rendered glyphs agree. */
html body[data-page-family]:not(#lifa-contrast-form-title-a):not(#lifa-contrast-form-title-b):not(#lifa-contrast-form-title-c)
  main .form-panel:has(form[data-inquiry-form]):not(.quote-wizard) > h2,
html body[data-page-family]:not(#lifa-contrast-form-title-a):not(#lifa-contrast-form-title-b):not(#lifa-contrast-form-title-c)
  main .home-request-form-wrap .home-request-form-heading > span {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
}

html body[data-page-family]:not(#lifa-contrast-form-title-a):not(#lifa-contrast-form-title-b):not(#lifa-contrast-form-title-c)
  main :is(.form-panel, .home-request-form-wrap) > :is(.eyebrow, .home-request-form-heading) > small {
  color: var(--text-inverse-subtle) !important;
  -webkit-text-fill-color: var(--text-inverse-subtle) !important;
}

/* The booking card is an inverse panel nested inside a white form body on
   both the homepage and the dedicated request route. Its complete foreground
   contract must follow the broad light-form rule in the cascade. */
html body[data-page-family]:not(#lifa-contrast-booking-a):not(#lifa-contrast-booking-b):not(#lifa-contrast-booking-c)
  main :is(.home-request-form-wrap, #request-form .quote-wizard-body) > .lifa-google-booking
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
}

html body[data-page-family]:not(#lifa-contrast-booking-a):not(#lifa-contrast-booking-b):not(#lifa-contrast-booking-c)
  main :is(.home-request-form-wrap, #request-form .quote-wizard-body) > .lifa-google-booking
  :where(p, li, dd, label, legend, figcaption, blockquote) {
  color: var(--text-inverse-muted) !important;
  -webkit-text-fill-color: var(--text-inverse-muted) !important;
}

html body[data-page-family]:not(#lifa-contrast-booking-a):not(#lifa-contrast-booking-b):not(#lifa-contrast-booking-c)
  main :is(.home-request-form-wrap, #request-form .quote-wizard-body) > .lifa-google-booking
  :where(.lifa-appointment-eyebrow, .eyebrow, .section-kicker, .lifa-google-booking-step small, dt) {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

html body[data-page-family]:not(#lifa-contrast-booking-a):not(#lifa-contrast-booking-b):not(#lifa-contrast-booking-c)
  main :is(.home-request-form-wrap, #request-form .quote-wizard-body) > .lifa-google-booking
  .lifa-google-booking-action > small {
  color: var(--text-inverse-subtle) !important;
  -webkit-text-fill-color: var(--text-inverse-subtle) !important;
}

html body[data-page-family]:not(#lifa-contrast-booking-a):not(#lifa-contrast-booking-b):not(#lifa-contrast-booking-c)
  main :is(.home-request-form-wrap, #request-form .quote-wizard-body) > .lifa-google-booking
  :is(.lifa-google-booking-number, .lifa-google-booking-link) {
  color: var(--lifa-ink) !important;
  -webkit-text-fill-color: var(--lifa-ink) !important;
}

/* Homepage nested panels alternate between inverse and paper surfaces. These
   component roles prevent the page-level foreground from leaking across that
   boundary while keeping every accent inside the LIFA navy/gold palette. */
html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-tool-panel :where(h2, h3, h4) {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-tool-panel :where(p, li, dd) {
  color: var(--text-inverse-muted) !important;
  -webkit-text-fill-color: var(--text-inverse-muted) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-tool-panel :where(.home-panel-heading small, .home-tool-grid > a > span, .home-tool-grid > a > strong) {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-knowledge-panel :where(h2, h3, h4, strong) {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-knowledge-panel :where(p, small) {
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main :is(.home-knowledge-panel > a > span, .home-knowledge-footer a, .home-resources .home-inline-links a) {
  color: var(--text-accent-on-light) !important;
  -webkit-text-fill-color: var(--text-accent-on-light) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-service-group:not(.home-service-group-shipping) > header > span,
html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-service-group:not(.home-service-group-shipping) > header small {
  color: var(--text-accent-on-light) !important;
  -webkit-text-fill-color: var(--text-accent-on-light) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-service-group-shipping > header h3,
html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-service-group-shipping > header > span {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .home-service-group-shipping > header small {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .hero-office-card :where(.hero-office-region, .hero-office-day, .hero-office-hours strong) {
  color: var(--text-inverse-muted) !important;
  -webkit-text-fill-color: var(--text-inverse-muted) !important;
}

html body.home-page[data-page-family]:not(#lifa-home-surface-a):not(#lifa-home-surface-b):not(#lifa-home-surface-c)
  main .hero-office-card :where(.hero-office-kicker, .hero-office-hours > span) {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

/* -------------------------------------------------------------------------
   SITEWIDE FAQ EDITORIAL ACCORDION V1

   FAQ content is one framed disclosure component rather than a collection of
   independent cards. The shared contract applies to every public page and
   intentionally overrides the general premium-card lift used elsewhere.
   ------------------------------------------------------------------------- */

:root {
  --faq-section-surface: var(--surface-canvas);
  --faq-frame-surface: var(--surface-default);
  --faq-row-surface-hover: color-mix(in srgb, var(--surface-muted) 68%, var(--surface-default));
  --faq-row-surface-open: color-mix(in srgb, var(--surface-muted) 42%, var(--surface-default));
  --faq-rule: var(--border-default);
  --faq-rule-strong: var(--border-emphasis);
  --faq-number: var(--lifa-gold-deep);
  --faq-question: var(--lifa-navy);
  --faq-answer: var(--text-secondary);
  --faq-frame-shadow: var(--shadow-panel);
  --faq-motion: var(--motion-standard);
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(.faq-wrap, .faq-list) {
  position: relative !important;
  overflow: clip !important;
  background: var(--faq-section-surface) !important;
  background-image: none !important;
  border-block: 1px solid var(--faq-rule) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(.faq-wrap, .faq-list)::before {
  position: absolute !important;
  top: -1px !important;
  left: max(24px, calc((100% - 1180px) / 2)) !important;
  width: 72px !important;
  height: 3px !important;
  content: "" !important;
  background: var(--lifa-gold) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) {
  display: grid !important;
  width: min(100% - 48px, 1180px) !important;
  max-width: 1180px !important;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr) !important;
  column-gap: clamp(40px, 5.5vw, 76px) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > :is(.section-heading, .hpv2-section-head) {
  position: sticky !important;
  top: 120px !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
  text-align: left !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(.faq-wrap, .faq-list)
  :is(.section-heading, .hpv2-section-head) :is(.eyebrow, .hpv2-kicker),
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > .eyebrow {
  margin: 0 0 16px !important;
  color: var(--faq-number) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(.faq-wrap, .faq-list)
  :is(.section-heading, .hpv2-section-head) > h2,
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > h2 {
  max-width: 15ch !important;
  margin: 0 0 18px !important;
  color: var(--faq-question) !important;
  font-family: var(--font-editorial, Prata, Georgia, serif) !important;
  font-size: clamp(2rem, 2.65vw, 2.75rem) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-wrap: balance;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(.faq-wrap, .faq-list)
  :is(.section-heading, .hpv2-section-head) > p,
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > p {
  max-width: 34ch !important;
  margin: 0 !important;
  color: var(--faq-answer) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  text-align: left !important;
  text-wrap: pretty;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > .eyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > h2 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: -8px !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > p {
  grid-column: 1 !important;
  grid-row: 3 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-wrap, .faq-list) {
  counter-reset: lifa-faq-question;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--faq-frame-surface) !important;
  border: 1px solid var(--faq-rule) !important;
  border-radius: var(--radius-control) !important;
  box-shadow: var(--faq-frame-shadow) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list) {
  grid-column: 2 !important;
  grid-row: 1 / span 4 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-wrap, .faq-list) > :is(.faq-item, details) {
  counter-increment: lifa-faq-question;
  position: relative !important;
  overflow: visible !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--faq-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color var(--faq-motion), box-shadow var(--faq-motion) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-wrap, .faq-list) > :is(.faq-item, details):last-child {
  border-bottom: 0 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-wrap, .faq-list) > :is(.faq-item.open, details[open]) {
  background: var(--faq-row-surface-open) !important;
  box-shadow: inset 3px 0 0 var(--lifa-gold) !important;
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main :is(.faq-wrap, .faq-list) > :is(.faq-item, details):hover {
    background: var(--faq-row-surface-hover) !important;
    border-color: var(--faq-rule) !important;
    box-shadow: inset 3px 0 0 var(--lifa-gold-soft) !important;
    transform: none !important;
  }
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-question, .faq-list > details > summary) {
  display: grid !important;
  width: 100% !important;
  min-height: 78px !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px 20px !important;
  color: var(--faq-question) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  cursor: pointer !important;
  transform: none !important;
  transition: color var(--faq-motion), background-color var(--faq-motion) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-question, .faq-list > details > summary)::before {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: var(--faq-number) !important;
  content: counter(lifa-faq-question, decimal-leading-zero) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-question, .faq-list > details > summary)::after {
  display: inline-grid !important;
  width: 36px !important;
  height: 36px !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  place-items: center !important;
  justify-self: end !important;
  color: var(--faq-number) !important;
  content: "+" !important;
  background: var(--faq-frame-surface) !important;
  border: 1px solid var(--faq-rule-strong) !important;
  border-radius: 50% !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transition: color var(--faq-motion), background-color var(--faq-motion), border-color var(--faq-motion), transform var(--faq-motion) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-question > span:first-child,
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-question > span:only-child {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-question > span[aria-hidden="true"],
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-question > span:last-child:not(:only-child) {
  display: none !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main :is(.faq-item.open .faq-question, .faq-list > details[open] > summary)::after {
  color: var(--lifa-white) !important;
  background: var(--lifa-navy) !important;
  border-color: var(--lifa-navy) !important;
  transform: rotate(45deg) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-question:focus-visible,
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-list > details > summary:focus-visible {
  outline: 0 !important;
  box-shadow: inset 0 0 0 3px var(--lifa-gold) !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-answer {
  padding: 0 78px 24px 78px !important;
  color: var(--faq-answer) !important;
  background: transparent !important;
  border: 0 !important;
  animation: lifa-faq-answer-in var(--faq-motion) both;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-answer[hidden] {
  display: none !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-answer :is(p, li),
html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-list > details > :not(summary) {
  max-width: 68ch !important;
  color: var(--faq-answer) !important;
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-answer > :last-child {
  margin-bottom: 0 !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-list > details > summary {
  list-style: none !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-list > details > summary::-webkit-details-marker {
  display: none !important;
}

html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
  main .faq-list > details > :not(summary) {
  margin: 0 !important;
  padding: 0 78px 24px 78px !important;
  animation: lifa-faq-answer-in var(--faq-motion) both;
}

@keyframes lifa-faq-answer-in {
  from { opacity: 0; transform: translate3d(0, -6px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 820px) {
  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
    > :is(.container, .hpv2-container) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
    > :is(.container, .hpv2-container) > :is(.section-heading, .hpv2-section-head) {
    position: static !important;
    max-width: 620px !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
    > :is(.container, .hpv2-container) > :is(.eyebrow, h2, p, .faq-wrap, .faq-list) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 560px) {
  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
    > :is(.container, .hpv2-container) {
    width: min(100% - 32px, 1180px) !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main section:has(.faq-wrap, .faq-list)
    :is(.section-heading, .hpv2-section-head) > h2,
  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main section:has(> :is(.container, .hpv2-container) > :is(.faq-wrap, .faq-list))
    > :is(.container, .hpv2-container) > h2 {
    font-size: 2rem !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main :is(.faq-question, .faq-list > details > summary) {
    min-height: 72px !important;
    grid-template-columns: 30px minmax(0, 1fr) 38px !important;
    gap: 10px !important;
    padding: 16px 14px !important;
    font-size: .94rem !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main :is(.faq-question, .faq-list > details > summary)::after {
    width: 34px !important;
    height: 34px !important;
  }

  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main .faq-answer,
  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main .faq-list > details > :not(summary) {
    padding: 0 16px 22px 54px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family][data-page-family]:not(#lifa-faq-system-a):not(#lifa-faq-system-b):not(#lifa-faq-system-c)
    main :is(.faq-wrap, .faq-list, .faq-item, details, .faq-question, summary, .faq-answer, .faq-question::after, summary::after) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------
   SHARED DECISION TABLE SYSTEM

   Long-form guides use tables to help buyers compare inputs, evidence and
   approval records. This component keeps that information dense but legible:
   one dark editorial header, a restrained gold rail, clear row hierarchy and
   native horizontal scrolling where a multi-column table cannot reflow.
   ------------------------------------------------------------------------- */

:root {
  --decision-table-border: var(--lifa-line);
  --decision-table-row: var(--lifa-white);
  --decision-table-row-alt: var(--lifa-surface-tint);
  --decision-table-row-hover: rgba(238, 212, 125, .10);
  --decision-table-radius: var(--premium-card-radius);
  --decision-table-shadow: 0 14px 30px rgba(7, 17, 30, .08);
  --decision-table-gutter: clamp(14px, 1.6vw, 22px);
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) {
  position: relative !important;
  isolation: isolate;
  max-width: 100% !important;
  margin-block: clamp(26px, 3.5vw, 40px) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  background: var(--lifa-white) !important;
  border: 1px solid var(--decision-table-border) !important;
  border-radius: var(--decision-table-radius) !important;
  box-shadow: var(--decision-table-shadow) !important;
  scrollbar-color: var(--lifa-gold) var(--lifa-cream);
  scrollbar-width: thin;
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap)::before {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  pointer-events: none;
  background: var(--lifa-gold-soft);
  content: "";
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table,
html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main table:is(.compare-table, .guide-table, .kc-table) {
  width: 100% !important;
  color: var(--lifa-muted) !important;
  background: var(--decision-table-row) !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: .94rem;
  line-height: 1.6;
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table {
  min-width: 780px !important;
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table :is(th, td),
html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main table:is(.compare-table, .guide-table, .kc-table) :is(th, td) {
  padding: 18px var(--decision-table-gutter) !important;
  vertical-align: top !important;
  border: 0 !important;
  border-bottom: 1px solid var(--decision-table-border) !important;
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table thead th,
html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main table:is(.compare-table, .guide-table, .kc-table) thead th {
  color: var(--lifa-cream) !important;
  background: var(--lifa-navy) !important;
  border-bottom: 2px solid var(--lifa-gold) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1.35;
  text-align: left;
  text-transform: uppercase;
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table tbody :is(th, td):first-child,
html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main table:is(.compare-table, .guide-table, .kc-table) tbody :is(th, td):first-child {
  width: 19%;
  min-width: 172px;
  color: var(--lifa-navy) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-weight: 700 !important;
  box-shadow: inset 3px 0 0 transparent;
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table tbody tr:nth-child(even) :is(th, td),
html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main table:is(.compare-table, .guide-table, .kc-table) tbody tr:nth-child(even) :is(th, td) {
  background: var(--decision-table-row-alt) !important;
}

@media (hover: hover) and (pointer: fine) {
  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table tbody tr:hover :is(th, td),
  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main table:is(.compare-table, .guide-table, .kc-table) tbody tr:hover :is(th, td) {
    background: var(--decision-table-row-hover) !important;
  }

  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table tbody tr:hover :is(th, td):first-child,
  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main table:is(.compare-table, .guide-table, .kc-table) tbody tr:hover :is(th, td):first-child {
    box-shadow: inset 3px 0 0 var(--lifa-gold) !important;
  }
}

html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table tbody tr:last-child :is(th, td),
html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
  main table:is(.compare-table, .guide-table, .kc-table) tbody tr:last-child :is(th, td) {
  border-bottom: 0 !important;
}

@media (max-width: 768px) {
  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) {
    margin-block: 22px !important;
    border-radius: 4px !important;
  }

  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table {
    min-width: 720px !important;
    font-size: .88rem;
    line-height: 1.55;
  }

  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table :is(th, td),
  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main table:is(.compare-table, .guide-table, .kc-table) :is(th, td) {
    padding: 15px 14px !important;
  }

  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap, .inspection-compare-wrap) > table thead th,
  html body[data-page-family]:not(#lifa-decision-table-a):not(#lifa-decision-table-b):not(#lifa-decision-table-c):not(#lifa-decision-table-d)
    main table:is(.compare-table, .guide-table, .kc-table) thead th {
    font-size: .72rem !important;
  }
}

/* -------------------------------------------------------------------------
   SITEWIDE SIGNATURE PAIR

   Every public page carries two restrained Reey accents. Image-led pages use
   their authored hero phrase plus the shared footer word; editorial pages use
   their masthead eyebrow plus that same footer word. The wording and heading
   alignment remain unchanged.
   ------------------------------------------------------------------------- */

:root {
  --site-signature-font: var(--font-signature, "Reey", cursive);
  --site-signature-on-paper: var(--lifa-gold-light, #eed47d);
  --site-signature-on-navy: var(--lifa-gold-light, #eed47d);
}

html body[data-page-family]:not(#lifa-signature-pair-a):not(#lifa-signature-pair-b)
  main .article-header > .eyebrow {
  display: inline-block !important;
  max-width: min(100%, 30ch) !important;
  color: var(--site-signature-on-navy) !important;
  font-family: var(--site-signature-font) !important;
  font-size: clamp(1.2rem, 1.45vw, 1.72rem) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.28 !important;
  text-transform: none !important;
  text-wrap: balance;
}

html body[data-page-family]:not(#lifa-signature-pair-a):not(#lifa-signature-pair-b)
  .site-footer[data-footer-system="v7"] .footer-statement em {
  display: inline-block !important;
  color: var(--site-signature-on-navy) !important;
  font-family: var(--site-signature-font) !important;
  font-size: 1.16em !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: .9 !important;
  text-transform: none !important;
}

@media (max-width: 560px) {
  html body[data-page-family]:not(#lifa-signature-pair-a):not(#lifa-signature-pair-b)
    main .article-header > .eyebrow {
    max-width: 100% !important;
    font-size: clamp(1.08rem, 5.3vw, 1.38rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family]:not(#lifa-signature-pair-a):not(#lifa-signature-pair-b)
    :is(main .article-header > .eyebrow, .site-footer[data-footer-system="v7"] .footer-statement em) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Content-driven card density contract. */
html body[data-page-family]:not(#lifa-content-driven-a):not(#lifa-content-driven-b):not(#lifa-content-driven-c):not(#lifa-content-driven-d)
  main :is([data-content-driven-grid="true"], [data-content-driven-section="true"] .process-grid) {
  align-items: start !important;
}

html body[data-page-family]:not(#lifa-content-driven-a):not(#lifa-content-driven-b):not(#lifa-content-driven-c):not(#lifa-content-driven-d)
  main :is([data-content-driven-grid="true"], [data-content-driven-section="true"] .process-grid)
  > :is(.card, .link-card, .process-step) {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
}

/* -------------------------------------------------------------------------
   CANONICAL BRAND FRAME

   This final component authority keeps every public template on one header
   and footer geometry after the legacy presentation layers have loaded.
   ------------------------------------------------------------------------- */

:root {
  --site-header-height: 82px;
  --site-header-height-mobile: 70px;
  --site-header-logo-width: 164px;
  --site-header-logo-width-mobile: 142px;
  --site-header-control-height: 48px;
  --site-header-cta-width: 154px;
  --site-footer-logo-width: 156px;
  --site-frame-gutter: clamp(18px, 3vw, 48px);
  --site-frame-divider: rgba(238, 212, 125, .28);
}

html body[data-page-family][data-page-family] .site-header {
  position: relative;
  isolation: isolate;
  min-height: var(--site-header-height) !important;
  background: var(--lifa-ink) !important;
  border-top: 4px solid var(--lifa-gold-soft) !important;
  border-bottom: 1px solid var(--site-frame-divider) !important;
  box-shadow: 0 10px 30px rgba(2, 8, 16, .22) !important;
}

html body[data-page-family][data-page-family] .site-header::before,
html body[data-page-family][data-page-family] .site-header::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family] .site-header > .container.header-inner {
  width: min(1440px, calc(100% - (2 * var(--site-frame-gutter)))) !important;
  min-height: calc(var(--site-header-height) - 4px) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  padding-block: 0 !important;
}

html body[data-page-family][data-page-family] .site-header .brand {
  display: inline-flex !important;
  flex: 0 0 var(--site-header-logo-width) !important;
  align-items: center !important;
  min-width: var(--site-header-logo-width) !important;
  min-height: var(--site-header-control-height) !important;
  padding: 0 !important;
}

html body[data-page-family][data-page-family] .site-header .brand img {
  display: block !important;
  width: var(--site-header-logo-width) !important;
  max-width: var(--site-header-logo-width) !important;
  height: auto !important;
  max-height: 74px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav {
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: clamp(10px, 1.25vw, 20px) !important;
  min-width: 0 !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav > a,
html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a {
  position: relative;
  min-height: var(--site-header-control-height) !important;
  padding: 25px 2px 21px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: clamp(.72rem, .78vw, .8rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  white-space: nowrap;
  transition: color var(--motion-standard) !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav > a::before,
html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a::before {
  right: 25% !important;
  bottom: 10px !important;
  left: 25% !important;
  width: auto !important;
  height: 2px !important;
  background: var(--lifa-gold-soft) !important;
  border-radius: 0 !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform var(--motion-standard) !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav > a:is(:hover, :focus-visible, .active)::before,
html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a:is(:hover, :focus-visible, .active)::before {
  transform: scaleX(1) !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav > a:is(:hover, :focus-visible, .active),
html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a:is(:hover, :focus-visible, .active) {
  color: var(--lifa-gold-soft) !important;
}

html body[data-page-family][data-page-family] .site-header .header-cta {
  display: inline-flex !important;
  flex: 0 0 var(--site-header-cta-width) !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--site-header-cta-width) !important;
  min-width: var(--site-header-cta-width) !important;
  height: var(--site-header-control-height) !important;
  min-height: var(--site-header-control-height) !important;
  padding: 0 20px !important;
  color: var(--lifa-ink) !important;
  background: var(--lifa-gold-soft) !important;
  border: 1px solid rgba(255, 255, 255, .34) !important;
  border-radius: var(--radius-control) !important;
  box-shadow: 0 8px 20px rgba(2, 8, 16, .28) !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  text-transform: uppercase;
  transform: none !important;
  transition: color var(--motion-standard), background-color var(--motion-standard), border-color var(--motion-standard), box-shadow var(--motion-standard) !important;
}

html body[data-page-family][data-page-family] .site-header .header-cta:is(:hover, :focus-visible) {
  color: var(--lifa-white) !important;
  background: var(--lifa-navy-soft) !important;
  border-color: var(--lifa-gold-soft) !important;
  box-shadow: 0 0 0 1px rgba(238, 212, 125, .26), 0 10px 24px rgba(2, 8, 16, .34) !important;
  transform: none !important;
}

html body[data-page-family][data-page-family] .site-header .dropdown-panel {
  padding: 8px !important;
  color: var(--lifa-white) !important;
  background: var(--lifa-navy) !important;
  border: 1px solid var(--site-frame-divider) !important;
  border-top: 3px solid var(--lifa-gold-soft) !important;
  border-radius: 0 0 var(--radius-control) var(--radius-control) !important;
  box-shadow: 0 24px 48px rgba(2, 8, 16, .32) !important;
}

html body[data-page-family][data-page-family] .site-header .dropdown-panel a {
  min-height: 44px !important;
  color: rgba(255, 255, 255, .84) !important;
  border-radius: 4px;
}

html body[data-page-family][data-page-family] .site-header .dropdown-panel a:is(:hover, :focus-visible) {
  color: var(--lifa-white) !important;
  background: rgba(238, 212, 125, .1) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] {
  position: relative;
  isolation: isolate;
  margin-top: clamp(64px, 7vw, 104px) !important;
  color: var(--text-inverse-muted) !important;
  background: var(--lifa-ink) !important;
  border-top: 4px solid var(--lifa-gold-soft) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"]::before,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"]::after,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-section::after,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section::before {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-main {
  padding: clamp(46px, 5vw, 68px) 0 24px !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-content {
  display: grid !important;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr) !important;
  gap: clamp(42px, 6vw, 84px) !important;
  align-items: start !important;
  padding: 0 !important;
  border: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-section {
  width: 100% !important;
  max-width: 520px !important;
  min-height: 0 !important;
  padding: 0 clamp(34px, 4vw, 58px) 0 0 !important;
  color: var(--text-inverse-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--site-frame-divider) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-head {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-home {
  display: inline-flex !important;
  width: var(--site-footer-logo-width) !important;
  max-width: var(--site-footer-logo-width) !important;
  min-height: 44px !important;
  align-items: center !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-logo {
  display: block !important;
  width: var(--site-footer-logo-width) !important;
  max-width: var(--site-footer-logo-width) !important;
  height: auto !important;
  max-height: 80px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-origin {
  position: static !important;
  min-height: 0 !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  color: var(--lifa-gold-soft) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.35 !important;
  text-align: right;
  text-transform: uppercase;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line {
  position: static !important;
  width: 48px !important;
  height: 2px !important;
  margin: 0 0 22px !important;
  background: var(--lifa-gold-soft) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line::before,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-kicker {
  margin: 0 0 10px !important;
  color: var(--lifa-gold-soft) !important;
  font-size: .69rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-statement {
  max-width: 18ch !important;
  margin: 0 0 16px !important;
  color: var(--lifa-white) !important;
  font-size: clamp(2rem, 2.5vw, 2.7rem) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-description {
  max-width: 43ch !important;
  margin: 0 !important;
  color: var(--text-inverse-muted) !important;
  font-size: .94rem !important;
  line-height: 1.68 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-principles {
  display: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 42px) !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column:nth-child(3) {
  position: relative !important;
  width: 100% !important;
  padding: 20px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--site-frame-divider) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column::before {
  position: absolute !important;
  top: -2px !important;
  left: 0 !important;
  display: block !important;
  width: 34px !important;
  height: 3px !important;
  background: var(--lifa-gold-soft) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  content: "" !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column-heading {
  margin: 0 0 14px !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column-heading > span {
  display: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .column-title {
  margin: 0 !important;
  color: var(--lifa-gold-soft) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column ul {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 8px 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: .86rem !important;
  line-height: 1.35 !important;
  transform: none !important;
  transition: color var(--motion-standard) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column a::before,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column a::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column a:is(:hover, :focus-visible),
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column .footer-start-link {
  padding-left: 0 !important;
  color: var(--lifa-gold-soft) !important;
  transform: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom {
  padding: 8px 0 max(8px, env(safe-area-inset-bottom)) !important;
  background: rgba(0, 0, 0, .16) !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px 24px !important;
  align-items: center !important;
  padding: 0 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-company-block {
  display: grid;
  min-width: 0;
  gap: 2px;
  text-align: start;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-copyright, .footer-address) {
  margin: 0 !important;
  max-width: none;
  color: var(--text-inverse-subtle) !important;
  font-size: .75rem !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-align: start !important;
  overflow-wrap: anywhere;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-copyright {
  font-weight: 700 !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 0 16px !important;
  padding-inline-start: 24px;
  border-inline-start: 1px solid var(--comfort-rule);
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links a {
  min-width: 44px;
  min-height: 44px !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .74) !important;
  font-size: .75rem !important;
  font-weight: 600;
  letter-spacing: 0 !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links a:is(:hover, :focus-visible) {
  color: var(--lifa-gold-soft) !important;
  text-decoration-line: underline;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links a:focus-visible {
  outline: 2px solid var(--comfort-ink);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Leave room for the fixed contact controls when the page gutters narrow. */
@media (max-width: 1320px) {
  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom-content {
    padding-right: 60px !important;
  }
}

@media (max-width: 1180px) {
  :root {
    --site-header-logo-width: 152px;
    --site-header-cta-width: 142px;
  }

  html body[data-page-family][data-page-family] .site-header > .container.header-inner {
    gap: 16px !important;
  }

  html body[data-page-family][data-page-family] .site-header .brand {
    order: 1;
  }

  html body[data-page-family][data-page-family] .site-header .header-cta {
    order: 2;
    margin-left: auto !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav {
    gap: 10px !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav > a,
  html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a {
    width: 100% !important;
    min-height: 48px !important;
    padding: 15px 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    font-size: .82rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle {
    order: 3;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-left: 0 !important;
    padding: 11px !important;
    background: transparent !important;
    border: 1px solid rgba(238, 212, 125, .52) !important;
    border-radius: var(--radius-control) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle:is(:hover, :focus-visible) {
    background: rgba(238, 212, 125, .1) !important;
    border-color: var(--lifa-gold-soft) !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle span {
    width: 21px !important;
    height: 2px !important;
    background: var(--lifa-white) !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav {
    order: 4;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    display: none !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100vw !important;
    max-height: calc(100svh - var(--site-header-height)) !important;
    margin: 0 !important;
    padding: 14px var(--site-frame-gutter) 22px !important;
    overflow-y: auto !important;
    background: var(--lifa-ink) !important;
    border-top: 1px solid var(--site-frame-divider) !important;
    border-bottom: 3px solid var(--lifa-gold-soft) !important;
    box-shadow: 0 24px 40px rgba(2, 8, 16, .34) !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav.open {
    display: flex !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav > a::before,
  html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a::before {
    display: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .dropdown-panel {
    padding: 4px 0 10px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .dropdown-panel a,
  html body[data-page-family][data-page-family] .site-header .dropdown-panel a:is(:hover, :focus-visible) {
    min-height: 44px !important;
    padding: 12px 18px !important;
  }
}

@media (max-width: 980px) {
  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom-content {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links {
    justify-content: flex-start !important;
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-content {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 40px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-section {
    max-width: 680px !important;
    padding: 0 0 34px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--site-frame-divider) !important;
  }
}

@media (max-width: 767px) {
  :root { --site-frame-gutter: 16px; }

  html body[data-page-family][data-page-family] .site-header {
    min-height: var(--site-header-height-mobile) !important;
    border-top-width: 3px !important;
  }

  html body[data-page-family][data-page-family] .site-header > .container.header-inner {
    width: calc(100% - (2 * var(--site-frame-gutter))) !important;
    min-height: calc(var(--site-header-height-mobile) - 3px) !important;
    gap: 12px !important;
  }

  html body[data-page-family][data-page-family] .site-header .brand {
    flex-basis: var(--site-header-logo-width-mobile) !important;
    min-width: var(--site-header-logo-width-mobile) !important;
  }

  html body[data-page-family][data-page-family] .site-header .brand img {
    width: var(--site-header-logo-width-mobile) !important;
    max-width: var(--site-header-logo-width-mobile) !important;
    max-height: 64px !important;
  }

  html body[data-page-family][data-page-family] .site-header .header-cta {
    display: inline-flex !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-left: auto !important;
    padding: 0 8px !important;
    font-size: .64rem !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-left: 0 !important;
    padding: 11px !important;
    background: transparent !important;
    border: 1px solid rgba(238, 212, 125, .52) !important;
    border-radius: var(--radius-control) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle:is(:hover, :focus-visible) {
    background: rgba(238, 212, 125, .1) !important;
    border-color: var(--lifa-gold-soft) !important;
    transform: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle span {
    width: 21px !important;
    height: 2px !important;
    background: var(--lifa-white) !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav {
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    display: none !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100vw !important;
    max-height: calc(100svh - var(--site-header-height-mobile)) !important;
    margin: 0 !important;
    padding: 14px var(--site-frame-gutter) 22px !important;
    overflow-y: auto !important;
    background: var(--lifa-ink) !important;
    border-top: 1px solid var(--site-frame-divider) !important;
    border-bottom: 3px solid var(--lifa-gold-soft) !important;
    box-shadow: 0 24px 40px rgba(2, 8, 16, .34) !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav.open {
    display: flex !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav > a,
  html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a {
    width: 100% !important;
    min-height: 48px !important;
    padding: 15px 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    font-size: .82rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  }

  html body[data-page-family][data-page-family] .site-header .main-nav > a::before,
  html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a::before {
    display: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .dropdown-panel {
    padding: 4px 0 10px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .dropdown-panel a,
  html body[data-page-family][data-page-family] .site-header .dropdown-panel a:is(:hover, :focus-visible) {
    min-height: 44px !important;
    padding: 12px 18px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] {
    margin-top: 64px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-main {
    padding: 40px 0 34px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-logo,
  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-home {
    width: 142px !important;
    max-width: 142px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-statement {
    font-size: clamp(2rem, 9vw, 2.45rem) !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 24px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column:nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-column:nth-child(3) ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom-content {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }

  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links {
    justify-content: flex-start !important;
  }
}


@media (max-width: 520px) {
  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px !important;
  }
}

@media (max-width: 350px) {
  html body[data-page-family][data-page-family] .site-header .header-cta {
    display: none !important;
  }

  html body[data-page-family][data-page-family] .site-header .menu-toggle {
    margin-left: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family][data-page-family] .site-header :is(.main-nav a, .header-cta, .menu-toggle),
  html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] a {
    transition: none !important;
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------
   Sitewide section rhythm contract

   Major content groups need a stronger pause than a heading and its own
   content. These semantic tokens keep both relationships consistent without
   restoring the oversized empty bands that previously dominated desktop.
   ------------------------------------------------------------------------- */

:root {
  --lifa-rhythm-group-gap: clamp(56px, 5vw, 72px);
  --lifa-rhythm-heading-gap: clamp(28px, 2.4vw, 36px);
  --lifa-rhythm-home-section: clamp(64px, 5.5vw, 88px);
}

html body[data-page-family][data-page-family]
  main > .section:not(:has(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container)
  > :is(
    .grid,
    .card-grid,
    .cards-grid,
    .process-grid,
    .process-steps,
    .image-grid,
    .link-grid,
    .checklist-grid,
    .service-grid,
    .services-grid,
    .resource-grid,
    .related-links-grid,
    .tools-directory-grid,
    .workbook-section-grid,
    .workbook-coverage-grid,
    .decision-answer-grid,
    .education-depth-grid,
    .media-grid,
    .media-card-grid,
    .comparison-grid,
    .case-study-grid,
    .checklist,
    .table-wrap,
    .guide-table-wrap,
    .comparison-table-wrap
  )
  + :is(.section-heading, .home-section-header, .section-intro, .content-intro, .hpv2-section-head) {
  margin-top: var(--lifa-rhythm-group-gap) !important;
}

html body[data-page-family][data-page-family]
  main > .section:not(:has(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container)
  > :is(.section-heading, .home-section-header, .section-intro, .content-intro, .hpv2-section-head):has(
    + :is(
      .grid,
      .card-grid,
      .cards-grid,
      .process-grid,
      .process-steps,
      .image-grid,
      .link-grid,
      .checklist-grid,
      .service-grid,
      .services-grid,
      .resource-grid,
      .related-links-grid,
      .tools-directory-grid,
      .workbook-section-grid,
      .workbook-coverage-grid,
      .decision-answer-grid,
      .education-depth-grid,
      .media-grid,
      .media-card-grid,
      .comparison-grid,
      .case-study-grid,
      .checklist,
      .table-wrap,
      .guide-table-wrap,
      .comparison-table-wrap
    )
  ) {
  margin-bottom: var(--lifa-rhythm-heading-gap) !important;
}

html body[data-page-family][data-page-family]
  main > .section:not(:has(.faq-wrap, .faq-list))
  > :is(.container, .hpv2-container)
  > :is(.section-heading, .home-section-header, .section-intro, .content-intro, .hpv2-section-head)
  + :is(
    .grid,
    .card-grid,
    .cards-grid,
    .process-grid,
    .process-steps,
    .image-grid,
    .link-grid,
    .checklist-grid,
    .service-grid,
    .services-grid,
    .resource-grid,
    .related-links-grid,
    .tools-directory-grid,
    .workbook-section-grid,
    .workbook-coverage-grid,
    .decision-answer-grid,
    .education-depth-grid,
    .media-grid,
    .media-card-grid,
    .comparison-grid,
    .case-study-grid,
    .checklist,
    .table-wrap,
    .guide-table-wrap,
    .comparison-table-wrap
  ) {
  margin-top: 0 !important;
}

@media (min-width: 769px) and (max-width: 1023px) {
  html body.home-page[data-page-family][data-page-family]
    main > .section:not(.section-tight):not(.trustpilot-section):not(.sitewide-trustpilot):not(#home-categories):not(#home-industries) {
    padding-block: 56px 48px !important;
  }
}

@media (min-width: 1024px) {
  html body.home-page[data-page-family][data-page-family]
    main > .section:not(.section-tight):not(.trustpilot-section):not(.sitewide-trustpilot):not(#home-categories):not(#home-industries) {
    padding-block: var(--lifa-rhythm-home-section) !important;
  }
}

@media (max-width: 768px) {
  :root {
    --lifa-rhythm-group-gap: 40px;
    --lifa-rhythm-heading-gap: 24px;
  }
}

/* -------------------------------------------------------------------------
   Compact visual brief

   Replaces media-only supporting bands with an answer-led decision module.
   Images remain useful evidence, but never become a second page hero.
   ------------------------------------------------------------------------- */

:root {
  --lifa-visual-brief-gap: clamp(36px, 4.5vw, 64px);
  --lifa-visual-brief-media: minmax(264px, .68fr);
  --lifa-visual-brief-content: minmax(0, 1.42fr);
  --lifa-visual-brief-rule: rgba(15, 30, 54, .14);
  --lifa-visual-brief-image-height: clamp(138px, 12vw, 172px);
}

html body[data-page-family][data-page-family] main > .compact-visual-brief-section {
  padding-block: clamp(56px, 6vw, 80px) !important;
  overflow: clip !important;
  color: var(--lifa-ink) !important;
  background: var(--lifa-white) !important;
  border-block: 1px solid var(--lifa-visual-brief-rule) !important;
}

html body[data-page-family][data-page-family] main > .compact-visual-brief-section > .compact-visual-brief {
  display: grid !important;
  grid-template-columns: var(--lifa-visual-brief-media) var(--lifa-visual-brief-content) !important;
  gap: var(--lifa-visual-brief-gap) !important;
  align-items: start !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__media {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  min-width: 0 !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__figure {
  display: grid !important;
  grid-template-rows: var(--lifa-visual-brief-image-height) auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--lifa-cool) !important;
  border: 1px solid var(--lifa-visual-brief-rule) !important;
  border-radius: 6px !important;
  box-shadow: 0 12px 30px rgba(15, 30, 54, .08) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__figure > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: var(--lifa-visual-brief-image-height) !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__figure > figcaption {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  padding: 14px 16px 16px !important;
  color: var(--lifa-muted) !important;
  background: var(--lifa-white) !important;
  border-top: 2px solid var(--lifa-gold-soft) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__figure > figcaption > span {
  color: var(--lifa-gold-dark, #eed47d) !important;
  font: 700 .68rem/1.25 var(--font-ui, Montserrat, Arial, sans-serif) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__figure > figcaption > p {
  margin: 0 !important;
  color: var(--lifa-muted) !important;
  font: 400 .84rem/1.55 var(--font-body, Lato, Arial, sans-serif) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__content,
html body[data-page-family][data-page-family] .compact-visual-brief__heading {
  display: grid !important;
  min-width: 0 !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__content {
  gap: 26px !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__heading {
  gap: 14px !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__heading > .eyebrow {
  width: fit-content !important;
  margin: 0 !important;
  color: var(--lifa-gold-dark, #eed47d) !important;
  font: 700 .72rem/1.3 var(--font-ui, Montserrat, Arial, sans-serif) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__heading > h2 {
  max-width: 18ch !important;
  margin: 0 !important;
  color: var(--lifa-ink) !important;
  font-family: var(--font-editorial, "EB Garamond", Georgia, serif) !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__answer {
  max-width: 72ch !important;
  margin: 0 !important;
  color: var(--lifa-text) !important;
  font: 400 1rem/1.75 var(--font-body, Lato, Arial, sans-serif) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__checks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 28px !important;
  margin: 0 !important;
  border-top: 1px solid var(--lifa-visual-brief-rule) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__check {
  display: grid !important;
  grid-template-columns: minmax(116px, .42fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-content: start !important;
  min-width: 0 !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--lifa-visual-brief-rule) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__check > dt {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 8px !important;
  margin: 0 !important;
  color: var(--lifa-ink) !important;
  font: 700 .75rem/1.45 var(--font-ui, Montserrat, Arial, sans-serif) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__check > dt > span {
  color: var(--lifa-gold-dark, #eed47d) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__check > dd {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__check > dd > strong {
  color: var(--lifa-ink) !important;
  font: 700 .92rem/1.4 var(--font-ui, Montserrat, Arial, sans-serif) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__check > dd > span {
  color: var(--lifa-muted) !important;
  font: 400 .9rem/1.62 var(--font-body, Lato, Arial, sans-serif) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__boundary {
  display: grid !important;
  grid-template-columns: minmax(116px, .22fr) minmax(0, 1fr) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  color: var(--lifa-text) !important;
  background: var(--lifa-cool) !important;
  border-left: 3px solid var(--lifa-gold) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__boundary > strong {
  color: var(--lifa-ink) !important;
  font: 700 .75rem/1.45 var(--font-ui, Montserrat, Arial, sans-serif) !important;
  text-transform: uppercase !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__boundary > p {
  margin: 0 !important;
  color: var(--lifa-text) !important;
  font: 400 .9rem/1.62 var(--font-body, Lato, Arial, sans-serif) !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 28px !important;
  align-items: center !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__links > a {
  display: inline-flex !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 44px !important;
  color: var(--lifa-ink) !important;
  font: 700 .84rem/1.4 var(--font-ui, Montserrat, Arial, sans-serif) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--lifa-gold) !important;
  transition: color 160ms ease, border-color 160ms ease !important;
}

html body[data-page-family][data-page-family] .compact-visual-brief__links > a:is(:hover, :focus-visible) {
  color: var(--lifa-gold-dark, #eed47d) !important;
  border-color: currentColor !important;
}

@media (max-width: 1100px) {
  html body[data-page-family][data-page-family] main > .compact-visual-brief-section > .compact-visual-brief {
    grid-template-columns: minmax(232px, .56fr) minmax(0, 1.44fr) !important;
    gap: 34px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__checks {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 1101px) {
  html body[data-page-family][data-page-family] .compact-visual-brief__check > dt {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 5px !important;
    align-content: start !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 768px) {
  :root {
    --lifa-visual-brief-image-height: clamp(116px, 31vw, 150px);
  }

  html body[data-page-family][data-page-family] main > .compact-visual-brief-section {
    padding-block: 48px !important;
  }

  html body[data-page-family][data-page-family] main > .compact-visual-brief-section > .compact-visual-brief {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__content {
    order: 1 !important;
    gap: 24px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__media {
    order: 2 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__heading > h2 {
    max-width: 22ch !important;
    font-size: clamp(1.9rem, 9vw, 2.45rem) !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__check {
    grid-template-columns: minmax(96px, .34fr) minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 18px 0 !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__boundary {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__figure > figcaption {
    padding: 12px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__figure > figcaption > p {
    font-size: .76rem !important;
    line-height: 1.48 !important;
  }
}

@media (max-width: 430px) {
  html body[data-page-family][data-page-family] .compact-visual-brief__media {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__figure {
    grid-template-columns: minmax(124px, .42fr) minmax(0, 1fr) !important;
    grid-template-rows: minmax(128px, auto) !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__figure > img {
    max-height: none !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__figure > figcaption {
    align-content: center !important;
    padding-right: 62px !important;
    border-top: 0 !important;
    border-left: 2px solid var(--lifa-gold-soft) !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__check {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body[data-page-family][data-page-family] .compact-visual-brief__boundary {
    padding-right: 66px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family][data-page-family] .compact-visual-brief__links > a {
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------
   Interior hero legibility

   Every image-backed interior hero uses the same feathered contrast field.
   The field is strongest below the copy and becomes fully transparent across
   the open side of the photograph. The image itself stays full-opacity,
   unblurred, and unfiltered. The homepage is intentionally excluded.
   ------------------------------------------------------------------------- */

html body:not(.home-page):not(.home-page):not(.home-page) {
  --interior-hero-glyph-edge:
    0 1px 2px rgba(2, 8, 15, .92),
    0 4px 14px rgba(2, 8, 15, .46);
  --interior-hero-contrast-field:
    linear-gradient(90deg,
      rgba(3, 10, 19, .97) 0%,
      rgba(3, 10, 19, .94) 30%,
      rgba(3, 10, 19, .88) 50%,
      rgba(3, 10, 19, .6) 60%,
      rgba(3, 10, 19, .28) 68%,
      rgba(3, 10, 19, .08) 74%,
      rgba(3, 10, 19, 0) 80%,
      rgba(3, 10, 19, 0) 100%),
    linear-gradient(0deg,
      rgba(3, 10, 19, .18) 0%,
      rgba(3, 10, 19, .04) 28%,
      rgba(3, 10, 19, 0) 44%);
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero) {
  isolation: isolate;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  background: var(--interior-hero-contrast-field) !important;
  opacity: 1 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)::after,
html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero) .hero-slider::before,
html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero) .hero-slider::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  :is(.hero-slider, .hero-slide, .hero-media, .hero-image, picture),
html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  :is(.hero-slide img, .hero-media img, .hero-image img, picture > img),
html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero) > img {
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  :is(.hero-slide, .hero-media img, .hero-image img, picture > img),
html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero) > img {
  animation: none !important;
  transform: translate3d(0, 0, 0) !important;
  transition-property: opacity !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  :is(
    .hero-slide.active,
    .hero-slide.is-active,
    .hero-slide[aria-hidden="false"]
  ) {
  opacity: 1 !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content {
  position: relative;
  z-index: 3;
  box-sizing: border-box;
  width: min(100%, 800px) !important;
  max-width: min(800px, calc(100vw - 96px)) !important;
  margin-right: auto !important;
  padding: 0 !important;
  color: var(--lifa-copy) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  filter: none !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content
  :is(
    h1,
    h2,
    p,
    li,
    .breadcrumb,
    .breadcrumb a
  ) {
  color: var(--lifa-white) !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content
  :is(h1, h2, h3, h4) {
  color: var(--lifa-white) !important;
  text-wrap: balance;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content h1 {
  width: fit-content !important;
  max-width: 18ch !important;
  margin-bottom: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.04 !important;
  text-shadow: var(--interior-hero-glyph-edge) !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content h1 :is(em, .hero-highlight, [data-hero-signature]) {
  display: inline !important;
  max-width: none !important;
  color: var(--lifa-gold-soft) !important;
  -webkit-text-fill-color: var(--lifa-gold-soft) !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-style: normal !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  text-shadow: var(--interior-hero-glyph-edge) !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content > p {
  width: fit-content;
  max-width: 60ch !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .96) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-reading, "Open Sans", Arial, sans-serif) !important;
  font-size: clamp(1rem, 1.1vw, 1.12rem) !important;
  font-weight: 600 !important;
  line-height: 1.58 !important;
  text-shadow: var(--interior-hero-glyph-edge) !important;
  text-wrap: pretty;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content :is(.eyebrow, .hero-kicker) {
  width: fit-content;
  max-width: 100%;
  padding: 0 !important;
  color: var(--lifa-gold-soft) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.35 !important;
  text-shadow: var(--interior-hero-glyph-edge) !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content :is(.blog-hero-list, .hero-credentials) {
  display: none !important;
  border: 0 !important;
  color: var(--lifa-muted) !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content :is(.blog-hero-list, .hero-credentials) li {
  padding: 4px 8px 4px 18px !important;
  color: var(--lifa-copy) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-reading, "Open Sans", Arial, sans-serif) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-shadow: var(--interior-hero-glyph-edge) !important;
}

html body:not(.home-page):not(.home-page):not(.home-page)
  :is(.hero:not(.home-hero), .tool-page-hero)
  .hero-content :is(.blog-hero-list, .hero-credentials) li::before {
  color: var(--lifa-gold-deep) !important;
  opacity: 1 !important;
}

@media (max-width: 700px) {
  html body:not(.home-page):not(.home-page):not(.home-page) {
    --interior-hero-contrast-field:
      linear-gradient(180deg,
        rgba(3, 10, 19, 0) 0%,
        rgba(3, 10, 19, .06) 16%,
        rgba(3, 10, 19, .58) 30%,
        rgba(3, 10, 19, .88) 45%,
        rgba(3, 10, 19, .96) 100%),
      linear-gradient(90deg,
        rgba(3, 10, 19, .42) 0%,
        rgba(3, 10, 19, .22) 72%,
        rgba(3, 10, 19, .04) 100%);
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero) {
    padding-top: clamp(128px, 35vw, 156px) !important;
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content-wrapper {
    padding-inline: 16px !important;
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content h1 {
    max-width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 2.15rem !important;
    line-height: 1.08 !important;
    text-shadow: var(--interior-hero-glyph-edge) !important;
    text-wrap: pretty;
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content > p {
    padding: 0 !important;
    background: transparent !important;
    font-size: 1rem !important;
    line-height: 1.58 !important;
    text-shadow: var(--interior-hero-glyph-edge) !important;
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content :is(.eyebrow, .hero-kicker) {
    background: transparent !important;
  }
}

@media (max-width: 520px) {
  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content .hero-actions {
    flex-flow: column nowrap !important;
    width: 100% !important;
  }

  html body:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero)
    .hero-content .hero-actions > :is(.btn, button, a) {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    font-size: .78rem !important;
  }
}

/* The dark canonical header uses the transparent logo artwork directly. */
html body[data-page-family][data-page-family][data-page-family]
  .site-header .brand img {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------
   EYE-COMFORT BRAND CHROME FINAL AUTHORITY V2

   Keep the site chrome light after every legacy presentation layer has
   loaded. The protected white-logo markup remains intact for compatibility;
   the visible header and footer use the official navy-and-gold asset directly
   on the page surface with no frame, backing panel, or decorative container.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family] .site-header {
  background: rgba(255, 255, 255, .98) !important;
  border-top: 3px solid var(--comfort-gold) !important;
  border-bottom: 1px solid var(--comfort-rule) !important;
  box-shadow: 0 10px 28px rgba(16, 40, 67, .08) !important;
}

html body[data-page-family][data-page-family] .site-header .brand img {
  content: url("../logos/lifa-logo-primary-transparent.png");
  width: var(--site-header-logo-width) !important;
  max-width: var(--site-header-logo-width) !important;
  height: 69px !important;
  max-height: 69px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav > a,
html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a {
  color: var(--comfort-ink) !important;
}

html body[data-page-family][data-page-family] .site-header .main-nav > a:is(:hover, :focus-visible, .active, [aria-current="page"]),
html body[data-page-family][data-page-family] .site-header .main-nav > .nav-item > a:is(:hover, :focus-visible, .active, [aria-current="page"]) {
  color: var(--comfort-gold-deep) !important;
}

html body[data-page-family][data-page-family] .site-header .dropdown-panel {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border: 1px solid var(--comfort-rule) !important;
  border-top: 3px solid var(--comfort-gold) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html body[data-page-family][data-page-family] .site-header .dropdown-panel a {
  color: var(--comfort-copy) !important;
  background: transparent !important;
}

html body[data-page-family][data-page-family] .site-header .dropdown-panel a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: var(--comfort-ink) !important;
  background: var(--comfort-paper) !important;
}

html body[data-page-family][data-page-family] .site-header .header-cta {
  color: var(--comfort-ink) !important;
  background: var(--comfort-gold) !important;
  border-color: rgba(238, 212, 125, .34) !important;
  box-shadow: 0 8px 18px rgba(16, 40, 67, .12) !important;
}

html body[data-page-family][data-page-family] .site-header .header-cta:is(:hover, :focus-visible) {
  color: var(--comfort-ink) !important;
  background: #eed47d !important;
  border-color: var(--comfort-gold-deep) !important;
  box-shadow: 0 9px 20px rgba(16, 40, 67, .14) !important;
}

html body[data-page-family][data-page-family] .site-header :is(.menu-toggle, .dropdown-toggle, .nav-caret) {
  color: var(--comfort-ink) !important;
  border-color: var(--comfort-rule) !important;
}

html body[data-page-family][data-page-family] .site-header .menu-toggle span {
  background: var(--comfort-ink) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"],
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-main, .footer-content, .footer-brand-section, .footer-links-section, .footer-column, .footer-bottom, .footer-bottom-content) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-logo {
  content: url("../logos/lifa-logo-primary-alpha.png");
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-statement, .column-title, h2, h3, h4, strong) {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-description, .footer-copyright, .footer-address, p, li, small) {
  color: var(--comfort-muted) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-origin, .footer-kicker, .footer-column-heading > span) {
  color: var(--comfort-gold-deep) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-column a, .footer-legal-links a) {
  color: var(--comfort-copy) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-column a, .footer-legal-links a):is(:hover, :focus-visible) {
  color: var(--comfort-gold-deep) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] :is(.footer-bottom, .footer-bottom-content) {
  background: var(--comfort-canvas) !important;
}

html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-copyright,
html body[data-page-family][data-page-family] .site-footer[data-footer-system="v7"] .footer-legal-links a:is(:hover, :focus-visible) {
  color: var(--comfort-ink) !important;
}

@media (max-width: 1024px) {
  html body[data-page-family][data-page-family] .site-header .main-nav,
  html body[data-page-family][data-page-family] .site-header .main-nav.open {
    color: var(--comfort-copy) !important;
    background: var(--comfort-canvas) !important;
    border-color: var(--comfort-rule) !important;
    box-shadow: var(--comfort-shadow) !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family][data-page-family] .site-header .brand img {
    width: var(--site-header-logo-width-mobile) !important;
    max-width: var(--site-header-logo-width-mobile) !important;
    height: 61px !important;
    max-height: 61px !important;
  }
}

html body[data-page-family][data-page-family]:not(.home-page) main section.process-showcase {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  border-color: var(--comfort-rule-soft) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase > .container > .section-heading :is(h2, h3) {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase > .container > .section-heading :is(p, .eyebrow) {
  color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-card, .process-info-card) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-color: var(--comfort-rule) !important;
  border-top-color: rgba(238, 212, 125, .58) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-top-color: var(--comfort-gold) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase .process-info-card {
  overflow: visible !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-content, .process-info-card) h3 {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-content, .process-info-card) p {
  display: block !important;
  overflow: visible !important;
  color: var(--comfort-copy) !important;
  text-shadow: none !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase .process-info-icon {
  color: var(--comfort-ink) !important;
  background: var(--comfort-paper-strong) !important;
  border-color: rgba(238, 212, 125, .58) !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-card, .process-info-card)::before,
html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-card, .process-info-card)::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family][data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-card, .process-info-card):is(:hover, :focus-visible, :focus-within) {
  border-color: rgba(238, 212, 125, .66) !important;
  box-shadow: 0 20px 42px rgba(16, 40, 67, .12) !important;
}

/* END EYE-COMFORT BRAND CHROME FINAL AUTHORITY V2 */

/* The legacy premium layer uses triple page-family specificity for dark
   records. Match it here so the media-top showcase remains light in-browser. */
html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main section.process-showcase {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  border-color: var(--comfort-rule-soft) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase > .container > .section-heading :is(h2, h3) {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase > .container > .section-heading :is(p, .eyebrow) {
  color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-card, .process-info-card) {
  overflow: visible !important;
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-color: var(--comfort-rule) !important;
  border-top-color: rgba(238, 212, 125, .58) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase .process-feature-card {
  overflow: hidden !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase .process-feature-content {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  border-top-color: var(--comfort-gold) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-content, .process-info-card) h3 {
  color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-content, .process-info-card) p {
  display: block !important;
  overflow: visible !important;
  color: var(--comfort-copy) !important;
  text-shadow: none !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase .process-info-icon {
  color: var(--comfort-ink) !important;
  background: var(--comfort-paper-strong) !important;
  border-color: rgba(238, 212, 125, .58) !important;
}

html body[data-page-family][data-page-family][data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-card, .process-info-card):is(:hover, :focus-visible, :focus-within) {
  border-color: rgba(238, 212, 125, .66) !important;
  box-shadow: 0 20px 42px rgba(16, 40, 67, .12) !important;
}

/* -------------------------------------------------------------------------
   Canonical navy header restoration

   The interior-hero work does not restyle global navigation. Keep the
   established transparent white mark and navy navigation rail intact.
   ------------------------------------------------------------------------- */

html body[data-page-family][data-page-family][data-page-family] .site-header {
  background: var(--lifa-ink) !important;
  border-top: 3px solid var(--lifa-gold-soft) !important;
  border-bottom: 1px solid rgba(238, 212, 125, .34) !important;
  box-shadow: 0 10px 30px rgba(2, 8, 16, .22) !important;
}

html body[data-page-family][data-page-family][data-page-family]
  .site-header .brand img {
  content: url("../logos/lifa-logo-header.png") !important;
  width: var(--site-header-logo-width) !important;
  max-width: var(--site-header-logo-width) !important;
  height: auto !important;
  max-height: 74px !important;
  padding: 0 !important;
  background: var(--lifa-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html body[data-page-family][data-page-family][data-page-family]
  .site-header .main-nav > a,
html body[data-page-family][data-page-family][data-page-family]
  .site-header .main-nav > .nav-item > a {
  color: rgba(255, 255, 255, .88) !important;
}

html body[data-page-family][data-page-family][data-page-family]
  .site-header .main-nav > a:is(:hover, :focus-visible, .active, [aria-current="page"]),
html body[data-page-family][data-page-family][data-page-family]
  .site-header .main-nav > .nav-item > a:is(:hover, :focus-visible, .active, [aria-current="page"]) {
  color: var(--lifa-gold-soft) !important;
}

html body[data-page-family][data-page-family][data-page-family]
  .site-header :is(.menu-toggle, .dropdown-toggle, .nav-caret) {
  color: var(--lifa-white) !important;
  border-color: rgba(255, 255, 255, .28) !important;
}

html body[data-page-family][data-page-family][data-page-family]
  .site-header .menu-toggle span {
  background: var(--lifa-white) !important;
}

@media (max-width: 1024px) {
  html body[data-page-family][data-page-family][data-page-family]
    .site-header :is(.main-nav, .main-nav.open) {
    color: var(--lifa-white) !important;
    background: var(--lifa-ink) !important;
    border-color: rgba(238, 212, 125, .24) !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family][data-page-family][data-page-family]
    .site-header .brand img {
    width: var(--site-header-logo-width-mobile) !important;
    max-width: var(--site-header-logo-width-mobile) !important;
    max-height: 64px !important;
  }
}

/* -------------------------------------------------------------------------
   EYE-COMFORT FINAL CASCADE GUARD

   Legacy inverse-card selectors repeat page attributes for specificity. This
   non-matching ID guard follows the stylesheet's established final-authority
   pattern and keeps only the intended light chrome and showcase components in
   control without changing the document contract.
   ------------------------------------------------------------------------- */

html:not(#lifa-eye-comfort-final) body[data-page-family] .site-header {
  background: rgba(255, 255, 255, .98) !important;
  background-color: rgba(255, 255, 255, .98) !important;
  border-top: 3px solid var(--comfort-gold) !important;
  border-bottom: 1px solid var(--comfort-rule) !important;
  box-shadow: 0 10px 28px rgba(16, 40, 67, .08) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header .brand img {
  content: url("../logos/lifa-logo-primary-transparent.png") !important;
  content: var(--lifa-header-logo-image, image-set(url("../logos/lifa-logo-primary-transparent.lossless.webp") type("image/webp"), url("../logos/lifa-logo-primary-transparent.png") type("image/png"))) !important;
  width: var(--site-header-logo-width) !important;
  max-width: var(--site-header-logo-width) !important;
  height: 69px !important;
  max-height: 69px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header .main-nav > a,
html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header .main-nav > .nav-item > a {
  color: var(--comfort-ink) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header .main-nav > a:is(:hover, :focus-visible, .active, [aria-current="page"]),
html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header .main-nav > .nav-item > a:is(:hover, :focus-visible, .active, [aria-current="page"]) {
  color: var(--comfort-gold-deep) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header :is(.menu-toggle, .dropdown-toggle, .nav-caret) {
  color: var(--comfort-ink) !important;
  border-color: var(--comfort-rule) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]
  .site-header .menu-toggle span {
  background: var(--comfort-ink) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main section.process-showcase {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  background-color: var(--comfort-paper) !important;
  border-color: var(--comfort-rule-soft) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase > .container > .section-heading :is(h2, h3) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase > .container > .section-heading :is(p, .eyebrow) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase .process-feature-card,
html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase .process-info-card {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  background-color: var(--comfort-canvas) !important;
  border-color: var(--comfort-rule) !important;
  border-top-color: rgba(238, 212, 125, .58) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase .process-feature-card {
  overflow: hidden !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase .process-info-card {
  overflow: visible !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase .process-feature-content {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  background-color: var(--comfort-canvas) !important;
  border-top-color: var(--comfort-gold) !important;
  text-shadow: none !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-content, .process-info-card) h3 {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-content, .process-info-card) p {
  display: block !important;
  overflow: visible !important;
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase .process-info-icon {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  background: var(--comfort-paper-strong) !important;
  background-color: var(--comfort-paper-strong) !important;
  border-color: rgba(238, 212, 125, .58) !important;
}

html:not(#lifa-eye-comfort-final) body[data-page-family]:not(.home-page)
  main .process-showcase :is(.process-feature-card, .process-info-card):is(:hover, :focus-visible, :focus-within) {
  border-color: rgba(238, 212, 125, .66) !important;
  box-shadow: 0 20px 42px rgba(16, 40, 67, .12) !important;
}

@media (max-width: 1024px) {
  html:not(#lifa-eye-comfort-final) body[data-page-family]
    .site-header :is(.main-nav, .main-nav.open) {
    color: var(--comfort-copy) !important;
    background: var(--comfort-canvas) !important;
    background-color: var(--comfort-canvas) !important;
    border-color: var(--comfort-rule) !important;
    box-shadow: var(--comfort-shadow) !important;
  }
}

@media (max-width: 700px) {
  html:not(#lifa-eye-comfort-final) body[data-page-family]
    .site-header .brand img {
    width: var(--site-header-logo-width-mobile) !important;
    max-width: var(--site-header-logo-width-mobile) !important;
    height: 61px !important;
    max-height: 61px !important;
  }
}

/* END EYE-COMFORT FINAL CASCADE GUARD */

/* The generic premium-card contract carries five ID sentinels. These two
   component-owned properties need one stronger guard so the process record
   cannot inherit the old inverse surface or clipped overflow. */
html:not(#lifa-process-light-a):not(#lifa-process-light-b):not(#lifa-process-light-c):not(#lifa-process-light-d):not(#lifa-process-light-e):not(#lifa-process-light-f)
  body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card,
html:not(#lifa-process-light-a):not(#lifa-process-light-b):not(#lifa-process-light-c):not(#lifa-process-light-d):not(#lifa-process-light-e):not(#lifa-process-light-f)
  body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-card {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  background-color: var(--comfort-canvas) !important;
  border-color: var(--comfort-rule) !important;
  border-top-color: rgba(238, 212, 125, .58) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html:not(#lifa-process-light-a):not(#lifa-process-light-b):not(#lifa-process-light-c):not(#lifa-process-light-d):not(#lifa-process-light-e):not(#lifa-process-light-f)
  body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card {
  padding: 0 !important;
  overflow: hidden !important;
}

html:not(#lifa-process-light-a):not(#lifa-process-light-b):not(#lifa-process-light-c):not(#lifa-process-light-d):not(#lifa-process-light-e):not(#lifa-process-light-f)
  body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-card {
  overflow: visible !important;
}

/* -------------------------------------------------------------------------
   SITEWIDE EYE-COMFORT SURFACES FINAL V3

   Content UI uses white and cool paper surfaces. Navy remains the identity
   ink and gold remains the accent; large inverse fills are reserved for hero
   photography itself, not reading, evidence, form, table, or tool surfaces.
   The sentinel matches the strongest legacy generated selectors while this
   final layer owns only color and contrast, not content or layout.
   ------------------------------------------------------------------------- */

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main > section:not(.hero):not(.home-hero):not(.tool-page-hero) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  background-color: var(--comfort-canvas) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main > :is(
    .section-muted,
    .section-tight,
    .section-dark,
    .section-navy,
    .dark-section,
    .final-cta,
    .final-cta-section,
    .workbook-final-cta,
    .founder-accountability,
    .process-showcase,
    #home-categories,
    #home-markets,
    #request-form
  ) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper) !important;
  background-color: var(--comfort-paper) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main > section:not(.hero):not(.home-hero):not(.tool-page-hero)
  :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main > section:not(.hero):not(.home-hero):not(.tool-page-hero)
  :where(p, li, dt, dd, small, label, legend, figcaption, blockquote) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main > section:not(.hero):not(.home-hero):not(.tool-page-hero)
  :is(.eyebrow, .section-kicker, .hero-kicker, .step-label, .process-label, .card-link) {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main :is(
    .article-header,
    .editorial-boundary,
    .scenario-question,
    .scenario-question-panel,
    .founder-contact-card,
    .dark-card,
    .process-step,
    .process-item,
    .checklist-item,
    .tool-output,
    .tool-boundary,
    .quote-progress-panel,
    .article-actions,
    .wechat-contact-card,
    .form-actions,
    .lifa-google-booking,
    #google-calendar-booking,
    .home-role-band,
    .home-tool-panel,
    .home-service-group > header
  ) {
  color: var(--comfort-copy) !important;
  background: var(--comfort-canvas) !important;
  background-color: var(--comfort-canvas) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main :is(
    .article-header,
    .editorial-boundary,
    .scenario-question,
    .scenario-question-panel,
    .founder-contact-card,
    .dark-card,
    .process-step,
    .process-item,
    .checklist-item,
    .tool-output,
    .tool-boundary,
    .quote-progress-panel,
    .article-actions,
    .wechat-contact-card,
    .lifa-google-booking,
    #google-calendar-booking,
    .home-role-band,
    .home-tool-panel,
    .home-service-group > header
  ) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main :is(
    .article-header,
    .editorial-boundary,
    .scenario-question,
    .scenario-question-panel,
    .founder-contact-card,
    .dark-card,
    .process-step,
    .process-item,
    .checklist-item,
    .tool-output,
    .tool-boundary,
    .quote-progress-panel,
    .article-actions,
    .wechat-contact-card,
    .lifa-google-booking,
    #google-calendar-booking,
    .home-role-band,
    .home-tool-panel,
    .home-service-group > header
  ) :where(p, li, dt, dd, small, label, legend, figcaption, blockquote) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main :is(.request-form, .form-panel, .quote-panel, #request-form)
  :is(div, section, h1, h2, h3, h4, p) {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main :is(
    .value-evidence__media,
    .tool-decision-media,
    .tool-directory-media,
    .home-route-media,
    .hp-company-visual,
    .home-category-card,
    .home-industry-lead-card,
    .home-industry-card--final,
    a.home-motion
  ) {
  background-color: var(--comfort-paper-strong) !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main figcaption {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  background: rgba(247, 249, 252, .96) !important;
  background-color: rgba(247, 249, 252, .96) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main table th {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  background: var(--comfort-paper-strong) !important;
  background-color: var(--comfort-paper-strong) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] :is(.btn-secondary, .btn-outline, a.btn-secondary, a.btn-outline) {
  color: var(--button-secondary-fg) !important;
  -webkit-text-fill-color: var(--button-secondary-fg) !important;
  background: var(--button-secondary-bg) !important;
  background-color: var(--button-secondary-bg) !important;
  background-image: none !important;
  border-color: var(--button-border-accent) !important;
  box-shadow: var(--button-shadow) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] :is(.btn-secondary, .btn-outline, a.btn-secondary, a.btn-outline):is(:hover, :focus-visible) {
  color: var(--button-secondary-fg) !important;
  -webkit-text-fill-color: var(--button-secondary-fg) !important;
  background: var(--button-secondary-bg-hover) !important;
  background-color: var(--button-secondary-bg-hover) !important;
  border-color: var(--button-gold-400) !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main :is(button.is-active, .is-active[role="tab"], .segmented-control .is-active) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  background: var(--comfort-gold) !important;
  background-color: var(--comfort-gold) !important;
  background-image: none !important;
  border-color: var(--comfort-gold-deep) !important;
  box-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main [data-inquiry-guide="sticky"] {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper-strong) !important;
  background-color: var(--comfort-paper-strong) !important;
  background-image: none !important;
  border-color: rgba(238, 212, 125, .34) !important;
  box-shadow: var(--comfort-shadow) !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main [data-inquiry-guide="sticky"] :where(h1, h2, h3, h4, strong) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main [data-inquiry-guide="sticky"] :where(p, li, small, span) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body[data-page-family] main
  .form-panel:has(form[data-inquiry-form]):not(.quote-wizard) > .eyebrow {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
  background: var(--comfort-paper-strong) !important;
  background-color: var(--comfort-paper-strong) !important;
  background-image: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body.home-page main .home-request-form-wrap .home-request-form-heading,
html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body.home-page main .home-request-form-wrap .home-form-actions {
  color: var(--comfort-copy) !important;
  background: var(--comfort-paper-strong) !important;
  background-color: var(--comfort-paper-strong) !important;
  background-image: none !important;
  border-color: var(--comfort-rule) !important;
  box-shadow: none !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body.home-page main .home-request-form-wrap .home-request-form-heading > span {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
}

html:not(#lifa-comfort-a):not(#lifa-comfort-b):not(#lifa-comfort-c):not(#lifa-comfort-d):not(#lifa-comfort-e):not(#lifa-comfort-f):not(#lifa-comfort-g)
  body.home-page main .home-request-form-wrap .home-request-form-heading > small {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
}

/* END SITEWIDE EYE-COMFORT SURFACES FINAL V3 */

/* -------------------------------------------------------------------------
   SITEWIDE TEXT CONTRAST FINAL V4

   The light-surface migration must also retire inverse text colors inherited
   from legacy component layers. These rules name the remaining text roles so
   paper and white sections never depend on pale gold or white foregrounds.
   ------------------------------------------------------------------------- */

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family]
  .site-footer[data-footer-system="v7"] :is(a, .footer-start-link) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family]
  .site-footer[data-footer-system="v7"] :is(a, .footer-start-link):is(:hover, :focus-visible) {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family] main
  :is(
    .eyebrow,
    .section-kicker,
    .trustpilot-eyebrow,
    .lifa-appointment-eyebrow,
    .founder-role,
    .founder-contact-kicker,
    .home-text-link,
    .home-freight-manifest > a > span,
    .home-commitment-grid > a > span,
    .home-market-grid > a > span,
    .home-tool-grid > a > span,
    .founder-contact-links a > span,
    .scenario-question > span
  ) {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family] main
  :is(.contact-list, .founder-contact-links) a {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family] main
  :is(.tool-empty-state, .tool-output, .tool-boundary) :where(span, p, small) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family] main
  .tool-boundary a,
html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h) body[data-page-family] main
  .section-dark a:not(.btn) {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h)
  body[data-page-family]:not(.home-page) main[data-homepage-parity]
  .decision-answer-grid {
  align-items: start !important;
}

html:not(#lifa-text-contrast-a):not(#lifa-text-contrast-b):not(#lifa-text-contrast-c):not(#lifa-text-contrast-d):not(#lifa-text-contrast-e):not(#lifa-text-contrast-f):not(#lifa-text-contrast-g):not(#lifa-text-contrast-h)
  body[data-page-family]:not(.home-page) main[data-homepage-parity]
  .decision-answer-grid > .decision-answer-card {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}

/* END SITEWIDE TEXT CONTRAST FINAL V4 */

/* -------------------------------------------------------------------------
   COMPACT PROCESS VISUAL RAIL FINAL V5

   Legacy showcase cards placed copy over a full-width image. Keep the visual
   as supporting evidence beside readable content, then stack a shallow image
   above the answer on narrow screens.
   ------------------------------------------------------------------------- */

html:not(#lifa-process-rail-a):not(#lifa-process-rail-b):not(#lifa-process-rail-c):not(#lifa-process-rail-d):not(#lifa-process-rail-e):not(#lifa-process-rail-f):not(#lifa-process-rail-g):not(#lifa-process-rail-h)
  body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card {
  display: grid !important;
  grid-template-columns: minmax(0, 36%) minmax(0, 64%) !important;
  grid-template-rows: auto !important;
  align-items: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html:not(#lifa-process-rail-a):not(#lifa-process-rail-b):not(#lifa-process-rail-c):not(#lifa-process-rail-d):not(#lifa-process-rail-e):not(#lifa-process-rail-f):not(#lifa-process-rail-g):not(#lifa-process-rail-h)
  body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 220px !important;
  max-height: 320px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
}

html:not(#lifa-process-rail-a):not(#lifa-process-rail-b):not(#lifa-process-rail-c):not(#lifa-process-rail-d):not(#lifa-process-rail-e):not(#lifa-process-rail-f):not(#lifa-process-rail-g):not(#lifa-process-rail-h)
  body[data-page-family]:not(.home-page) main .process-showcase .process-feature-content {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: flex !important;
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: clamp(22px, 3vw, 38px) !important;
  border-top: 0 !important;
  border-left: 3px solid var(--comfort-gold) !important;
  transform: none !important;
}

@media (max-width: 820px) {
  html:not(#lifa-process-rail-a):not(#lifa-process-rail-b):not(#lifa-process-rail-c):not(#lifa-process-rail-d):not(#lifa-process-rail-e):not(#lifa-process-rail-f):not(#lifa-process-rail-g):not(#lifa-process-rail-h)
    body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }

  html:not(#lifa-process-rail-a):not(#lifa-process-rail-b):not(#lifa-process-rail-c):not(#lifa-process-rail-d):not(#lifa-process-rail-e):not(#lifa-process-rail-f):not(#lifa-process-rail-g):not(#lifa-process-rail-h)
    body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > img {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: clamp(150px, 42vw, 210px) !important;
    min-height: 0 !important;
    max-height: 210px !important;
    aspect-ratio: 16 / 9 !important;
  }

  html:not(#lifa-process-rail-a):not(#lifa-process-rail-b):not(#lifa-process-rail-c):not(#lifa-process-rail-d):not(#lifa-process-rail-e):not(#lifa-process-rail-f):not(#lifa-process-rail-g):not(#lifa-process-rail-h)
    body[data-page-family]:not(.home-page) main .process-showcase .process-feature-content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: clamp(20px, 6vw, 30px) !important;
    border-top: 3px solid var(--comfort-gold) !important;
    border-left: 0 !important;
  }
}

/* END COMPACT PROCESS VISUAL RAIL FINAL V5 */

/* -------------------------------------------------------------------------
   SITEWIDE SUPPORTING MEDIA SCALE FINAL V6

   Supporting photography clarifies a decision without becoming another hero.
   These limits preserve clear crops and readable copy in legacy components.
   ------------------------------------------------------------------------- */

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > picture {
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 220px !important;
  max-height: 320px !important;
  overflow: hidden !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > picture > img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 220px !important;
  max-height: 320px !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .article-inline-image.image-frame > img,
html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .article-inline-image.image-frame > picture > img {
  width: 100% !important;
  height: clamp(210px, 22vw, 280px) !important;
  min-height: 0 !important;
  max-height: 280px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .media-card > img,
html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .media-card > picture > img {
  width: 100% !important;
  height: clamp(180px, 19vw, 250px) !important;
  min-height: 0 !important;
  max-height: 250px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family] main .tool-decision-media > img,
html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family] main .tool-decision-media > picture > img {
  width: 100% !important;
  height: clamp(210px, 22vw, 280px) !important;
  min-height: 0 !important;
  max-height: 280px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family] main :is(.founder-operation figure, .founder-ledger-image) > img {
  width: 100% !important;
  height: clamp(220px, 24vw, 300px) !important;
  min-height: 0 !important;
  max-height: 300px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body.home-page main .home-entity picture > img {
  width: 100% !important;
  height: clamp(240px, 28vw, 420px) !important;
  min-height: 0 !important;
  max-height: 420px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body.home-page main .home-freight-visual > img {
  width: 100% !important;
  height: clamp(220px, 24vw, 300px) !important;
  min-height: 0 !important;
  max-height: 300px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
  body[data-page-family]:not(.home-page) main .media-grid-two {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2.2vw, 28px) !important;
  align-items: stretch !important;
}

@media (max-width: 820px) {
  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > picture {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: clamp(150px, 42vw, 210px) !important;
    min-height: 0 !important;
    max-height: 210px !important;
  }

  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > picture > img {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 210px !important;
    aspect-ratio: 16 / 9 !important;
  }

  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body.home-page main :is(.home-entity picture > img, .home-freight-visual > img) {
    height: clamp(210px, 34vw, 260px) !important;
    max-height: 260px !important;
  }
}

@media (max-width: 559px) {
  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .media-grid-two {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .media-grid-two .media-card {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    grid-template-rows: minmax(142px, auto) !important;
    align-items: stretch !important;
    min-height: 0 !important;
    padding: 12px !important;
  }

  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .media-grid-two .media-card > picture {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 172px !important;
    overflow: hidden !important;
  }

  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .media-grid-two .media-card > picture > img {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 172px !important;
  }

  html:not(#lifa-media-scale-a):not(#lifa-media-scale-b):not(#lifa-media-scale-c):not(#lifa-media-scale-d):not(#lifa-media-scale-e):not(#lifa-media-scale-f):not(#lifa-media-scale-g):not(#lifa-media-scale-h)
    body[data-page-family]:not(.home-page) main .media-grid-two .media-card > figcaption {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 14px !important;
  }
}

/* END SITEWIDE SUPPORTING MEDIA SCALE FINAL V6 */

/* -------------------------------------------------------------------------
   MOBILE CONTACT FLOW FINAL V11

   Keep the familiar round WhatsApp and WeChat controls available at the
   viewport's bottom-right edge on every device and throughout page scroll.
   ------------------------------------------------------------------------- */

@media (max-width: 700px) {
  html:not(#lifa-contact-flow-a):not(#lifa-contact-flow-b):not(#lifa-contact-flow-c):not(#lifa-contact-flow-d):not(#lifa-contact-flow-e):not(#lifa-contact-flow-f):not(#lifa-contact-flow-g):not(#lifa-contact-flow-h)
    body[data-page-family] .floating-contact {
    position: fixed !important;
    top: auto !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    z-index: 1200 !important;
    display: grid !important;
    grid-template-columns: 44px !important;
    grid-auto-flow: row !important;
    justify-content: end !important;
    align-items: center !important;
    width: auto !important;
    min-height: 0 !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html:not(#lifa-contact-flow-a):not(#lifa-contact-flow-b):not(#lifa-contact-flow-c):not(#lifa-contact-flow-d):not(#lifa-contact-flow-e):not(#lifa-contact-flow-f):not(#lifa-contact-flow-g):not(#lifa-contact-flow-h)
    body[data-page-family] .floating-contact .float-btn:is(.whatsapp, .wechat) {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 50% !important;
  }

}

/* END MOBILE CONTACT FLOW FINAL V11 */

/* -------------------------------------------------------------------------
   PERSISTENT LIGHT CHROME FINAL V12

   The header remains white and sticky while scrolling at every breakpoint.
   Footer artwork uses the true-alpha brand asset, and quick contact stays
   fixed inside the viewport safe area on desktop, tablet, and mobile.
   ------------------------------------------------------------------------- */

html:not(#lifa-persistent-chrome-a):not(#lifa-persistent-chrome-b):not(#lifa-persistent-chrome-c):not(#lifa-persistent-chrome-d):not(#lifa-persistent-chrome-e):not(#lifa-persistent-chrome-f):not(#lifa-persistent-chrome-g):not(#lifa-persistent-chrome-h)
  body[data-page-family] .site-header,
html:not(#lifa-persistent-chrome-a):not(#lifa-persistent-chrome-b):not(#lifa-persistent-chrome-c):not(#lifa-persistent-chrome-d):not(#lifa-persistent-chrome-e):not(#lifa-persistent-chrome-f):not(#lifa-persistent-chrome-g):not(#lifa-persistent-chrome-h)
  body[data-page-family] .site-header.is-scrolled {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  left: auto !important;
  z-index: 1100 !important;
  background: rgba(255, 255, 255, .98) !important;
  background-color: rgba(255, 255, 255, .98) !important;
  background-image: none !important;
  border-top: 3px solid var(--comfort-gold) !important;
  border-bottom: 1px solid var(--comfort-rule) !important;
  box-shadow: 0 10px 28px rgba(16, 40, 67, .1) !important;
  backdrop-filter: blur(12px) !important;
}

html:not(#lifa-persistent-chrome-a):not(#lifa-persistent-chrome-b):not(#lifa-persistent-chrome-c):not(#lifa-persistent-chrome-d):not(#lifa-persistent-chrome-e):not(#lifa-persistent-chrome-f):not(#lifa-persistent-chrome-g):not(#lifa-persistent-chrome-h)
  body[data-page-family] .site-footer[data-footer-system="v7"] .footer-logo {
  content: url("../logos/lifa-logo-primary-alpha.png") !important;
  content: var(--lifa-footer-logo-image, image-set(url("../logos/lifa-logo-primary-alpha.lossless.webp") type("image/webp"), url("../logos/lifa-logo-primary-alpha.png") type("image/png"))) !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html:not(#lifa-persistent-chrome-a):not(#lifa-persistent-chrome-b):not(#lifa-persistent-chrome-c):not(#lifa-persistent-chrome-d):not(#lifa-persistent-chrome-e):not(#lifa-persistent-chrome-f):not(#lifa-persistent-chrome-g):not(#lifa-persistent-chrome-h)
  body[data-page-family] .floating-contact {
  position: fixed !important;
  top: auto !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  bottom: max(14px, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  z-index: 1200 !important;
  display: grid !important;
  width: auto !important;
  height: auto !important;
  grid-template-columns: 50px !important;
  grid-auto-flow: row !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

@media (max-width: 700px) {
  html:not(#lifa-persistent-chrome-a):not(#lifa-persistent-chrome-b):not(#lifa-persistent-chrome-c):not(#lifa-persistent-chrome-d):not(#lifa-persistent-chrome-e):not(#lifa-persistent-chrome-f):not(#lifa-persistent-chrome-g):not(#lifa-persistent-chrome-h)
    body[data-page-family] .floating-contact {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    grid-template-columns: 44px !important;
  }
}

html:not(#lifa-persistent-chrome-a):not(#lifa-persistent-chrome-b):not(#lifa-persistent-chrome-c):not(#lifa-persistent-chrome-d):not(#lifa-persistent-chrome-e):not(#lifa-persistent-chrome-f):not(#lifa-persistent-chrome-g):not(#lifa-persistent-chrome-h)
  body[data-page-family].analytics-consent-open :is(.floating-contact, .lifa-ai-root) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* END PERSISTENT LIGHT CHROME FINAL V12 */

.search-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  max-width: min(100%, 76rem);
  margin: 0 0 14px;
  font-size: .82rem;
  line-height: 1.45;
}

.search-breadcrumb a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.search-breadcrumb [aria-current="page"] {
  font-weight: 700;
}

.search-review-date {
  margin-top: 10px;
  font-size: .86rem;
  line-height: 1.5;
}

/* -------------------------------------------------------------------------
   INVERSE SURFACE CONTRAST FINAL V13

   Light page sections use the comfort palette, while photography overlays,
   the sourcing dossier status panel, and the mobile menu control remain
   intentional navy surfaces. Keep every inverse foreground paired with those
   surfaces after the broad light-surface migration rules above.
   ------------------------------------------------------------------------- */

:root {
  --surface-inverse: var(--lifa-ink);
  --text-inverse: var(--lifa-white);
  --text-inverse-muted: rgba(255, 255, 255, .82);
  --text-inverse-subtle: rgba(255, 255, 255, .72);
  --text-accent-on-inverse: var(--lifa-gold-soft);
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main a.home-category-card
  :where(h1, h2, h3, h4, h5, h6) {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
  text-shadow: 0 2px 12px rgba(3, 10, 19, .52) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main a.home-category-card
  :where(p, li, dd, dt, figcaption) {
  color: var(--text-inverse-muted) !important;
  -webkit-text-fill-color: var(--text-inverse-muted) !important;
  text-shadow: 0 2px 10px rgba(3, 10, 19, .48) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main :is(a.home-category-card, a.hp-company-visual)
  :where(small, .eyebrow, .card-link) {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
  text-shadow: 0 2px 10px rgba(3, 10, 19, .52) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-category-card strong {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-industry-grid > a > div :where(h3) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-industry-grid > a > div :where(p) {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-industry-grid > a > div :where(small, strong) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .hp-company-visual strong {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-freight-visual > span :where(strong) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  text-shadow: none !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-freight-visual > span :where(small, b) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main :is(.home-dossier-stage > a > span, .home-role-band b, .home-service-group-shipping > header > span) {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body[data-page-family] .site-footer .footer-statement em {
  color: var(--lifa-gold-deep) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-dossier-status {
  color: var(--text-inverse) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-dossier-status :where(strong, dd) {
  color: var(--text-inverse) !important;
  -webkit-text-fill-color: var(--text-inverse) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-dossier-status :where(small) {
  color: var(--text-inverse-subtle) !important;
  -webkit-text-fill-color: var(--text-inverse-subtle) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body.home-page main .home-dossier-status :where(.home-dossier-kicker, dt, a, b) {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

html:not(#lifa-inverse-contrast-a):not(#lifa-inverse-contrast-b):not(#lifa-inverse-contrast-c):not(#lifa-inverse-contrast-d):not(#lifa-inverse-contrast-e):not(#lifa-inverse-contrast-f):not(#lifa-inverse-contrast-g):not(#lifa-inverse-contrast-h)
  body[data-page-family] .site-header .menu-toggle span {
  background: var(--text-accent-on-inverse) !important;
  background-color: var(--text-accent-on-inverse) !important;
}

/* END INVERSE SURFACE CONTRAST FINAL V13 */

/* -------------------------------------------------------------------------
   SITEWIDE FOREGROUND / SURFACE PAIRING FINAL V14

   The eye-comfort migration moved these repeated roles from navy panels to
   white and cool-paper surfaces. Pair their foregrounds with the rendered
   surface instead of the component's former inverse palette. Photo overlays,
   the sourcing dossier, heroes, and other verified navy surfaces keep the
   inverse roles defined above.
   ------------------------------------------------------------------------- */

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main :is(
    .cta-value-list > li > span,
    .site-network .network-meta,
    .glossary-term a,
    .blog-featured-kicker,
    .founder-principle > span,
    .founder-operation-label,
    .founder-ledger-kicker,
    .founder-approval > span
  ) {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main figcaption :is(span, .cap-tag) {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
  text-shadow: none !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .lifa-tool-stage-nav button.is-active
  :is(.lifa-tool-nav-number, .lifa-tool-nav-status) {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .lifa-tool-stage-nav button:not(.is-active)
  .lifa-tool-nav-status {
  color: var(--comfort-muted) !important;
  -webkit-text-fill-color: var(--comfort-muted) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .tool-decision-number {
  color: var(--text-accent-on-inverse) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main :is(.request-form, form[data-inquiry-form])
  [id^="lifa-char-count"] {
  color: var(--comfort-muted) !important;
  -webkit-text-fill-color: var(--comfort-muted) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main :is(input, textarea)::placeholder {
  color: var(--comfort-muted) !important;
  -webkit-text-fill-color: var(--comfort-muted) !important;
  opacity: 1;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .contact-list > :is(a, div, button),
html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .contact-list .wechat-contact-card > div {
  color: var(--comfort-copy) !important;
  -webkit-text-fill-color: var(--comfort-copy) !important;
  text-shadow: none !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .contact-list > :is(a, div, button) strong {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body[data-page-family] main .contact-list .card-link {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body.home-page main .home-request-intro .home-contact-options > a {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
  border-color: var(--comfort-rule) !important;
  text-shadow: none !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body.home-page main .home-request-intro .home-contact-options > a > span {
  color: var(--comfort-gold-deep) !important;
  -webkit-text-fill-color: var(--comfort-gold-deep) !important;
}

html:not(#lifa-surface-text-a):not(#lifa-surface-text-b):not(#lifa-surface-text-c):not(#lifa-surface-text-d):not(#lifa-surface-text-e):not(#lifa-surface-text-f):not(#lifa-surface-text-g):not(#lifa-surface-text-h)
  body.home-page main .home-request-intro .home-contact-options > a > strong {
  color: var(--comfort-ink) !important;
  -webkit-text-fill-color: var(--comfort-ink) !important;
}

/* END SITEWIDE FOREGROUND / SURFACE PAIRING FINAL V14 */

/* -------------------------------------------------------------------------
   SITEWIDE STACKED CONTENT MEDIA FINAL V14

   Content cards use one predictable reading order: complete media first,
   copy second. Supporting images fit inside a stable frame without cropping.
   Hero and gallery media are intentionally outside this main-content scope.
   ------------------------------------------------------------------------- */

:root {
  --content-card-media-ratio: 16 / 10;
  --content-card-media-surface: var(--comfort-paper, var(--lifa-cream, #f7f9fc));
  --content-card-copy-surface: var(--comfort-paper-strong, var(--lifa-white, #fff));
  --content-card-rule: var(--comfort-rule, rgba(15, 30, 54, .14));
  --content-card-accent: var(--comfort-gold, var(--lifa-gold, #eed47d));
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(.process-feature-card, .media-card)
  :where(*) {
  min-width: 0;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(.process-feature-card, .media-card):has(> :is(img, picture)):has(> :is(div, figcaption, .process-feature-content)) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-items: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(.process-feature-card, .media-card) > :is(img, picture) {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-card-media-ratio) !important;
  overflow: hidden !important;
  background: var(--content-card-media-surface) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(.process-feature-card, .media-card) > img,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(.process-feature-card, .media-card) > picture > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-card-media-ratio) !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--content-card-media-surface) !important;
  border-radius: 0 !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(.process-feature-card, .media-card) > :is(div, figcaption, .process-feature-content) {
  position: static !important;
  inset: auto !important;
  z-index: 2 !important;
  display: flex !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  color: var(--comfort-copy, var(--lifa-muted, #607086)) !important;
  background: var(--content-card-copy-surface) !important;
  border-top: 2px solid var(--content-card-accent) !important;
  border-left: 0 !important;
  text-shadow: none !important;
  transform: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual),
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-self: start !important;
  align-items: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--content-card-copy-surface) !important;
  border: 1px solid var(--content-card-rule) !important;
}

/* Content-sized homepage media tracks. The media-top contract above replaces
   fixed overlay cards, so legacy equal/fixed rows must not clip or overlap the
   now-intrinsic image and copy stacks. */
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-category-grid {
  --content-card-media-ratio: 3 / 2;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-category-grid,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid {
  grid-auto-rows: auto !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-category-grid > .home-category-card,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a {
  align-self: stretch !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual) > :is(img, picture),
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a > :is(img, picture) {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-card-media-ratio) !important;
  overflow: hidden !important;
  background: var(--content-card-media-surface) !important;
  border-radius: 0 !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual) > img,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual) > picture > img,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a > img,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a > picture > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-card-media-ratio) !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--content-card-media-surface) !important;
  border-radius: 0 !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual) > span,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a > div {
  position: static !important;
  inset: auto !important;
  z-index: 2 !important;
  display: flex !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: clamp(20px, 2.5vw, 28px) !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  color: var(--comfort-copy, var(--lifa-muted, #607086)) !important;
  background: var(--content-card-copy-surface) !important;
  border-top: 2px solid var(--content-card-accent) !important;
  text-shadow: none !important;
  transform: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual, .home-industry-grid > a)
  :where(h3, h4, strong) {
  color: var(--comfort-ink, var(--lifa-navy, #0f1e36)) !important;
  -webkit-text-fill-color: var(--comfort-ink, var(--lifa-navy, #0f1e36)) !important;
  text-shadow: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual, .home-industry-grid > a)
  :where(p) {
  color: var(--comfort-copy, var(--lifa-muted, #607086)) !important;
  -webkit-text-fill-color: var(--comfort-copy, var(--lifa-muted, #607086)) !important;
  text-shadow: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
  :is(.home-category-card, .hp-company-visual, .home-freight-visual, .home-industry-grid > a)
  :where(small, b) {
  color: var(--lifa-gold-deep, #eed47d) !important;
  -webkit-text-fill-color: var(--lifa-gold-deep, #eed47d) !important;
  text-shadow: none !important;
}

@media (min-width: 1041px) {
  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family]
    main .hp-company-visual {
    align-self: stretch !important;
    height: 100% !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
  }

  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family]
    main .hp-company-visual > picture,
  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family]
    main .hp-company-visual > picture > img {
    align-self: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-route-media {
  position: relative !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: var(--content-card-media-surface) !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-route-media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--content-card-media-surface) !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) {
  overflow: hidden !important;
  background: var(--content-card-media-surface) !important;
}

html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > img,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > picture > img,
html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main img[data-visual-role="support-illustration"] {
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--content-card-media-surface) !important;
  transform: none !important;
  filter: none !important;
}

@media (max-width: 700px) {
  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main
    :is(.home-category-card, .hp-company-visual, .home-freight-visual) > span,
  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a > div {
    padding: 20px 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i)[data-page-family] main
    :is(.process-feature-card, .media-card, .home-route-step, .home-category-card, .hp-company-visual, .home-freight-visual) img,
  html body:not(#content-media-final-a):not(#content-media-final-b):not(#content-media-final-c):not(#content-media-final-d):not(#content-media-final-e):not(#content-media-final-f):not(#content-media-final-g):not(#content-media-final-h):not(#content-media-final-i).home-page[data-page-family] main .home-industry-grid > a img {
    transition: none !important;
    transform: none !important;
  }
}

/* END SITEWIDE STACKED CONTENT MEDIA FINAL V14 */

/* -------------------------------------------------------------------------
   LIGHT SURFACE FOREGROUND CONTRAST FINAL V15

   Gold remains bright on navy and photography. White and cool-paper panels
   use the deeper brand gold, navy headings, and slate body copy so labels,
   captions, form feedback, and navigation states remain readable.
   ------------------------------------------------------------------------- */

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main :is(
    .cta-value-list > li > span,
    .link-card .network-meta,
    .founder-principle > span,
    .founder-operation-label,
    .founder-ledger-kicker,
    .blog-featured-kicker,
    .cap-tag,
    .glossary-term a
  ) {
  color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  -webkit-text-fill-color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  text-shadow: none !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family]:not(.home-page) main :is(
    .value-evidence__media,
    .tool-decision-media,
    .founder-portrait-card
  ) figcaption > span:first-child {
  color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  -webkit-text-fill-color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  text-shadow: none !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family]:not(.home-page) main :is(
    .value-evidence__media,
    .tool-decision-media
  ) figcaption > span:last-child {
  color: var(--comfort-copy, #465a70) !important;
  -webkit-text-fill-color: var(--comfort-copy, #465a70) !important;
  text-shadow: none !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main :is(
    .lifa-char-count,
    .lifa-tool-stage-nav button:not(.is-active) .lifa-tool-nav-status
  ) {
  color: var(--comfort-copy, #465a70) !important;
  -webkit-text-fill-color: var(--comfort-copy, #465a70) !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main .lifa-tool-stage-nav button.is-active :is(
    .lifa-tool-nav-number,
    .lifa-tool-nav-label,
    .lifa-tool-nav-status
  ) {
  color: var(--comfort-ink, #102843) !important;
  -webkit-text-fill-color: var(--comfort-ink, #102843) !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main .tool-decision-number {
  color: var(--text-accent-on-inverse, var(--lifa-gold-soft, #eed47d)) !important;
  -webkit-text-fill-color: var(--text-accent-on-inverse, var(--lifa-gold-soft, #eed47d)) !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main :is(.contact-list > div, .wechat-contact-card > div) {
  color: var(--comfort-copy, #465a70) !important;
  -webkit-text-fill-color: var(--comfort-copy, #465a70) !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main :is(.contact-list > div, .wechat-contact-card > div) strong {
  color: var(--comfort-ink, #102843) !important;
  -webkit-text-fill-color: var(--comfort-ink, #102843) !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body[data-page-family] main .wechat-contact-card .card-link {
  color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  -webkit-text-fill-color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body.home-page[data-page-family] main .hp-company-visual > span :where(strong) {
  color: var(--comfort-ink, #102843) !important;
  -webkit-text-fill-color: var(--comfort-ink, #102843) !important;
  text-shadow: none !important;
}

html:not(#lifa-light-foreground-a):not(#lifa-light-foreground-b):not(#lifa-light-foreground-c):not(#lifa-light-foreground-d):not(#lifa-light-foreground-e):not(#lifa-light-foreground-f):not(#lifa-light-foreground-g):not(#lifa-light-foreground-h)
  body.home-page[data-page-family] main .hp-company-visual > span :where(small) {
  color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  -webkit-text-fill-color: var(--text-accent-on-light, var(--lifa-gold-deep, #eed47d)) !important;
  text-shadow: none !important;
}

/* END LIGHT SURFACE FOREGROUND CONTRAST FINAL V15 */

/* -------------------------------------------------------------------------
   INTRINSIC FULL-FRAME CONTENT MEDIA FINAL V16

   Content imagery uses its declared intrinsic dimensions at full container
   width. This keeps every source fully visible while removing the unused
   bands produced when unlike source and frame ratios were combined with
   object-fit: contain. Hero carousel cropping remains outside this contract.
   ------------------------------------------------------------------------- */

:root {
  --content-media-ratio: auto;
  --content-media-fit: cover;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .process-feature-card,
    .media-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a
  ) > :is(img, picture) {
  align-self: start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-media-ratio) !important;
  background: transparent !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .process-feature-card,
    .media-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a
  ) > img,
html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .process-feature-card,
    .media-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a
  ) > picture > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-source-ratio, var(--content-media-ratio)) !important;
  object-fit: var(--content-media-fit) !important;
  object-position: center !important;
  background: transparent !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .process-feature-card,
    .media-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a
  ) > picture > img {
  aspect-ratio: var(--content-media-ratio) !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j).home-page[data-page-family] main .hp-company-visual {
  height: auto !important;
  grid-template-rows: auto auto !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-media-ratio) !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > img,
html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > picture > img,
html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main img[data-visual-role="support-illustration"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-source-ratio, var(--content-media-ratio)) !important;
  object-fit: var(--content-media-fit) !important;
  object-position: center !important;
  background: transparent !important;
  transform: none !important;
  filter: none !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main .home-route-media {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-media-ratio) !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main .home-route-media img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-source-ratio, var(--content-media-ratio)) !important;
  object-fit: var(--content-media-fit) !important;
  background: transparent !important;
}

html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > picture > img {
  aspect-ratio: var(--content-media-ratio) !important;
}

@media (max-width: 700px) {
  html body:not(#content-media-fill-a):not(#content-media-fill-b):not(#content-media-fill-c):not(#content-media-fill-d):not(#content-media-fill-e):not(#content-media-fill-f):not(#content-media-fill-g):not(#content-media-fill-h):not(#content-media-fill-i):not(#content-media-fill-j)[data-page-family] main
    .article-inline-image.image-frame:has(> figcaption) {
    grid-template-rows: auto auto !important;
  }
}

/* END INTRINSIC FULL-FRAME CONTENT MEDIA FINAL V16 */

/* -------------------------------------------------------------------------
   CANONICAL POST-HERO SIGNAL STRIP V3

   The About-page evidence strip is the sitewide component. Every page uses
   this geometry and interaction contract; only its four statements change.
   ------------------------------------------------------------------------- */

html body[data-page-family] .post-hero-signal-shell {
  --signal-strip-surface: var(--comfort-canvas);
  --signal-strip-hover: var(--comfort-paper);
  --signal-strip-ink: var(--comfort-ink);
  --signal-strip-copy: var(--comfort-muted);
  --signal-strip-rule: var(--comfort-rule);
  --signal-strip-rule-soft: var(--comfort-rule-soft);
  --signal-strip-accent: var(--comfort-gold);
  --signal-strip-focus: var(--color-ring);
  --signal-strip-content-width: 1180px;
  --signal-strip-badge-size: 40px;
  --signal-strip-item-min-height: 142px;
  position: relative;
  z-index: 5;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--signal-strip-copy) !important;
  background: var(--signal-strip-surface) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--signal-strip-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip {
  position: relative !important;
  left: auto !important;
  display: grid !important;
  width: 100% !important;
  min-height: 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 max(20px, calc((100% - var(--signal-strip-content-width)) / 2)) !important;
  overflow: hidden !important;
  color: var(--signal-strip-copy) !important;
  background: var(--signal-strip-surface) !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--signal-strip-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip::before {
  content: "" !important;
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  display: block !important;
  width: 100%;
  height: 2px !important;
  background: var(--signal-strip-accent) !important;
  pointer-events: none;
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item {
  position: relative;
  z-index: 1;
  display: grid !important;
  min-width: 0;
  min-height: var(--signal-strip-item-min-height) !important;
  grid-template-columns: var(--signal-strip-badge-size) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-content: start !important;
  align-items: start !important;
  padding: 20px 18px !important;
  overflow: hidden !important;
  color: var(--signal-strip-copy) !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--signal-strip-rule-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transform: none !important;
  transition: color 220ms ease, background-color 220ms ease, box-shadow 220ms ease !important;
  cursor: pointer;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:last-child {
  border-right: 0 !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item::before,
html body[data-page-family] .post-hero-signal-shell .signal-item::after {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item > div {
  min-width: 0;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:is(:hover, :focus-visible) {
  color: var(--signal-strip-ink) !important;
  background: var(--signal-strip-hover) !important;
  box-shadow: inset 0 -2px 0 var(--signal-strip-accent) !important;
  transform: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:focus-visible {
  z-index: 3;
  outline: 3px solid var(--signal-strip-focus) !important;
  outline-offset: -4px;
}

html body[data-page-family] .post-hero-signal-shell .lifa-number-badge,
html body[data-page-family] .post-hero-signal-shell .lifa-number-badge.lifa-badge--semantic {
  display: inline-grid !important;
  place-items: center;
  width: var(--signal-strip-badge-size) !important;
  height: var(--signal-strip-badge-size) !important;
  min-width: var(--signal-strip-badge-size) !important;
  min-height: var(--signal-strip-badge-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--signal-strip-ink) !important;
  background: var(--signal-strip-hover) !important;
  border: 1.5px solid color-mix(in srgb, var(--signal-strip-accent) 64%, transparent) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: var(--font-editorial) !important;
  font-size: .9rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center;
  transform: none !important;
  animation: none !important;
}

html body[data-page-family] .post-hero-signal-shell .lifa-number-badge::before {
  display: none !important;
  content: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item h3 {
  margin: 0 0 4px !important;
  color: var(--signal-strip-ink) !important;
  font-family: var(--font-editorial) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

html body[data-page-family] .post-hero-signal-shell .signal-item p {
  margin: 0 !important;
  color: var(--signal-strip-copy) !important;
  font-family: var(--font-reading) !important;
  font-size: .76rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 1100px) {
  html body[data-page-family] .post-hero-signal-shell > .signal-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body[data-page-family] .post-hero-signal-shell .signal-item:nth-child(2n) {
    border-right: 0 !important;
  }

  html body[data-page-family] .post-hero-signal-shell .signal-item:nth-child(-n + 2) {
    border-bottom: 1px solid var(--signal-strip-rule-soft) !important;
  }
}

@media (max-width: 700px) {
  html body[data-page-family] .post-hero-signal-shell > .signal-strip {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  html body[data-page-family] .post-hero-signal-shell .signal-item {
    min-height: 0 !important;
    padding: 20px 8px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--signal-strip-rule-soft) !important;
  }

  html body[data-page-family] .post-hero-signal-shell .signal-item:last-child {
    border-bottom: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family] .post-hero-signal-shell .signal-item,
  html body[data-page-family] .post-hero-signal-shell .lifa-number-badge {
    transform: none !important;
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* END CANONICAL POST-HERO SIGNAL STRIP V3 */

/* Semantic badges and homepage reading rules use legacy ID-weighted guards.
   Keep the canonical strip's reference colors above those global contracts. */
html body:not(#signal-parity-a):not(#signal-parity-b):not(#signal-parity-c):not(#signal-parity-d):not(#signal-parity-e):not(#signal-parity-f):not(#signal-parity-g):not(#signal-parity-h):not(#signal-parity-i):not(#signal-parity-j):not(#signal-parity-k):not(#signal-parity-l)[data-page-family]
  .post-hero-signal-shell :is(.lifa-number-badge, .lifa-number-badge.lifa-badge--semantic) {
  color: var(--signal-strip-ink) !important;
  -webkit-text-fill-color: var(--signal-strip-ink) !important;
  background: var(--signal-strip-hover) !important;
  border-color: color-mix(in srgb, var(--signal-strip-accent) 64%, transparent) !important;
  box-shadow: none !important;
}

html body:not(#signal-parity-a):not(#signal-parity-b):not(#signal-parity-c):not(#signal-parity-d):not(#signal-parity-e):not(#signal-parity-f):not(#signal-parity-g):not(#signal-parity-h):not(#signal-parity-i):not(#signal-parity-j):not(#signal-parity-k):not(#signal-parity-l)[data-page-family]
  .post-hero-signal-shell .signal-item p {
  color: var(--signal-strip-copy) !important;
  -webkit-text-fill-color: var(--signal-strip-copy) !important;
}

/* END CANONICAL POST-HERO SIGNAL STRIP SPECIFICITY LOCK */

/* ==========================================================================
   SITEWIDE CENTERED TABLE AND STANDALONE ACTION CONTRACT

   Editorial tables share the reading column instead of inheriting one-sided
   page offsets. Wide records keep their own horizontal scroll region. Action
   groups that sit directly in article sections use compact, balanced rows;
   action groups inside the dedicated tool band retain their rail layout.
   ========================================================================== */

:root {
  --decision-table-max-width: 1180px;
  --standalone-action-row-max-width: 760px;
  --standalone-action-button-max-width: 360px;
}

/* The inert ID branch raises this final contract above legacy ID-weighted
   cascade locks while the html branch is the selector that actually matches. */
:is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
  body[data-page-family]:not(.home-page) main :is(
    .table-scroll,
    .table-wrap,
    .guide-table-wrap,
    .compare-wrap,
    .inspection-compare-wrap,
    .responsive-table-wrap,
    .comparison-table-wrap
  ) {
  width: min(100%, var(--decision-table-max-width)) !important;
  max-width: var(--decision-table-max-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  background: var(--lifa-white) !important;
  border: 1px solid var(--decision-table-border, var(--lifa-line)) !important;
  border-radius: var(--decision-table-radius, var(--premium-card-radius)) !important;
  box-shadow: var(--decision-table-shadow, 0 14px 30px rgba(7, 17, 30, .08)) !important;
  -webkit-overflow-scrolling: touch;
}

/* Older guides include a small number of classless tables. Their nearest
   content column still owns overflow, while this fallback guarantees the
   table itself uses the same centered maximum measure. */
:is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
  body[data-page-family]:not(.home-page) main table {
  max-width: var(--decision-table-max-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

:is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
  body[data-page-family]:not(.home-page) main :is(
    .table-scroll,
    .table-wrap,
    .guide-table-wrap,
    .compare-wrap,
    .inspection-compare-wrap,
    .responsive-table-wrap,
    .comparison-table-wrap
  ) > table {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* A legacy intrinsic-width guard can otherwise reset a section container when
   an action group is its direct child. Keep that section on the site grid. */
:is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
  body[data-page-family]:not(.home-page) main > .section > .container:has(> .article-tool-actions) {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

:is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
  body[data-page-family]:not(.home-page) main :not(.article-tool-band) > .article-tool-actions {
  display: flex !important;
  width: min(100%, var(--standalone-action-row-max-width)) !important;
  max-width: var(--standalone-action-row-max-width) !important;
  flex-flow: row wrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 24px auto 0 !important;
}

:is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
  body[data-page-family]:not(.home-page) main :not(.article-tool-band) > .article-tool-actions > :is(.btn, .button, button, a) {
  width: auto !important;
  min-width: 0 !important;
  max-width: var(--standalone-action-button-max-width) !important;
  flex: 1 1 280px !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  :is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
    body[data-page-family]:not(.home-page) main :not(.article-tool-band) > .article-tool-actions {
    width: min(100%, var(--standalone-action-button-max-width)) !important;
    flex-flow: column nowrap !important;
    gap: 10px !important;
  }

  :is(#lifa-centered-table-a#lifa-centered-table-b#lifa-centered-table-c#lifa-centered-table-d#lifa-centered-table-e#lifa-centered-table-f, html)
    body[data-page-family]:not(.home-page) main :not(.article-tool-band) > .article-tool-actions > :is(.btn, .button, button, a) {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }
}

/* END SITEWIDE CENTERED TABLE AND STANDALONE ACTION CONTRACT */

/* ==========================================================================
   SITEWIDE OPERATIONAL CHECKLIST CONTRACT

   Buyer checklists use one quiet decision-record surface. Compact editorial
   titles, paired-row alignment, and restrained approval marks keep the content
   scannable without turning each instruction into an oversized floating card.
   ========================================================================== */

:root {
  --operational-checklist-max-width: 1180px;
  --operational-checklist-icon-size: 36px;
  --operational-checklist-item-padding: 24px;
  --operational-checklist-item-gap: 16px;
  --operational-checklist-title-size: 1.16rem;
  --operational-checklist-radius: 4px;
  --operational-checklist-rule: var(--lifa-line);
  --operational-checklist-surface: var(--lifa-white);
  --operational-checklist-marker-surface: #fbf7e9;
  --operational-checklist-marker-ink: #eed47d;
  --operational-checklist-shadow: 0 12px 28px rgba(7, 17, 30, .06);
}

/* The inert ID branch keeps this final component contract above the imported
   page-era rules; the html branch is the selector that matches at runtime. */
:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid) {
  display: grid !important;
  width: min(100%, var(--operational-checklist-max-width)) !important;
  max-width: var(--operational-checklist-max-width) !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  overflow: hidden !important;
  background: var(--operational-checklist-surface) !important;
  border: 1px solid var(--operational-checklist-rule) !important;
  border-radius: var(--operational-checklist-radius) !important;
  box-shadow: var(--operational-checklist-shadow) !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid.two-column) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid)
  > :is(.checklist-item, .check-item) {
  display: grid !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  grid-template-columns: var(--operational-checklist-icon-size) minmax(0, 1fr) !important;
  align-self: stretch !important;
  align-items: start !important;
  gap: var(--operational-checklist-item-gap) !important;
  margin: 0 !important;
  padding: var(--operational-checklist-item-padding) !important;
  color: var(--lifa-muted) !important;
  background: var(--operational-checklist-surface) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid.two-column)
  > :is(.checklist-item, .check-item):nth-child(even) {
  border-left: 1px solid var(--operational-checklist-rule) !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid.two-column)
  > :is(.checklist-item, .check-item):nth-child(n + 3) {
  border-top: 1px solid var(--operational-checklist-rule) !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid)
  > :is(.checklist-item, .check-item) > :is(.checklist-icon, .lifa-number-badge) {
  display: inline-flex !important;
  width: var(--operational-checklist-icon-size) !important;
  height: var(--operational-checklist-icon-size) !important;
  min-width: var(--operational-checklist-icon-size) !important;
  min-height: var(--operational-checklist-icon-size) !important;
  flex: 0 0 var(--operational-checklist-icon-size) !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  color: var(--operational-checklist-marker-ink) !important;
  -webkit-text-fill-color: var(--operational-checklist-marker-ink) !important;
  background: var(--operational-checklist-marker-surface) !important;
  border: 1px solid rgba(238, 212, 125, .62) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main .checklist > .checklist-item :is(h3, h4) {
  margin: 0 0 6px !important;
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  font-family: var(--font-editorial) !important;
  font-size: var(--operational-checklist-title-size) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

:is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
  body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid)
  > :is(.checklist-item, .check-item) p {
  max-width: 62ch !important;
  margin: 0 !important;
  color: var(--lifa-muted) !important;
  -webkit-text-fill-color: var(--lifa-muted) !important;
  font-family: var(--font-reading) !important;
  font-size: .96rem !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  letter-spacing: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

@media (max-width: 820px) {
  :root {
    --operational-checklist-icon-size: 34px;
    --operational-checklist-item-padding: 20px;
    --operational-checklist-item-gap: 14px;
    --operational-checklist-title-size: 1.1rem;
  }

  :is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
    body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid.two-column) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  :is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
    body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid)
    > :is(.checklist-item, .check-item) {
    border-left: 0 !important;
    border-top: 0 !important;
  }

  :is(#lifa-checklist-a#lifa-checklist-b#lifa-checklist-c#lifa-checklist-d#lifa-checklist-e#lifa-checklist-f, html)
    body[data-page-family]:not(.home-page) main :is(.checklist, .checklist-grid)
    > :is(.checklist-item, .check-item) + :is(.checklist-item, .check-item) {
    border-top: 1px solid var(--operational-checklist-rule) !important;
  }
}

/* END SITEWIDE OPERATIONAL CHECKLIST CONTRACT */

/* ==========================================================================
   SITEWIDE HERO AND CONTENT SIGNATURE WRITING CONTRACT

   Reey is a controlled brand accent: only the authored gold phrase in a
   masthead and four selected section-title phrases per page receive it.
   Surrounding heading copy keeps the editorial serif hierarchy.
   ========================================================================== */

:root {
  --signature-writing-font: var(--font-signature, "Reey", cursive);
  --signature-writing-hero-color: var(--lifa-official-gold);
  --signature-writing-content-color: var(--lifa-official-gold);
  --signature-writing-inverse-color: var(--lifa-official-gold);
  --signature-writing-hero-size: .84em;
  --signature-writing-content-size: .8em;
  --signature-writing-whole-title-size: .88em;
  --signature-writing-shadow: none;
}

/* Parent filters also cast shadows on the signature's rendered glyphs. */
:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body :is(section.hero, .tool-page-hero) .hero-content:has(h1 > em) {
  filter: none !important;
}

/* The inert ID branch gives this final component contract precedence over the
   imported page-era rules; only the html branch matches in the document. */
:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body :is(section.hero, .tool-page-hero) .hero-content h1 > :is(em.hero-highlight, em[data-hero-signature]),
:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body.home-page main #home-hero .hero-content h1 > em,
:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body main .article-header h1 > em.hero-highlight {
  color: var(--signature-writing-hero-color) !important;
  -webkit-text-fill-color: var(--signature-writing-hero-color) !important;
  font-family: var(--signature-writing-font) !important;
  font-size: var(--signature-writing-hero-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-decoration: none !important;
  text-shadow: var(--signature-writing-shadow) !important;
}

:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body:not(.home-page) :is(section.hero, .tool-page-hero) .hero-content h1:has(> :is(em.hero-highlight, em[data-hero-signature])),
:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body main .article-header h1:has(> em.hero-highlight) {
  padding-bottom: .82em !important;
}

:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body[data-page-family^="case-study"] main .article-header h1 > em.hero-highlight {
  color: var(--signature-writing-content-color) !important;
  -webkit-text-fill-color: var(--signature-writing-content-color) !important;
  text-shadow: none !important;
}

:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body main h2:has(> .content-signature) {
  text-wrap: balance;
}

:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body main h2 > .content-signature[data-content-signature="true"] {
  color: var(--signature-writing-content-color) !important;
  -webkit-text-fill-color: var(--signature-writing-content-color) !important;
  font-family: var(--signature-writing-font) !important;
  font-size: var(--signature-writing-content-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-decoration: none !important;
}

:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body main h2 > .content-signature[data-content-signature="true"]:only-child {
  font-size: var(--signature-writing-whole-title-size) !important;
}

:is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
  body main :is(.article-header, .section-dark, .section-navy, .dark-section, .process-showcase, .cta-band, .final-cta)
  h2 > .content-signature[data-content-signature="true"] {
  color: var(--signature-writing-inverse-color) !important;
  -webkit-text-fill-color: var(--signature-writing-inverse-color) !important;
}

@media (max-width: 700px) {
  :root {
    --signature-writing-hero-size: .8em;
    --signature-writing-content-size: .76em;
    --signature-writing-whole-title-size: .84em;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(#lifa-signature-a#lifa-signature-b#lifa-signature-c#lifa-signature-d#lifa-signature-e#lifa-signature-f, html)
    body main :is(.hero-highlight, [data-hero-signature], .content-signature) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* END SITEWIDE HERO AND CONTENT SIGNATURE WRITING CONTRACT */

/* ==========================================================================
   OFFICIAL LIFA GOLD COLOR CONTRACT

   #eed47d is the sole solid gold in the browser-facing design system. Legacy
   aliases remain available for imported pages, but all resolve to this token.
   Alpha variants use the same RGB channels for quiet borders and washes.
   ========================================================================== */

:root {
  --lifa-official-gold: #eed47d;
  --color-accent: var(--lifa-official-gold);
  --color-ring: var(--lifa-official-gold);
  --gold: var(--lifa-official-gold);
  --gold-dark: var(--lifa-official-gold);
  --gold-light: var(--lifa-official-gold);
  --muted-gold: var(--lifa-official-gold);
  --hero-gold-text: var(--lifa-official-gold);
  --lifa-gold: var(--lifa-official-gold);
  --lifa-gold-dark: var(--lifa-official-gold);
  --lifa-gold-deep: var(--lifa-official-gold);
  --lifa-gold-light: var(--lifa-official-gold);
  --lifa-gold-soft: var(--lifa-official-gold);
  --button-gold-400: var(--lifa-official-gold);
  --button-gold-600: var(--lifa-official-gold);
  --form-gold: var(--lifa-official-gold);
  --form-gold-light: var(--lifa-official-gold);
  --inquiry-gold: var(--lifa-official-gold);
  --inquiry-gold-soft: var(--lifa-official-gold);
  --page-gold: var(--lifa-official-gold);
  --page-gold-light: var(--lifa-official-gold);
  --polish-gold: var(--lifa-official-gold);
  --polish-gold-light: var(--lifa-official-gold);
  --comfort-gold: var(--lifa-official-gold);
  --comfort-gold-deep: var(--lifa-official-gold);
  --hp-gold: var(--lifa-official-gold);
  --hp-gold-light: var(--lifa-official-gold);
  --hp-parity-gold: var(--lifa-official-gold);
  --p1-gold: var(--lifa-official-gold);
  --p1-gold-light: var(--lifa-official-gold);
  --freight-gold: var(--lifa-official-gold);
  --freight-gold-deep: var(--lifa-official-gold);
  --resource-gold: var(--lifa-official-gold);
  --resource-gold-soft: var(--lifa-official-gold);
  --readable-card-gold: var(--lifa-official-gold);
  --readable-card-gold-light: var(--lifa-official-gold);
  --numeric-badge-gold-400: var(--lifa-official-gold);
  --numeric-badge-gold-600: var(--lifa-official-gold);
  --action-gold-start: var(--lifa-official-gold);
  --action-gold-end: var(--lifa-official-gold);
  --home-signal-gold: var(--lifa-official-gold);
  --text-accent-on-light: var(--lifa-official-gold);
  --text-accent-on-inverse: var(--lifa-official-gold);
  --visual-card-accent: var(--lifa-official-gold);
  --process-accent: var(--lifa-official-gold);
  --process-accent-strong: var(--lifa-official-gold);
  --operational-checklist-marker-ink: var(--lifa-official-gold);
  --site-signature-on-paper: var(--lifa-official-gold);
  --site-signature-on-navy: var(--lifa-official-gold);
  --signature-writing-hero-color: var(--lifa-official-gold);
  --signature-writing-content-color: var(--lifa-official-gold);
  --signature-writing-inverse-color: var(--lifa-official-gold);
  --home-gold-rule: rgba(238, 212, 125, .46);
  --pc-gold-edge: rgba(238, 212, 125, .42);
  --pc-gold-wash: rgba(238, 212, 125, .07);
}

/* END OFFICIAL LIFA GOLD COLOR CONTRACT */

/* Small operational text on white remains navy. Gold stays on its rule,
   border, badge, or surface, so no darker substitute gold is introduced. */
:is(#lifa-official-gold-a#lifa-official-gold-b#lifa-official-gold-c#lifa-official-gold-d#lifa-official-gold-e#lifa-official-gold-f#lifa-official-gold-g#lifa-official-gold-h#lifa-official-gold-i#lifa-official-gold-j#lifa-official-gold-k#lifa-official-gold-l, html)
  body .site-header .nav-item > a:is(.active, [aria-current="page"]),
:is(#lifa-official-gold-a#lifa-official-gold-b#lifa-official-gold-c#lifa-official-gold-d#lifa-official-gold-e#lifa-official-gold-f#lifa-official-gold-g#lifa-official-gold-h#lifa-official-gold-i#lifa-official-gold-j#lifa-official-gold-k#lifa-official-gold-l, html)
  body main .card-link,
:is(#lifa-official-gold-a#lifa-official-gold-b#lifa-official-gold-c#lifa-official-gold-d#lifa-official-gold-e#lifa-official-gold-f#lifa-official-gold-g#lifa-official-gold-h#lifa-official-gold-i#lifa-official-gold-j#lifa-official-gold-k#lifa-official-gold-l, html)
  body main .checklist-icon {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
}

/* ==========================================================================
   ACCESSIBLE OFFICIAL GOLD SURFACE PAIRING FINAL V17

   Official gold remains the single gold primitive. It is readable on navy
   and stays available for borders, rules, washes, and inverse accents. Text
   roles rendered on white or cool-paper surfaces use LIFA navy instead.
   Content-title signatures reuse the hero's official-gold writing treatment.
   ========================================================================== */

:root {
  --text-accent-on-light: var(--lifa-navy);
  --text-accent-on-inverse: var(--lifa-official-gold);
  --comfort-gold-deep: var(--lifa-navy);
  --faq-number: var(--lifa-navy);
  --freight-caption-accent: var(--lifa-navy);
  --visual-card-accent: var(--lifa-navy);
  --process-accent-strong: var(--lifa-navy);
  --resource-gold: var(--lifa-navy);
  --resource-gold-soft: var(--lifa-navy);
  --readable-card-gold: var(--lifa-navy);
  --readable-card-gold-light: var(--lifa-navy);
  --freight-gold-deep: var(--lifa-navy);
  --operational-checklist-marker-ink: var(--lifa-navy);
  --site-signature-on-paper: var(--lifa-navy);
  --site-signature-on-navy: var(--lifa-official-gold);
  --signature-writing-content-color: var(--lifa-official-gold);
  --signature-writing-hero-color: var(--lifa-official-gold);
  --signature-writing-inverse-color: var(--lifa-official-gold);
}

/* Imported page layers can load after this stylesheet and carry deliberate
   specificity guards. This matching guard owns only foregrounds that now sit
   on white or cool-paper surfaces after the sitewide light-surface migration. */
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body main .knowledge-visual-kicker,
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main :is(.home-route-stage, .home-route-link > span, .hp-company-link-arrow),
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main .hp-company-facts > a > span,
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main :is(.home-category-card, .hp-company-visual, .home-freight-visual) > span :is(small, b),
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main .home-industry-grid > a > div :is(small, strong),
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main :is(.home-dossier-stage > a > span, .home-role-band b),
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main .home-service-group > header :is(span, small),
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body.home-page main .home-knowledge-panel > a > span,
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body main .faq-question > span {
  color: var(--lifa-navy) !important;
  -webkit-text-fill-color: var(--lifa-navy) !important;
  text-shadow: none !important;
}

/* The shared footer carries one authored signature accent. Its component token
   follows the same official-gold and Reey contract as hero and section copy. */
:is(#lifa-footer-signature-a#lifa-footer-signature-b#lifa-footer-signature-c#lifa-footer-signature-d#lifa-footer-signature-e#lifa-footer-signature-f, html)
  body[data-page-family] .site-footer[data-footer-system="v7"] .footer-statement em.footer-signature[data-footer-signature="true"] {
  display: inline-block !important;
  color: var(--lifa-official-gold) !important;
  -webkit-text-fill-color: var(--lifa-official-gold) !important;
  font-family: var(--signature-writing-font) !important;
  font-size: 1.16em !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: var(--signature-writing-shadow) !important;
}

@media (max-width: 700px) {
  :is(#lifa-footer-signature-a#lifa-footer-signature-b#lifa-footer-signature-c#lifa-footer-signature-d#lifa-footer-signature-e#lifa-footer-signature-f, html)
    body[data-page-family] .site-footer[data-footer-system="v7"] .footer-statement em.footer-signature[data-footer-signature="true"] {
    font-size: 1.08em !important;
    line-height: 1 !important;
  }
}

/* Authored signature writing shares the hero's scale and rhythm without
   shadows or outlines, preserving the original letterforms. */
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body main h2 > .content-signature[data-content-signature="true"] {
  color: var(--signature-writing-content-color) !important;
  -webkit-text-fill-color: var(--signature-writing-content-color) !important;
  font-size: var(--signature-writing-hero-size) !important;
  line-height: 1.18 !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: var(--signature-writing-shadow) !important;
}

/* True inverse sections retain official gold with strong navy contrast. */
:is(#lifa-accessible-gold-a#lifa-accessible-gold-b#lifa-accessible-gold-c#lifa-accessible-gold-d#lifa-accessible-gold-e#lifa-accessible-gold-f#lifa-accessible-gold-g#lifa-accessible-gold-h#lifa-accessible-gold-i#lifa-accessible-gold-j#lifa-accessible-gold-k#lifa-accessible-gold-l#lifa-accessible-gold-m#lifa-accessible-gold-n#lifa-accessible-gold-o#lifa-accessible-gold-p#lifa-accessible-gold-q#lifa-accessible-gold-r#lifa-accessible-gold-s#lifa-accessible-gold-t, html)
  body main :is(.article-header, .section-dark, .section-navy, .dark-section, .cta-band, .final-cta)
  h2 > .content-signature[data-content-signature="true"] {
  color: var(--lifa-official-gold) !important;
  -webkit-text-fill-color: var(--lifa-official-gold) !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: var(--signature-writing-shadow) !important;
}

/* END ACCESSIBLE OFFICIAL GOLD SURFACE PAIRING FINAL V17 */

/* ==========================================================================
   SITEWIDE COMPACT RECURRING MEDIA CARDS FINAL V18

   The recurring process showcase and three-card evidence rows now share the
   homepage directory scale. Source-image proportions no longer change card
   height, copy uses stable reading rails, and motion stays deliberately short.
   Directory hubs with data-card-visual-family keep their opt-in contract.
   ========================================================================== */

:root {
  --sitewide-content-card-grid-max: 1160px;
  --sitewide-content-card-media-ratio: 16 / 10;
  --sitewide-content-card-copy-padding: 22px;
  --sitewide-content-card-title-lines: 2;
  --sitewide-content-card-copy-lines: 5;
  --sitewide-process-card-title-lines: 3;
  --sitewide-content-card-radius: 6px;
  --sitewide-content-card-gap: clamp(16px, 1.5vw, 20px);
  --sitewide-content-card-motion: 220ms cubic-bezier(.22, 1, .36, 1);
}

/* The sentinel IDs give this shared final layer authority over generated
   page-family selectors without adding hooks to hundreds of documents. */
html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main section.process-showcase {
  color: var(--lifa-muted, #607086) !important;
  background: var(--comfort-canvas, var(--lifa-paper, #f7f9fc)) !important;
  border-color: rgba(15, 30, 54, .12) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-showcase .section-heading :is(h2, h3) {
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-showcase .section-heading p {
  color: var(--lifa-muted, #607086) !important;
  -webkit-text-fill-color: var(--lifa-muted, #607086) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-showcase-layout {
  display: grid !important;
  width: min(100%, var(--sitewide-content-card-grid-max)) !important;
  margin-inline: auto !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: var(--sitewide-content-card-gap) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-card {
  display: grid !important;
  height: 100% !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--lifa-muted, #607086) !important;
  background: var(--lifa-white, #fff) !important;
  border: 1px solid rgba(15, 30, 54, .14) !important;
  border-radius: var(--sitewide-content-card-radius) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .08) !important;
  clip-path: none !important;
  transform: none !important;
  translate: 0 0;
  scale: 1;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-card > :is(img, picture) {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  grid-row: 1 !important;
  aspect-ratio: var(--sitewide-content-card-media-ratio) !important;
  overflow: hidden !important;
  object-fit: cover !important;
  object-position: center !important;
  background: var(--lifa-paper, #f7f9fc) !important;
  transform: none !important;
  filter: saturate(.94) contrast(1.02) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-card > picture > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-content {
  display: flex !important;
  min-height: 0 !important;
  padding: var(--sitewide-content-card-copy-padding) !important;
  grid-row: 2 !important;
  flex-direction: column !important;
  color: var(--lifa-muted, #607086) !important;
  background: var(--lifa-white, #fff) !important;
  border-top: 2px solid var(--lifa-gold, #eed47d) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-content .eyebrow {
  margin: 0 0 10px !important;
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
  font-size: .68rem !important;
  letter-spacing: 0 !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-content h3 {
  display: -webkit-box !important;
  min-height: 3.45em !important;
  height: 3.45em !important;
  max-height: 3.45em !important;
  margin: 0 0 10px !important;
  overflow: hidden !important;
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
  font-size: clamp(1.35rem, 1.75vw, 1.62rem) !important;
  line-height: 1.15 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--sitewide-process-card-title-lines);
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-feature-content p {
  display: -webkit-box !important;
  min-height: 6.32em !important;
  height: 6.32em !important;
  max-height: 6.32em !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--lifa-muted, #607086) !important;
  -webkit-text-fill-color: var(--lifa-muted, #607086) !important;
  font-size: .9rem !important;
  line-height: 1.58 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-stack {
  display: grid !important;
  height: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--sitewide-content-card-gap) !important;
  border: 0 !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-stack > .process-info-card {
  display: grid !important;
  height: 100% !important;
  min-height: 0 !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 12px 16px !important;
  padding: 22px !important;
  overflow: hidden !important;
  color: var(--lifa-muted, #607086) !important;
  background: var(--lifa-white, #fff) !important;
  border: 1px solid rgba(15, 30, 54, .14) !important;
  border-radius: var(--sitewide-content-card-radius) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .08) !important;
  transform: none !important;
  translate: 0 0;
  scale: 1;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-stack > .process-info-card::before {
  top: 0 !important;
  left: 0 !important;
  width: 44px !important;
  height: 2px !important;
  background: var(--lifa-gold, #eed47d) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-stack > .process-info-card::after {
  display: none !important;
  content: none !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-card .process-info-icon {
  display: inline-flex !important;
  width: 48px !important;
  height: 48px !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
  background: var(--comfort-paper, #f7f9fc) !important;
  border: 1px solid var(--lifa-gold, #eed47d) !important;
  border-radius: var(--sitewide-content-card-radius) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-card h3 {
  display: -webkit-box !important;
  min-height: 2.3em !important;
  height: 2.3em !important;
  max-height: 2.3em !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
  font-size: clamp(1.22rem, 1.55vw, 1.48rem) !important;
  line-height: 1.15 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--sitewide-content-card-title-lines);
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .process-info-card p {
  display: -webkit-box !important;
  min-height: 10.85em !important;
  height: 10.85em !important;
  max-height: 10.85em !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--lifa-muted, #607086) !important;
  -webkit-text-fill-color: var(--lifa-muted, #607086) !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.image-grid, .grid):has(> :is(.media-card, .media-card-link)) {
  display: grid !important;
  width: min(100%, var(--sitewide-content-card-grid-max)) !important;
  margin-inline: auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  gap: var(--sitewide-content-card-gap) !important;
  overflow: visible !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.image-grid, .grid):has(> :is(.media-card, .media-card-link)) > :is(.media-card, .media-card-link) {
  min-width: 0 !important;
  min-height: 100% !important;
  height: 100% !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main .media-card-link {
  display: flex !important;
  color: inherit !important;
  text-decoration: none !important;
  transform: none !important;
  translate: 0 0;
  scale: 1;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card):has(> :is(div, figcaption)) {
  display: grid !important;
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  overflow: hidden !important;
  color: var(--lifa-muted, #607086) !important;
  background: var(--lifa-white, #fff) !important;
  border: 1px solid rgba(15, 30, 54, .14) !important;
  border-radius: var(--sitewide-content-card-radius) !important;
  box-shadow: 0 10px 28px rgba(7, 17, 30, .08) !important;
  transform: none !important;
  translate: 0 0;
  scale: 1;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card):has(> :is(div, figcaption)) > :is(img, picture) {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  aspect-ratio: var(--sitewide-content-card-media-ratio) !important;
  overflow: hidden !important;
  object-fit: cover !important;
  object-position: center !important;
  background: var(--lifa-paper, #f7f9fc) !important;
  transform: none !important;
  filter: saturate(.94) contrast(1.02) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card) > picture > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card):has(> :is(div, figcaption)) > :is(div, figcaption) {
  display: flex !important;
  min-height: 0 !important;
  padding: var(--sitewide-content-card-copy-padding) !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  flex-direction: column !important;
  color: var(--lifa-muted, #607086) !important;
  background: var(--lifa-white, #fff) !important;
  border: 0 !important;
  border-top: 2px solid var(--lifa-gold, #eed47d) !important;
  text-shadow: none !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card) :is(h3, h4) {
  display: -webkit-box !important;
  min-height: 2.3em !important;
  height: 2.3em !important;
  max-height: 2.3em !important;
  margin: 0 0 11px !important;
  overflow: hidden !important;
  color: var(--lifa-navy, #0f1e36) !important;
  -webkit-text-fill-color: var(--lifa-navy, #0f1e36) !important;
  font-size: clamp(1.24rem, 1.55vw, 1.48rem) !important;
  line-height: 1.15 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--sitewide-content-card-title-lines);
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card) p {
  display: -webkit-box !important;
  min-height: 7.9em !important;
  height: 7.9em !important;
  max-height: 7.9em !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--lifa-muted, #607086) !important;
  -webkit-text-fill-color: var(--lifa-muted, #607086) !important;
  font-size: .9rem !important;
  line-height: 1.58 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--sitewide-content-card-copy-lines);
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link, a.media-card, .process-feature-card, .process-info-card):is(:hover, :focus-visible) {
  transform: none !important;
  translate: 0 -3px !important;
  scale: 1.004 !important;
  border-color: rgba(238, 212, 125, .72) !important;
  box-shadow: 0 16px 36px rgba(7, 17, 30, .12) !important;
}

html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
  body[data-page-family]:not(.home-page) main :is(.media-card-link > .media-card, a.media-card, figure.media-card, .process-feature-card):is(:hover, :focus-within) > :is(img, picture) {
  transform: none !important;
  filter: saturate(1.01) contrast(1.025) !important;
}

@media (max-width: 1020px) {
  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main :is(.image-grid, .grid):has(> :is(.media-card, .media-card-link)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main .process-showcase-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main .process-info-stack {
    height: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
  }
}

@media (max-width: 700px) {
  :root {
    --sitewide-content-card-copy-padding: 20px;
  }

  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main .process-feature-content p {
    min-height: 11.06em !important;
    height: 11.06em !important;
    max-height: 11.06em !important;
    -webkit-line-clamp: 7;
  }

  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main :is(.image-grid, .grid):has(> :is(.media-card, .media-card-link)),
  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main .process-info-stack {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main .process-info-stack > .process-info-card {
    height: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not(#compact-content-card-a):not(#compact-content-card-b):not(#compact-content-card-c):not(#compact-content-card-d):not(#compact-content-card-e):not(#compact-content-card-f):not(#compact-content-card-g):not(#compact-content-card-h):not(#compact-content-card-i):not(#compact-content-card-j):not(#compact-content-card-k):not(#compact-content-card-l)
    body[data-page-family]:not(.home-page) main :is(.media-card-link, .media-card, .process-feature-card, .process-info-card) {
    transform: none !important;
    translate: 0 0 !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
  }
}

/* END SITEWIDE COMPACT RECURRING MEDIA CARDS FINAL V18 */

/* SITEWIDE GREEN DOT SYSTEM V19
   Small circular markers share one green treatment. Brand gold remains on
   actions, focus rings, rules, icon surfaces, and numbered badges. */
:root {
  --lifa-dot-green-bright: #3adc72;
  --lifa-dot-green: #1fa855;
  --lifa-dot-green-fill: linear-gradient(145deg, var(--lifa-dot-green-bright), var(--lifa-dot-green));
  --lifa-dot-green-halo: rgba(58, 220, 114, .16);
  --lifa-dot-green-glow: rgba(58, 220, 114, .48);
}

html body :is(
  .lifa-ai-subtitle > span,
  .ai-desk-status-dot,
  .home-page .home-hero .hpv2-hero-kicker-dot,
  .home-page .home-digital-browser > span
),
html body.home-page .home-hero .hero-credentials li::before,
html body.home-page .home-market-grid a::after,
html body.home-page .home-tool-grid a::after,
html body .feature-list li::before,
html body .file-count-badge::before,
html body .hero-fx-frame::after,
html body .hero .hero-content .eyebrow::before,
html body.home-page .home-quality-checks li::before,
html body .article-meta-inner span + span::before,
html body .hero:not(.home-hero) .hero-content .blog-hero-list li::before,
html body .tool-decision-details li::before {
  background: var(--lifa-dot-green-fill) !important;
}

html body:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero)
  :is(.blog-hero-list, .hero-credentials) li::before {
  background: var(--lifa-dot-green-fill) !important;
}

html body :is(
  .home-page .home-hero .hpv2-hero-kicker-dot,
  .ai-desk-status-dot
) {
  box-shadow: 0 0 0 4px var(--lifa-dot-green-halo) !important;
}

html body.home-page .home-hero .hero-office-card[data-state="open"] .hero-status-dot {
  background: var(--lifa-dot-green-fill) !important;
  box-shadow: 0 0 0 4px var(--lifa-dot-green-halo) !important;
}

html body.home-page .home-hero .hero-office-card[data-state="open"] .hero-status-dot::after {
  border-color: rgba(58, 220, 114, .52) !important;
}

html body.home-page .home-hero .hero-office-card:is(
  [data-state="closed"],
  [data-state="checking"]
) .hero-status-dot {
  background: var(--lifa-official-gold, #eed47d) !important;
  box-shadow: 0 0 0 4px rgba(238, 212, 125, .16) !important;
}

html body.home-page .home-market-grid a::after {
  box-shadow: 0 0 0 6px var(--lifa-dot-green-halo) !important;
}

html body.home-page .home-tool-grid a::after {
  box-shadow: 0 0 0 5px var(--lifa-dot-green-halo) !important;
}

html body .hero-fx-frame::after,
html body .hero .hero-content .eyebrow::before {
  box-shadow: 0 0 0 4px var(--lifa-dot-green-halo),
    0 0 10px var(--lifa-dot-green-glow) !important;
}

html body .dropdown-panel a::before,
html body .site-network .network-meta::before {
  background: var(--lifa-dot-green-halo) !important;
  border-color: var(--lifa-dot-green) !important;
}

html body .dropdown-panel a:is(:hover, :focus-visible)::before {
  background: var(--lifa-dot-green-fill) !important;
}

html body .kc-timeline-item::before,
html body.home-page .home-freight-board article::before,
html body.home-page .home-handoff article::before,
html body.home-page .home-handoff > div::before,
html body.home-page .home-handoff > li::before,
html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line::before,
html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line::after {
  border-color: var(--lifa-dot-green) !important;
}

html body .kc-timeline-item::before {
  box-shadow: 0 0 0 4px var(--lifa-dot-green-halo) !important;
}

html body.home-page .home-perspective-timeline article::before {
  background: var(--lifa-dot-green-fill) !important;
}

html body.home-page :is(.hero-carousel-indicators, [data-hero-indicators])
  button[aria-current="true"] {
  background: var(--lifa-dot-green-fill) !important;
  border-color: var(--lifa-dot-green) !important;
  box-shadow: 0 0 0 4px var(--lifa-dot-green-halo) !important;
}

/* END SITEWIDE GREEN DOT SYSTEM V19 */

/* START SEARCH ANSWER OUTLINES V1 */
.answer-outline .container,
.case-evidence-map .container {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding-top: clamp(1.25rem, 3vw, 2rem);
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
}

.answer-outline h2,
.case-evidence-map h2 {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  margin: 0 0 0.85rem;
}

.answer-outline ul {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding-left: 1.25rem;
}

.search-decision-figure {
  margin: 1rem 0 0;
}

.search-decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--border);
}

.search-decision-grid > div {
  display: grid;
  gap: 0.4rem;
  align-content: start;
  min-width: 0;
  padding: 1rem;
  background: var(--surface);
}

.search-decision-grid span,
.search-decision-figure figcaption {
  color: var(--muted);
}

.search-decision-figure figcaption {
  margin-top: 0.65rem;
  font-size: 0.875rem;
}

@media (max-width: 720px) {
  .search-decision-grid {
    grid-template-columns: 1fr;
  }
}
/* END SEARCH ANSWER OUTLINES V1 */

/* SITEWIDE EDGE-TO-EDGE CONTENT MEDIA FRAMES FINAL V20
   Supporting photographs fill their frame without an accidental text-card
   inset. Their intrinsic ratio remains authoritative, so the full source stays
   visible instead of being cropped into a generic card ratio. Hero carousels,
   logos, icons, QR codes, and other purpose-built media remain unchanged. */
html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
  :is(.media-card, .process-feature-card):has(> :is(img, picture)) {
  padding: 0 !important;
}

html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
  .media-card-link > .media-card:not(:has(> :is(div, figcaption))) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(15, 30, 54, .14) !important;
  border-radius: 6px !important;
}

html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
  :is(
    .article-inline-image.image-frame,
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
  :is(
    .media-card,
    .process-feature-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a,
    .article-inline-image.image-frame,
    .image-frame,
    .feature-image,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image,
    .home-route-media
  ) > picture {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
  :is(
    .media-card,
    .process-feature-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a,
    .article-inline-image.image-frame,
    .image-frame,
    .feature-image,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image,
    .home-route-media
  ) > img,
html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
  :is(
    .media-card,
    .process-feature-card,
    .home-category-card,
    .hp-company-visual,
    .home-freight-visual,
    .home-industry-grid > a,
    .article-inline-image.image-frame,
    .image-frame,
    .feature-image,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image,
    .home-route-media
  ) > picture > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--content-source-ratio, auto) !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

@media (max-width: 430px) {
  html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
    .compact-visual-brief__figure {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }

  html body:not(#content-media-edge-a):not(#content-media-edge-b):not(#content-media-edge-c):not(#content-media-edge-d):not(#content-media-edge-e):not(#content-media-edge-f):not(#content-media-edge-g):not(#content-media-edge-h):not(#content-media-edge-i):not(#content-media-edge-j):not(#content-media-edge-k):not(#content-media-edge-l):not(#content-media-edge-m)[data-page-family] main
    .compact-visual-brief__figure > figcaption {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    padding: 14px 16px 16px !important;
    border-top: 2px solid var(--lifa-gold-soft) !important;
    border-left: 0 !important;
  }
}

/* END SITEWIDE EDGE-TO-EDGE CONTENT MEDIA FRAMES FINAL V20 */
/* NON-HOME SPLIT MEDIA SHRINK-WRAP FINAL V21
   A split's text column may be much taller than its photograph. Keep the
   decorated media figure tied to its intrinsic media height so mobile and
   narrow layouts cannot expose the frame background above or below it. */
html body[data-page-family]:not(.home-page) main
  :is(.split, .split-layout, .content-split, .editorial-split)
  > :is(
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) {
  place-self: start stretch !important;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  align-content: start !important;
}

html body[data-page-family]:not(.home-page) main
  :is(
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ):not(:has(> figcaption)) {
  display: block !important;
}

html body[data-page-family]:not(.home-page) main
  :is(
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > :is(img, picture),
html body[data-page-family]:not(.home-page) main
  :is(
    .image-frame,
    .tool-decision-media,
    .value-evidence__media,
    .compact-visual-brief__figure,
    .founder-operation figure,
    .founder-ledger-image
  ) > picture > img {
  align-self: start !important;
  margin-block: 0 !important;
}
/* END NON-HOME SPLIT MEDIA SHRINK-WRAP FINAL V21 */
/* Promoted media moves into a page hero without leaving an empty grid track. */
:is(.split-layout, .split, .content-split, .editorial-split):has(> :only-child) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.process-feature-card:not(:has(img, picture)) {
  grid-template-rows: minmax(0, 1fr) !important;
}

:is(.media-card-link > .media-card, a.media-card, figure.media-card):not(:has(> :is(img, picture))) {
  grid-template-rows: minmax(0, 1fr) !important;
}

:is(.media-card-link > .media-card, a.media-card, figure.media-card):not(:has(> :is(img, picture))) > :is(div, figcaption) {
  grid-row: 1 !important;
  border-top: 0 !important;
}

/* NON-HOME HERO FULL-SCENE MOBILE V22
   A landscape photograph cannot remain inspectable behind a tall column of
   mobile copy. Reserve its own full-width image track, then flow the copy. */
html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page) {
  --interior-hero-contrast-field: linear-gradient(90deg,
    rgba(3, 10, 19, .94) 0%,
    rgba(3, 10, 19, .90) 27%,
    rgba(3, 10, 19, .75) 42%,
    rgba(3, 10, 19, .32) 55%,
    rgba(3, 10, 19, .04) 68%,
    rgba(3, 10, 19, 0) 80%,
    rgba(3, 10, 19, 0) 100%);
}

@media (max-width: 700px) {
  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero):has(> .hero-slider) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    gap: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    background: #0c1a2a !important;
  }

  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero):has(> .hero-slider)::before,
  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero):has(> .hero-slider) > .hero-fx {
    display: none !important;
    content: none !important;
  }

  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero) > .hero-slider {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero) > .hero-slider > picture,
  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero) > .hero-slider .hero-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
    filter: none !important;
  }

  html body[data-page-family]:not(.home-page):not(.home-page):not(.home-page)
    :is(.hero:not(.home-hero), .tool-page-hero):has(> .hero-slider) > .hero-content-wrapper {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 16px 28px !important;
    box-sizing: border-box !important;
    background: #0c1a2a !important;
    transform: none !important;
  }
}
/* END NON-HOME HERO FULL-SCENE MOBILE V22 */

/* NON-HOME EVIDENCE CAPTIONS BELOW PHOTOGRAPHS V23
   Evidence labels belong outside the scene, so paperwork and products remain
   visible all the way to the image's lower edge. */
html body[data-page-family]:not(.home-page) main
  :is(.value-evidence__media, .tool-decision-media) > figcaption {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 8px 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  background: #f7f9fc !important;
  border-top: 1px solid #dce3ed !important;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main
  :is(.value-evidence__media, .tool-decision-media) > figcaption > span {
  min-width: 0 !important;
  overflow-wrap: anywhere;
}

html body[data-page-family]:not(.home-page) main
  :is(.value-evidence__media, .tool-decision-media)::after {
  display: none !important;
}
html body[data-page-family]:not(.home-page) main .compact-visual-brief__figure {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
}
/* END NON-HOME EVIDENCE CAPTIONS BELOW PHOTOGRAPHS V23 */

/* Mobile records must override desktop table minimums as one coherent layout. */
@layer responsive-table-records {
  @media (max-width: 1024px) {
    html body main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap,
      .inspection-compare-wrap, .responsive-table-wrap, .comparison-table-wrap,
      .tutorial-table-wrap, .tool-result-table-wrap, .lifa-overflow-x):has(> table[data-responsive-table="records"]) {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      max-height: none !important;
      padding: 0 !important;
      overflow: visible !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    html body main :is(.table-scroll, .table-wrap, .guide-table-wrap, .compare-wrap,
      .inspection-compare-wrap, .responsive-table-wrap, .comparison-table-wrap,
      .tutorial-table-wrap, .tool-result-table-wrap, .lifa-overflow-x):has(> table[data-responsive-table="records"])::before {
      content: none !important;
    }

    html body main table[data-responsive-table="records"],
    html body main table[data-responsive-table="records"] :is(caption, tbody, tfoot, tr, td, th) {
      box-sizing: border-box !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      max-height: none !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
      word-break: normal !important;
    }

    html body main table[data-responsive-table="records"] {
      display: block !important;
      margin-inline: 0 !important;
      overflow: visible !important;
      border: 0 !important;
      border-spacing: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    html body main table[data-responsive-table="records"] caption {
      display: block !important;
      margin: 0 !important;
      padding: 0 0 16px !important;
      color: var(--lifa-navy, #0f1e36) !important;
      font-size: 1.125rem !important;
      line-height: 1.4 !important;
      text-align: left !important;
    }

    html body main table[data-responsive-table="records"] :is(tbody, tfoot) {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 12px !important;
    }

    html body main table[data-responsive-table="records"] :is(tbody, tfoot) > tr {
      display: block !important;
      overflow: visible !important;
      border: 1px solid #dce3ed !important;
      border-top: 2px solid var(--lifa-gold-soft, #eed47d) !important;
      border-radius: 6px !important;
      background: #fff !important;
      box-shadow: none !important;
    }

    html body main table[data-responsive-table="records"] :is(tbody, tfoot) :is(th, td) {
      display: block !important;
      position: static !important;
      padding: 12px 14px !important;
      overflow: visible !important;
      border: 0 !important;
      border-bottom: 1px solid #dce3ed !important;
      background: transparent !important;
      color: var(--lifa-navy, #0f1e36) !important;
      -webkit-text-fill-color: currentColor !important;
      font-size: .9375rem !important;
      line-height: 1.6 !important;
      text-align: left !important;
      box-shadow: none !important;
    }

    html body main table[data-responsive-table="records"] :is(tbody, tfoot) :is(th, td):last-child {
      border-bottom: 0 !important;
    }

    html body main table[data-responsive-table="records"] td::before {
      content: attr(data-label) !important;
      display: block !important;
      position: static !important;
      width: auto !important;
      margin: 0 0 5px !important;
      color: #4b5e73 !important;
      -webkit-text-fill-color: currentColor !important;
      font: 700 .75rem/1.4 var(--font-ui, Montserrat, Arial, sans-serif) !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }

    html body main table[data-responsive-table="records"] td:not([data-label])::before,
    html body main table[data-responsive-table="records"] td[data-label=""]::before {
      content: none !important;
    }

    html body main table[data-responsive-table="records"] :is(td, th) :is(p, a, strong, span, code, ul, ol) {
      min-width: 0 !important;
      max-width: 100% !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }
  }
}

/* The runtime enables this only for media that fits beside a taller text column.
   An important layer keeps the shared behavior above legacy page overrides. */
@layer section-media-scroll {
  html body.home-page main :is(.home-entity, .home-freight, .home-industries):has([data-section-media-sticky]) {
    overflow: clip !important;
  }

  html body main .founder-operation:has(> [data-section-media-sticky]) {
    overflow: clip !important;
  }

  html body main .tool-decision-section:has([data-section-media-sticky]) {
    overflow: clip !important;
  }

  html body main [data-section-media] {
    position: relative !important;
    top: auto !important;
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body main .process-feature-card[data-section-media] {
    grid-template-rows: auto auto !important;
  }

  html body main [data-section-media-sticky] {
    position: sticky !important;
    top: var(--section-media-sticky-top, 106px) !important;
    bottom: auto !important;
  }

  @media print {
    html body main [data-section-media-sticky] {
      position: relative !important;
      top: auto !important;
    }
  }
}
