﻿/* ==========================================================================
   LIFA PREMIUM POLISH V1
   Non-structural enhancement layer. The established site design stays intact.
   No typography, layout, visibility, sizing, or content rules belong here.

   V2 COMPONENT SYSTEM (below, from "PREMIUM COMPONENT SYSTEM V2") supersedes
   that last line for cards, sections, the header, and the footer, on the
   owner's instruction to upgrade those four families to a more premium, modern,
   matching design. Content parity still holds absolutely: nothing is removed,
   hidden, shortened, reordered, or made unavailable at any viewport. Every
   change is presentation - surface, border, radius, elevation, spacing,
   hierarchy, and interaction feedback.
   ========================================================================== */

:root {
  --polish-gold: #eed47d;
  --polish-gold-light: #eed47d;
  --polish-ink: #07111e;
  --polish-green: #2a6c5e;
  --polish-rule: rgba(15, 30, 54, .13);
  --polish-shadow-sm: 0 9px 24px rgba(7, 17, 30, .07);
  --polish-shadow-md: 0 20px 48px rgba(7, 17, 30, .11);
}

/* Workbook-mapped cross-links use the existing muted band and card rhythm. */
body[data-page-family] main .workbook-link-map {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.workbook-link-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.workbook-link-list li {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
  padding: 1rem 1.1rem;
  border-left: 2px solid var(--page-gold, var(--polish-gold));
  background: rgba(255, 255, 255, 0.72);
}

.workbook-link-list .text-link {
  color: var(--page-navy, var(--polish-navy));
  font-weight: 700;
}

.workbook-link-list .link-context {
  color: var(--text-muted, #667085);
  font-size: 0.82rem;
}

/* Workbook link maps hold five rows on every page; a lone final row entry
   would leave a hole on the right, so the odd last card spans the row. */
.workbook-link-list li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}

/* Workbook ADD rows stay compact and use the established muted section/card rhythm. */
body[data-page-family] main .workbook-section-map {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.workbook-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.workbook-section-card {
  min-width: 0;
  padding: 1.15rem 1.2rem;
  border-left: 2px solid var(--page-gold, var(--polish-gold));
  background: rgba(255, 255, 255, 0.72);
}

.workbook-section-card :is(h2, h3) {
  margin-top: 0;
  font-size: 1.25rem;
}

.workbook-section-card ul {
  margin: 0.75rem 0 0;
  padding-left: 1.1rem;
}

.workbook-section-evidence {
  margin: 0.85rem 0 0;
  color: var(--text-muted, #667085);
  font-size: 0.84rem;
}

/* Section maps: uneven card counts must not leave a hole in the final row.
   The grid is two columns for most families and three columns for the Product/
   Hub/Service/Industry/Country/Process/Conversion group on desktop, so each
   layout gets its own span rules. */

/* Two-column layouts (every family except the three-column group): an odd
   final card spans the row. */
main[data-workbook-design-family]:not([data-workbook-design-family="Product"]):not([data-workbook-design-family="Hub"]):not([data-workbook-design-family="Service"]):not([data-workbook-design-family="Industry"]):not([data-workbook-design-family="Country"]):not([data-workbook-design-family="Process"]):not([data-workbook-design-family="Conversion"]) .workbook-section-grid > :last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

/* Three-column family group on desktop: fill the final row by remainder. */
@media (min-width: 1025px) {
  main[data-workbook-design-family]:is(
    [data-workbook-design-family="Product"],
    [data-workbook-design-family="Hub"],
    [data-workbook-design-family="Service"],
    [data-workbook-design-family="Industry"],
    [data-workbook-design-family="Country"],
    [data-workbook-design-family="Process"],
    [data-workbook-design-family="Conversion"]
  ) .workbook-section-grid > :last-child:nth-child(3n + 1) {
    grid-column: 1 / -1;
  }

  main[data-workbook-design-family]:is(
    [data-workbook-design-family="Product"],
    [data-workbook-design-family="Hub"],
    [data-workbook-design-family="Service"],
    [data-workbook-design-family="Industry"],
    [data-workbook-design-family="Country"],
    [data-workbook-design-family="Process"],
    [data-workbook-design-family="Conversion"]
  ) .workbook-section-grid > :nth-last-child(2):nth-child(3n + 1) {
    grid-column: span 2;
  }
}

/* Three-column family group dropped to two columns on tablet: odd final card
   spans. */
@media (min-width: 768px) and (max-width: 1024px) {
  main[data-workbook-design-family]:is(
    [data-workbook-design-family="Product"],
    [data-workbook-design-family="Hub"],
    [data-workbook-design-family="Service"],
    [data-workbook-design-family="Industry"],
    [data-workbook-design-family="Country"],
    [data-workbook-design-family="Process"],
    [data-workbook-design-family="Conversion"]
  ) .workbook-section-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

/* Workbook rows without a matching legacy block become compact, page-specific
   answers rather than exposing the spreadsheet's planning instructions. */
body[data-page-family] main .workbook-coverage-upgrade {
  padding-block: clamp(2.75rem, 5vw, 5rem);
}

.workbook-coverage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.workbook-coverage-card {
  min-width: 0;
  padding: 1.35rem 1.4rem;
  border: 1px solid var(--polish-rule, rgba(19, 46, 79, .14));
  border-top: 3px solid var(--page-gold, var(--polish-gold, #eed47d));
  background: rgba(255, 255, 255, .8);
}

.workbook-coverage-card h2 {
  margin: .55rem 0 0;
  color: var(--page-navy, var(--polish-navy, #102843));
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
}

.workbook-coverage-card p {
  max-width: 70ch;
  margin: .75rem 0 0;
  line-height: 1.7;
}

.workbook-coverage-card ul {
  margin: .8rem 0 0;
  padding-left: 1.15rem;
}

.workbook-coverage-card li {
  margin-top: .35rem;
}

.workbook-visual-fallback-section {
  padding-block: clamp(2.25rem, 4vw, 4rem);
}

.workbook-visual-fallback-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.workbook-visual-fallback {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-left: 3px solid var(--page-gold, var(--polish-gold, #eed47d));
  background: rgba(255, 255, 255, .72);
}

.workbook-visual-fallback strong {
  display: block;
  color: var(--page-navy, var(--polish-navy, #102843));
}

.workbook-visual-fallback p {
  margin: .45rem 0 0;
  color: var(--text-muted, #667085);
  font-size: .88rem;
  line-height: 1.6;
}

/* Evidence boundaries make source limits visible without introducing a new visual language. */
body[data-page-family] main .workbook-evidence-boundary {
  padding-block: clamp(2.25rem, 4.5vw, 4rem);
}

.workbook-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.workbook-evidence-grid > div {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-left: 2px solid var(--page-gold, var(--polish-gold));
  background: rgba(255, 255, 255, 0.72);
}

.workbook-evidence-grid strong {
  display: block;
  color: var(--page-navy, var(--polish-navy));
  font-family: var(--font-heading, Georgia, serif);
}

.workbook-evidence-grid p {
  margin: 0.45rem 0 0;
  color: var(--text-muted, #667085);
  font-size: 0.88rem;
}

/* The complete workbook detail record stays collapsed by default so the page remains scannable. */
body[data-page-family] main .workbook-detail-ledger {
  padding-block: clamp(2rem, 4vw, 3.5rem);
}

.workbook-detail-disclosure {
  border: 1px solid var(--polish-rule);
  background: rgba(255, 255, 255, 0.72);
}

.workbook-detail-disclosure > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem 1rem;
  padding: 1.1rem 1.25rem;
  cursor: pointer;
  list-style: none;
}

.workbook-detail-disclosure > summary::-webkit-details-marker {
  display: none;
}

.workbook-detail-disclosure > summary::after {
  content: '+';
  color: var(--page-gold, var(--polish-gold));
  font-size: 1.35rem;
  line-height: 1;
}

.workbook-detail-disclosure[open] > summary::after {
  content: '-';
}

.workbook-detail-disclosure > summary .eyebrow {
  grid-column: 1 / -1;
}

.workbook-detail-disclosure > summary strong {
  color: var(--page-navy, var(--polish-navy));
  font-family: var(--font-heading, Georgia, serif);
  font-size: 1.05rem;
}

.workbook-detail-summary-note {
  color: var(--text-muted, #667085);
  font-size: 0.78rem;
  text-align: right;
}

.workbook-detail-content {
  display: grid;
  gap: 1.25rem;
  padding: 0 1.25rem 1.25rem;
}

.workbook-detail-intro,
.workbook-detail-subsection {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-top: 1px solid var(--polish-rule);
}

.workbook-detail-intro h2,
.workbook-detail-subsection h2 {
  margin-top: 0;
}

.workbook-detail-intro p,
.workbook-detail-card p {
  margin: 0.45rem 0 0;
}

.workbook-detail-intro p strong,
.workbook-detail-card p strong {
  color: var(--page-navy, var(--polish-navy));
}

.workbook-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.workbook-detail-card {
  min-width: 0;
  padding: 0.95rem 1rem;
  border-left: 2px solid var(--page-gold, var(--polish-gold));
  background: rgba(255, 255, 255, 0.66);
}

.workbook-detail-card-top {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--text-muted, #667085);
  font-size: 0.73rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.workbook-detail-card h3 {
  margin: 0.45rem 0 0;
  font-size: 1rem;
}

.workbook-detail-card ul,
.workbook-detail-subsection ul {
  margin: 0.65rem 0 0;
  padding-left: 1.1rem;
}

.workbook-detail-card li,
.workbook-detail-subsection li {
  margin-top: 0.3rem;
}

.workbook-detail-subsection > ul li span {
  color: var(--text-muted, #667085);
}

.workbook-detail-empty {
  color: var(--text-muted, #667085);
}

@media (max-width: 700px) {
  .workbook-link-list {
    grid-template-columns: 1fr;
  }

  .workbook-section-grid {
    grid-template-columns: 1fr;
  }

  .workbook-coverage-grid {
    grid-template-columns: 1fr;
  }

  .workbook-visual-fallback-grid {
    grid-template-columns: 1fr;
  }

  .workbook-evidence-grid {
    grid-template-columns: 1fr;
  }

  .workbook-detail-disclosure > summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .workbook-detail-summary-note {
    grid-column: 1 / -1;
    text-align: left;
  }

  .workbook-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* Full workbook implementation layer, 2026-08-25. */
body[data-page-family] main .workbook-opening,
body[data-page-family] main .workbook-visual-placement,
body[data-page-family] main .workbook-overlap-boundary,
body[data-page-family] main .workbook-final-cta {
  padding-block: clamp(2.75rem, 6vw, 5.5rem);
}

.workbook-opening {
  border-block: 1px solid rgba(238, 212, 125, .25);
  background: #f7f8fa;
}

.workbook-opening-inner {
  display: grid;
  gap: .75rem;
  max-width: 820px;
}

.workbook-opening-answer {
  max-width: 78ch;
  margin: 0;
  color: var(--page-navy, #0f1e36);
  font-size: 1.15rem;
  line-height: 1.72;
}

.workbook-card-label {
  display: block;
  margin-bottom: .55rem;
  color: #eed47d;
  font-family: var(--font-ui, Montserrat, sans-serif);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.workbook-section-card {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  border: 1px solid rgba(15, 30, 54, .12);
  border-left: 3px solid var(--page-gold, var(--polish-gold));
  border-radius: 6px;
  box-shadow: var(--polish-shadow-sm);
}

.workbook-section-card > :where(p, ul) {
  margin-block: 0;
}

.workbook-section-card li + li {
  margin-top: .4rem;
}

.workbook-row-marker {
  display: inline;
}

.workbook-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

/* An odd final visual card spans the row so the pair layout ends full. */
.workbook-visual-grid > :last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

/* Three-column card grids (4, 5, 7, 8, ... cards) would leave an empty cell on
   the last row; span the final card so the section ends edge to edge. */
@media (min-width: 769px) {
  main :is(.grid-3, .card-grid.grid-3) > :is(.card, .link-card, .lifa-card):last-child:nth-child(3n + 1) {
    grid-column: 1 / -1;
  }

  main :is(.grid-3, .card-grid.grid-3) > :is(.card, .link-card, .lifa-card):last-child:nth-child(3n + 2) {
    grid-column: span 2;
  }
}

/* Two-column inquiry forms: when an odd half-width field ends the grid it sits
   alone; span it so the row closes full. */
body form .form-grid > .field:not(.full):is(:last-child:nth-child(odd), :nth-last-child(2):nth-child(odd)) {
  grid-column: 1 / -1;
}

.workbook-visual-card,
.workbook-visual-fallback {
  min-width: 0;
  margin: 0;
  border: 1px solid rgba(15, 30, 54, .14);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.workbook-visual-card img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: #eef1f4;
}

.workbook-visual-card figcaption,
.workbook-visual-fallback {
  display: grid;
  gap: .35rem;
  padding: 1rem 1.1rem;
}

.workbook-visual-card figcaption strong,
.workbook-visual-fallback strong {
  color: var(--page-navy, #0f1e36);
  font-family: var(--font-heading, 'Times New Roman', serif);
}

.workbook-visual-card figcaption span,
.workbook-visual-fallback p {
  margin: 0;
  color: var(--text-muted, #667085);
  font-size: .88rem;
}

.workbook-visual-fallback {
  align-content: center;
  min-height: 10rem;
  border-style: dashed;
  border-left: 3px solid var(--page-gold, var(--polish-gold));
}

.workbook-evidence-records {
  display: grid;
  gap: .65rem;
  margin: .65rem 0 0;
  padding: 0;
  list-style: none;
}

.workbook-evidence-records li {
  display: grid;
  gap: .25rem;
}

.workbook-evidence-records span {
  color: var(--text-muted, #667085);
  font-size: .84rem;
}

.workbook-overlap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.workbook-overlap-note {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-left: 3px solid var(--page-gold, var(--polish-gold));
  background: #f7f8fa;
}

.workbook-overlap-note strong {
  color: var(--page-navy, #0f1e36);
  font-family: var(--font-heading, 'Times New Roman', serif);
}

.workbook-overlap-note p {
  max-width: 72ch;
  margin: .4rem 0 0;
}

.workbook-final-cta {
  color: #fff;
  background: var(--page-navy, #0f1e36);
}

.workbook-final-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem 2.5rem;
}

.workbook-final-cta :where(h2, p) {
  max-width: 70ch;
  color: inherit;
}

.workbook-final-cta h2 {
  margin: .45rem 0 .65rem;
}

.workbook-final-cta p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
}

.workbook-final-cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 23rem;
  white-space: normal;
  text-align: center;
}

@media (max-width: 900px) {
  .workbook-section-grid,
  .workbook-visual-grid,
  .workbook-overlap-grid {
    grid-template-columns: 1fr;
  }

  .workbook-final-cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body[data-page-family] main :where(.workbook-opening, .workbook-section-map, .workbook-visual-placement, .workbook-evidence-boundary, .workbook-overlap-boundary, .workbook-link-map, .workbook-final-cta) {
    padding-block: clamp(2.5rem, 11vw, 3.5rem);
  }

  .workbook-opening-answer {
    font-size: 1.05rem;
  }

  .workbook-section-card,
  .workbook-visual-card figcaption,
  .workbook-visual-fallback,
  .workbook-overlap-note,
  .workbook-link-list li,
  .workbook-evidence-grid > div {
    padding: 1rem;
  }
}



/* 2026-08-26 visible-experience repair
   Keep the workbook's metadata and evidence contracts while returning the
   public page to a concise, editorial hierarchy. */
html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider {
  position: absolute;
  inset: 0;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 13, 29, .94) 0%, rgba(5, 13, 29, .82) 38%, rgba(5, 13, 29, .46) 68%, rgba(5, 13, 29, .18) 100%);
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider img {
  filter: brightness(.82) saturate(.9) contrast(1.03) !important;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-content-wrapper {
  position: relative;
  z-index: 4;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-content {
  max-width: 790px;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) h1 {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .42);
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) :is(.direct-answer, .blog-hero-list, .blog-hero-list li) {
  color: rgba(255, 255, 255, .9) !important;
  opacity: 1 !important;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .eyebrow {
  color: #eed47d !important;
}

/* --------------------------------------------------------------------------
   Contrast guardrail

   A page-specific treatment must never leave navy or muted-blue text on a
   navy surface. These semantic on-dark colors are deliberately repeated for
   the dark components used across the site, so an older page rule cannot
   make supporting copy or labels disappear against its own background.
   -------------------------------------------------------------------------- */
:root {
  --lifa-text-on-dark: #ffffff;
  --lifa-text-on-dark-muted: #e6edf3;
  --lifa-accent-on-dark: #eed47d;
}

html body[data-page-family] :is(
  .hero:not(.hero--light),
  .tool-page-hero,
  .section-dark,
  .dark-card,
  .cta-band,
  .article-actions,
  .site-footer,
  .footer,
  .footer-main,
  .footer-cta,
  .site-network-index,
  .knowledge-nav-panel
) :is(.eyebrow, .hero-kicker, .cap-tag, .section-kicker, .card-link, .step-label, .process-label, .artifact-label, .gate-label, .status-label, .trustpilot-eyebrow) {
  color: var(--lifa-accent-on-dark) !important;
}

html body[data-page-family] :is(
  .hero:not(.hero--light),
  .tool-page-hero,
  .section-dark,
  .dark-card,
  .cta-band,
  .article-actions,
  .site-footer,
  .footer,
  .footer-main,
  .footer-cta,
  .site-network-index,
  .knowledge-nav-panel
) :is(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--lifa-text-on-dark) !important;
}

html body[data-page-family] :is(
  .hero:not(.hero--light),
  .tool-page-hero,
  .section-dark,
  .dark-card,
  .cta-band,
  .article-actions,
  .site-footer,
  .footer,
  .footer-main,
  .footer-cta,
  .site-network-index,
  .knowledge-nav-panel
) :is(p, li, dt, dd, small, .text-muted, .direct-answer, .breadcrumb, .breadcrumb a) {
  color: var(--lifa-text-on-dark-muted) !important;
}

html body[data-page-family] :is(
  .hero:not(.hero--light),
  .tool-page-hero,
  .section-dark,
  .dark-card,
  .cta-band,
  .article-actions,
  .site-footer,
  .footer,
  .footer-main,
  .footer-cta,
  .site-network-index,
  .knowledge-nav-panel
) a:not(.btn):not(.card):not(.link-card) {
  color: var(--lifa-text-on-dark) !important;
  text-decoration-color: currentColor;
}

/* A dark section can contain paper cards. Keep those cards on the light
   surface token rather than inheriting the surrounding dark-section text. */
html body[data-page-family] :is(.section-dark, .site-network-index, .knowledge-nav-panel) :is(.card:not(.dark-card), .link-card:not(.dark-card), .signal-item, .faq-item, .accordion-item, .table-scroll, .table-wrap, .guide-table-wrap) :is(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--page-navy, #102843) !important;
}

html body[data-page-family] :is(.section-dark, .site-network-index, .knowledge-nav-panel) :is(.card:not(.dark-card), .link-card:not(.dark-card), .signal-item, .faq-item, .accordion-item, .table-scroll, .table-wrap, .guide-table-wrap) :is(p, li, dt, dd, small, .text-muted) {
  color: #52657a !important;
}

html body[data-page-family] :is(.section-dark, .site-network-index, .knowledge-nav-panel) :is(.card:not(.dark-card), .link-card:not(.dark-card), .signal-item, .faq-item, .accordion-item, .table-scroll, .table-wrap, .guide-table-wrap) :is(.eyebrow, .card-link, .step-label, .process-label, .artifact-label, .gate-label, .status-label) {
  color: #eed47d !important;
}

html body[data-page-family] main > .section + .section {
  border-top-color: rgba(17, 39, 70, .08);
}

html body[data-page-family] main .section-heading {
  margin-bottom: clamp(24px, 3vw, 40px);
}

html body[data-page-family] main .section-heading > p {
  max-width: 72ch;
}

html body[data-page-family="case-study"] main .article-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 32px;
}

html body[data-page-family="case-study"] main .article-content > section {
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid rgba(17, 39, 70, .12);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(14, 30, 52, .06);
}

html body[data-page-family="case-study"] main .article-content > section:nth-child(3),
html body[data-page-family="case-study"] main .article-content > section:nth-child(4),
html body[data-page-family="case-study"] main .article-content > section:nth-child(n + 7) {
  grid-column: 1 / -1;
}

html body[data-page-family="case-study"] main .article-content > section h2 {
  margin-bottom: 12px !important;
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
}

html body[data-page-family="case-study"] main .article-content > section.callout {
  background: #f7f9fc !important;
  border-color: rgba(238, 212, 125, .28) !important;
}

@media (max-width: 767px) {
  html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider::after {
    background: linear-gradient(180deg, rgba(5, 13, 29, .68) 0%, rgba(5, 13, 29, .9) 58%, rgba(5, 13, 29, .96) 100%);
  }

  html body[data-page-family="case-study"] main .article-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  html body[data-page-family="case-study"] main .article-content > section:nth-child(n) {
    grid-column: auto;
    padding: 22px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workbook-section-card,
  .workbook-visual-card,
  .workbook-final-cta .btn {
    transition: none !important;
  }
}

body[data-page-family] {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body[data-page-family] :where(h1, h2, h3, h4) {
  text-wrap: balance;
}

body[data-page-family] main :where(p, li, dd, figcaption) {
  text-wrap: pretty;
}

body[data-page-family] :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(238, 212, 125, .52);
  outline-offset: 3px;
}

::selection {
  color: var(--polish-ink);
  background: rgba(238, 212, 125, .64);
}

/* Preserve the existing header geometry while improving depth and clarity. */
.site-header {
  border-bottom-color: rgba(238, 212, 125, .24);
  box-shadow: 0 12px 34px rgba(2, 9, 16, .14);
  backdrop-filter: blur(12px) saturate(1.04);
}

.site-header .brand img {
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .2));
}

.main-nav > a,
.main-nav > .nav-item > a,
.dropdown-panel a {
  transition-property: color, background-color, border-color, opacity, transform;
  transition-duration: .24s;
  transition-timing-function: ease;
}

.dropdown-panel {
  border-color: rgba(238, 212, 125, .2);
  box-shadow: 0 24px 58px rgba(0, 0, 0, .28);
}

.dropdown-panel a:is(:hover, :focus-visible) {
  background-color: rgba(238, 212, 125, .07);
}

.menu-toggle {
  border-color: rgba(238, 212, 125, .48);
  box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 8px 20px rgba(0, 0, 0, .12);
}

/* Keep every hero's established composition; refine only optical quality. */
body[data-page-family] :is(.hero, .tool-page-hero) {
  border-bottom-color: rgba(238, 212, 125, .26);
}

body[data-page-family] :is(.hero, .tool-page-hero) :is(.hero-slide, .hero-media, picture > img) {
  filter: saturate(1.015) contrast(1.025) brightness(.985);
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-content {
  filter: drop-shadow(0 7px 18px rgba(2, 8, 15, .34));
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-content h1 {
  text-shadow: 0 2px 4px rgba(2, 8, 15, .72), 0 10px 28px rgba(2, 8, 15, .42);
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-content > p,
body[data-page-family] :is(.hero, .tool-page-hero) :is(.blog-hero-list, .hero-credentials) li {
  text-shadow: 0 2px 10px rgba(2, 8, 15, .5);
}

body[data-page-family] .hero .btn,
body[data-page-family] .tool-page-hero .btn,
body[data-page-family] .header-cta {
  box-shadow: 0 11px 26px rgba(238, 212, 125, .2);
}

body[data-page-family] .hero .btn:is(:hover, :focus-visible),
body[data-page-family] .tool-page-hero .btn:is(:hover, :focus-visible),
body[data-page-family] .header-cta:is(:hover, :focus-visible) {
  box-shadow: 0 17px 34px rgba(238, 212, 125, .28);
}

/* Shared records retain their original layout and geometry. */
body[data-page-family] .signal-strip {
  border-color: rgba(238, 212, 125, .22);
  box-shadow: var(--polish-shadow-sm);
}

body[data-page-family] .signal-item {
  transition: color .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

body[data-page-family] .signal-item:is(:hover, :focus-visible) {
  border-color: rgba(238, 212, 125, .38);
  box-shadow: 0 12px 26px rgba(7, 17, 30, .075);
}

body[data-page-family] main :is(
  .card,
  .link-card,
  .lifa-card,
  .media-card,
  .process-step,
  .process-feature-card,
  .process-info-card,
  .faq-item
) {
  border-color: var(--polish-rule);
  box-shadow: var(--polish-shadow-sm);
}

body[data-page-family] main :is(
  .card,
  .link-card,
  .lifa-card,
  .media-card,
  .process-step,
  .process-feature-card,
  .process-info-card
):is(:hover, :focus-visible, :focus-within) {
  border-color: rgba(238, 212, 125, .48);
  box-shadow: var(--polish-shadow-md);
}

body[data-page-family] main :is(.image-frame, .media-card, .process-feature-card) img {
  filter: saturate(.96) contrast(1.02);
  transition: filter .32s ease, transform .62s cubic-bezier(.2, .65, .25, 1);
}

body[data-page-family] main :is(.image-frame, .media-card, .process-feature-card):is(:hover, :focus-within) img {
  filter: saturate(1.035) contrast(1.035);
}

/* Operational surfaces keep their existing dimensions and flow. */
body[data-page-family] main :is(
  .form-panel,
  .quote-panel,
  .tool-workspace,
  .calculator,
  .calculator-card,
  .table-scroll,
  .compare-wrap,
  .guide-table-wrap
) {
  border-color: rgba(15, 30, 54, .16);
  box-shadow: var(--polish-shadow-md);
}

body[data-page-family] main :is(
  .field input,
  .field select,
  .field textarea,
  .tool-field input,
  .tool-field select,
  .tool-field textarea,
  .tool-form input,
  .tool-form select,
  .tool-form textarea
) {
  border-color: rgba(15, 30, 54, .22);
  box-shadow: inset 0 1px 2px rgba(7, 17, 30, .035);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

body[data-page-family] main :is(
  .field input,
  .field select,
  .field textarea,
  .tool-field input,
  .tool-field select,
  .tool-field textarea,
  .tool-form input,
  .tool-form select,
  .tool-form textarea
):focus {
  border-color: var(--polish-gold);
  box-shadow: 0 0 0 3px rgba(238, 212, 125, .14);
}

body[data-page-family] main :is(.compare-table, .guide-table, .kc-table) th {
  border-bottom-color: var(--polish-gold);
}

body[data-page-family] main :is(.compare-table, .guide-table, .kc-table) tr:hover td {
  background-color: rgba(238, 212, 125, .055);
}

body[data-page-family] main .faq-item:is(:hover, :focus-within, .open) {
  border-color: rgba(238, 212, 125, .34);
}

body[data-page-family] main .cta-band {
  border-color: rgba(238, 212, 125, .28);
  box-shadow: 0 24px 58px rgba(7, 17, 30, .17);
}

body[data-page-family] main .sitewide-trustpilot,
body[data-page-family] main .trustpilot-section {
  border-color: rgba(238, 212, 125, .24);
}

body[data-page-family] .sitewide-trustpilot .trustpilot-proof {
  border-color: rgba(238, 212, 125, .2);
}

/* Preserve the existing footer composition, including every mobile link. */
.site-footer {
  border-top-color: rgba(238, 212, 125, .46);
  box-shadow: 0 -18px 52px rgba(7, 17, 30, .1);
}

.site-footer .footer-brand-section {
  border-color: rgba(238, 212, 125, .21);
  box-shadow: inset 0 1px rgba(255, 255, 255, .045), 0 26px 68px rgba(0, 0, 0, .17);
}

.site-footer .footer-logo {
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .22));
}

.site-footer .footer-column a {
  border-bottom-color: rgba(255, 255, 255, .075);
}

.site-footer .footer-column a:is(:hover, :focus-visible) {
  border-bottom-color: rgba(238, 212, 125, .36);
}

.site-footer .footer-bottom {
  border-top-color: rgba(238, 212, 125, .23);
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-family] :is(a, button, input, select, textarea, img),
  body[data-page-family] :is(a, button, input, select, textarea, img)::before,
  body[data-page-family] :is(a, button, input, select, textarea, img)::after {
    transition-duration: .01ms !important;
  }
}

/* ========================================================================== 
   PREMIUM RESPONSIVE CONTENT FLOW

   Content must remain readable without a second scrolling surface inside the
   page. Compact navigation wraps, data tables become labelled records, and
   the homepage indexes use complete responsive grids instead of peek rails.
   ========================================================================== */

@media (max-width: 1024px) {
  body[data-page-family] .article-toc {
    position: static;
    order: -1;
    padding: 18px;
    border: 1px solid rgba(15, 30, 54, .14);
    border-top: 3px solid var(--polish-gold);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--polish-shadow-sm);
  }

  body[data-page-family] .article-toc h2 {
    margin: 0 0 13px;
    color: var(--polish-ink);
    font-size: 1.08rem;
  }

  body[data-page-family] .article-toc ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 12px;
    margin: 0;
    padding: 0;
    overflow: visible;
    list-style: none;
  }

  body[data-page-family] .article-toc li {
    min-width: 0;
  }

  body[data-page-family] .article-toc a {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    padding: 9px 11px;
    white-space: normal;
    overflow-wrap: anywhere;
    border: 1px solid rgba(15, 30, 54, .1);
    border-radius: 6px;
    background: #f7f8fa;
    color: #17314d;
    font-size: .82rem;
    line-height: 1.35;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
  }

  body[data-page-family] .article-toc a:is(:hover, :focus-visible, .active) {
    border-color: rgba(238, 212, 125, .56);
    background: #ffffff;
    color: var(--polish-ink);
    transform: translateY(-1px);
  }

  body[data-page-family] .tools-suite-nav .container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    height: auto;
    overflow: visible;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  body[data-page-family] .tools-suite-nav a {
    display: grid;
    min-width: 0;
    min-height: 42px;
    place-items: center;
    padding: 8px 9px;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    border: 1px solid rgba(15, 30, 54, .11);
    background: #f7f8fa;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  }

  body[data-page-family] .tools-suite-nav a:is(:hover, :focus-visible, [aria-current="page"]) {
    border-color: rgba(238, 212, 125, .58);
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(7, 17, 30, .07);
    transform: translateY(-1px);
  }
}

@media (max-width: 1024px) {
  body[data-page-family] main :is(
    .table-scroll,
    .table-wrap,
    .compare-wrap,
    .guide-table-wrap,
    .tool-result-table-wrap,
    .lifa-overflow-x,
    .process-step
  ) {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  body[data-page-family] main .lifa-code-panel {
    overflow: visible;
  }

  body[data-page-family] main .lifa-code-text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body[data-page-family] main table[data-responsive-table="records"] {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    table-layout: auto;
    overflow: visible;
    border: 0;
    border-collapse: separate;
    background: transparent;
    box-shadow: none;
  }

  body[data-page-family] main table[data-responsive-table="records"] caption {
    display: block;
    width: 100%;
    padding: 0 0 13px;
    color: var(--polish-ink);
    font-family: var(--heading-font, Georgia, serif);
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
  }

  body[data-page-family] main table[data-responsive-table="records"] thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody {
    display: grid;
    width: 100%;
    gap: 12px;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody tr {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 30, 54, .14);
    border-top: 3px solid var(--polish-gold);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(7, 17, 30, .07);
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody :is(th, td) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    height: auto;
    padding: 12px 14px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    border: 0;
    border-bottom: 1px solid rgba(15, 30, 54, .1);
    background: transparent;
    color: #33475e;
    font-size: .88rem;
    line-height: 1.5;
    text-align: left;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody th {
    display: block;
    background: #0f1e36;
    color: #fff;
    font-family: var(--heading-font, Georgia, serif);
    font-size: 1rem;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody td {
    display: grid;
    grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody :is(th, td):last-child {
    border-bottom: 0;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody td:empty {
    display: none;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody td::before {
    content: attr(data-label);
    color: #eed47d;
    font-family: var(--font-ui, Arial, sans-serif);
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.35;
    text-transform: uppercase;
  }

  body[data-page-family] main .tool-output table[data-responsive-table="records"] caption {
    color: #fff;
  }

  body[data-page-family] main .tool-output table[data-responsive-table="records"] tbody tr {
    border-color: rgba(238, 212, 125, .34);
    border-top-color: var(--polish-gold-light);
    background: rgba(255, 255, 255, .055);
    box-shadow: none;
  }

  body[data-page-family] main .tool-output table[data-responsive-table="records"] tbody :is(th, td) {
    border-bottom-color: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .88);
  }

  body[data-page-family] main .tool-output table[data-responsive-table="records"] tbody th {
    background: rgba(2, 9, 18, .34);
    color: #fff;
  }

  body[data-page-family] main .tool-output table[data-responsive-table="records"] tbody td::before {
    color: var(--polish-gold-light);
  }
}

@media (max-width: 700px) {
  .home-page :is(
    .home-route-grid,
    .home-service-list,
    .home-freight-details,
    .home-dossier-stages,
    .home-category-grid,
    .home-industry-grid,
    .home-market-grid,
    .home-tool-grid
  ) {
    width: 100%;
    max-width: 100%;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-rows: none !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    overscroll-behavior: auto;
    scroll-snap-type: none;
  }

  /* Former swipe tracks stay in document order on every phone width. A single
     column keeps each choice complete and removes the need to scan sideways. */
  .home-page :is(
    .home-route-grid,
    .home-freight-details,
    .home-market-grid,
    .home-tool-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px;
  }

  body[data-page-family] .article-toc ol,
  .home-page .home-knowledge-panel {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .home-page .home-service-ledger {
    gap: 14px;
  }

  .home-page .home-service-group {
    overflow: visible;
    border: 1px solid rgba(15, 30, 54, .15);
    border-top: 3px solid var(--polish-gold);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(7, 17, 30, .08);
  }

  .home-page .home-service-group > header {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 17px;
    border: 0;
    border-bottom: 1px solid rgba(238, 212, 125, .26);
    background: linear-gradient(120deg, #0a1729, #112641);
    color: #fff;
  }

  .home-page .home-service-group > header > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(238, 212, 125, .52);
    border-radius: 6px;
    background: rgba(238, 212, 125, .08);
    color: var(--polish-gold-light);
    font-size: .78rem;
    font-weight: 850;
  }

  .home-page .home-service-group > header small {
    color: var(--polish-gold-light);
  }

  .home-page .home-service-group > header h3 {
    margin-top: 4px;
    color: #fff;
    font-size: 1.15rem;
    line-height: 1.22;
  }

  .home-page .home-service-list,
  .home-page .home-service-group-shipping .home-service-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .home-page .home-service-list > a,
  .home-page .home-service-group-shipping .home-service-list > a {
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 18px 17px;
    scroll-snap-align: none;
    border: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(15, 30, 54, .1);
    background: #fff;
    transition: color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease;
  }

  .home-page .home-service-list > a:nth-child(2n) {
    border-right: 0;
  }

  .home-page .home-service-list > a:is(:hover, :focus-visible) {
    z-index: 1;
    background: #ffffff;
    box-shadow: 0 12px 26px rgba(7, 17, 30, .1);
    transform: translateY(-2px);
  }

  .home-page .home-service-list h4 {
    color: var(--polish-ink);
    font-size: 1.08rem;
    line-height: 1.24;
  }

  .home-page .home-service-list p {
    color: #53657a;
    font-size: .82rem;
    line-height: 1.55;
  }

  .home-page .home-service-list strong {
    color: #eed47d;
  }

  .home-page .home-route-step,
  .home-page .home-freight-details > a,
  .home-page .home-dossier-stage > a,
  .home-page .home-market-grid a,
  .home-page .home-tool-grid a {
    min-width: 0;
    height: auto;
    scroll-snap-align: none;
  }

  .home-page .home-route-step {
    min-height: 230px;
  }

  .home-page .home-freight-details > a {
    border: 1px solid rgba(238, 212, 125, .32);
    border-radius: 7px;
  }

  .home-page .home-dossier-stages {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 11px;
  }

  .home-page .home-dossier-stage > a {
    min-height: 0;
  }

  .home-page .home-categories .home-category-grid,
  .home-page .home-industries .home-industry-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .home-page .home-quote-board {
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: visible !important;
  }

  .home-page .home-quote-board > * {
    min-width: 0 !important;
  }
}

@media (max-width: 520px) {
  body[data-page-family] .article-toc ol,
  .home-page :is(
    .home-route-grid,
    .home-service-list,
    .home-service-group-shipping .home-service-list,
    .home-freight-details,
    .home-category-grid,
    .home-industry-grid,
    .home-market-grid,
    .home-tool-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page-family] .article-toc {
    padding: 16px;
  }

  body[data-page-family] .tools-suite-nav .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body[data-page-family] .tools-suite-nav a {
    min-height: 44px;
  }

  body[data-page-family] main table[data-responsive-table="records"] tbody td {
    grid-template-columns: minmax(82px, .36fr) minmax(0, 1fr);
    gap: 10px;
    padding: 11px 12px;
  }

  .home-page .home-service-list > a,
  .home-page .home-service-list > a:nth-child(2n) {
    border-right: 0;
  }

  .home-page .home-service-list > a:last-child {
    border-bottom: 0;
  }

  .home-page .home-route-step {
    min-height: 0;
  }
}

/* ==========================================================================
   PREMIUM COMPONENT SYSTEM V2

   One surface language for cards, sections, the header, and the footer, so the
   same component reads identically on all 274 pages. This sheet is the final
   stylesheet in every page head - asserted by scripts/audit-premium-visual-
   system.js - which is why the upgrade lives here and needs no page edits.

   What this replaces, and why:

   - Cards carried two frames at once: a 1px outer border plus an inset
     ::after frame at 9px with a 6px radius and gold corner brackets at two
     opposite corners, over a hover-only 3px gold top bar. Three competing
     edges on one object is what dated the component. V2 keeps a single
     hairline edge and one restrained corner bracket, which is the trade-
     document motif the design plan already commits to, executed once instead
     of three times.
   - Radii disagreed across families: cards 10px, badges 14px, the footer brand
     panel 2px/34px, card inset frames 6px. V2 resolves everything to one scale.
   - Elevation was a single heavy drop shadow. V2 uses two-layer shadows - a
     tight contact shadow plus a wide ambient one - which is what reads as
     depth rather than as a dark smear.
   - .section-muted faded to white at the bottom, so alternating bands were
     nearly invisible and page rhythm read as one flat scroll. V2 uses a held
     tint so the alternation is legible.

   The V1 card and footer blocks earlier in this file are superseded for these
   component families. They are left in place as a fallback rather than deleted,
   because V2 wins on source order at equal specificity and removing them is a
   behaviour change that has not been verified in a render yet.
   ========================================================================== */

/* Every value here is taken from the homepage card contract at
   homepage.css:8710 (.home-dossier-stage > a) - 8px radius, a
   rgba(15,30,54,.12) hairline, and a 0 12px 30px rgba(7,17,30,.055) ambient
   shadow. The homepage is the site's quality reference, so the interior
   components converge on its geometry rather than a third scale being invented
   here. The only addition is the tight contact shadow paired with each ambient
   one, which is what separates a card from the page instead of blurring it. */
:root {
  /* Geometry */
  --pc-radius: 8px;
  --pc-radius-sm: 6px;
  --pc-bracket: 24px;

  /* Edges */
  --pc-hairline: rgba(15, 30, 54, .12);
  --pc-gold-edge: rgba(238, 212, 125, .42);
  --pc-gold-wash: rgba(238, 212, 125, .07);

  /* Surfaces */
  --pc-surface: linear-gradient(178deg, #fff 0%, #fcfdff 100%);

  /* Two-layer elevation: contact shadow + ambient shadow. */
  --pc-e1: 0 1px 2px rgba(7, 17, 30, .04), 0 12px 30px rgba(7, 17, 30, .055);
  --pc-e2: 0 1px 3px rgba(7, 17, 30, .06), 0 20px 44px rgba(7, 17, 30, .1);

  --pc-ease: cubic-bezier(.22, 1, .36, 1);

  /* readable-card-sections.css is a 269-declaration !important override sheet
     covering media cards, process feature cards, the homepage freight visual and
     industry lead card, and the founder portrait. Its own tokens are redirected
     here rather than fought selector by selector: redefining the variable makes
     every one of those !important declarations resolve to the V2 language, with
     no specificity escalation at all. Its literal `border-radius: 6px
     !important` values are the one part that cannot be reached this way; those
     are handled in section 5. */
  --readable-card-rule: var(--pc-hairline);
  --readable-card-shadow: var(--pc-e1);
  --readable-card-shadow-hover: var(--pc-e2);
  --readable-card-ease: var(--pc-ease);
}

/* --------------------------------------------------------------------------
   1. Card surfaces

   One edge, one radius, one elevation ramp, across every card family the site
   uses. .card and .link-card additionally carry the single corner bracket.
   -------------------------------------------------------------------------- */
body[data-page-family] main :is(
  .card,
  .link-card,
  .lifa-card,
  .media-card,
  .process-step,
  .process-info-card,
  .faq-item,
  .form-panel,
  .quote-panel
) {
  background: var(--pc-surface);
  border: 1px solid var(--pc-hairline);
  border-radius: var(--pc-radius);
  box-shadow: var(--pc-e1);
  transition:
    transform var(--dur-mid, .32s) var(--pc-ease),
    box-shadow var(--dur-mid, .32s) ease,
    border-color var(--dur-mid, .32s) ease;
}

body[data-page-family] main :is(
  .card,
  .link-card,
  .lifa-card,
  .media-card,
  .process-step,
  .process-info-card,
  .form-panel,
  .quote-panel
):is(:hover, :focus-visible, :focus-within) {
  border-color: var(--pc-gold-edge);
  box-shadow: var(--pc-e2);
}

/* These two linked records share the height of the adjacent feature image.
   Center their compact copy within each row so the composition feels balanced
   instead of leaving an accidental-looking empty lower half. */
body[data-page-family]:not(.home-page) main .process-info-card {
  justify-content: center;
}

/* Value-led evidence briefs replace standalone, full-width image panels. */
body[data-page-family]:not(.home-page) main .value-evidence-section {
  padding: clamp(36px, 3.2vw, 46px) 0 clamp(24px, 2vw, 32px) !important;
  background: #f4f7f6;
  border-block: 1px solid rgba(14, 43, 46, .12);
}

body[data-page-family]:not(.home-page) main .value-evidence-section:nth-of-type(even) {
  background: #fff;
}

body[data-page-family]:not(.home-page) main .value-evidence {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  align-items: stretch;
  gap: clamp(34px, 5vw, 68px);
}

body[data-page-family]:not(.home-page) main .value-evidence--reverse {
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
}

body[data-page-family]:not(.home-page) main .value-evidence--reverse .value-evidence__media {
  order: 2;
}

body[data-page-family]:not(.home-page) main .value-evidence__media {
  position: relative;
  min-height: 340px;
  max-height: 420px;
  margin: 0;
  overflow: hidden;
  background: var(--polish-ink, #0b1828);
  border: 1px solid rgba(14, 43, 46, .16);
}

body[data-page-family]:not(.home-page) main .value-evidence__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 54%, rgba(4, 16, 25, .76));
  content: "";
  pointer-events: none;
}

body[data-page-family]:not(.home-page) main .value-evidence__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  max-height: 420px;
  object-fit: cover;
  filter: saturate(.94) contrast(1.025);
  transition: transform .65s cubic-bezier(.2, .65, .25, 1), filter .35s ease;
}

body[data-page-family]:not(.home-page) main .value-evidence__media figcaption {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 18px;
  left: 20px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  color: #fff;
}

body[data-page-family]:not(.home-page) main .value-evidence__media figcaption span:first-child {
  color: #eed47d;
  font-family: var(--font-ui);
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

body[data-page-family]:not(.home-page) main .value-evidence__media figcaption span:last-child {
  max-width: 24ch;
  font-family: var(--font-ui);
  font-size: .72rem;
  line-height: 1.35;
  text-align: right;
}

body[data-page-family]:not(.home-page) main .value-evidence__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}

body[data-page-family]:not(.home-page) main .value-evidence__heading h2 {
  max-width: 21ch;
  margin: 10px 0 12px;
  color: var(--polish-ink, #0b1828);
  font-size: clamp(1.95rem, 3vw, 2.7rem) !important;
  line-height: 1.04 !important;
}

body[data-page-family]:not(.home-page) main .value-evidence__heading > p {
  max-width: 66ch;
  margin: 0;
  color: #53636e;
  font-size: 1rem;
  line-height: 1.62;
}

body[data-page-family]:not(.home-page) main .value-evidence__items {
  margin-top: 22px;
  border-top: 1px solid rgba(14, 43, 46, .2);
}

body[data-page-family]:not(.home-page) main .value-evidence__item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(14, 43, 46, .13);
}

body[data-page-family]:not(.home-page) main .value-evidence__number {
  padding-top: 3px;
  color: #eed47d;
  font-family: var(--font-ui);
  font-size: .7rem;
  font-weight: 800;
}

body[data-page-family]:not(.home-page) main .value-evidence__item h3 {
  margin: 0 0 3px;
  color: var(--polish-ink, #0b1828);
  font-family: var(--font-ui) !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body[data-page-family]:not(.home-page) main .value-evidence__item p {
  margin: 0;
  color: #62717a;
  font-size: .87rem;
  line-height: 1.48;
}

body[data-page-family]:not(.home-page) main .value-evidence__link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding-bottom: 5px;
  color: #0e6b68;
  border-bottom: 1px solid rgba(14, 107, 104, .46);
  font-family: var(--font-ui);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  transition: color .25s ease, border-color .25s ease;
}

body[data-page-family]:not(.home-page) main .value-evidence__link span {
  transition: transform .25s ease;
}

body[data-page-family]:not(.home-page) main .value-evidence__link:is(:hover, :focus-visible) {
  color: #084c4a;
  border-color: #084c4a;
}

body[data-page-family]:not(.home-page) main .value-evidence__link:is(:hover, :focus-visible) span {
  transform: translateX(4px);
}

body[data-page-family]:not(.home-page) main .value-evidence:has(.value-evidence__link:is(:hover, :focus-visible)) .value-evidence__media img,
body[data-page-family]:not(.home-page) main .value-evidence__media:hover img {
  filter: saturate(1.02) contrast(1.04);
  transform: scale(1.025);
}

/* Closing actions become compact decision panels with useful preparation data. */
body[data-page-family]:not(.home-page) main section:has(.cta-band[data-value-cta]),
body[data-page-family]:not(.home-page) main section[data-value-cta] {
  padding: clamp(30px, 2.4vw, 34px) 0 clamp(24px, 2vw, 30px) !important;
  color: #fff;
  background: #0b192b !important;
  border-block: 1px solid rgba(238, 212, 125, .24);
}

body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 310px) !important;
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: clamp(30px, 4vw, 56px) !important;
  row-gap: 20px !important;
  padding: 0 !important;
  color: #fff;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body[data-page-family]:not(.home-page) main .cta-band[data-value-cta]::before,
body[data-page-family]:not(.home-page) main .cta-band[data-value-cta]::after {
  content: none !important;
}

body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > :first-child {
  grid-column: 1;
  grid-row: 1;
}

body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-value-list {
  grid-column: 1;
  grid-row: 2;
  margin-top: 0;
}

body[data-page-family]:not(.home-page) main section[data-value-cta] :is(
  .container.cta-panel,
  .container.final-cta-panel,
  .container > .cta-panel,
  .container > .final-cta-panel
),
body[data-page-family]:not(.home-page) main section[data-value-cta] > .container:not(:has(> :is(.cta-band, .cta-panel, .final-cta-panel))) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
  align-items: start;
  gap: 12px clamp(30px, 4vw, 56px);
  padding-top: 0;
  padding-bottom: 0;
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body[data-page-family]:not(.home-page) main section[data-value-cta] > :is(.container.cta-panel, .container.final-cta-panel),
body[data-page-family]:not(.home-page) main section[data-value-cta] > .container:not(:has(> :is(.cta-band, .cta-panel, .final-cta-panel))) {
  width: calc(100% - 48px) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body[data-page-family]:not(.home-page) main section[data-value-cta] :is(
  .container.cta-panel,
  .container.final-cta-panel,
  .container > .cta-panel,
  .container > .final-cta-panel
) > :not(.hero-actions, .cta-actions),
body[data-page-family]:not(.home-page) main section[data-value-cta] > .container:not(:has(> :is(.cta-band, .cta-panel, .final-cta-panel))) > :not(.hero-actions, .cta-actions) {
  grid-column: 1;
}

body[data-page-family]:not(.home-page) main :is(
  section[data-value-cta],
  section:has(.cta-band[data-value-cta])
) .eyebrow {
  color: #eed47d;
}

body[data-page-family]:not(.home-page) main :is(
  section[data-value-cta],
  section:has(.cta-band[data-value-cta])
) h2 {
  max-width: 26ch !important;
  margin: 7px 0 10px !important;
  color: #fff !important;
  font-size: clamp(1.95rem, 2.8vw, 2.65rem) !important;
  line-height: 1.04 !important;
}

body[data-page-family]:not(.home-page) main :is(
  section[data-value-cta],
  section:has(.cta-band[data-value-cta])
) p {
  max-width: 70ch !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .76) !important;
  font-size: .98rem !important;
  line-height: 1.58 !important;
}

body[data-page-family]:not(.home-page) main .cta-value-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column: 1;
  gap: 0;
  margin: 20px 0 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
  list-style: none;
}

body[data-page-family]:not(.home-page) main .cta-value-list li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  padding: 13px 16px 0 0;
}

body[data-page-family]:not(.home-page) main .cta-value-list li + li {
  padding-left: 16px;
  border-left: 1px solid rgba(255, 255, 255, .14);
}

body[data-page-family]:not(.home-page) main .cta-value-list li > span {
  padding-top: 2px;
  color: #eed47d;
  font-family: var(--font-ui);
  font-size: .66rem;
  font-weight: 800;
}

body[data-page-family]:not(.home-page) main .cta-value-list strong,
body[data-page-family]:not(.home-page) main .cta-value-list small {
  display: block;
  font-family: var(--font-ui);
}

body[data-page-family]:not(.home-page) main .cta-value-list strong {
  margin-bottom: 4px;
  color: #fff;
  font-size: .75rem;
  line-height: 1.2;
  text-transform: uppercase;
}

body[data-page-family]:not(.home-page) main .cta-value-list small {
  color: rgba(255, 255, 255, .65);
  font-size: .72rem;
  line-height: 1.42;
}

body[data-page-family]:not(.home-page) main section[data-value-cta] :is(.hero-actions, .cta-actions),
body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-actions {
  display: grid !important;
  width: min(100%, 310px) !important;
  grid-column: 2;
  grid-row: 1 / span 5;
  grid-template-columns: minmax(0, 1fr) !important;
  align-self: center;
  justify-self: end;
  gap: 10px !important;
  margin: 0 !important;
}

body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-actions {
  grid-row: 1 / span 2;
}

body[data-page-family]:not(.home-page) main section[data-value-cta] :is(.hero-actions, .cta-actions) > .btn,
body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-actions > .btn {
  width: 100% !important;
  min-height: 50px;
  padding: 11px 16px !important;
  white-space: normal;
}

@media (max-width: 900px) {
  body[data-page-family]:not(.home-page) main .value-evidence,
  body[data-page-family]:not(.home-page) main .value-evidence--reverse {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  body[data-page-family]:not(.home-page) main .value-evidence--reverse .value-evidence__media {
    order: 0;
  }

  body[data-page-family]:not(.home-page) main .value-evidence__media,
  body[data-page-family]:not(.home-page) main .value-evidence__media img {
    min-height: 240px;
    max-height: 280px;
  }

  body[data-page-family]:not(.home-page) main .cta-band[data-value-cta],
  body[data-page-family]:not(.home-page) main section[data-value-cta] :is(
    .container.cta-panel,
    .container.final-cta-panel,
    .container > .cta-panel,
    .container > .final-cta-panel
  ),
  body[data-page-family]:not(.home-page) main section[data-value-cta] > .container:not(:has(> :is(.cta-band, .cta-panel, .final-cta-panel))) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page-family]:not(.home-page) main section[data-value-cta] :is(.hero-actions, .cta-actions),
  body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-actions {
    width: 100% !important;
    grid-column: 1;
    grid-row: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-self: stretch;
    margin-top: 22px !important;
  }
}

/* ==========================================================================
   POST-HERO DECISION STRIP V2

   One full-width four-step band follows every hero or editorial masthead.
   Page copy remains specific; geometry, numbering and interaction do not.
   ========================================================================== */


html body[data-page-family] .post-hero-signal-shell {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: transparent;
}

/* The band surface mirrors the homepage proof band (home-signal-shell):
   navy diagonal gradient with a gold radial tint, 3px gold top hairline,
   and the fine noise texture. Page copy stays specific to each page. */
html body[data-page-family] .post-hero-signal-shell > .signal-strip {
  position: relative;
  left: auto !important;
  display: grid !important;
  width: 100% !important;
  min-height: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 max(20px, calc((100% - 1180px) / 2)) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(238, 212, 125, .1), transparent 55%),
    linear-gradient(135deg, #07111e, #0f1e36) !important;
  box-shadow: none !important;
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip::before {
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  display: block !important;
  height: 3px;
  background: linear-gradient(90deg, transparent, #eed47d, #eed47d, #eed47d, transparent);
}

html body[data-page-family] .post-hero-signal-shell > .signal-strip::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

html body[data-page-family] .post-hero-signal-shell .signal-item {
  position: relative;
  z-index: 1;
  display: grid !important;
  min-width: 0;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start;
  align-content: start;
  padding: 20px 18px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .3s ease, box-shadow .3s ease, transform .3s ease !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::after {
  position: absolute;
  top: 14%;
  right: 0;
  bottom: 14%;
  display: block !important;
  width: 1px;
  height: auto;
  background: linear-gradient(180deg, transparent, rgba(238, 212, 125, .28), transparent) !important;
  content: "";
}

html body[data-page-family] .post-hero-signal-shell .signal-item:not(:last-child)::before {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: -3.5px;
  display: block !important;
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: #eed47d !important;
  box-shadow: 0 0 8px rgba(238, 212, 125, .6);
  content: "";
  transform: translateY(-50%) rotate(45deg) !important;
}

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

html body[data-page-family] .post-hero-signal-shell .signal-item:is(:hover, :focus-visible) {
  background: rgba(238, 212, 125, .08) !important;
  box-shadow: none !important;
  transform: translateY(-3px) !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:is(:hover, :focus-visible) h3 {
  color: #eed47d !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 {
  position: relative;
  display: inline-grid !important;
  place-items: center;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  overflow: hidden;
  border: 1.5px solid rgba(238, 212, 125, .68) !important;
  border-radius: 6px !important;
  color: #eed47d !important;
  background: linear-gradient(145deg, #152946, #0b1729) !important;
  box-shadow: 0 10px 24px rgba(7, 17, 30, .16), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  font-family: var(--font-editorial, "Times New Roman", Times, serif) !important;
  font-size: .9rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: uppercase;
  text-align: center;
  animation: none !important;
  transform: none !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}

html body[data-page-family] .post-hero-signal-shell .lifa-number-badge::before {
  display: none !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item:is(:hover, :focus-visible) .lifa-number-badge {
  transform: translateY(-3px) !important;
  border-color: #eed47d !important;
  box-shadow: 0 14px 30px rgba(7, 17, 30, .28), 0 0 0 3px rgba(238, 212, 125, .1) !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item h3 {
  margin: 0 0 4px !important;
  color: #fff !important;
  font-family: var(--font-editorial, "Times New Roman", Times, serif) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: normal !important;
}

html body[data-page-family] .post-hero-signal-shell .signal-item p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .76) !important;
  font-family: var(--font-reading, "Open Sans", Arial, sans-serif) !important;
  font-size: .76rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: normal !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;
    padding-right: max(20px, calc((100% - 1180px) / 2)) !important;
    padding-left: max(20px, calc((100% - 1180px) / 2)) !important;
  }

  html body[data-page-family] .post-hero-signal-shell .signal-item {
    padding: 20px 18px !important;
  }

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

  html body[data-page-family] .post-hero-signal-shell .signal-item:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(238, 212, 125, .16) !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 {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 20px 8px !important;
    border-bottom: 1px solid rgba(238, 212, 125, .16) !important;
  }

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

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

@media (max-width: 600px) {
  body[data-page-family]:not(.home-page) main .value-evidence-section {
    padding: 30px 0 24px !important;
  }

  body[data-page-family]:not(.home-page) main .value-evidence__media,
  body[data-page-family]:not(.home-page) main .value-evidence__media img {
    min-height: 210px;
    max-height: 240px;
  }

  body[data-page-family]:not(.home-page) main .value-evidence__media figcaption {
    right: 14px;
    bottom: 13px;
    left: 14px;
  }

  body[data-page-family]:not(.home-page) main .value-evidence__media figcaption span:last-child {
    display: none;
  }

  body[data-page-family]:not(.home-page) main section[data-value-cta] > :is(.container.cta-panel, .container.final-cta-panel),
  body[data-page-family]:not(.home-page) main section[data-value-cta] > .container:not(:has(> :is(.cta-band, .cta-panel, .final-cta-panel))) {
    width: 100% !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    box-sizing: border-box;
  }

  body[data-page-family]:not(.home-page) main .cta-value-list {
    grid-template-columns: 1fr;
  }

  body[data-page-family]:not(.home-page) main .cta-value-list li,
  body[data-page-family]:not(.home-page) main .cta-value-list li + li {
    padding: 11px 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  body[data-page-family]:not(.home-page) main section[data-value-cta] :is(.hero-actions, .cta-actions),
  body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-actions {
    gap: 8px !important;
  }

  body[data-page-family]:not(.home-page) main section[data-value-cta] :is(.hero-actions, .cta-actions) > .btn,
  body[data-page-family]:not(.home-page) main .cta-band[data-value-cta] > .cta-actions > .btn {
    min-height: 52px;
    padding: 10px !important;
    font-size: clamp(.64rem, 2.65vw, .75rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-family]:not(.home-page) main .value-evidence__media img,
  body[data-page-family]:not(.home-page) main .value-evidence__link,
  body[data-page-family]:not(.home-page) main .value-evidence__link span {
    transition: none !important;
  }
}

/* Retire the inset plaque frame and its two corner brackets. The ::after slot
   is then reused for one top-left bracket, so the motif survives at a quarter
   of the visual weight. */
body[data-page-family] main :is(.card, .link-card)::after {
  z-index: 1;
  inset: 0;
  width: var(--pc-bracket);
  height: var(--pc-bracket);
  pointer-events: none;
  border: 0;
  border-top: 1px solid var(--pc-gold-edge);
  border-left: 1px solid var(--pc-gold-edge);
  border-radius: var(--pc-radius) 0 0 0;
  background: none;
  box-shadow: none;
  opacity: .55;
  transition: opacity var(--dur-mid, .32s) ease, width var(--dur-mid, .32s) var(--pc-ease), height var(--dur-mid, .32s) var(--pc-ease);
}

body[data-page-family] main :is(.card, .link-card):is(:hover, :focus-visible, :focus-within)::after {
  width: calc(var(--pc-bracket) * 1.7);
  height: calc(var(--pc-bracket) * 1.7);
  border-color: var(--gold-light);
  box-shadow: none;
  opacity: 1;
}

/* The hover-only 3px top bar becomes a soft corner wash, so a grid of twelve
   cards no longer flickers twelve gold bars on cursor travel.

   z-index and pointer-events are reset explicitly. The rule this overrides was a
   3px strip declared at z-index 2, where sitting above the card content and
   swallowing pointer events over 3px was unnoticeable. At 62% of the card box
   both would be defects: the wash would tint the heading and eat clicks on the
   top-right of every card, including the linked ones. */
body[data-page-family] main :is(.card, .link-card, .media-card)::before {
  z-index: 0;
  top: 0;
  right: 0;
  left: auto;
  width: 62%;
  height: 62%;
  border-radius: 0 var(--pc-radius) 0 0;
  background: radial-gradient(120% 120% at 100% 0%, var(--pc-gold-wash), transparent 70%);
  opacity: 0;
  transform: none;
  pointer-events: none;
  transition: opacity var(--dur-mid, .32s) ease;
}

body[data-page-family] main :is(.card, .link-card, .media-card):is(:hover, :focus-visible, :focus-within)::before {
  opacity: 1;
  transform: none;
}

/* A 7px lift on a 300px card overshoots; 4px reads intentional. */
body[data-page-family] main :is(.card, .link-card, .media-card, .quote-panel):is(:hover, :focus-visible) {
  transform: translateY(-4px);
}

body[data-page-family] main :is(.card, .link-card) {
  padding: clamp(24px, 2.2vw, 32px);
}

body[data-page-family] main :is(.card, .link-card) :is(h3, h4) {
  letter-spacing: -.012em;
  line-height: 1.22;
}

/* Card action label: same micro-type and same arrow travel everywhere. */
body[data-page-family] main .card-link {
  gap: 8px;
  font-size: var(--step-fine, .78rem);
  letter-spacing: .08em;
}

body[data-page-family] main .card-link::after {
  transition: transform var(--dur-mid, .32s) var(--pc-ease);
}

body[data-page-family] main :is(.card, .link-card, .media-card):is(:hover, :focus-visible) .card-link::after {
  transform: translateX(6px);
}

@media (hover: none) {
  body[data-page-family] main :is(.card, .link-card, .media-card, .quote-panel):is(:hover, :focus-visible) {
    transform: none;
  }
}

/* ==========================================================================
   DOCUMENTED CASE-STUDY LAYOUT

   These generated records use the editorial article markup without a media
   hero. Give that family its own masthead so the global white hero-title rule
   always has a deliberate dark surface beneath it.
   ========================================================================== */

html body[data-page-family="case-study-hub"] main .article-page,
html body[data-page-family="case-study"] main .case-study-page {
  padding-top: 0 !important;
  background: #fff !important;
}

html body[data-page-family="case-study-hub"] main .article-page > .container,
html body[data-page-family="case-study"] main .case-study-page > .container {
  width: 100% !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

html body[data-page-family="case-study-hub"] main .article-header,
html body[data-page-family="case-study"] main .article-header {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 76px max(40px, calc((100% - 1180px) / 2)) 68px !important;
  overflow: hidden;
  color: #fff;
  border-bottom: 1px solid rgba(238, 212, 125, .42);
  background: #091a2d !important;
}

html body[data-page-family="case-study-hub"] main .article-header::after,
html body[data-page-family="case-study"] main .article-header::after {
  position: absolute;
  top: 0;
  right: max(40px, calc((100% - 1180px) / 2));
  width: 1px;
  height: 100%;
  background: rgba(238, 212, 125, .22);
  content: "";
}

html body[data-page-family="case-study-hub"] main .article-header .eyebrow,
html body[data-page-family="case-study"] main .article-header .eyebrow {
  margin-bottom: 20px !important;
  color: #eed47d !important;
}

html body[data-page-family="case-study-hub"] main .article-header h1,
html body[data-page-family="case-study"] main .article-header h1 {
  max-width: 920px;
  margin: 0 0 24px !important;
  color: #fff !important;
  font-size: 4rem !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

html body[data-page-family="case-study-hub"] main .article-header .direct-answer,
html body[data-page-family="case-study"] main .article-header .direct-answer {
  max-width: 820px;
  margin: 0 !important;
  color: #d1d9e2 !important;
  font-size: 1.08rem !important;
  line-height: 1.72 !important;
}

html body[data-page-family="case-study"] main .article-header :is(.article-meta, .content-author) {
  max-width: 820px;
  color: #aebbc9 !important;
}

html body[data-page-family="case-study"] main .article-header .article-meta {
  margin: 26px 0 0 !important;
  padding-top: 20px;
  border-top: 1px solid rgba(238, 212, 125, .2);
  font-size: .86rem !important;
}

html body[data-page-family="case-study"] main .article-header .content-author {
  margin: 6px 0 0 !important;
  font-size: .8rem !important;
}

html body[data-page-family="case-study"] main .breadcrumb {
  width: min(100% - 80px, 1180px);
  margin: 0 auto !important;
  padding: 20px 0 !important;
  color: #667586;
}

html body[data-page-family="case-study"] main .breadcrumb a {
  color: #29425d !important;
  text-decoration-color: rgba(238, 212, 125, .7) !important;
}

html body[data-page-family="case-study"] main .breadcrumb a:is(:hover, :focus-visible) {
  color: #eed47d !important;
}

html body[data-page-family="case-study"] main .breadcrumb span[aria-hidden="true"] {
  color: #a8b1bb !important;
}

html body[data-page-family="case-study"] main .breadcrumb span:last-child {
  color: #667586 !important;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 {
  width: min(100% - 80px, 1080px);
  margin: 56px auto 24px !important;
  gap: 20px !important;
  align-items: stretch;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card {
  position: relative;
  min-height: 270px;
  padding: 22px !important;
  overflow: hidden;
  border: 1px solid #dbe1e7 !important;
  border-top: 3px solid #eed47d !important;
  border-radius: 8px !important;
  background: #f8fafb !important;
  box-shadow: 0 10px 30px rgba(7, 17, 30, .06) !important;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card:nth-child(3n + 2) {
  border-top-color: #5d9d91 !important;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card:nth-child(3n) {
  border-top-color: #73879f !important;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card h3 {
  margin-bottom: 12px !important;
  color: #10233e !important;
  font-size: 1.42rem !important;
  line-height: 1.2 !important;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card p {
  margin-bottom: 22px !important;
  color: #59697a !important;
  font-size: .94rem !important;
}

html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card .card-link {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #dbe1e7;
  color: #eed47d !important;
}

html body[data-page-family="case-study"] main .article-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
  width: min(100% - 80px, 960px);
  margin: 64px auto 0 !important;
}

html body[data-page-family="case-study"] main .article-content > section {
  margin: 0 !important;
  padding: 28px 0 32px !important;
  border-top: 1px solid #dbe1e7;
  background: transparent !important;
  box-shadow: none !important;
}

html body[data-page-family="case-study"] main .article-content > section:nth-child(n + 7) {
  grid-column: 1 / -1;
}

html body[data-page-family="case-study"] main .article-content > section h2 {
  margin: 0 0 14px !important;
  color: #10233e !important;
  font-size: 1.48rem !important;
  line-height: 1.22 !important;
}

html body[data-page-family="case-study"] main .article-content > section :is(p, li) {
  color: #58697a !important;
  font-size: .98rem !important;
}

html body[data-page-family="case-study"] main .article-content > section.callout {
  margin-top: 18px !important;
  padding: 30px 34px !important;
  border: 1px solid rgba(238, 212, 125, .42) !important;
  border-left: 4px solid #eed47d !important;
  border-radius: 4px !important;
  background: #f7f8f9 !important;
}

html body[data-page-family="case-study"] main .article-actions {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  width: min(100% - 80px, 1180px);
  margin: 48px auto 0 !important;
  padding: 34px clamp(24px, 4vw, 52px) !important;
  border: 1px solid rgba(238, 212, 125, .55);
  border-top: 3px solid #eed47d;
  border-radius: 8px;
  background: #0d2337;
  box-shadow: 0 22px 48px rgba(7, 17, 30, .16);
}

html body[data-page-family="case-study"] main .article-actions-copy {
  max-width: 680px;
}

html body[data-page-family="case-study"] main .article-actions-copy .eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #eed47d;
}

html body[data-page-family="case-study"] main .article-actions-copy h2 {
  margin: 0 0 10px;
  color: #fff !important;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
  line-height: 1.12 !important;
}

html body[data-page-family="case-study"] main .article-actions-copy p {
  max-width: 62ch;
  margin: 0;
  color: rgba(255, 255, 255, .78) !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
}

html body[data-page-family="case-study"] main .article-actions-buttons {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 12px;
}

html body[data-page-family="case-study"] main .article-actions-buttons .btn {
  min-width: 188px;
  justify-content: center;
  white-space: nowrap;
}

/* Evidence-record and training-scenario depth program, 2026-08-26. */
html body[data-page-family="case-study"] main .record-status-section {
  padding: 30px 32px !important;
  border: 1px solid #ccd6df !important;
  border-left: 4px solid #5d9d91 !important;
  background: #f4f8f7 !important;
}

html body[data-page-family="case-study"] main .record-status-section--training {
  border-left-color: #eed47d !important;
  background: #ffffff !important;
}

html body[data-page-family="case-study"] main .record-status-label {
  display: inline-block;
  margin-bottom: 12px;
  color: #eed47d;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

html body[data-page-family="case-study"] main :is(.record-decision-section, .record-table-section, .record-risk-section, .record-evidence-section, .record-questions-section, .record-limit-section, .record-related-section) {
  grid-column: 1 / -1;
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

html body[data-page-family="case-study"] main .record-spec-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

html body[data-page-family="case-study"] main .record-spec-list li {
  padding: 14px 0;
  border-bottom: 1px solid #dbe1e7;
}

html body[data-page-family="case-study"] main .record-decision-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

html body[data-page-family="case-study"] main .record-decision-table :is(th, td) {
  padding: 14px 16px;
  vertical-align: top;
  border: 1px solid #dbe1e7;
  text-align: left;
}

html body[data-page-family="case-study"] main .record-decision-table th {
  color: #fff;
  background: #10233e;
}

html body[data-page-family="case-study"] main :is(.record-control-grid, .record-responsibility-grid) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 26px 0;
}

html body[data-page-family="case-study"] main .record-control-grid article,
html body[data-page-family="case-study"] main .record-responsibility-grid > div {
  min-width: 0;
  padding: 22px;
  border: 1px solid #dbe1e7;
  border-top: 3px solid #eed47d;
  border-radius: 6px;
  background: #f8fafb;
}

html body[data-page-family="case-study"] main .record-control-grid article:nth-child(even),
html body[data-page-family="case-study"] main .record-responsibility-grid > div:nth-child(even) {
  border-top-color: #5d9d91;
}

html body[data-page-family="case-study"] main .record-control-grid article > span {
  color: #eed47d;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
}

html body[data-page-family="case-study"] main .record-control-grid h3 {
  margin: 8px 0 10px;
  color: #10233e;
  font-size: 1.08rem;
}

html body[data-page-family="case-study"] main .record-method-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

html body[data-page-family="case-study"] main .record-method-links a,
html body[data-page-family="case-study"] main .record-sequence-nav a {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 18px 20px;
  color: #10233e;
  border: 1px solid #dbe1e7;
  border-radius: 6px;
  background: #f8fafb;
  text-decoration: none;
}

html body[data-page-family="case-study"] main .record-method-links a:is(:hover, :focus-visible),
html body[data-page-family="case-study"] main .record-sequence-nav a:is(:hover, :focus-visible) {
  border-color: #eed47d;
  background: #fff;
}

html body[data-page-family="case-study"] main .record-method-links span,
html body[data-page-family="case-study"] main .record-sequence-nav span {
  color: #667586;
  font-size: .84rem;
}

html body[data-page-family="case-study"] main .record-sequence-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #dbe1e7;
}

html body[data-page-family="case-study-hub"] main .record-library-intro,
html body[data-page-family="case-study-hub"] main .record-library-controls,
html body[data-page-family="case-study-hub"] main .record-library-group {
  width: min(100% - 80px, 1080px);
  margin: 54px auto 0;
}

html body[data-page-family="case-study-hub"] main .record-library-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
  gap: 44px;
  align-items: start;
}

html body[data-page-family="case-study-hub"] main .record-library-legend {
  border-top: 3px solid #eed47d;
  background: #f8fafb;
}

html body[data-page-family="case-study-hub"] main .record-library-legend p {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 18px 20px;
  border-bottom: 1px solid #dbe1e7;
}

html body[data-page-family="case-study-hub"] main .record-library-controls {
  padding: 28px;
  border: 1px solid #dbe1e7;
  border-radius: 6px;
  background: #f4f7f9;
}

html body[data-page-family="case-study-hub"] main .record-library-controls label {
  display: block;
  margin: 18px 0 8px;
  color: #10233e;
  font-weight: 700;
}

html body[data-page-family="case-study-hub"] main .record-library-controls input {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #b9c5d0;
  border-radius: 4px;
  background: #fff;
}

html body[data-page-family="case-study-hub"] main .record-library-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

html body[data-page-family="case-study-hub"] main .record-library-filter button {
  min-height: 42px;
  padding: 8px 14px;
  color: #10233e;
  border: 1px solid #b9c5d0;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

html body[data-page-family="case-study-hub"] main .record-library-filter button[aria-pressed="true"] {
  color: #fff;
  border-color: #10233e;
  background: #10233e;
}

html body[data-page-family="case-study-hub"] main .record-library-results {
  margin: 12px 0 0;
  color: #667586;
  font-size: .88rem;
}

html body[data-page-family="case-study-hub"] main .record-library-heading {
  max-width: 820px;
}

html body[data-page-family="case-study-hub"] main .record-library-group .grid.grid-3 {
  width: 100%;
  margin: 28px 0 0 !important;
}

html body[data-page-family="case-study-hub"] main .record-library-card[hidden],
html body[data-page-family="case-study-hub"] main .record-library-group[hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  html body[data-page-family="case-study"] main :is(.record-control-grid, .record-responsibility-grid, .record-method-links, .record-sequence-nav, .record-spec-list),
  html body[data-page-family="case-study-hub"] main .record-library-intro {
    grid-template-columns: minmax(0, 1fr);
  }

  html body[data-page-family="case-study"] main .record-status-section {
    padding: 24px 20px !important;
  }

  html body[data-page-family="case-study-hub"] main :is(.record-library-intro, .record-library-controls, .record-library-group) {
    width: calc(100% - 40px);
    margin-top: 24px;
  }
}

@media (max-width: 900px) {
  html body[data-page-family="case-study-hub"] main .article-header,
  html body[data-page-family="case-study"] main .article-header {
    padding: 62px 32px 56px !important;
  }

  html body[data-page-family="case-study-hub"] main .article-header::after,
  html body[data-page-family="case-study"] main .article-header::after {
    right: 32px;
  }

  html body[data-page-family="case-study-hub"] main .article-header h1,
  html body[data-page-family="case-study"] main .article-header h1 {
    font-size: 3rem !important;
  }

  html body[data-page-family="case-study-hub"] main .grid.grid-3 {
    width: min(100% - 64px, 720px);
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body[data-page-family="case-study"] main .breadcrumb,
  html body[data-page-family="case-study"] main .article-content,
  html body[data-page-family="case-study"] main .article-actions {
    width: calc(100% - 64px);
  }
}

@media (max-width: 640px) {
  html body[data-page-family="case-study-hub"] main .article-header,
  html body[data-page-family="case-study"] main .article-header {
    padding: 34px 20px 32px !important;
  }

  html body[data-page-family="case-study-hub"] main .article-header::after,
  html body[data-page-family="case-study"] main .article-header::after {
    right: 20px;
  }

  html body[data-page-family="case-study-hub"] main .article-header h1,
  html body[data-page-family="case-study"] main .article-header h1 {
    margin-bottom: 18px !important;
    font-size: 2.35rem !important;
    line-height: 1.08 !important;
  }

  html body[data-page-family="case-study-hub"] main .article-header .direct-answer,
  html body[data-page-family="case-study"] main .article-header .direct-answer {
    font-size: 1rem !important;
  }

  html body[data-page-family="case-study"] main .article-header :is(.article-meta, .content-author),
  html body[data-page-family="case-study"] main .breadcrumb > :nth-last-child(-n + 2) {
    display: none !important;
  }

  html body[data-page-family="case-study-hub"] main .grid.grid-3 {
    width: calc(100% - 40px);
    margin-top: 36px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card {
    min-height: 0;
    padding: 22px !important;
  }

  html body[data-page-family="case-study"] main .breadcrumb,
  html body[data-page-family="case-study"] main .article-content,
  html body[data-page-family="case-study"] main .article-actions {
    width: calc(100% - 40px);
  }

  html body[data-page-family="case-study"] main .article-content {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 42px !important;
  }

  html body[data-page-family="case-study"] main .article-content > section:nth-child(n) {
    grid-column: auto;
  }

  html body[data-page-family="case-study"] main .article-content > section.callout {
    padding: 24px 22px !important;
  }

  html body[data-page-family="case-study"] main .article-actions {
    display: grid;
    align-items: stretch;
    gap: 22px;
    padding: 26px 22px !important;
  }

  html body[data-page-family="case-study"] main .article-actions-copy {
    max-width: none;
  }

  html body[data-page-family="case-study"] main .article-actions-copy h2 {
    font-size: 1.7rem !important;
  }

  html body[data-page-family="case-study"] main .article-actions-buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  html body[data-page-family="case-study"] main .article-actions-buttons .btn {
    width: 100%;
  }

  html body[data-page-family="case-study"] main .article-actions .btn {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   2. Section canvas

   Deliberately narrow. Section headings are already unified - styles.css:17929
   gives interior headings the homepage's display scale and leading on purpose,
   and styles.css:17916 already draws one consistent 22px gold rule before every
   section eyebrow. Adding a second accent motif here, or restating the type
   scale, would fragment a system that is already coherent, so neither is done.

   Two things were genuinely broken:

   - .section-muted was a gradient from --off-white down to pure white, so by the
     bottom of each band the alternation had faded out completely and long pages
     read as one undifferentiated scroll. Holding the brand off-white flat is the
     whole fix; no new colour is introduced.
   - Interior buttons sat at 4px (styles.css:17948) while the homepage's sat at
     8px, so the same action looked like a different control depending on the
     page. Both now use the shared radius.
   -------------------------------------------------------------------------- */
body[data-page-family] main .section-muted {
  background: var(--off-white);
}

body[data-page-family] main .section-muted + .section-muted {
  border-top: 1px solid var(--pc-hairline);
}

body[data-page-family] main .btn {
  border-radius: var(--pc-radius);
}

body[data-page-family] .signal-item {
  transition:
    background-color var(--dur-mid, .32s) ease,
    box-shadow var(--dur-mid, .32s) ease;
}

body[data-page-family] .signal-item:is(:hover, :focus-visible) {
  background-color: rgba(238, 212, 125, .05);
  box-shadow: inset 0 0 0 1px rgba(238, 212, 125, .14);
}

/* --------------------------------------------------------------------------
   3. Header

   --header-h is left untouched: styles.css consumes it for the sticky offset,
   the mobile nav panel height, the desktop dropdown, and scroll-padding-top, so
   changing it would move every anchor target on the site. The upgrade is in the
   surface, the nav indicator, the CTA, and the dropdown panels.
   -------------------------------------------------------------------------- */
.site-header {
  background:
    radial-gradient(ellipse 900px 190px at 12% 0%, rgba(238, 212, 125, .11), transparent 62%),
    linear-gradient(100deg, #06101c 0%, var(--navy) 62%, #12243f 100%);
  border-bottom: 1px solid rgba(238, 212, 125, .2);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .03);
  backdrop-filter: blur(14px) saturate(1.06);
}

.site-header.is-scrolled {
  background:
    radial-gradient(ellipse 900px 190px at 12% 0%, rgba(238, 212, 125, .09), transparent 62%),
    linear-gradient(100deg, rgba(6, 16, 28, .96) 0%, rgba(15, 30, 54, .94) 62%, rgba(18, 36, 63, .96) 100%);
  border-bottom-color: rgba(238, 212, 125, .34);
  box-shadow: 0 14px 38px rgba(2, 9, 16, .34);
}

/* A 3px square underline reads as a tab. 2px, rounded, inset from the label
   edges reads as an indicator. */
.main-nav > a::before,
.main-nav > .nav-item > a::before {
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  box-shadow: 0 0 12px rgba(238, 212, 125, .45);
}

.main-nav > a:hover::before,
.main-nav > a.active::before,
.main-nav > .nav-item > a:hover::before,
.main-nav > .nav-item > a.active::before {
  left: 2px;
  right: 2px;
}

.header-cta {
  border: 1px solid rgba(255, 255, 255, .3);
  box-shadow: 0 1px 2px rgba(238, 212, 125, .2), 0 10px 24px rgba(238, 212, 125, .22);
}

.header-cta:is(:hover, :focus-visible) {
  box-shadow: 0 2px 4px rgba(238, 212, 125, .24), 0 16px 34px rgba(238, 212, 125, .3);
}

.dropdown-panel {
  border: 1px solid rgba(238, 212, 125, .22);
  border-radius: var(--pc-radius, 8px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .16), 0 30px 68px rgba(0, 0, 0, .34);
  backdrop-filter: blur(16px) saturate(1.05);
  overflow: hidden;
}

.dropdown-panel a {
  border-radius: var(--pc-radius-sm, 6px);
}

.dropdown-panel a:is(:hover, :focus-visible) {
  background-color: rgba(238, 212, 125, .09);
}

.dropdown-panel .dropdown-viewall {
  border-top: 1px solid rgba(238, 212, 125, .18);
  color: var(--gold-light);
  font-weight: 800;
}

.menu-toggle {
  border-radius: var(--pc-radius-sm, 6px);
  border-color: rgba(238, 212, 125, .42);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05), 0 6px 16px rgba(0, 0, 0, .18);
}

/* --------------------------------------------------------------------------
   4. Footer

   The editorial composition stays. Its chrome joins the card system: the brand
   panel loses its 2px/34px mixed radius, the link rows share the card hairline,
   and the bottom bar gets the same two-layer treatment.
   -------------------------------------------------------------------------- */
.site-footer .footer-brand-section {
  border-radius: var(--pc-radius, 8px);
  border-color: rgba(238, 212, 125, .22);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05), 0 2px 6px rgba(0, 0, 0, .1), 0 30px 72px rgba(0, 0, 0, .2);
}

.site-footer .footer-column a {
  border-radius: var(--pc-radius-sm, 6px);
  border-bottom-color: rgba(255, 255, 255, .07);
  padding-inline: 10px;
  transition: color var(--dur-fast, .18s) ease, background-color var(--dur-fast, .18s) ease, border-color var(--dur-fast, .18s) ease;
}

.site-footer .footer-column a:is(:hover, :focus-visible) {
  background-color: rgba(238, 212, 125, .07);
  border-bottom-color: rgba(238, 212, 125, .38);
}

.site-footer .footer-legal-links a {
  border-radius: 999px;
  transition: color var(--dur-fast, .18s) ease, background-color var(--dur-fast, .18s) ease;
}

.site-footer .footer-legal-links a:is(:hover, :focus-visible) {
  background-color: rgba(238, 212, 125, .09);
}

/* --------------------------------------------------------------------------
   5. Corner radius unification

   readable-card-sections.css hard-codes `border-radius: 6px !important` on six
   component families, so a media card sat at 6px next to a .card at 8px in the
   same grid. These are the only declarations in that sheet that a variable
   redirect cannot reach, so they get the one specificity escalation in this
   file: an html prefix takes each selector past the (0,3,2) it declares at.
   -------------------------------------------------------------------------- */
html body main :is(
  .media-card-link,
  .media-card-link > .media-card,
  a.media-card,
  .process-feature-card,
  .home-freight-visual,
  .home-industry-lead-card,
  .home-industry-lead-card figure,
  .founder-portrait-link
) {
  border-radius: var(--pc-radius) !important;
}

/* The process feature card declared its own gold border and a 42px shadow at
   .2 alpha, which read heavier than every neighbouring surface. */
html body main .process-feature-card {
  border-color: var(--pc-hairline) !important;
  box-shadow: var(--pc-e1) !important;
}

html body main .process-feature-card:is(:hover, :focus-visible, :focus-within) {
  border-color: var(--pc-gold-edge) !important;
  box-shadow: var(--pc-e2) !important;
}
/* Keep non-home banner copy readable across the six-image photographic set. */
body:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero)
  :is(.hero-content-wrapper, .hero-content) :is(h1, h2, p) {
  color: #fff !important;
  text-shadow: 0 2px 4px rgba(2, 8, 15, .92), 0 10px 28px rgba(2, 8, 15, .72) !important;
}

/* ========================================================================== 
   SITEWIDE HERO PHOTOGRAPHY CLARITY

   Keep the existing hero geometry and copy while giving every page the same
   clean photographic finish. The carousel frame no longer enlarges the whole
   image layer, which was softening photographs before each slide changed.
   ========================================================================== */
html body.home-page .home-hero .hero-slider,
html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-slider {
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}

html body.home-page .home-hero :is(.hero-slide, .hero-media, picture > img),
html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) :is(.hero-slide, .hero-media, picture > img) {
  filter: saturate(1.055) contrast(1.045) brightness(1.035) !important;
  image-rendering: auto;
  backface-visibility: hidden;
}

html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-slide {
  transform: scale(1.002) translate3d(0, 0, 0) !important;
  transition: opacity .9s ease, transform 6s cubic-bezier(.2, .65, .25, 1) !important;
}

html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-slide.active {
  transform: scale(1.028) translate3d(-.12%, 0, 0) !important;
}

html body.home-page .home-hero::before,
html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero)::before {
  backdrop-filter: none !important;
}

/* The homepage carousel changes every three seconds. A restrained drift keeps
   it alive without enlarging a frame enough to lose visible detail. */
@keyframes hpHeroCinema {
  from { transform: scale(1.002) translate3d(0, 0, 0); }
  to { transform: scale(1.028) translate3d(-.12%, 0, 0); }
}

@keyframes premiumHeroMediaDrift {
  from { transform: scale(1.002) translate3d(0, 0, 0); }
  to { transform: scale(1.024) translate3d(-.1%, 0, 0); }
}

html body :is(.hero, .tool-page-hero) > .hero-media {
  animation: premiumHeroMediaDrift 12s cubic-bezier(.2, .65, .25, 1) infinite alternate !important;
}

@media (max-width: 700px) {
  /* Match the homepage's full-bleed banner contract on phones. The image stays
     behind the complete hero while the shared scrim protects copy contrast. */
  html body.home-page .home-hero .hero-slider,
  html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-slider {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #071321;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  html body.home-page .home-hero::before,
  html body:not(.home-page):not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero)::before {
    background:
      linear-gradient(180deg,
        rgba(3, 11, 21, .08) 0,
        rgba(3, 11, 21, .14) 20svh,
        rgba(5, 16, 29, .48) 38svh,
        rgba(5, 16, 29, .9) 54svh,
        #071321 64svh,
        #071321 100%),
      linear-gradient(90deg, rgba(3, 11, 21, .22), rgba(5, 16, 29, .06)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.home-page .home-hero .hero-slide.active,
  html body:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) :is(.hero-slide, .hero-media) {
    animation: none !important;
    transition: opacity .01ms linear !important;
    transform: none !important;
  }
}

/* ========================================================================== 
   PREMIUM LINKED RECORD GRIDS V2

   Retire the continuous spreadsheet-style matrix used by interior text-card
   sections. Each record now has its own quiet surface, compact hierarchy, and
   clear action edge while retaining the site's editorial navy/gold language.
   ========================================================================== */

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card) {
  width: min(100%, 1080px);
  margin-inline: auto;
  gap: clamp(12px, 1.15vw, 16px);
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body[data-page-family]:not(.home-page) main
  :is(.grid-2, .card-grid.grid-2):has(> .card, > .link-card, > .lifa-card) {
  width: min(100%, 940px);
}

body[data-page-family]:not(.home-page) main
  :is(.grid-3, .card-grid.grid-3):has(> .card, > .link-card, > .lifa-card) {
  width: min(100%, 1080px);
}

/* Section introductions share the same content boundary as their records.
   This keeps the title, context, and cards reading as one composition. */
body[data-page-family]:not(.home-page) main
  .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) {
  width: min(100%, 1080px);
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 10px 40px;
  align-items: start;
  margin-right: auto;
  margin-bottom: 28px;
  margin-left: auto;
}

body[data-page-family]:not(.home-page) main
  .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) > h2 {
  max-width: 19ch;
  font-size: 2.65rem !important;
  line-height: 1.08 !important;
}

body[data-page-family]:not(.home-page) main
  .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) > p {
  max-width: 58ch;
  margin-top: 3px;
  font-size: 1rem !important;
  line-height: 1.58 !important;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) {
  isolation: isolate;
  display: flex;
  min-width: 0;
  min-height: 184px;
  flex-direction: column;
  padding: clamp(19px, 1.7vw, 22px);
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15, 30, 54, .14);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(7, 17, 30, .055), 0 1px 2px rgba(7, 17, 30, .05);
  transform: translateY(0);
  transition: transform .28s cubic-bezier(.2, .75, .2, 1), box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card)::before {
  z-index: 2;
  top: 0;
  right: auto;
  left: 0;
  width: 56px;
  height: 3px;
  border-radius: 8px 0 0 0;
  background: var(--page-gold, var(--polish-gold));
  content: "";
  opacity: 1;
  transform: none;
  pointer-events: none;
  transition: width .32s cubic-bezier(.2, .75, .2, 1), background-color .28s ease;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card):nth-child(3n + 2)::before {
  background: #2f7b73;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card):nth-child(3n + 3)::before {
  background: #315775;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card)::after {
  content: none;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card):is(:hover, :focus-visible, :focus-within) {
  z-index: 1;
  background: #fff;
  border-color: rgba(238, 212, 125, .58);
  box-shadow: 0 18px 38px rgba(7, 17, 30, .12), 0 3px 8px rgba(7, 17, 30, .05);
  transform: translateY(-4px);
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card):is(:hover, :focus-visible, :focus-within)::before {
  width: 100%;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) > .lifa-number-badge {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  margin: 0 0 14px;
  color: var(--polish-gold-light);
  background: #0f1e36;
  border: 1px solid rgba(238, 212, 125, .58);
  border-radius: 6px;
  box-shadow: 0 5px 12px rgba(7, 17, 30, .12);
  transform: translateY(0);
  transition: color .24s ease, background-color .24s ease, border-color .24s ease, transform .24s ease;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card):is(:hover, :focus-visible) > .lifa-number-badge {
  color: #eed47d;
  background: #18314f;
  border-color: var(--polish-gold-light);
  transform: translateY(-2px);
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) :is(h3, h4) {
  margin: 0 0 7px;
  color: var(--page-ink, var(--polish-ink));
  font-size: clamp(1.16rem, 1.3vw, 1.36rem);
  line-height: 1.22;
  letter-spacing: 0;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) > p {
  margin: 0 0 15px;
  color: #53657a;
  font-size: .86rem;
  line-height: 1.52;
}

body[data-page-family]:not(.home-page) main
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) > .card-link {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid rgba(15, 30, 54, .1);
  color: #eed47d;
  font-size: .7rem;
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: .06em;
}

body[data-page-family]:not(.home-page) main .section-muted
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) {
  background: #fff;
}

body[data-page-family]:not(.home-page) main .section-dark
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card) {
  background: transparent;
  border: 0;
}

body[data-page-family]:not(.home-page) main .section-dark
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) {
  color: rgba(255, 255, 255, .76);
  background: #12243a;
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 10px 26px rgba(2, 8, 16, .16);
}

body[data-page-family]:not(.home-page) main .section-dark
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) :is(h3, h4) {
  color: #fff;
}

body[data-page-family]:not(.home-page) main .section-dark
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) > p {
  color: rgba(255, 255, 255, .69);
}

body[data-page-family]:not(.home-page) main .section-dark
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card) > .card-link {
  color: var(--polish-gold-light);
  border-top-color: rgba(255, 255, 255, .12);
}

body[data-page-family]:not(.home-page) main .section-dark
  :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
  > :is(.card, .link-card, .lifa-card):is(:hover, :focus-visible, :focus-within) {
  background: #17304c;
  border-color: rgba(238, 212, 125, .5);
  box-shadow: 0 18px 38px rgba(2, 8, 16, .26);
}

@media (max-width: 1024px) {
  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) {
    width: min(100%, 760px);
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 10px 28px;
  }

  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) > h2 {
    font-size: 2.25rem !important;
  }

  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card) {
    width: min(100%, 760px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
    > :is(.card, .link-card, .lifa-card) {
    grid-column: auto;
  }
}

@media (max-width: 820px) {
  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) {
    display: block;
    width: min(100%, 680px);
    margin-bottom: 22px;
  }

  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) > h2 {
    max-width: 20ch;
    margin-bottom: 10px;
  }
}

@media (max-width: 640px) {
  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p),
  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card) {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) > h2 {
    font-size: 2rem !important;
    line-height: 1.12 !important;
  }

  body[data-page-family]:not(.home-page) main
    .section > .container > .section-heading:not(:has(+ .faq-wrap)):has(> p) > p {
    font-size: .95rem !important;
    line-height: 1.54 !important;
  }

  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card) {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
    > :is(.card, .link-card, .lifa-card) {
    min-height: 0;
    padding: 18px;
  }
}

@media (hover: none) {
  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
    > :is(.card, .link-card, .lifa-card):is(:hover, :focus-visible, :focus-within) {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
    > :is(.card, .link-card, .lifa-card),
  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
    > :is(.card, .link-card, .lifa-card)::before,
  body[data-page-family]:not(.home-page) main
    :is(.grid, .card-grid):has(> .card, > .link-card, > .lifa-card)
    > :is(.card, .link-card, .lifa-card) > .lifa-number-badge {
    transition-duration: .01ms !important;
  }
}

/* ========================================================================== 
   COMPACT PHONE RHYTHM

   Phone layouts should spend height on information rather than repeated
   framing. These values tighten the shared vertical rhythm while preserving
   readable line-height and full-size touch targets.
   ========================================================================== */
@media (max-width: 700px) {
  body[data-page-family] {
    --phone-section-top: 26px;
    --phone-section-bottom: 16px;
    --phone-block-gap: 16px;
    --phone-card-padding: 18px;
  }

  body[data-page-family] main > :is(.section, .section-tight) {
    padding-top: var(--phone-section-top) !important;
    padding-bottom: var(--phone-section-bottom) !important;
  }

  body[data-page-family]:not(.home-page) main > section:is(
    .section,
    .section-tight,
    .section-muted,
    .section-dark,
    .value-evidence-section,
    .final-cta,
    .final-cta-section,
    .contact-cta
  ) {
    padding-top: var(--phone-section-top) !important;
    padding-bottom: var(--phone-section-bottom) !important;
  }

  body[data-page-family]:not(.home-page) main section:has(.cta-band[data-value-cta]),
  body[data-page-family]:not(.home-page) main section[data-value-cta] {
    padding-top: var(--phone-section-top) !important;
    padding-bottom: var(--phone-section-bottom) !important;
  }

  body[data-page-family] main > section > .container,
  body[data-page-family] main > section.container {
    row-gap: var(--phone-block-gap) !important;
  }

  body[data-page-family] main > section > .container > :last-child {
    margin-bottom: 0 !important;
  }

  body[data-page-family] main > section > .container > :last-child
    :where(p, ul, ol, blockquote):last-child {
    margin-bottom: 0 !important;
  }

  body[data-page-family] main > section > .container > :last-child > :last-child {
    margin-bottom: 0 !important;
  }

  body[data-page-family] main :is(.section-heading, .home-section-header) {
    margin-bottom: var(--phone-block-gap) !important;
  }

  body[data-page-family] main :is(.section-heading, .home-section-header) > :last-child,
  body[data-page-family] main :is(.section-heading, .home-section-header) > :last-child > :last-child {
    margin-bottom: 0 !important;
  }

  body[data-page-family] main :is(
    .grid,
    .card-grid,
    .cards-grid,
    .process-grid,
    .process-steps,
    .image-grid,
    .link-grid,
    .split,
    .blog-featured-layout,
    .cta-band,
    .checklist,
    .checklist-grid
  ) {
    gap: 12px !important;
  }

  body[data-page-family] main :is(.section-heading, .home-section-header) + * {
    margin-top: 0 !important;
  }

  body[data-page-family] main :is(
    .card,
    .link-card,
    .feature-card,
    .process-step,
    .form-panel,
    .quote-panel,
    .article-tool-band
  ) {
    min-height: 0 !important;
    padding: var(--phone-card-padding) !important;
  }

  body[data-page-family] main :is(.card, .link-card, .feature-card, .process-step)
    :is(.lifa-number-badge, .step-number) {
    margin-bottom: 10px !important;
  }

  body[data-page-family] main :is(.card, .link-card, .feature-card, .process-step) h3 {
    margin-bottom: 6px !important;
  }

  body[data-page-family] main :is(.card, .link-card, .feature-card, .process-step) p {
    margin-bottom: 10px;
  }

  body:not(.home-page)[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero) {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: flex-start !important;
  }

  body:not(.home-page)[data-page-family] :is(.hero:not(.home-hero), .tool-page-hero) .hero-content-wrapper {
    min-height: 0 !important;
    align-self: auto !important;
    align-items: flex-start !important;
    padding: 32px 20px 26px !important;
  }

  body.home-page[data-page-family] .home-hero {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: flex-start !important;
  }

  body.home-page .home-hero .hero-content-wrapper {
    min-height: 0 !important;
    align-self: auto !important;
    align-items: flex-start !important;
    padding: 38px 20px 32px !important;
  }

  body[data-page-family] :is(.hero, .tool-page-hero) .hero-content .eyebrow {
    margin-bottom: 10px !important;
  }

  body[data-page-family] :is(.hero, .tool-page-hero) .hero-content h1 {
    margin-bottom: 14px !important;
  }

  body[data-page-family] :is(.hero, .tool-page-hero) .hero-content p {
    margin-bottom: 14px !important;
  }

  body[data-page-family] :is(.hero, .tool-page-hero) :is(.hero-actions, .blog-hero-list, .hero-credentials) {
    margin-top: 16px !important;
  }

  .home-page :is(.home-tool-panel, .home-knowledge-panel) {
    padding: 16px !important;
  }

  .home-page .home-panel-heading {
    gap: 6px;
    margin-bottom: 14px;
    padding-bottom: 12px;
  }

  .home-page .home-tool-grid {
    gap: 8px !important;
  }

  .home-page .home-tool-grid > a {
    min-height: 0 !important;
    padding: 13px !important;
  }

  .home-page .home-knowledge-panel > a {
    min-height: 0 !important;
    padding-top: 13px;
    padding-bottom: 13px;
  }

  .home-page .home-categories .home-category-grid > .home-category-card,
  .home-page .home-industries .home-industry-grid > a {
    min-height: 280px !important;
  }

  .sitewide-trustpilot .trustpilot-intro {
    padding: 30px 0 26px !important;
  }

  .sitewide-trustpilot .trustpilot-eyebrow {
    margin-bottom: 14px;
  }

  .sitewide-trustpilot .trustpilot-intro h2 {
    margin-bottom: 16px;
  }

  .sitewide-trustpilot .trustpilot-actions {
    margin-top: 20px !important;
    gap: 8px !important;
  }

  .sitewide-trustpilot .trustpilot-proof {
    padding: 24px 0 30px !important;
  }

  .sitewide-trustpilot .trustpilot-badge-stage {
    width: min(250px, 68vw);
  }

  .sitewide-trustpilot .trustpilot-badge-note {
    margin-top: 14px;
  }

  main + .site-footer[data-footer-system="v7"] {
    margin-top: 16px;
  }

  .site-footer[data-footer-system="v7"] .footer-main {
    padding: 30px 0 24px;
  }

  .site-footer[data-footer-system="v7"] :is(.footer-grid, .footer-links-grid) {
    gap: 18px;
  }
}

/* ========================================================================== 
   COMPACT FOOTER LEGAL RAIL

   Keep the ownership, address and policy links visible without reserving a
   second footer-sized band at the bottom of every page.
   ========================================================================== */
.site-footer[data-footer-system="v7"] .footer-bottom {
  padding: 7px 0 8px;
}

.site-footer[data-footer-system="v7"] .footer-bottom-content {
  grid-template-columns: minmax(0, 1fr) minmax(0, max-content);
  gap: 8px 20px;
  min-height: 36px;
}

.site-footer[data-footer-system="v7"] .footer-company-block {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px 16px;
}

.site-footer[data-footer-system="v7"] :is(.footer-copyright, .footer-address) {
  font-size: .7rem;
  line-height: 1.35;
}

.site-footer[data-footer-system="v7"] .footer-address {
  max-width: none;
}

.site-footer[data-footer-system="v7"] .footer-legal-links {
  gap: 4px 13px;
}

.site-footer[data-footer-system="v7"] .footer-legal-links a,
.site-footer[data-footer-system="v7"] .footer-legal-links a[href*="procurement-ethics"] {
  min-height: 26px;
  font-size: .68rem;
}

@media (max-width: 920px) {
  .site-footer[data-footer-system="v7"] .footer-bottom {
    padding: 8px 0 10px;
  }

  .site-footer[data-footer-system="v7"] .footer-bottom-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px 14px;
  }

  .site-footer[data-footer-system="v7"] .footer-company-block {
    flex-wrap: wrap;
    gap: 2px 12px;
  }

  .site-footer[data-footer-system="v7"] .footer-legal-links {
    gap: 2px 12px;
  }
}

@media (max-width: 520px) {
  .site-footer[data-footer-system="v7"] .footer-bottom {
    padding: 8px 0 max(10px, env(safe-area-inset-bottom));
  }

  .site-footer[data-footer-system="v7"] .footer-bottom-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px 10px;
    min-height: 36px;
  }

  .site-footer[data-footer-system="v7"] .footer-company-block {
    display: grid;
    gap: 2px;
  }

  .site-footer[data-footer-system="v7"] .footer-legal-links {
    display: flex;
    grid-template-columns: none;
    flex-wrap: wrap;
    gap: 2px 10px;
  }

  .site-footer[data-footer-system="v7"] .footer-legal-links a,
  .site-footer[data-footer-system="v7"] .footer-legal-links a[href*="procurement-ethics"] {
    min-height: 24px;
  }

}

/* ========================================================================== 
   EDITORIAL TEXT POSITIONING + BUYER QUESTIONS V3 (2026-08-18)

   Interior copy follows one left-aligned reading boundary. Buyer-question
   sections use a shared editorial index: context on the left, numbered
   questions on the right, and a single stacked flow on smaller screens.
   ========================================================================== */

body[data-page-family]:not(.home-page) main
  .section > .container > .section-heading {
  width: min(100%, 1080px);
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
  text-align: left !important;
}

body[data-page-family]:not(.home-page) main
  .section > .container > .section-heading > h2 {
  max-width: 19ch;
  text-wrap: balance;
}

body[data-page-family]:not(.home-page) main
  .section > .container > .section-heading > p {
  max-width: 58ch;
  text-wrap: pretty;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) {
  --buyer-question-rule: rgba(15, 30, 54, .16);
  --buyer-question-copy: #53657a;
  position: relative;
  background-color: #f2f4f3 !important;
  background-image: none !important;
  border-top: 1px solid rgba(15, 30, 54, .12);
  border-bottom: 1px solid rgba(15, 30, 54, .12);
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list)::before {
  position: absolute;
  z-index: 2;
  top: -1px;
  left: max(24px, calc((100% - 1180px) / 2));
  width: 72px;
  height: 3px;
  background: var(--page-gold, var(--polish-gold, #eed47d));
  content: "";
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container {
  display: grid !important;
  width: min(100% - 48px, 1180px);
  max-width: 1180px;
  grid-template-columns: minmax(250px, 340px) minmax(0, 1fr);
  gap: clamp(44px, 6vw, 82px);
  align-items: start;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > .section-heading {
  position: sticky;
  top: 124px;
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 !important;
  text-align: left !important;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > .section-heading::after {
  display: block;
  width: min(100%, 180px);
  height: 1px;
  margin-top: 26px;
  background: var(--buyer-question-rule);
  content: "";
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > .section-heading > .eyebrow,
body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > .eyebrow {
  margin: 0 0 18px;
  color: #eed47d;
  font-family: var(--font-ui, "Montserrat", Arial, sans-serif);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > .section-heading > h2,
body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > h2 {
  max-width: 12ch;
  margin: 0 0 18px;
  color: var(--page-ink, var(--polish-ink, #0f1e36));
  font-family: var(--font-editorial, Georgia, serif) !important;
  font-size: clamp(2.35rem, 3.3vw, 3.35rem) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: 0;
  text-align: left;
  text-wrap: balance;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > .section-heading > p,
body[data-page-family] main
  section:has(.faq-wrap, .faq-list) > .container > p {
  max-width: 34ch;
  margin: 0;
  color: var(--buyer-question-copy) !important;
  font-family: var(--font-reading, Georgia, serif);
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.68 !important;
  letter-spacing: 0;
  text-align: left;
  text-wrap: pretty;
}

/* Some long-form guides place the FAQ eyebrow and title directly in the
   container. Give those elements the same left-hand editorial rail. */
body[data-page-family] main
  section:has(> .container > .faq-list) > .container > .eyebrow {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}

body[data-page-family] main
  section:has(> .container > .faq-list) > .container > h2 {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  margin-top: -10px;
}

body[data-page-family] main
  section:has(> .container > .faq-list) > .container > p {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) :is(.faq-wrap, .faq-list) {
  counter-reset: lifa-buyer-question;
  display: grid;
  width: 100%;
  max-width: none;
  margin: 0;
  gap: 0;
  background: transparent;
  border-top: 1px solid var(--buyer-question-rule);
  border-radius: 0;
  box-shadow: none;
}

body[data-page-family] main
  section:has(> .container > .faq-list) > .container > .faq-list {
  grid-column: 2;
  grid-row: 1 / span 4;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-item {
  counter-increment: lifa-buyer-question;
  position: relative;
  overflow: hidden;
  color: var(--buyer-question-copy);
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--buyer-question-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .24s ease, box-shadow .24s ease;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-item:is(:hover, :focus-within, .open) {
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: inset 3px 0 0 var(--page-gold, var(--polish-gold, #eed47d)) !important;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question {
  display: grid !important;
  width: 100%;
  min-height: 74px;
  grid-template-columns: 44px minmax(0, 1fr) 34px;
  gap: 16px;
  align-items: center;
  padding: 17px 10px !important;
  color: var(--page-ink, var(--polish-ink, #0f1e36)) !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.42 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  cursor: pointer;
  transform: none !important;
  transition: color .2s ease, background-color .2s ease;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question::before {
  grid-column: 1;
  color: #eed47d;
  content: counter(lifa-buyer-question, decimal-leading-zero);
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question::after {
  display: inline-flex;
  width: 32px;
  height: 32px;
  grid-column: 3;
  align-items: center;
  justify-content: center;
  color: #eed47d;
  background: transparent;
  border: 1px solid rgba(238, 212, 125, .42);
  border-radius: 3px;
  content: "+";
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .28s ease;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question > span:first-child,
body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question > span:only-child {
  grid-column: 2;
  min-width: 0;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question > span[aria-hidden="true"],
body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question > span:last-child:not(:only-child) {
  display: none !important;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question:is(:hover, :focus-visible) {
  color: #eed47d !important;
  background: transparent !important;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-question:focus-visible {
  outline: 2px solid var(--page-gold, var(--polish-gold, #eed47d));
  outline-offset: -3px;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-item.open .faq-question::after {
  color: #eed47d;
  background: var(--page-navy, var(--polish-navy, #0f1e36));
  border-color: var(--page-navy, var(--polish-navy, #0f1e36));
  transform: rotate(45deg);
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-answer {
  max-height: 0;
  padding: 0 52px 0 70px !important;
  overflow: hidden;
  color: var(--buyer-question-copy) !important;
  opacity: 0;
  transition: max-height .36s ease, opacity .24s ease, padding .28s ease;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-item.open .faq-answer {
  max-height: 1200px;
  padding: 0 52px 24px 70px !important;
  opacity: 1;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-answer > :last-child {
  margin-bottom: 0;
}

body[data-page-family] main
  section:has(.faq-wrap, .faq-list) .faq-answer p {
  max-width: 70ch;
  color: var(--buyer-question-copy) !important;
  font-size: .98rem !important;
  line-height: 1.68 !important;
  text-align: left;
  text-wrap: pretty;
}

@media (max-width: 900px) {
  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container {
    display: block !important;
    width: min(100% - 40px, 760px);
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container > .section-heading {
    position: static;
    max-width: 620px !important;
    margin: 0 0 30px !important;
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container > .section-heading::after {
    margin-top: 20px;
  }

  body[data-page-family] main
    section:has(> .container > .faq-list) > .container > h2 {
    max-width: 15ch;
    margin: 0 0 26px;
  }

  body[data-page-family] main
    section:has(> .container > .faq-list) > .container > p {
    margin: -10px 0 26px;
  }
}

@media (max-width: 600px) {
  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container {
    width: min(100% - 32px, 520px);
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container > .section-heading > h2,
  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container > h2 {
    max-width: 16ch;
    font-size: clamp(2.05rem, 10vw, 2.65rem) !important;
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) .faq-question {
    min-height: 66px;
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    gap: 10px;
    padding: 14px 4px !important;
    font-size: .93rem !important;
    line-height: 1.38 !important;
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) .faq-question::after {
    width: 28px;
    height: 28px;
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) .faq-answer,
  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) .faq-item.open .faq-answer {
    padding-right: 38px !important;
    padding-left: 44px !important;
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) .faq-item.open .faq-answer {
    padding-bottom: 20px !important;
  }

  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) .faq-answer p {
    font-size: .92rem !important;
    line-height: 1.62 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-family] main
    section:has(.faq-wrap, .faq-list) :is(.faq-item, .faq-question, .faq-question::after, .faq-answer) {
    transition: none !important;
  }
}

/* ========================================================================== 
   PROCESS SHOWCASE RECORD SYSTEM V1

   The recurring in-practice section appears across nearly every page family.
   Keep its feature image, copy, links, and order intact while replacing the
   weak border matrix with two deliberate, individually framed records.
   ========================================================================== */
body[data-page-family]:not(.home-page) main .process-showcase .process-showcase-layout {
  gap: clamp(18px, 2vw, 26px);
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.35vw, 16px);
  overflow: visible;
  background: transparent;
  border: 0;
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 14px 18px;
  align-content: center;
  justify-content: stretch;
  padding: clamp(28px, 3vw, 38px);
  overflow: hidden;
  color: rgba(255, 255, 255, .76);
  background: #11263e;
  border: 1px solid rgba(238, 212, 125, .3);
  border-radius: var(--pc-radius, 8px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055),
    0 2px 5px rgba(2, 8, 16, .16),
    0 18px 38px rgba(2, 8, 16, .2);
  transform: translateY(0);
  transition:
    color .24s ease,
    background-color .24s ease,
    border-color .24s ease,
    box-shadow .28s ease,
    transform .32s var(--pc-ease, cubic-bezier(.22, 1, .36, 1));
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card::before {
  position: absolute;
  inset: 16px auto 16px 0;
  z-index: 0;
  display: block;
  width: 3px;
  background: var(--page-gold, var(--polish-gold, #eed47d));
  border-radius: 0 2px 2px 0;
  content: "";
  opacity: .92;
  pointer-events: none;
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 68px;
  height: 68px;
  background:
    linear-gradient(135deg, transparent 49%, rgba(238, 212, 125, .22) 50%, transparent 51%);
  content: "";
  opacity: .72;
  pointer-events: none;
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card:is(:hover, :focus-visible) {
  color: rgba(255, 255, 255, .84);
  background: #17304c;
  border-color: rgba(238, 212, 125, .58);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .075),
    0 3px 7px rgba(2, 8, 16, .2),
    0 24px 48px rgba(2, 8, 16, .28);
  transform: translateY(-3px);
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card:focus-visible {
  outline: 2px solid var(--page-gold-light, var(--polish-gold-light, #eed47d));
  outline-offset: 3px;
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 54px;
  height: 54px;
  grid-column: 1;
  grid-row: 1;
  align-items: center;
  justify-content: center;
  align-self: start;
  margin: 0;
  color: var(--page-gold-light, var(--polish-gold-light, #eed47d));
  background: rgba(238, 212, 125, .08);
  border: 1px solid rgba(238, 212, 125, .48);
  border-radius: var(--pc-radius-sm, 6px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-icon::after {
  color: inherit;
  font-family: var(--font-ui, "Montserrat", Arial, sans-serif);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card h3 {
  position: relative;
  z-index: 1;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  margin: 0;
  color: #fff;
  font-family: var(--font-editorial, "Times New Roman", Times, serif);
  font-size: clamp(1.55rem, 2vw, 1.9rem);
  line-height: 1.08;
  text-wrap: balance;
}

body[data-page-family]:not(.home-page) main .process-showcase .process-info-card p {
  position: relative;
  z-index: 1;
  max-width: 52ch;
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  color: rgba(255, 255, 255, .74);
  font-size: .96rem;
  line-height: 1.62;
  text-wrap: pretty;
}

@media (max-width: 820px) {
  body[data-page-family]:not(.home-page) main .process-showcase .process-info-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card {
    align-content: start;
  }
}

@media (max-width: 640px) {
  body[data-page-family]:not(.home-page) main .process-showcase .process-showcase-layout {
    gap: 14px;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-stack {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px 14px;
    align-content: center;
    padding: 22px 22px 24px;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card::before {
    inset-block: 12px;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-icon {
    width: 46px;
    height: 46px;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card h3 {
    font-size: 1.55rem;
    line-height: 1.1;
  }

  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card p {
    font-size: .93rem;
    line-height: 1.58;
  }
}

@media (hover: none) {
  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card:is(:hover, :focus-visible) {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-family]:not(.home-page) main .process-showcase .process-info-card {
    transition: none;
  }
}

/* ========================================================================== 
   ALWAYS-AVAILABLE CONTACT RAIL

   Every live page ships the same WhatsApp and WeChat controls. Keep that
   shared rail fixed and reachable across page families and viewport sizes,
   overriding older hero, form, tool and footer visibility exceptions.
   ========================================================================== */
html body .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;
  padding: 0 !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: transparent !important;
  transform: none !important;
}

html body .floating-contact .float-btn {
  display: inline-flex !important;
  width: 50px !important;
  height: 50px !important;
  flex: 0 0 50px;
}

html body:has(.main-nav.open) .floating-contact,
html body:has(.wechat-modal.open) .floating-contact {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 700px) {
  html body .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 body .floating-contact .float-btn {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px;
  }
}

@media print {
  html body .floating-contact,
  html body .wechat-modal {
    display: none !important;
  }
}

/* ========================================================================== 
   SITE STRENGTHENING 2026-08-22
   Evidence-first hierarchy, task-specific page rhythm, and form feedback.
   ========================================================================== */

:root {
  --font-reading: "Open Sans", Arial, sans-serif;
  --strength-green: #176b55;
  --strength-red: #a33b32;
}

body[data-page-family],
body[data-page-family] * {
  letter-spacing: 0 !important;
}

body[data-page-family] main :is(p, li, dd, td, th, label, input, select, textarea) {
  font-family: var(--font-reading) !important;
}

body[data-page-family] main :is(p, li, dd) {
  font-size: max(.95rem, 15px);
  line-height: 1.68;
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-actions > .btn,
body[data-page-family] main :is(.cta-actions, .form-actions, .home-form-actions) > .btn {
  border-radius: 6px !important;
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-actions > :is(.btn-primary, .btn:first-child) {
  color: #07111e !important;
  background: #eed47d !important;
  border: 1px solid #eed47d !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .22) !important;
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-actions > :is(.btn-secondary, .btn-outline, .btn:last-child):not(:first-child) {
  color: #fff !important;
  background: rgba(7, 17, 30, .42) !important;
  border: 1px solid rgba(238, 212, 125, .78) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04) !important;
}

body[data-page-family] :is(.hero, .tool-page-hero) .hero-actions > :is(.btn-secondary, .btn-outline, .btn:last-child):not(:first-child):is(:hover, :focus-visible) {
  color: #07111e !important;
  background: #eed47d !important;
}

@media (min-width: 901px) {
  body[data-page-family]:not(.home-page) .hero:not(.home-hero),
  body[data-page-family]:not(.home-page) .tool-page-hero {
    height: 640px !important;
    min-height: 640px !important;
  }

  body:is([data-page-family="knowledge"], [data-page-family="case-study"], [data-page-family="faq"]) .hero:not(.home-hero) {
    height: 570px !important;
    min-height: 570px !important;
  }

  body:is([data-page-family="tool"], [data-page-family="request"], [data-page-family="contact"]) .hero:not(.home-hero),
  body[data-page-family="tool"] .tool-page-hero {
    height: 530px !important;
    min-height: 530px !important;
  }

  body:is([data-page-family="legal"], [data-page-family="utility"]) .hero:not(.home-hero) {
    height: 420px !important;
    min-height: 420px !important;
  }

  .home-page .home-hero {
    height: 740px !important;
    min-height: 740px !important;
  }
}

/* The request-form command rail is navy; keep its two status values legible. */
html body[data-page-family]:not(.home-page) main
  .section:has(form.request-form) .form-panel .lifa-form-command
  :is(.lifa-form-command-copy, .lifa-form-progress-copy) strong {
  color: #fff !important;
}

body[data-page-family="tool"] main > .tool-workspace-section,
body:is([data-page-family="request"], [data-page-family="contact"]) main > section:first-child {
  border-top: 4px solid var(--polish-gold);
}

body[data-page-family="tool"] :is(.tool-workspace, .tool-inputs, .tool-output, .tool-form-section),
body:is([data-page-family="request"], [data-page-family="contact"]) :is(.form-panel, .quote-progress-panel) {
  border-radius: 6px !important;
}

body[data-page-family="tool"] :is(.tool-action, .tool-output-actions button) {
  border-radius: 5px !important;
  box-shadow: none !important;
}

.home-page .home-service-list p {
  font-size: .92rem !important;
  line-height: 1.58 !important;
}

.home-page .home-service-list strong {
  font-size: .78rem !important;
}

.home-page .home-service-group > header small {
  font-size: .76rem !important;
}

/* The homepage ends on a dark request section; keep its footer handoff continuous. */
.home-page main + .site-footer[data-footer-system="v7"] {
  margin-top: 0;
}

.analytics-consent {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}

.analytics-consent__inner {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  gap: 16px !important;
  padding: 12px 14px !important;
}

.analytics-consent__copy > p:last-child {
  max-width: 58ch;
}

.inquiry-honeypot {
  position: fixed !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

form[data-inquiry-form][aria-busy="true"] {
  cursor: progress;
}

form[data-inquiry-form] [type="submit"]:disabled {
  cursor: progress;
  opacity: .7;
}

.static-form-message.visible {
  display: block;
  margin-top: 14px;
  padding: 13px 15px;
  border: 1px solid rgba(15, 30, 54, .18);
  border-radius: 5px;
  color: #20354a;
  background: #f5f7f8;
  font-size: .9rem;
  line-height: 1.5;
}

.static-form-message.is-success {
  color: #0f4f3e;
  background: #eaf5f1;
  border-color: rgba(23, 107, 85, .42);
}

.static-form-message.is-error,
.selected-files.is-error {
  color: #7e2d27;
  background: #ffffff;
  border-color: rgba(163, 59, 50, .38);
}

.form-fallback-email {
  color: #eed47d;
  font-weight: 800;
  text-decoration: underline;
}

.sitewide-trustpilot .trustpilot-layout {
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
  gap: 42px !important;
}

.sitewide-trustpilot .trustpilot-source-note {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  width: 100% !important;
  padding: 22px !important;
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(238, 212, 125, .3) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.trustpilot-source-mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: #07111e;
  background: #eed47d;
  border-radius: 5px;
  font-size: .85rem;
  font-weight: 900;
}

.trustpilot-source-note dl {
  display: grid;
  gap: 9px;
  margin: 0;
}

.trustpilot-source-note dl > div {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.trustpilot-source-note dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.trustpilot-source-note :is(dt, dd) {
  margin: 0;
  font-size: .82rem;
  line-height: 1.4;
}

.trustpilot-source-note dt { color: rgba(255, 255, 255, .55); }
.trustpilot-source-note dd { color: #fff; }

/* Display the existing bitmap as a tightly cropped gold medallion. */
html body main .sitewide-trustpilot .trustpilot-layout {
  min-height: 560px !important;
}

html body main .sitewide-trustpilot .trustpilot-badge-link {
  display: block;
  width: min(390px, 100%);
  color: inherit;
  border-radius: 50%;
  text-decoration: none;
}

html body main .sitewide-trustpilot .trustpilot-badge-link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 7px;
}

html body main .sitewide-trustpilot .trustpilot-badge-stage {
  display: block;
  width: min(350px, 100%);
  height: auto !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: 0 26px 56px rgba(0, 0, 0, .28);
}

html body main .sitewide-trustpilot .trustpilot-badge {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 109% !important;
  height: 109% !important;
  padding: 0 !important;
  object-fit: cover;
  box-sizing: border-box;
  transform: translate(-50%, -50%) !important;
}

@media (max-width: 960px) {
  html body main .sitewide-trustpilot .trustpilot-layout {
    min-height: 0 !important;
  }
}

@media (max-width: 600px) {
  html body main .sitewide-trustpilot .trustpilot-badge-link,
  html body main .sitewide-trustpilot .trustpilot-badge-stage {
    width: min(270px, 76vw);
  }
}

.scenario-question {
  display: grid;
  max-width: 920px;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding: 24px;
  color: #fff;
  background: #10243a;
  border-left: 4px solid var(--polish-gold);
  border-radius: 0 6px 6px 0;
}

.scenario-question span {
  color: var(--polish-gold-light);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.scenario-question strong {
  font-family: var(--font-editorial, "Times New Roman", Times, serif);
  font-size: 1.45rem;
  line-height: 1.2;
}

.home-form-optional {
  border-top: 1px solid rgba(238, 212, 125, .38);
  border-bottom: 1px solid rgba(238, 212, 125, .38);
}

.home-form-optional > summary {
  padding: 14px 2px;
  color: var(--polish-ink);
  cursor: pointer;
  font-weight: 800;
}

.home-form-optional[open] > summary {
  margin-bottom: 18px;
}

.home-form-optional > .home-form-grid {
  padding-bottom: 18px;
}

/* Keep process media and explanatory copy in separate, stable rows. */
html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card {
  display: grid !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(220px, 1fr) auto !important;
  align-self: stretch;
}

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

html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > picture {
  position: relative !important;
  display: block !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 220px;
  grid-row: 1;
  overflow: hidden;
}

html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > img,
html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card > picture > img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 220px;
  grid-row: 1;
  object-fit: cover;
  transform: none !important;
}

html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-content {
  position: relative !important;
  inset: auto !important;
  grid-row: 2;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: clamp(24px, 3vw, 34px) !important;
  background: #0b1b2e;
  color: #d8e1eb !important;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}

html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-content :is(h2, h3) {
  color: #f7f9fc !important;
}

html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-content p {
  color: #d8e1eb !important;
}

html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card:is(:hover, :focus-within) > img,
html body[data-page-family]:not(.home-page) main .process-showcase .process-feature-card:is(:hover, :focus-within) > picture > img {
  transform: none !important;
}

@media (max-width: 900px) {
  body[data-page-family]:not(.home-page) .hero:not(.home-hero),
  body[data-page-family]:not(.home-page) .tool-page-hero {
    height: auto !important;
    min-height: 600px !important;
  }

  body:is([data-page-family="tool"], [data-page-family="legal"], [data-page-family="utility"]) .hero:not(.home-hero),
  body[data-page-family="tool"] .tool-page-hero {
    min-height: 500px !important;
  }

  .sitewide-trustpilot .trustpilot-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 700px) {
  body.home-page .home-hero .hero-primary-description,
  body.home-page .home-hero .hero-credentials {
    display: none !important;
  }

  html body.home-page[data-page-family] .home-hero {
    min-height: 700px !important;
    height: 700px !important;
  }

  body.home-page .home-hero .hero-content {
    padding-bottom: 24px !important;
  }

  html body[data-page-family][data-page-family="request"] .hero :is(.direct-answer, ul.blog-hero-list),
  html body[data-page-family][data-page-family="contact"] .hero :is(.direct-answer, ul.blog-hero-list),
  html body:is([data-page-family="request"], [data-page-family="contact"]) .hero-scroll {
    display: none !important;
  }

  html body[data-page-family][data-page-family="request"]:not(.home-page) .hero:not(.home-hero),
  html body[data-page-family][data-page-family="contact"]:not(.home-page) .hero:not(.home-hero) {
    min-height: 470px !important;
    height: 470px !important;
  }

  html body[data-page-family][data-page-family="tool"]:not(.home-page) .hero:not(.home-hero),
  html body[data-page-family][data-page-family="tool"] .tool-page-hero {
    min-height: 500px !important;
    height: 500px !important;
  }

  body[data-page-family="tool"] .tools-suite-nav .container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 10px 12px !important;
  }

  body[data-page-family="tool"] .tools-suite-nav a:not([aria-current="page"]):not(:first-child) {
    display: none !important;
  }

  body[data-page-family="tool"] .tools-suite-nav a {
    min-height: 40px !important;
    justify-content: center !important;
  }

  body[data-page-family="request"] #request-form > .container > .section-heading p,
  body[data-page-family="request"] .quote-progress-panel > p {
    display: none !important;
  }

  body[data-page-family="request"] .quote-progress-panel {
    padding: 18px 16px 14px !important;
  }

  body[data-page-family="request"] .quote-progress-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  body[data-page-family="request"] .quote-stat {
    min-width: 0 !important;
  }

  body[data-page-family="request"] .quote-stat :is(.stat-value, .stat-label) {
    overflow-wrap: anywhere;
  }

  body:is([data-page-family="request"], [data-page-family="contact"]) main > section:first-child > .container {
    width: calc(100% - 24px) !important;
  }

  body:is([data-page-family="request"], [data-page-family="contact"]) :is(.form-panel, .quote-wizard-body) {
    width: 100% !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .analytics-consent__inner {
    width: calc(100% - 24px);
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 11px !important;
  }

  .analytics-consent__copy > p:last-child {
    display: none;
  }

  .analytics-consent__actions {
    grid-template-columns: 1fr 1fr auto !important;
    gap: 7px !important;
  }

  .analytics-consent__actions .btn {
    min-height: 40px !important;
  }

  .sitewide-trustpilot .trustpilot-source-note,
  .scenario-question {
    grid-template-columns: minmax(0, 1fr);
  }

}

/* Full-catalog mega menus retain the original navy, gold, and three-column language. */
@media (min-width: 1221px) {
  .dropdown-panel {
    background:
      radial-gradient(circle at 12% 12%, rgba(238, 212, 125, .13), transparent 30%),
      linear-gradient(155deg, #132b4a 0%, #07111e 100%);
    backdrop-filter: none;
  }

  .dropdown-panel:is(.dropdown-panel-services, .dropdown-panel-products) {
    width: min(1160px, calc(100vw - 48px));
    max-height: calc(100vh - var(--header-h, 88px) - 12px);
    padding: 20px;
    align-content: start;
    gap: 7px 12px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-color: rgba(238, 212, 125, .5) rgba(255, 255, 255, .04);
    scrollbar-width: thin;
  }

  .dropdown-panel:is(.dropdown-panel-services, .dropdown-panel-products) > a:not(.dropdown-viewall) {
    min-height: 36px;
    padding: 7px 10px 7px 30px;
    font-size: .76rem;
    line-height: 1.25;
  }

  .dropdown-panel:is(.dropdown-panel-services, .dropdown-panel-products) > a:not(.dropdown-viewall):is(:hover, :focus-visible) {
    padding-left: 34px;
  }
}

@media (max-width: 1220px) {
  .nav-item.open > .dropdown-panel:is(.dropdown-panel-services, .dropdown-panel-products) {
    max-height: 2600px;
  }
}

/* Hero titles remain in the display face; only supporting copy uses Times New Roman. */
html body[data-page-family] :is(.hero, .tool-page-hero) .hero-content > p:not(.breadcrumb),
html body[data-page-family] :is(.hero, .tool-page-hero) .hero-content > :is(.blog-hero-list, .hero-credentials),
html body[data-page-family] :is(.hero, .tool-page-hero) :is(.direct-answer, .hero-primary-description, .hero-brand-promise),
html body[data-page-family] :is(.hero, .tool-page-hero) :is(.blog-hero-list, .hero-credentials) li {
  font-family: "Times New Roman", Times, serif !important;
  letter-spacing: 0 !important;
}

/* Homepage-size hero contract: every desktop banner uses the same footprint.
   Content can still grow when a narrow viewport needs more vertical room. */
@media (min-width: 901px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family] :is(.hero, .tool-page-hero, .hp26-hero) {
    height: auto !important;
    min-height: min(calc(100svh - 105px), 900px) !important;
    max-height: 900px !important;
    align-items: stretch !important;
  }

  html body.home-page[data-page-family][data-page-family][data-page-family][data-page-family] .home-hero.hp26-hero {
    padding-block: 0 !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page):not(.founder-profile-page) :is(.hero:not(.home-hero), .tool-page-hero) {
    grid-template-columns: minmax(0, 940px) !important;
  }

  html body.founder-profile-page[data-page-family][data-page-family][data-page-family][data-page-family] .founder-showcase.hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.founder-profile-page[data-page-family][data-page-family][data-page-family][data-page-family] .founder-showcase-ui {
    bottom: 20px !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family] :is(.hero, .tool-page-hero) .hero-content-wrapper {
    height: inherit !important;
    min-height: inherit !important;
    max-height: inherit !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-content h1 {
    font-size: 3.25rem !important;
  }
}

/* Short desktop windows use the same compact homepage height. */
@media (min-width: 1041px) and (max-height: 800px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family] :is(.hero, .tool-page-hero, .hp26-hero) {
    height: auto !important;
    min-height: min(calc(100svh - 105px), 900px) !important;
    max-height: 900px !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-content-wrapper {
    padding-block: 20px !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-content h1 {
    font-size: 3.05rem !important;
  }
}

/* The tablet-width desktop layout needs a little more room for wrapped copy. */
@media (min-width: 901px) and (max-width: 1040px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family] :is(.hero, .tool-page-hero, .hp26-hero) {
    height: 1105px !important;
    min-height: 1105px !important;
    max-height: 1105px !important;
  }
}

@media (max-width: 900px) {
  html body[data-page-family] :is(.hero, .tool-page-hero) {
    height: auto !important;
    max-height: none !important;
    align-items: stretch !important;
  }

  html body[data-page-family] :is(.hero, .tool-page-hero) .hero-content-wrapper {
    height: auto !important;
    min-height: inherit !important;
    max-height: none !important;
  }

}

/* Keep the founder scene caption and progress rail in their own mobile zone. */
@media (max-width: 640px) {
  html body:not(#lifa-legacy-typography):not(#lifa-component-typography):not(#lifa-founder-mobile-controls).founder-profile-page[data-page-family]
    .founder-showcase.hero .hero-content-wrapper {
    padding-bottom: 96px !important;
  }
}

/* ========================================================================== 
   REFERENCE-LED FOOTER COMPOSITION

   A compact brand dossier, connected navigation rail and quiet legal bar
   translate the supplied reference into the site's navy, gold and teal system.
   ========================================================================== */
html body[data-page-family] .site-footer[data-footer-system="v7"]::after {
  top: -330px;
  right: auto;
  bottom: auto;
  left: -210px;
  width: 880px;
  height: 880px;
  background: transparent;
  border: 1px solid rgba(105, 158, 153, .08);
  border-radius: 50%;
  transform: none;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-main {
  padding: clamp(36px, 4vw, 52px) 0 clamp(28px, 3vw, 40px);
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-content {
  display: grid;
  grid-template-columns: minmax(470px, .95fr) minmax(0, 1.05fr);
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-section {
  position: relative;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  padding: clamp(30px, 3vw, 42px);
  border: 1px solid rgba(238, 212, 125, .32);
  border-radius: 2px clamp(52px, 6vw, 76px) 2px 2px;
  background:
    linear-gradient(108deg, rgba(238, 212, 125, .12), rgba(255, 255, 255, .035) 45%, rgba(8, 21, 35, .06) 82%),
    rgba(13, 27, 42, .72);
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 24px 58px rgba(1, 8, 15, .17);
  overflow: hidden;
}

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

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-head {
  width: 100%;
  margin: 0 0 18px;
  padding-top: 28px;
  align-items: flex-start;
}

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

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-logo {
  width: clamp(150px, 13vw, 184px);
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-origin {
  position: absolute;
  top: clamp(32px, 3vw, 42px);
  right: clamp(30px, 3vw, 42px);
  min-height: 0;
  padding: 0;
  color: rgba(238, 212, 125, .7);
  border: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line {
  position: absolute;
  top: clamp(36px, 3.2vw, 46px);
  left: clamp(30px, 3vw, 42px);
  width: clamp(108px, 11vw, 138px);
  height: 1px;
  margin: 0;
  background: var(--gold-light);
}

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 {
  width: 10px;
  height: 10px;
  border: 2px solid var(--gold-light);
  border-radius: 50%;
  background: #101b27;
  transform: translateY(-50%);
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-kicker {
  max-width: 100%;
  margin: 0 0 12px;
  font-size: clamp(.72rem, .8vw, .82rem);
  letter-spacing: .12em !important;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-statement {
  max-width: 18ch;
  margin: 0 0 16px;
  font-size: clamp(2.8rem, 3.3vw, 3.6rem);
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-description {
  max-width: 42ch;
  font-size: clamp(.96rem, 1.1vw, 1.08rem);
  line-height: 1.65;
}

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

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section {
  position: relative;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 34px);
  align-content: start;
  padding: 0;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section::before {
  top: 20px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-light), rgba(238, 212, 125, .24) 78%, rgba(238, 212, 125, .08));
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column,
html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column:nth-child(3) {
  position: relative;
  width: auto;
  padding: 50px 0 0;
  border: 0;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 14px;
  height: 14px;
  background: #0b1724;
  border: 2px solid var(--gold-light);
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(238, 212, 125, .08);
  content: "";
}

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

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

html body[data-page-family] .site-footer[data-footer-system="v7"] .column-title {
  color: var(--gold-light);
  font-size: .78rem;
  letter-spacing: .12em;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column a {
  min-height: 42px;
  padding: 7px 4px 7px 0;
  font-size: .9rem;
}

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

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column a:hover,
html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column a:focus-visible {
  padding-left: 6px;
}

html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom {
  padding: 8px 0 10px;
}

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

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

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-section {
    min-height: 0;
    max-width: 720px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section {
    min-height: 0;
  }

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

@media (max-width: 700px) {
  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-main {
    padding: 26px 0 22px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-section {
    padding: 24px 18px 22px;
    border-radius: 2px 42px 2px 2px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-brand-head {
    margin-bottom: 18px;
    padding-top: 38px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-logo {
    width: 146px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-origin {
    top: 31px;
    right: 22px;
    max-width: 120px;
    font-size: .61rem;
    text-align: right;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-accent-line {
    top: 36px;
    left: 22px;
    width: 108px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-kicker {
    font-size: .7rem;
    line-height: 1.5;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-statement {
    max-width: 100%;
    font-size: clamp(2.45rem, 11vw, 2.8rem);
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-description {
    font-size: .93rem;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-links-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
  }

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

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column,
  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column:nth-child(3) {
    grid-column: auto;
    width: 100%;
    padding: 18px 0 0 20px;
    border-top: 1px solid rgba(238, 212, 125, .18);
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column::before {
    top: -8px;
    width: 12px;
    height: 12px;
  }

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-column-heading {
    margin-bottom: 10px;
  }

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

  html body[data-page-family] .site-footer[data-footer-system="v7"] .footer-bottom-content {
    grid-template-columns: minmax(0, 1fr);
    padding-right: 68px;
  }

}

/* The founder scenes are authored as complete 16:9 banners with dark negative
   space for copy. Keep the image stage full-bleed instead of applying the
   legacy portrait-column split used by the previous founder photograph. */
html body.founder-profile-page[data-page-family] .founder-showcase.hero .founder-showcase-slider,
html body.founder-profile-page[data-page-family] .founder-showcase.hero .founder-showcase-slider > .founder-showcase-slide.founder-hero-media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

html body.founder-profile-page[data-page-family] .founder-showcase.hero .founder-showcase-slider > .founder-showcase-slide.founder-hero-media {
  object-fit: cover !important;
  object-position: center center !important;
}

/* ========================================================================== 
   SITEWIDE CARD RHYTHM AND HOVER CONTRACT

   Keep the homepage resource panels balanced, remove cursor-induced horizontal
   jumps, and give shared card families one restrained elevation response.
   ========================================================================== */

@media (min-width: 901px) {
  html body.home-page[data-page-family] .home-hero {
    height: auto !important;
    min-height: min(calc(100svh - 105px), 900px) !important;
    max-height: 900px !important;
  }

  /* The legacy parity contract repeats [data-page-family] four times, so
     the homepage needs the same specificity to keep the shared stage height. */
  html body.home-page[data-page-family][data-page-family][data-page-family][data-page-family] .home-hero {
    height: auto !important;
    min-height: min(calc(100svh - 105px), 900px) !important;
    max-height: 900px !important;
  }
}

@media (min-width: 1041px) and (max-height: 800px) {
  html body.home-page[data-page-family][data-page-family][data-page-family][data-page-family] .home-hero {
    height: clamp(560px, calc(100svh - 120px), 660px) !important;
    min-height: 560px !important;
    max-height: 660px !important;
  }

  html body.home-page[data-page-family] .home-hero :is(.hero-primary-description, .hero-credentials) {
    display: none !important;
  }
}

@media (max-width: 1040px) {
  html body.home-page[data-page-family] .home-hero :is(.hero-primary-description, .hero-credentials) {
    display: none !important;
  }
}

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

@media (min-width: 1041px) {
  html body.home-page[data-page-family] .home-resource-layout {
    align-items: stretch;
  }

  html body.home-page[data-page-family] :is(.home-tool-panel, .home-knowledge-panel) {
    height: 100%;
  }

html body.home-page[data-page-family] .home-knowledge-panel {
  grid-template-rows: auto repeat(3, minmax(0, 1fr)) auto;
  align-content: stretch;
}

/* Seven guide cards in a two-column panel leave the final card alone on its
   row; let an odd final card span the row so no cell stays empty. */
html body.home-page[data-page-family] .home-knowledge-panel > a:last-of-type:nth-of-type(odd) {
  grid-column: 1 / -1;
}

  html body.home-page[data-page-family] .home-knowledge-panel > a {
    min-height: 0;
    height: 100%;
  }
}

@media (min-width: 701px) {
  body[data-page-family] main :is(.grid, .card-grid) > :is(
    .card,
    .link-card,
    .lifa-card,
    .feature-card,
    .process-step
  ) {
    min-height: 210px;
  }
}

html body[data-page-family] main :is(
  .card,
  .link-card,
  .lifa-card,
  .feature-card,
  .mini-card,
  .dark-card,
  .check-item,
  .check-panel,
  .checklist-item,
  .value-evidence__item,
  .signal-item,
  .media-card,
  .process-step,
  .process-item,
  .process-feature-card,
  .process-info-card,
  .kc-timeline-item,
  .tool-method-step,
  .risk-panel,
  .wechat-contact-card,
  .founder-contact-card,
  .founder-portrait-card,
  .founder-service-card,
  .faq-item,
  .form-panel,
  .quote-panel,
  .calculator-card,
  .home-category-card,
  .home-industry-grid > a,
  .home-market-grid > a,
  .home-commitment-grid > a,
  .home-route-step,
  .home-service-group,
  .home-service-list > a,
  .home-service-record,
  .home-dossier-stage > a,
  .home-freight-manifest > a,
  .home-freight-details > a,
  .home-industry-lead-card,
  .home-tool-grid > a,
  .home-knowledge-panel > a
):is(:hover, :focus-visible, :focus-within) {
  border-color: var(--pc-gold-edge) !important;
  box-shadow: var(--pc-e2) !important;
  transform: none !important;
}

html body.home-page[data-page-family] :is(.home-tool-grid > a, .home-knowledge-panel > a) {
  transition:
    transform var(--dur-mid, .28s) var(--pc-ease),
    background-color var(--dur-mid, .28s) ease,
    border-color var(--dur-mid, .28s) ease,
    box-shadow var(--dur-mid, .28s) ease !important;
}

html body.home-page[data-page-family] .home-knowledge-panel > a {
  isolation: isolate;
  padding-left: 0 !important;
}

html body.home-page[data-page-family] .home-knowledge-panel > a::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, #eed47d, #eed47d);
  content: "";
  opacity: .42;
  transform: scaleX(.32);
  transform-origin: left center;
  transition: opacity .3s ease, transform .36s var(--pc-ease);
}

html body.home-page[data-page-family] .home-knowledge-panel > a::after {
  display: none !important;
  content: none !important;
}

html body.home-page[data-page-family] .home-tool-grid > a:is(:hover, :focus-visible, :focus-within) {
  background: rgba(238, 212, 125, .08);
}

html body.home-page[data-page-family] .home-knowledge-panel > a:is(:hover, :focus-visible, :focus-within) {
  padding-left: 0 !important;
  background:
    linear-gradient(135deg, rgba(247, 249, 252, .92), rgba(255, 255, 255, .72) 58%, rgba(238, 212, 125, .08)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(238, 212, 125, .2),
    0 2px 6px rgba(7, 17, 30, .045),
    0 18px 42px rgba(7, 17, 30, .105) !important;
  transform: none !important;
}

html body.home-page[data-page-family] .home-knowledge-panel > a:is(:hover, :focus-visible, :focus-within) h3 {
  color: #10233e !important;
}

html body.home-page[data-page-family] .home-knowledge-panel > a:is(:hover, :focus-visible, :focus-within)::before {
  opacity: 1;
  transform: scaleX(1);
}

html body.home-page[data-page-family] .home-knowledge-panel > a:is(:hover, :focus-visible, :focus-within)::after {
  color: #eed47d;
  transform: translate(0, -50%);
}

@media (hover: none) {
  html body[data-page-family] main :is(
    .card,
    .link-card,
    .lifa-card,
    .feature-card,
    .mini-card,
    .dark-card,
    .check-item,
    .check-panel,
    .checklist-item,
    .value-evidence__item,
    .signal-item,
    .media-card,
    .process-step,
    .process-item,
    .process-feature-card,
    .process-info-card,
    .kc-timeline-item,
    .tool-method-step,
    .risk-panel,
    .wechat-contact-card,
    .founder-contact-card,
    .founder-portrait-card,
    .founder-service-card,
    .faq-item,
    .form-panel,
    .quote-panel,
    .calculator-card,
    .home-category-card,
    .home-industry-grid > a,
    .home-market-grid > a,
    .home-commitment-grid > a,
    .home-route-step,
    .home-service-group,
    .home-service-list > a,
    .home-service-record,
    .home-dossier-stage > a,
    .home-freight-manifest > a,
    .home-freight-details > a,
    .home-industry-lead-card,
    .home-tool-grid > a,
    .home-knowledge-panel > a
  ):is(:hover, :focus-visible, :focus-within) {
    box-shadow: var(--pc-e1) !important;
    transform: none !important;
  }
}

/* ========================================================================== 
   PROCESS SHOWCASE DENSITY V2

   Long editorial titles and equal-height records previously made this shared
   section look sparse. Keep the established visual treatment while letting
   its media and copy define a tighter, more useful composition.
   ========================================================================== */

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

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card > picture {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 2 / 1;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card > picture > img {
  min-height: 0 !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content {
  padding: 28px !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content h3 {
  max-width: 26ch !important;
}

@media (min-width: 821px) {
  html body[data-page-family]:not(.home-page) main section.process-showcase {
    padding-top: 42px !important;
    padding-bottom: 32px !important;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase > .container > .section-heading {
    margin-bottom: 30px !important;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase > .container > .section-heading > h2 {
    max-width: 30ch !important;
  }

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

@media (max-width: 820px) {
  html body[data-page-family]:not(.home-page) main
    .process-showcase > .container > .section-heading {
    margin-bottom: 22px !important;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase > .container > .section-heading > h2 {
    max-width: 24ch !important;
  }

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

@media (max-width: 640px) {
  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-feature-card > picture {
    aspect-ratio: 16 / 10;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-feature-content {
    padding: 22px !important;
  }

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

  html body .floating-contact {
    right: max(2px, env(safe-area-inset-right)) !important;
    grid-template-columns: 40px !important;
    gap: 6px !important;
  }

  html body .floating-contact .float-btn {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  html body .floating-contact .float-btn img {
    width: 22px;
    height: 22px;
  }

  html body .floating-contact .float-btn::after {
    width: 12px;
    height: 12px;
  }

  html body.form-field-active .floating-contact,
  html body.site-footer-in-view .floating-contact {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(48px) !important;
  }
}

/* Homepage editorial bands use the same deliberate section rhythm as the
   newer content systems instead of retaining the legacy 100px empty bands. */
@media (min-width: 821px) {
  html body.home-page[data-page-family] main > :is(
    .home-categories,
    .home-industries
  ) {
    padding-top: 58px !important;
    padding-bottom: 36px !important;
  }
}

/* ========================================================================== 
   SITE DIRECTORY DENSITY V2

   Directory groups share the main content rail. Groups with one destination
   pair their introduction and card instead of reserving two empty columns.
   ========================================================================== */

html body[data-page-family="utility"] main .site-network-index {
  width: min(calc(100% - 48px), 1180px);
  margin-right: auto;
  margin-left: auto;
  padding: 18px 0 34px;
}

html body[data-page-family="utility"] main
  .site-network-index > .section {
  padding: 42px 0 30px !important;
  border-top: 1px solid rgba(15, 30, 54, .12);
}

html body[data-page-family="utility"] main
  .site-network-index > .section:first-child {
  border-top: 0;
}

html body[data-page-family="utility"] main
  .site-network-index > .section > .section-heading {
  display: grid;
  width: min(100%, 1080px);
  max-width: 1080px;
  grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr);
  gap: 8px 36px;
  align-items: start;
  margin: 0 auto 26px;
  text-align: left !important;
}

html body[data-page-family="utility"] main
  .site-network-index > .section > .section-heading > .eyebrow {
  grid-column: 1 / -1;
}

html body[data-page-family="utility"] main
  .site-network-index > .section > .section-heading > :is(h2, p) {
  max-width: none !important;
  margin: 0 !important;
}

html body[data-page-family="utility"] main
  .site-network-index > .section > .grid {
  width: min(100%, 1080px);
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0;
  margin-bottom: 0;
  gap: 16px !important;
}

@media (min-width: 901px) {
  html body[data-page-family="utility"] main
    .site-network-index > .section > .grid:has(> .link-card:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section:has(> .grid > .link-card:only-child) {
    display: grid;
    width: min(100%, 1080px);
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    gap: 38px;
    align-items: stretch;
    margin-right: auto;
    margin-left: auto;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section:has(> .grid > .link-card:only-child)
    > .section-heading {
    display: block;
    width: auto;
    margin: 0;
    align-self: center;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section:has(> .grid > .link-card:only-child)
    > .section-heading > .eyebrow {
    display: block;
    margin-bottom: 12px;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section:has(> .grid > .link-card:only-child)
    > .section-heading > h2 {
    margin-bottom: 12px !important;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section:has(> .grid > .link-card:only-child)
    > .grid {
    width: auto;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 0;
  }
}

@media (max-width: 900px) {
  html body[data-page-family="utility"] main .site-network-index {
    width: min(calc(100% - 32px), 720px);
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section {
    padding-top: 28px !important;
    padding-bottom: 20px !important;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section > .section-heading {
    display: block;
    margin-bottom: 20px;
  }

  html body[data-page-family="utility"] main
    .site-network-index > .section > .section-heading > .eyebrow,
  html body[data-page-family="utility"] main
    .site-network-index > .section > .section-heading > h2 {
    margin-bottom: 10px !important;
  }
}

/* Final mobile density thresholds shared by every page family. */
@media (max-width: 700px) {
  html body[data-page-family] main
    section:has(.faq-wrap, .faq-list) > .container > .section-heading {
    margin-bottom: 20px !important;
  }

  html body[data-page-family] main .section-dark .process-step
    table[data-responsive-table="records"] tbody td strong {
    color: var(--page-ink, #142238) !important;
  }

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

@media (max-width: 640px) {
  html body[data-page-family="case-study-hub"] main .grid.grid-3 {
    gap: 14px !important;
  }

  html body[data-page-family="case-study-hub"] main .grid.grid-3 > .card {
    padding: 20px !important;
  }
}

html body[data-page-family] main
  .guide-depth > .container > :last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 901px) {
  html body[data-page-family] main
    section:has(> .container > [data-page-references]):has(.faq-wrap)
    > .container {
    grid-template-columns: minmax(380px, 440px) minmax(0, 1fr);
    grid-template-rows: max-content minmax(0, 1fr);
    column-gap: 48px;
    row-gap: 28px;
  }

  html body[data-page-family] main
    section:has(> .container > [data-page-references]):has(.faq-wrap)
    > .container > [data-page-references] {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  html body[data-page-family] main
    section:has(> .container > [data-page-references]):has(.faq-wrap)
    > .container > .section-heading {
    position: static;
    grid-column: 2;
    grid-row: 1;
    max-width: none !important;
  }

  html body[data-page-family] main
    section:has(> .container > [data-page-references]):has(.faq-wrap)
    > .container > .faq-wrap {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
  }
}

/* Workbook blueprint families: one shared shell with family-specific grids. */
main[data-workbook-program-version] > section > .container {
  width: min(1280px, calc(100% - 64px));
}

main[data-workbook-program-version] .workbook-section-card p {
  max-width: 78ch;
}

main[data-workbook-design-family]:is(
  [data-workbook-design-family="Product"],
  [data-workbook-design-family="Hub"],
  [data-workbook-design-family="Service"],
  [data-workbook-design-family="Industry"],
  [data-workbook-design-family="Country"],
  [data-workbook-design-family="Process"],
  [data-workbook-design-family="Conversion"]
) .workbook-section-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

main[data-workbook-design-family]:is(
  [data-workbook-design-family="Case"],
  [data-workbook-design-family="Tool"],
  [data-workbook-design-family="Editorial"],
  [data-workbook-design-family="Reference"]
) .workbook-section-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  main[data-workbook-design-family] .workbook-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main[data-workbook-program-version] > section > .container {
    width: min(100% - 40px, 960px);
  }
}

@media (max-width: 767px) {
  main[data-workbook-design-family] .workbook-section-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  main[data-workbook-program-version] > section > .container {
    width: min(100% - 32px, 720px);
  }
}

/* Homepage workbook close: compact the visual proof rail and final action. */
html body.home-page[data-page-family="home"] main
  :is(.workbook-visual-placement, .workbook-final-cta) {
  padding-top: clamp(2.75rem, 4vw, 3.5rem);
  padding-bottom: clamp(1.75rem, 2.5vw, 2.25rem);
}

html body.home-page[data-page-family="home"] main .workbook-visual-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body.home-page[data-page-family="home"] main .workbook-visual-fallback {
  grid-column: 1 / -1;
  grid-template-columns: minmax(140px, .3fr) minmax(0, 1fr);
  align-items: center;
  min-height: 0;
}

@media (max-width: 900px) {
  html body.home-page[data-page-family="home"] main .workbook-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html body.home-page[data-page-family="home"] main .workbook-visual-grid,
  html body.home-page[data-page-family="home"] main .workbook-visual-fallback {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final visible-experience layer. This stays last so page-family rules cannot
   weaken hero contrast or turn workbook guidance into oversized page sections. */
html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider {
  position: absolute;
  inset: 0;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 13, 29, .95) 0%, rgba(5, 13, 29, .84) 40%, rgba(5, 13, 29, .48) 70%, rgba(5, 13, 29, .2) 100%);
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider img {
  filter: brightness(.8) saturate(.9) contrast(1.04) !important;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-content-wrapper {
  position: relative;
  z-index: 4;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-content {
  max-width: 790px;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) h1 {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .42);
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) :is(.direct-answer, .blog-hero-list, .blog-hero-list li) {
  color: rgba(255, 255, 255, .92) !important;
  opacity: 1 !important;
}

html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .eyebrow {
  color: #eed47d !important;
}

html body[data-page-family] main .workbook-editorial-rail {
  width: min(1180px, calc(100% - 64px));
  margin: 28px auto 72px;
  padding: 22px 24px;
  border-top: 1px solid rgba(17, 39, 70, .14);
  border-bottom: 1px solid rgba(17, 39, 70, .14);
  background: rgba(247, 249, 252, .82);
}

html body[data-page-family] main .workbook-editorial-rail p {
  max-width: 86ch;
  margin: 0 0 14px;
  color: #34445b;
  font-size: .95rem;
  line-height: 1.65;
}

html body[data-page-family] main .workbook-editorial-rail nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
}

html body[data-page-family] main .workbook-editorial-rail a {
  color: #15335f;
  font-weight: 650;
  text-underline-offset: 4px;
}

html body[data-page-family="case-study"] main .article-content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  padding-top: 32px;
}

html body[data-page-family="case-study"] main .article-content > section {
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid rgba(17, 39, 70, .12) !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(14, 30, 52, .06) !important;
}

html body[data-page-family="case-study"] main .article-content > section:nth-child(3),
html body[data-page-family="case-study"] main .article-content > section:nth-child(4),
html body[data-page-family="case-study"] main .article-content > section:nth-child(n + 7) {
  grid-column: 1 / -1;
}

html body[data-page-family="case-study"] main .article-content > section h2 {
  margin-bottom: 12px !important;
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
}

html body[data-page-family="case-study"] main .article-content > section.callout {
  background: #f7f9fc !important;
  border-color: rgba(238, 212, 125, .28) !important;
}

@media (max-width: 767px) {
  html body[data-page-family]:not(.home-page) .hero:not(.home-hero) .hero-slider::after {
    background: linear-gradient(180deg, rgba(5, 13, 29, .68) 0%, rgba(5, 13, 29, .9) 58%, rgba(5, 13, 29, .96) 100%);
  }

  html body[data-page-family] main .workbook-editorial-rail {
    width: calc(100% - 32px);
    margin: 20px auto 48px;
    padding: 18px 0;
    background: transparent;
  }

  html body[data-page-family="case-study"] main .article-content {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body[data-page-family="case-study"] main .article-content > section:nth-child(n) {
    grid-column: auto;
    padding: 22px !important;
  }
}


/* ==========================================================================
   DECISION BRIEF — SITEWIDE BODY-INTEGRATED REDESIGN (2026-08-26)
   The decision brief now reads as part of the page body instead of a banner:
   a quiet white surface with the site's own gold section tick, a
   body-style kicker eyebrow (short gold rule + dark-gold caps) in a label
   column, and an editorial lead paragraph in page-ink with a gold serif drop
   cap — the same anatomy as the site's section-heading family.
   The strong prefix (html body[data-page-family]x4) plus !important wins the
   cascade against the sitewide section layer (styles.css HOMEPAGE DESIGN DNA,
   which paints every .section with --page-canvas white) and the typography
   guardrail layer (which forces eyebrow #eed47d and .72rem caps).
   ========================================================================== */

/* 1. Section surface: cool-white hierarchy, gold section tick preserved
   (the site's own .section::before now applies normally again). */
html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening {
  position: relative !important;
  isolation: isolate;
  padding: clamp(3.5rem, 6vw, 5.5rem) 0 !important;
  border: 0 !important;
  background:
    radial-gradient(ellipse 1000px 320px at 50% -12%, rgba(238, 212, 125, .1), transparent 66%),
    linear-gradient(180deg, #f7f9fc 0%, #ffffff 58%) !important;
}

/* 2. Two-column editorial grid: kicker label column + brief text column. */
html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .workbook-opening-inner {
  display: grid;
  grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
  max-width: 980px;
  margin-inline: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* 3. Kicker eyebrow: short gold rule above dark-gold caps, like the site's
   section headings on light surfaces. */
html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .eyebrow {
  display: block !important;
  margin: 0 !important;
  color: #eed47d !important;
  font-family: var(--font-ui, Montserrat, Arial, sans-serif) !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  line-height: 1.55 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .eyebrow::before {
  content: "" !important;
  display: block !important;
  width: 36px !important;
  height: 2px !important;
  margin: 0 0 14px !important;
  background: linear-gradient(90deg, var(--gold, #eed47d), var(--gold-light, #eed47d)) !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .eyebrow::after {
  content: none !important;
  display: none !important;
}

/* 4. Brief text: editorial lead in page-ink with a gold serif drop cap. */
html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .workbook-opening-answer {
  max-width: 62ch !important;
  margin: 0 !important;
  color: var(--page-ink, #142238) !important;
  font-family: var(--font-reading, "Open Sans", Arial, sans-serif) !important;
  font-size: clamp(1.04rem, 1.2vw, 1.15rem) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-align: left !important;
}

html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .workbook-opening-answer::first-letter {
  float: left !important;
  margin: .04em .15em 0 0 !important;
  font-family: var(--font-display, Prata, Georgia, serif) !important;
  font-size: 3.1em !important;
  line-height: .84 !important;
  font-weight: 400 !important;
  color: #eed47d !important;
}

/* 5. Mobile: stack the kicker above the text. */
@media (max-width: 767px) {
  html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening {
    padding: clamp(3rem, 9vw, 4rem) 0 !important;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .workbook-opening-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  html body[data-page-family][data-page-family][data-page-family][data-page-family] main .section.workbook-opening .workbook-opening-answer {
    font-size: 1.03rem !important;
  }
}



/* The dictionary introduction is a utility section, so its supporting image
   should frame the search task instead of creating another full-width hero. */
html body[data-page-family] main
  #dictionary > .container > .article-inline-image.image-frame {
  display: grid !important;
  width: 100% !important;
  height: 360px !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  margin: 28px 0 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(17, 39, 70, .14) !important;
  border-radius: 6px !important;
  box-shadow: 0 16px 36px rgba(7, 17, 30, .09) !important;
}

html body[data-page-family] main
  #dictionary > .container > .article-inline-image.image-frame > img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body[data-page-family] main
  #dictionary > .container > .article-inline-image.image-frame > figcaption {
  display: flex !important;
  min-width: 0 !important;
  height: 100% !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: clamp(24px, 3vw, 34px) !important;
  color: #26364d !important;
  background: #f7f9fc !important;
  border-top: 0 !important;
  border-left: 3px solid #eed47d !important;
}

html body[data-page-family] main
  #dictionary > .container > .article-inline-image.image-frame .cap-tag {
  color: #eed47d !important;
  font: 800 .68rem/1.3 var(--font-ui, Montserrat, Arial, sans-serif) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

html body[data-page-family] main
  #dictionary > .container > .article-inline-image.image-frame .cap-text {
  color: #142238 !important;
  font-family: var(--font-editorial, Prata, Georgia, serif) !important;
  font-size: clamp(1.12rem, 1.6vw, 1.42rem) !important;
  line-height: 1.38 !important;
  text-wrap: balance;
}

@media (max-width: 700px) {
  html body[data-page-family] main
    #dictionary > .container > .article-inline-image.image-frame {
    height: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 220px auto !important;
    margin-block: 22px !important;
  }

  html body[data-page-family] main
    #dictionary > .container > .article-inline-image.image-frame > img {
    height: 220px !important;
  }

  html body[data-page-family] main
    #dictionary > .container > .article-inline-image.image-frame > figcaption {
    height: auto !important;
    padding: 22px !important;
    border-top: 3px solid #eed47d !important;
    border-left: 0 !important;
  }
}

/* ==========================================================================
   PROCESS SHOWCASE MEDIA-TOP EDITORIAL V4

   Every recurring in-practice module uses the same evidence-first anatomy:
   a stable 16:10 media frame, then a separate paper copy panel. The ratio is
   the closest shared fit for the site's current source-image inventory and
   avoids the narrow portrait crop that previously dominated desktop cards.
   ========================================================================== */

:root {
  --process-surface: #ffffff;
  --process-section-surface: #f7f9fc;
  --process-title: #102843;
  --process-copy: #465a70;
  --process-muted: #5d6b7d;
  --process-accent: #eed47d;
  --process-accent-strong: #eed47d;
  --process-border: rgba(16, 40, 67, .14);
  --process-border-accent: rgba(238, 212, 125, .58);
  --process-radius: 6px;
  --process-shadow: 0 16px 38px rgba(16, 40, 67, .09);
  --process-shadow-hover: 0 21px 46px rgba(16, 40, 67, .13);
}

html body[data-page-family]:not(.home-page) main section.process-showcase {
  padding-block: clamp(52px, 6vw, 78px) !important;
  color: var(--process-copy) !important;
  background: var(--process-section-surface) !important;
  border-block: 1px solid rgba(16, 40, 67, .08) !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase > .container > .section-heading {
  max-width: 900px !important;
  margin: 0 0 clamp(26px, 3.2vw, 38px) !important;
  text-align: left !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase > .container > .section-heading :is(h2, p, .eyebrow) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase > .container > .section-heading h2 {
  max-width: 23ch !important;
  color: var(--process-title) !important;
  text-wrap: balance;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase > .container > .section-heading p {
  max-width: 68ch !important;
  color: var(--process-muted) !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-showcase-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.48fr) minmax(300px, .72fr) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  align-items: stretch !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card {
  position: relative !important;
  display: grid !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-self: stretch !important;
  overflow: hidden !important;
  padding: 0 !important;
  color: var(--process-copy) !important;
  background: var(--process-surface) !important;
  border: 1px solid var(--process-border) !important;
  border-radius: var(--process-radius) !important;
  box-shadow: var(--process-shadow) !important;
  box-sizing: border-box !important;
  clip-path: none !important;
  text-decoration: none !important;
  transform: translate3d(0, 0, 0) !important;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

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

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card > picture {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #e9eef5 !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card > img,
html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card > picture > img {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: var(--process-image-position, 50% 50%) !important;
  filter: saturate(.96) contrast(1.015) !important;
  transform: scale(1.001) !important;
  transition: filter .28s ease, transform .34s ease !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card > picture > img {
  height: 100% !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: flex !important;
  min-width: 0 !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: clamp(26px, 3.2vw, 40px) !important;
  color: var(--process-copy) !important;
  background: var(--process-surface) !important;
  border-top: 2px solid var(--process-accent) !important;
  border-left: 0 !important;
  text-shadow: none !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content .eyebrow {
  margin: 0 0 12px !important;
  color: var(--process-accent-strong) !important;
  font-size: .72rem !important;
  letter-spacing: 0 !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content h3 {
  max-width: 26ch !important;
  margin: 0 0 14px !important;
  color: var(--process-title) !important;
  font-size: clamp(1.65rem, 2.15vw, 2.2rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-content p {
  display: block !important;
  max-width: 68ch !important;
  margin: 0 !important;
  overflow: visible !important;
  color: var(--process-copy) !important;
  font-size: .96rem !important;
  line-height: 1.68 !important;
  text-wrap: pretty;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

/* A text-led card is intentional: no generic image is introduced merely to fill space. */
html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card[data-process-visual="text-led"] {
  min-height: clamp(360px, 36vw, 520px) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  border-top: 4px solid var(--process-accent) !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card[data-process-visual="text-led"] .process-feature-content {
  min-height: 100% !important;
  grid-row: 1 !important;
  justify-content: center !important;
  padding: clamp(34px, 5vw, 64px) !important;
  border-top: 0 !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card[data-process-visual="text-led"] .process-feature-content h3 {
  max-width: 22ch !important;
  font-size: clamp(1.85rem, 2.8vw, 2.75rem) !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-stack {
  display: grid !important;
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.6vw, 18px) !important;
  align-self: stretch !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-card {
  position: relative !important;
  display: grid !important;
  min-width: 0 !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 14px 16px !important;
  align-content: start !important;
  padding: clamp(24px, 2.6vw, 32px) !important;
  overflow: visible !important;
  color: var(--process-copy) !important;
  background: var(--process-surface) !important;
  border: 1px solid var(--process-border) !important;
  border-top-color: var(--process-border-accent) !important;
  border-radius: var(--process-radius) !important;
  box-shadow: 0 11px 28px rgba(16, 40, 67, .075) !important;
  text-decoration: none !important;
  transform: translate3d(0, 0, 0) !important;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

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

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-icon {
  display: inline-grid !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  place-items: center !important;
  margin: 0 !important;
  color: var(--process-title) !important;
  background: var(--process-section-surface) !important;
  border: 1px solid var(--process-border-accent) !important;
  border-radius: 5px !important;
  font: 800 .76rem/1 var(--font-ui, Montserrat, Arial, sans-serif) !important;
}

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

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-card h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  margin: 0 !important;
  color: var(--process-title) !important;
  font-size: clamp(1.25rem, 1.5vw, 1.5rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-info-card p {
  display: block !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  overflow: visible !important;
  color: var(--process-muted) !important;
  font-size: .9rem !important;
  line-height: 1.64 !important;
  text-wrap: pretty;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

html 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: var(--process-border-accent) !important;
  box-shadow: var(--process-shadow-hover) !important;
  transform: translate3d(0, -2px, 0) !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card:is(:hover, :focus-visible, :focus-within) > img,
html body[data-page-family]:not(.home-page) main
  .process-showcase .process-feature-card:is(:hover, :focus-visible, :focus-within) > picture > img {
  filter: saturate(1.01) contrast(1.025) !important;
  transform: scale(1.015) !important;
}

html body[data-page-family]:not(.home-page) main
  .process-showcase :is(.process-feature-card, .process-info-card):focus-visible {
  outline: 3px solid var(--process-accent) !important;
  outline-offset: 3px !important;
}

@media (max-width: 920px) {
  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-showcase-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-info-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
  }
}

@media (max-width: 640px) {
  html body[data-page-family]:not(.home-page) main section.process-showcase {
    padding-block: 44px !important;
  }

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

  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-feature-content,
  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-info-card {
    padding: 22px !important;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-feature-content h3 {
    font-size: clamp(1.45rem, 7.3vw, 1.85rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body[data-page-family]:not(.home-page) main
    .process-showcase :is(.process-feature-card, .process-feature-card img, .process-info-card) {
    transition: none !important;
  }

  html body[data-page-family]:not(.home-page) main
    .process-showcase :is(.process-feature-card, .process-info-card):is(:hover, :focus-visible, :focus-within),
  html body[data-page-family]:not(.home-page) main
    .process-showcase .process-feature-card:is(:hover, :focus-visible, :focus-within) img {
    transform: none !important;
  }
}

/* END PROCESS SHOWCASE MEDIA-TOP EDITORIAL V4 */

/* V19: Interior hero scene-visibility contract.
   Keep the reading scrim under left-aligned copy without burying the subject
   or stacking a second full-frame dark layer over generated photography. */
html body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero)::before {
  background: linear-gradient(
    90deg,
    rgba(3, 11, 21, .86) 0%,
    rgba(4, 13, 24, .74) 27%,
    rgba(4, 13, 24, .42) 43%,
    rgba(4, 13, 24, .14) 57%,
    rgba(4, 13, 24, .02) 72%,
    transparent 100%
  ) !important;
  backdrop-filter: none !important;
}

html body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-slider::after {
  background: linear-gradient(0deg, rgba(3, 11, 21, .18) 0%, transparent 27%) !important;
}

html body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) :is(.hero-slide, .hero-media, picture > img) {
  filter: saturate(1.04) contrast(1.025) brightness(1.025) !important;
}

html body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-content :is(h1, h2, p, .eyebrow, .hero-kicker, .breadcrumb, .breadcrumb a) {
  text-shadow: 0 2px 4px rgba(2, 8, 15, .92), 0 8px 24px rgba(2, 8, 15, .58);
}

@media (max-width: 700px) {
  html body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero)::before {
    background: linear-gradient(
      180deg,
      rgba(3, 11, 21, .3) 0%,
      rgba(3, 11, 21, .42) 34%,
      rgba(4, 13, 24, .68) 58%,
      rgba(4, 13, 24, .88) 82%,
      rgba(4, 13, 24, .92) 100%
    ) !important;
  }

  html body[data-page-family]:not(.home-page) :is(.hero:not(.home-hero), .tool-page-hero) .hero-slider::after {
    background: linear-gradient(0deg, rgba(3, 11, 21, .16) 0%, transparent 24%) !important;
  }
}
