/* ============================================================
   Page CSS — Editorial (Our Difference, We Know Debt, Reconciliation Shield,
   Core Principles, Facts, Media, Delancey Infographic, Settlement)
   ============================================================ */

/* ---------- Shared editorial section ---------- */
.ds-editorial {
  padding: 96px 60px;
  background: #fff;
  position: relative;
  overflow: hidden;
}
.ds-editorial--paper { background: var(--ds-paper); }
.ds-editorial--ink { background: var(--ds-ink); color: #fff; }
.ds-editorial--ink::after {
  content: "";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 280px;
  height: 380px;
  background: url('../images/ico-delancey.svg') no-repeat center / contain;
  opacity: 0.08;
  filter: brightness(0) invert(1);
  pointer-events: none;
  z-index: 0;
}
.ds-editorial__inner { max-width: 1280px; margin: 0 auto; position: relative; z-index: 1; }
.ds-editorial--ink .ds-eyebrow,
.ds-editorial--ink .ds-eyebrow--rule { color: var(--ds-cyan); }
.ds-editorial--ink .ds-section-title { color: #fff; }

.ds-editorial-split {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}

.ds-editorial-lede {
  font-size: 20px;
  line-height: 1.6;
  color: var(--ds-ink-2);
  font-weight: 500;
  margin-bottom: 24px;
}
.ds-editorial-body {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ds-ink-3);
  font-weight: 500;
  margin-bottom: 18px;
}
.ds-editorial--ink .ds-editorial-lede { color: rgba(255, 255, 255, .92); }
.ds-editorial--ink .ds-editorial-body { color: rgba(255, 255, 255, .78); }

/* ---------- Hub cards (We Know Debt) ---------- */
.ds-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}
.ds-hub-card {
  padding: 40px 44px;
  background: var(--ds-paper);
  border-radius: 20px;
  border-top: 4px solid var(--ds-cyan);
  display: block;
  position: relative;
  overflow: hidden;
}
.ds-hub-card--deep { border-top-color: var(--ds-cyan-deep); }
.ds-hub-card__kicker {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ds-hub-card--deep .ds-hub-card__kicker { color: var(--ds-cyan-deep); }
.ds-hub-card h3 {
  font-size: 32px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.015em;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
}
.ds-hub-card p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin-top: 14px;
  font-weight: 500;
}
.ds-hub-card__cta {
  margin-top: 24px;
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ds-press-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  max-width: 1280px;
  margin: 48px auto 0;
}
.ds-press-row > div {
  padding: 28px 32px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--ds-line);
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ds-press-row img {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}

/* ---------- Pillars / Differentiators ---------- */
.ds-pillar__icon svg { color: #fff; }
.ds-difference__intro {
  max-width: 880px;
  margin: 0 auto 56px;
  text-align: center;
}

/* ---------- Comparison table (Our Difference) ---------- */
.ds-versus {
  max-width: 1100px;
  margin: 0 auto;
  border-radius: var(--ds-radius-card);
  border: 1px solid var(--ds-line);
  overflow: hidden;
}
.ds-versus__row {
  display: grid;
  grid-template-columns: 1.2fr 1.3fr 1fr;
  border-bottom: 1px solid var(--ds-line);
}
.ds-versus__row:last-child { border-bottom: 0; }
.ds-versus__row > div {
  padding: var(--ds-vs-cell-pad-y) var(--ds-vs-cell-pad-x);
  font-size: var(--ds-vs-row-fs);
  font-weight: var(--ds-vs-row-fw);
  color: var(--ds-ink-2);
  line-height: 1.5;
}
.ds-versus__row.is-head > div {
  background: var(--ds-vs-head-bg);
  color: var(--ds-vs-head-fg);
  text-transform: uppercase;
  font-size: var(--ds-vs-head-fs);
  font-weight: var(--ds-vs-head-fw);
  letter-spacing: var(--ds-vs-head-tracking);
}
.ds-versus__row:nth-child(even):not(.is-head) > div { background: var(--ds-vs-zebra); }
.ds-versus__row .col-ds {
  background: var(--ds-vs-col-ds-bg);
  font-weight: 700;
  color: var(--ds-ink);
}
.ds-versus__row:nth-child(even):not(.is-head) .col-ds { background: var(--ds-vs-col-ds-zebra); }
.ds-versus__row.is-head .col-ds {
  background: var(--ds-cyan);
  color: var(--ds-ink);
}

/* ---------- Playbook steps ---------- */
.ds-playbook {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}
.ds-playbook__step {
  padding: 32px 28px;
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 18px;
}
.ds-playbook__step .n {
  font-size: 36px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.02em;
  line-height: 1;
}
.ds-playbook__step h3 {
  font-size: 20px;
  font-weight: 900;
  color: var(--ds-ink);
  margin: 14px 0 10px;
  text-transform: uppercase;
}
.ds-playbook__step p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  font-weight: 500;
}

/* ---------- Credentials grid (Our Difference: "By the Numbers") ---------- */
.ds-credentials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0;
}
.ds-credentials > div {
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 16px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 180px;
  transition: border-color var(--ds-dur) var(--ds-ease), box-shadow var(--ds-dur) var(--ds-ease);
}
.ds-credentials > div:hover {
  border-color: var(--ds-cyan);
  box-shadow: var(--ds-shadow-card-pop);
}
.ds-credentials .val {
  font-size: 56px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.025em;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}
.ds-credentials .lab {
  font-size: 12px;
  font-weight: 800;
  color: var(--ds-ink-2);
  margin-top: 16px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  line-height: 1.4;
}

/* ---------- Reconciliation Shield ---------- */
.ds-shield-hero {
  position: relative;
  padding: 72px 60px 96px;
  background: var(--ds-ink);
  color: #fff;
  overflow: hidden;
}
.ds-shield-hero__inner {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
}
.ds-shield-hero__breadcrumbs {
  font-size: 12px;
  color: rgba(255, 255, 255, .5);
  margin-bottom: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ds-shield-hero__breadcrumbs a { color: rgba(255, 255, 255, .5); }
.ds-shield-hero__breadcrumbs .now { color: #fff; }
.ds-shield-hero__grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 56px;
  align-items: end;
}
.ds-shield-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.ds-shield-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--ds-cyan);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ds-shield-hero__chip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
}
.ds-shield-hero__industry {
  font-size: 11px;
  font-weight: 800;
  color: rgba(255, 255, 255, .55);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.ds-shield-hero h1 {
  font-size: clamp(56px, 7vw, 96px);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  margin: 0;
}
.ds-shield-hero h1 .ds-emph { color: var(--ds-cyan); }
.ds-shield-hero p {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .82);
  margin-top: 28px;
  max-width: 620px;
  font-weight: 500;
}
.ds-shield-hero__cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 36px;
  align-items: center;
}
.ds-shield-hero__cta-ghost {
  height: 54px;
  padding: 0 28px;
  border-radius: var(--ds-radius-pill);
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .45);
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: transform var(--ds-dur) var(--ds-ease), background var(--ds-dur) var(--ds-ease), border-color var(--ds-dur) var(--ds-ease);
}
.ds-shield-hero__cta-ghost:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .7);
  color: #fff;
}
.ds-shield-hero__cta-ghost:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.ds-shield-hero__cta-ghost svg { transition: transform var(--ds-dur) var(--ds-ease); }
.ds-shield-hero__cta-ghost:hover svg { transform: translateX(3px); }

.ds-shield-feature-card {
  padding: 32px 36px;
  background: rgba(0, 184, 240, .12);
  border: 1px solid rgba(0, 184, 240, .35);
  border-radius: 18px;
}
.ds-shield-feature-card .label {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ds-shield-feature-card h3 {
  font-size: 28px;
  font-weight: 900;
  margin-top: 12px;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  line-height: 1.05;
}
.ds-shield-feature-card p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .78);
  margin-top: 12px;
  font-weight: 500;
}

.ds-shield-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}
.ds-shield-pillar {
  padding: 36px 32px;
  background: var(--ds-paper);
  border-radius: 18px;
  border: 1px solid var(--ds-line);
}
.ds-shield-pillar h3 {
  font-size: 22px;
  font-weight: 900;
  color: var(--ds-ink);
  margin-top: 18px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}
.ds-shield-pillar p {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--ds-ink-3);
  margin-top: 12px;
  font-weight: 500;
}

/* ---------- Editorial timeline (Our Difference) ---------- */
.ds-timeline {
  border-left: 2px solid var(--ds-line);
  padding-left: 28px;
  margin-top: 24px;
}
.ds-timeline__item {
  position: relative;
  padding-bottom: 28px;
}
.ds-timeline__item:last-child { padding-bottom: 0; }
.ds-timeline__dot {
  position: absolute;
  left: -37px;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ds-ink);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--ds-line);
}
.ds-timeline__item.is-current .ds-timeline__dot {
  background: var(--ds-cyan);
  box-shadow: 0 0 0 2px var(--ds-cyan);
}
.ds-timeline__y {
  font-size: 13px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: 0.1em;
  font-variant-numeric: tabular-nums;
}
.ds-timeline__t {
  font-size: 17px;
  font-weight: 800;
  color: var(--ds-ink);
  margin: 4px 0 6px;
  text-transform: uppercase;
}
.ds-timeline__d {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  font-weight: 500;
}

@media (max-width: 1100px) {
  .ds-editorial-split { grid-template-columns: 1fr; }
  .ds-hub-grid { grid-template-columns: 1fr; }
  .ds-press-row { grid-template-columns: 1fr 1fr; }
  .ds-versus__row { grid-template-columns: 1fr; }
  .ds-playbook { grid-template-columns: 1fr; }
  .ds-credentials { grid-template-columns: 1fr 1fr; }
  .ds-shield-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .ds-shield-pillars { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .ds-editorial { padding: 64px 20px; }
  .ds-shield-hero { padding: 56px 20px 72px; }
  .ds-credentials { grid-template-columns: 1fr; }
}

/* ============================================================
   Listicle: best-business-debt-settlement-companies
   ============================================================ */
.ds-listicle__states {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ds-listicle__states li {
  list-style: none;
  border-bottom: 1px solid var(--ds-line);
}
.ds-listicle__states a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  color: var(--ds-ink);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.005em;
  transition: color var(--ds-dur) var(--ds-ease);
}
.ds-listicle__states a:hover,
.ds-listicle__states a:focus-visible { color: var(--ds-cyan); outline: none; }
.ds-listicle__states a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.ds-listicle__states a::after {
  content: "→";
  color: var(--ds-cyan);
  opacity: 0;
  transition: opacity var(--ds-dur) var(--ds-ease);
  font-size: 14px;
}
.ds-listicle__states a:hover::after { opacity: 1; }
.ds-listicle__empty {
  background: var(--ds-paper);
  border-radius: var(--ds-radius-card);
  padding: 28px 32px;
  font-size: 15px;
  color: var(--ds-ink-3);
  font-weight: 500;
}
.ds-listicle__empty code {
  background: var(--ds-ink);
  color: var(--ds-cyan);
  padding: 2px 8px;
  border-radius: 4px;
  font-family: var(--ds-font-mono, ui-monospace, Menlo, monospace);
  font-size: 13px;
}

/* ============================================================
   Scenarios grid (business-debt-resolution)
   ============================================================ */
.ds-scenarios-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
.ds-scenario-card {
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-card);
  padding: 32px 28px;
  position: relative;
  overflow: hidden;
}
.ds-scenario-card__n {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--ds-cyan);
  font-family: var(--ds-font-mono, ui-monospace, Menlo, monospace);
  margin-bottom: 16px;
}
.ds-scenario-card h3 {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--ds-ink);
  line-height: 1.2;
  margin-bottom: 14px;
}
.ds-scenario-card p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  font-weight: 500;
}

/* ============================================================
   Process rail (timeline of numbered steps)
   ============================================================ */
.ds-process-rail {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  position: relative;
}
.ds-process-rail::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 28px;
  right: 28px;
  height: 1px;
  background: linear-gradient(90deg, var(--ds-cyan) 0%, rgba(0, 184, 240, 0.3) 100%);
  z-index: 0;
}
.ds-section--ink .ds-process-rail::before {
  background: linear-gradient(90deg, var(--ds-cyan) 0%, rgba(255, 255, 255, 0.15) 100%);
}
.ds-process-step {
  position: relative;
  z-index: 1;
}
.ds-process-step__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--ds-cyan);
  color: var(--ds-ink);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.01em;
  font-family: var(--ds-font-mono, ui-monospace, Menlo, monospace);
  margin-bottom: 22px;
  box-shadow: 0 0 0 6px var(--ds-paper);
}
.ds-section--ink .ds-process-step__n { box-shadow: 0 0 0 6px var(--ds-ink); }
.ds-process-step h3 {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 12px;
}
.ds-process-step p {
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 500;
}
.ds-section--paper .ds-process-step h3 { color: var(--ds-ink); }
.ds-section--paper .ds-process-step p { color: var(--ds-ink-3); }

/* Responsive */
@media (max-width: 1100px) {
  .ds-listicle__states { grid-template-columns: repeat(3, 1fr); gap: 8px 22px; }
  .ds-scenarios-grid { grid-template-columns: repeat(2, 1fr); }
  .ds-process-rail { grid-template-columns: repeat(2, 1fr); gap: 36px; }
  .ds-process-rail::before { display: none; }
}
@media (max-width: 700px) {
  .ds-listicle__states { grid-template-columns: 1fr 1fr; gap: 4px 16px; }
  .ds-scenarios-grid { grid-template-columns: 1fr; }
  .ds-process-rail { grid-template-columns: 1fr; }
}

/* ============================================================
   Versus table — dark variant (Our Difference)
   ============================================================ */
.ds-versus--dark {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  max-width: none;
}
.ds-versus--dark .ds-versus__row { border-bottom: 1px solid rgba(255, 255, 255, .08); grid-template-columns: 1.4fr 1.3fr 1.3fr; }
.ds-versus--dark .ds-versus__row > div {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.ds-versus--dark .ds-versus__row.is-head > div {
  background: transparent;
  color: rgba(255, 255, 255, .5);
  font-weight: 800;
}
.ds-versus--dark .ds-versus__row.is-head .col-ds {
  background: rgba(0, 184, 240, .08);
  color: var(--ds-cyan);
}
.ds-versus--dark .ds-versus__row .col-ds {
  background: rgba(0, 184, 240, .04);
  color: #fff;
  font-weight: 600;
}
.ds-versus--dark .ds-versus__row > div:not(:first-child) {
  border-left: 1px solid rgba(255, 255, 255, .08);
}
/* Dark variant: override the light zebra stripes inherited from base versus rules. */
.ds-versus--dark .ds-versus__row:nth-child(even):not(.is-head) > div {
  background: rgba(255, 255, 255, .025);
}
.ds-versus--dark .ds-versus__row:nth-child(even):not(.is-head) .col-ds {
  background: rgba(0, 184, 240, .07);
}
.ds-versus--dark .ds-versus__row > div:not(.is-head) > div { color: rgba(255, 255, 255, .55); }
.ds-versus--dark .ds-versus__row:not(.is-head) > div:nth-child(3) { color: rgba(255, 255, 255, .55); font-weight: 500; }
.ds-versus__check {
  width: var(--ds-vs-check-size);
  height: var(--ds-vs-check-size);
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  margin-right: 12px;
  vertical-align: middle;
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 800;
}
.ds-versus__check--yes { background: var(--ds-vs-check-bg); color: var(--ds-vs-check-fg); }
.ds-versus__check--no  { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .4); }

/* ============================================================
   Numbered Pillar Cards (Our Difference, Facts)
   ============================================================ */
.ds-pillars-num {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ds-pillars-num--4 { grid-template-columns: repeat(4, 1fr); }
.ds-pillar-num {
  padding: 32px 28px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--ds-line);
}
.ds-pillar-num__n {
  font-size: 13px;
  font-weight: 900;
  color: var(--ds-cyan);
  font-family: ui-monospace, Menlo, monospace;
  letter-spacing: 0.18em;
  margin-bottom: 14px;
}
.ds-pillar-num h3 {
  font-size: 18px;
  font-weight: 800;
  color: var(--ds-ink);
  margin: 0 0 12px;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: -0.005em;
}
.ds-pillar-num p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
}

/* ============================================================
   Playbook 2-column (Our Difference)
   ============================================================ */
.ds-playbook-head {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}
.ds-playbook-head > div:first-child > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ds-ink-3);
  margin-top: 18px;
  font-weight: 500;
}
.ds-playbook-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.ds-playbook-step2 {
  padding: 28px 26px;
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 16px;
}
.ds-playbook-step2__head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 14px;
}
.ds-playbook-step2__head .n {
  font-size: 36px;
  font-weight: 900;
  color: var(--ds-cyan);
  line-height: 1;
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
}
.ds-playbook-step2__head h3 {
  font-size: 17px;
  font-weight: 900;
  color: var(--ds-ink);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: -0.005em;
}
.ds-playbook-step2 p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
}

/* ============================================================
   Credentials head (Our Difference)
   ============================================================ */
.ds-credentials-head {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 56px;
  align-items: center;
}
.ds-credentials-head > div:first-child > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ds-ink-3);
  margin-top: 18px;
  font-weight: 500;
}

/* ============================================================
   Quote cards (Our Difference)
   ============================================================ */
.ds-quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}
.ds-quote {
  padding: 32px 28px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  display: flex;
  flex-direction: column;
}
.ds-quote__mark {
  font-size: 64px;
  color: var(--ds-cyan);
  line-height: 0.5;
  font-weight: 900;
  font-family: Georgia, "Times New Roman", serif;
  margin-bottom: 8px;
}
.ds-quote p {
  font-size: 16px;
  line-height: 1.55;
  color: var(--ds-ink);
  margin: 0 0 24px;
  font-weight: 500;
  flex: 1;
}
.ds-quote__attr {
  display: flex;
  gap: 14px;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid var(--ds-line);
}
.ds-quote__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ds-cyan);
  flex-shrink: 0;
  box-shadow: 0 0 0 2px var(--ds-line);
}
.ds-quote__name { font-size: 12px; font-weight: 800; color: var(--ds-ink); line-height: 1.4; }
.ds-quote__role { font-size: 11px; font-weight: 600; color: var(--ds-muted); }

/* ============================================================
   Who We Help (Our Difference)
   ============================================================ */
.ds-whohelp {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 56px;
}
.ds-whohelp__intro h2 { margin-bottom: 0; }
.ds-whohelp__intro > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ds-ink-3);
  margin-top: 20px;
  font-weight: 500;
}
.ds-whohelp__cases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.ds-whohelp__case {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
  aspect-ratio: 4 / 5;
  min-height: 220px;
}
.ds-whohelp__case .badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(15, 26, 45, .85);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ds-whohelp__case .meta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px;
  background: var(--ds-ink);
  color: #fff;
}
.ds-whohelp__case .meta .t { font-size: 13px; font-weight: 900; letter-spacing: -0.005em; }
.ds-whohelp__case .meta .l { font-size: 10px; font-weight: 600; color: rgba(255, 255, 255, .6); margin-top: 2px; }

.ds-bigstats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ds-line);
  border-bottom: 1px solid var(--ds-line);
}
.ds-bigstats > div {
  padding: 40px 28px;
  text-align: center;
  border-right: 1px solid var(--ds-line);
}
.ds-bigstats > div:last-child { border-right: 0; }
.ds-bigstats .n {
  font-size: 72px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ds-bigstats .l {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-ink);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 14px;
}

/* ============================================================
   FAQ split layout (Our Difference)
   ============================================================ */
.ds-faq-split__eyebrow { color: var(--ds-cyan) !important; }
.ds-faq-split__eyebrow::before { display: none !important; content: none !important; }
.ds-faq-split {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 64px;
  align-items: start;
}
.ds-faq-split__intro > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ds-ink-3);
  margin-top: 20px;
  margin-bottom: 24px;
  font-weight: 500;
}

/* ============================================================
   Origin card (Our Difference)
   ============================================================ */
.ds-origin-card {
  margin-top: 32px;
  position: relative;
  border-radius: 20px;
  background: linear-gradient(180deg, var(--ds-paper) 0%, var(--ds-paper-2) 100%);
  padding: 40px 24px;
  overflow: hidden;
  min-height: 340px;
  display: flex;
  align-items: flex-end;
}
.ds-origin-card__chip {
  width: 100%;
  padding: 14px 18px;
  background: rgba(15, 26, 45, .92);
  border-radius: 12px;
  color: #fff;
}
.ds-origin-card__chip-eyebrow { font-size: 11px; font-weight: 800; color: var(--ds-cyan); letter-spacing: 0.18em; }
.ds-origin-card__chip-title   { font-size: 14px; font-weight: 800; margin-top: 2px; }

/* ============================================================
   Reconciliation Shield additions
   ============================================================ */
.ds-shield-hero { padding: 72px 60px 96px; }
.ds-shield-hero h1 { font-size: clamp(56px, 7.4vw, 112px); }

.ds-shield-quote {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 24px;
  padding: 32px 32px 28px;
  position: relative;
}
.ds-shield-quote__mark {
  position: absolute;
  top: -8px;
  left: 28px;
  font-size: 80px;
  font-weight: 900;
  color: var(--ds-cyan);
  line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
  opacity: 0.6;
}
.ds-shield-quote p {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .82);
  margin: 18px 0 0;
  font-weight: 500;
}
.ds-shield-quote__attr {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  display: flex;
  align-items: center;
  gap: 14px;
}
.ds-shield-quote__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ds-cyan);
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .1);
}
.ds-shield-quote__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ds-shield-quote__name { font-size: 13px; font-weight: 800; color: #fff; }
.ds-shield-quote__role { font-size: 11px; font-weight: var(--ds-fw-heavy); color: rgba(255, 255, 255, .55); letter-spacing: var(--ds-tracking-eyebrow); text-transform: uppercase; }

.ds-shield-stats {
  margin-top: 56px;
  padding: 28px 32px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.ds-shield-stats__cell { padding-right: 24px; border-right: 1px solid rgba(255, 255, 255, .1); }
.ds-shield-stats__cell:last-child { border-right: 0; padding-right: 0; }
.ds-shield-stats__cell .n {
  font-size: 42px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ds-shield-stats__cell .l {
  font-size: 11px;
  font-weight: 800;
  color: rgba(255, 255, 255, .6);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 10px;
}

/* Shield trap section */
.ds-shield-trap {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 80px;
  align-items: center;
}
.ds-shield-trap > div:first-child h2 { margin-bottom: 0; }
.ds-shield-trap > div:first-child p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin-top: 18px;
  font-weight: 500;
}
.ds-shield-chart {
  background: var(--ds-paper);
  border-radius: 24px;
  padding: 40px 40px 32px;
  border: 1px solid var(--ds-line);
  margin: 0;
}
.ds-shield-chart > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 18px;
}
.ds-shield-chart .kicker {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-muted);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.ds-shield-chart .title {
  font-size: 20px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.01em;
}
.ds-shield-chart .legend { display: flex; gap: 18px; }
.ds-shield-chart .leg {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--ds-ink-2);
}
.ds-shield-chart .leg .bar { width: 14px; height: 3px; }
.ds-shield-chart .leg--ink .bar { background: var(--ds-ink); }
.ds-shield-chart .leg--cyan .bar { background: var(--ds-cyan); }
.ds-shield-chart svg { width: 100%; height: auto; display: block; }
.ds-shield-chart figcaption {
  margin-top: 20px;
  padding: 14px 18px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--ds-line);
  font-size: 13px;
  color: var(--ds-ink-2);
  line-height: 1.55;
  font-weight: 500;
}

/* Shield stages */
.ds-shield-stages-head {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 64px;
}
.ds-shield-stages-head h2 { margin-bottom: 0; }
.ds-shield-stages-head > p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
  padding-bottom: 8px;
}
.ds-shield-stages {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
}
.ds-shield-stages__rail {
  position: absolute;
  top: 36px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--ds-cyan) 6%, var(--ds-cyan) 94%, transparent 100%);
  opacity: 0.35;
}
.ds-shield-stage {
  display: flex;
  flex-direction: column;
}
.ds-shield-stage__circle {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--ds-cyan);
  display: grid;
  place-items: center;
  box-shadow: var(--ds-shadow-cta);
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  font-family: ui-monospace, Menlo, monospace;
  letter-spacing: -0.02em;
  margin: 0 auto 24px;
}
.ds-shield-stage__card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  padding: 26px 24px 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.ds-shield-stage__card h3 {
  font-size: 18px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.005em;
  text-transform: uppercase;
  margin: 0 0 12px;
  line-height: 1.2;
}
.ds-shield-stage__card p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ds-ink-3);
  margin: 0 0 18px;
  font-weight: 500;
}
.ds-shield-stage__list {
  border-top: 1px solid var(--ds-line);
  padding-top: 14px;
  margin-top: auto;
}
.ds-shield-stage__list-label {
  font-size: 10px;
  font-weight: 800;
  color: var(--ds-muted);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ds-shield-stage__list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.ds-shield-stage__list li {
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-ink);
  padding-left: 18px;
  position: relative;
  line-height: 1.4;
}
.ds-shield-stage__list .dot {
  position: absolute;
  left: 0;
  top: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ds-cyan);
}

.ds-shield-legal {
  margin-top: 48px;
  padding: 28px 36px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--ds-line);
  display: flex;
  align-items: center;
  gap: 28px;
}
.ds-shield-legal > div:not(.ds-shield-legal__avatar) {
  flex: 1 1 auto;
  min-width: 0;
}
.ds-shield-legal__avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: var(--ds-cyan);
  flex-shrink: 0;
  overflow: hidden;
}
@media (max-width: 600px) {
  .ds-shield-legal { flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px; }
}
.ds-shield-legal__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ds-shield-legal .kicker {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.ds-shield-legal p {
  font-size: 16px;
  font-weight: 600;
  color: var(--ds-ink);
  line-height: 1.5;
  margin: 0;
}

/* Shield comparison */
.ds-shield-compare {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--ds-shadow-card-pop);
  border: 1px solid var(--ds-line);
}
.ds-shield-compare__head {
  padding: 28px 24px;
}
.ds-shield-compare__head--label { background: #fff; }
.ds-shield-compare__head--us {
  background: var(--ds-cyan);
  color: #fff;
}
.ds-shield-compare__head--alt {
  background: var(--ds-ink);
  color: #fff;
}
.ds-shield-compare__head .kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 6px;
}
.ds-shield-compare__head .title {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  line-height: 1.15;
}
.ds-shield-compare__cell {
  padding: var(--ds-vs-cell-pad-y) var(--ds-vs-cell-pad-x);
  font-size: var(--ds-vs-row-fs);
  font-weight: var(--ds-vs-row-fw);
  color: var(--ds-ink-2);
  border-top: 1px solid var(--ds-line);
  line-height: 1.5;
}
.ds-shield-compare__cell--label {
  background: var(--ds-paper);
  font-weight: 700;
  color: var(--ds-ink);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.ds-shield-compare__cell--us {
  background: var(--ds-vs-col-ds-bg);
}
.ds-shield-compare__cell--alt {
  background: #fff;
}
/* Per-row zebra (3-col grid: 3 head + 3*N body cells; rows 2,4,6 of body get zebra) */
.ds-shield-compare__cell:nth-child(6n+4) { background: var(--ds-vs-zebra); }
.ds-shield-compare__cell--us:nth-child(6n+5) { background: var(--ds-vs-col-ds-zebra); }
.ds-shield-compare__cell--alt:nth-child(6n+6) { background: var(--ds-vs-zebra); }

/* Shield eligibility */
.ds-shield-eligibility {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.ds-shield-elig {
  padding: 32px 28px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  display: flex;
  flex-direction: column;
}
.ds-shield-elig__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(0, 184, 240, .12);
  color: var(--ds-cyan);
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}
.ds-shield-elig h3 {
  font-size: 17px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.005em;
  text-transform: uppercase;
  margin: 0 0 10px;
  line-height: 1.2;
}
.ds-shield-elig p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
}

.ds-shield-industries {
  margin-top: 48px;
  padding: 28px 32px;
  background: var(--ds-ink);
  color: #fff;
  border-radius: 18px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ds-shield-industries__label {
  font-size: 12px;
  font-weight: 800;
  color: rgba(255, 255, 255, .6);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.ds-shield-industries__pills { display: flex; gap: 10px; flex-wrap: wrap; }
.ds-shield-industries__pills span {
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(0, 184, 240, .14);
  border: 1px solid rgba(0, 184, 240, .32);
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
}

/* ============================================================
   Core Principles
   ============================================================ */
.ds-principles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.ds-principle {
  padding: 36px;
  background: var(--ds-paper);
  border-radius: 20px;
  border: 1px solid var(--ds-line);
}
.ds-principle__num {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
}
.ds-principle h3 {
  font-size: 26px;
  font-weight: 900;
  margin: 14px 0;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--ds-ink);
}
.ds-principle p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
}

.ds-principles-promise {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: center;
  color: #fff;
}
.ds-principles-promise h2 {
  font-size: 48px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0 0 24px;
  color: #fff;
}
.ds-principles-promise p {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .78);
  margin: 0;
  font-weight: 500;
}
.ds-principles-promise__eyebrow {
  color: var(--ds-cyan);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ds-principles-promise__media {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
  aspect-ratio: 4 / 5;
  min-height: 360px;
}
.ds-principles-promise__img {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: auto;
  max-width: none;
  display: block;
}
.ds-principles-promise__chip {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(15, 26, 45, .92);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ds-principles-promise__chip span { text-decoration: underline 2px; text-underline-offset: 3px; }

/* ============================================================
   Facts page
   ============================================================ */
.ds-facts-hero {
  padding: 72px 60px;
  background: var(--ds-paper);
  position: relative;
  overflow: hidden;
}
.ds-facts-hero::after {
  content: "";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 280px;
  height: 380px;
  background: url('../images/ico-delancey.svg') no-repeat center / contain;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
}
.ds-facts-hero__inner { max-width: 1280px; margin: 0 auto; position: relative; z-index: 1; }
.ds-facts-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 48px;
  align-items: center;
  margin-top: 20px;
}
.ds-facts-hero h1 {
  font-size: clamp(48px, 6vw, 76px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin: 0;
  text-transform: uppercase;
  color: var(--ds-ink);
}
.ds-facts-hero > .ds-facts-hero__inner > p,
.ds-facts-hero__grid p {
  font-size: 18px;
  line-height: 1.55;
  color: var(--ds-ink-2);
  margin-top: 24px;
  font-weight: 500;
  max-width: 560px;
}
.ds-facts-hero__cta-row { display: flex; gap: 14px; margin-top: 28px; align-items: center; flex-wrap: wrap; }
.ds-facts-hero__phone {
  height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  background: #fff;
  color: var(--ds-ink);
  border: 1.5px solid var(--ds-line);
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}
.ds-facts-hero__rating {
  margin-top: 32px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 12px;
}
.ds-facts-hero__rating-mark {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4285F4, #DB4437);
  color: #fff;
  font-weight: 900;
  display: grid;
  place-items: center;
  font-size: 14px;
}
.ds-facts-hero__rating-rule { height: 30px; width: 1px; background: var(--ds-line); }
.ds-facts-hero__rating-label { font-size: 11px; font-weight: 800; color: var(--ds-muted); letter-spacing: 0.12em; text-transform: uppercase; }
.ds-facts-hero__rating-score { font-size: 14px; font-weight: 800; color: var(--ds-ink); }
.ds-facts-hero__rating-score span { color: var(--ds-cyan); }
.ds-facts-hero__rating-img { height: 30px; width: auto; display: block; flex-shrink: 0; object-fit: contain; }
.ds-facts-hero__disc { font-size: 11px; font-weight: 600; color: var(--ds-muted); margin-top: 36px; font-style: italic; }

.ds-facts-stack { display: flex; flex-direction: column; gap: 14px; }
.ds-facts-stack__card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  box-shadow: 0 14px 36px -16px rgba(15, 26, 45, .18);
  padding: 18px 20px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.ds-facts-stack__card[data-i="1"] { transform: translateX(20px); }
.ds-facts-stack__card[data-i="2"] { transform: translateX(40px); }
.ds-facts-stack__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 2px solid var(--ds-cyan);
  background: var(--ds-paper);
  overflow: hidden;
}
.ds-facts-stack__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ds-facts-stack__body { flex: 1; min-width: 0; }
.ds-facts-stack__body .r {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.ds-facts-stack__body .t {
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-ink-2);
  line-height: 1.4;
  margin-bottom: 6px;
}
.ds-facts-stack__body .who {
  font-size: 10px;
  font-weight: 700;
  color: var(--ds-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Facts grid (alt bg) */
.ds-facts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 56px;
  border: 1px solid var(--ds-line);
  border-radius: 24px;
  overflow: hidden;
}
.ds-facts-cell {
  padding: 40px;
  background: #fff;
  border-right: 1px solid var(--ds-line);
  border-bottom: 1px solid var(--ds-line);
}
.ds-facts-cell[data-i="1"],
.ds-facts-cell[data-i="3"],
.ds-facts-cell[data-i="5"] { background: var(--ds-paper); }
.ds-facts-cell:nth-child(3n) { border-right: 0; }
.ds-facts-cell:nth-child(n+4) { border-bottom: 0; }
.ds-facts-cell .n {
  font-size: 64px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.03em;
  line-height: 0.95;
  margin-bottom: 6px;
  font-variant-numeric: tabular-nums;
}
.ds-facts-cell .l {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-ink);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.ds-facts-cell p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
}
.ds-facts-disclaimer {
  font-size: 11px;
  font-weight: 600;
  color: var(--ds-muted);
  margin-top: 24px;
  font-style: italic;
}

/* Facts trust */
.ds-facts-trust {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 36px 32px;
  background: var(--ds-paper);
  border-radius: 20px;
}
.ds-facts-trust__cell {
  display: flex;
  align-items: center;
  gap: 14px;
}
.ds-facts-trust__mark {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--ds-cyan-soft);
  color: var(--ds-cyan-deep);
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 900;
  flex-shrink: 0;
}
.ds-facts-trust__logo {
  height: 48px;
  width: auto;
  max-width: 86px;
  flex-shrink: 0;
  object-fit: contain;
  display: block;
}
.ds-facts-trust__big { font-size: 22px; font-weight: 900; color: var(--ds-ink); letter-spacing: -0.01em; line-height: 1; }
.ds-facts-trust__sub { font-size: 12px; font-weight: 600; color: var(--ds-ink-3); margin-top: 4px; }
.ds-facts-trust__org { font-size: 10px; font-weight: 800; color: var(--ds-muted); letter-spacing: 0.14em; text-transform: uppercase; margin-top: 3px; }

.ds-facts-feature {
  margin-top: 64px;
  position: relative;
  background: var(--ds-paper);
  border-radius: 24px;
  padding: 56px 64px;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 40px;
  align-items: center;
}
.ds-facts-feature__mark {
  position: absolute;
  top: 24px;
  right: 32px;
  font-size: 120px;
  font-weight: 900;
  color: var(--ds-cyan);
  opacity: 0.12;
  line-height: 1;
  font-family: Georgia, serif;
}
.ds-facts-feature__avatar {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: var(--ds-cyan);
  border: 3px solid var(--ds-cyan);
  flex-shrink: 0;
  overflow: hidden;
}
.ds-facts-feature__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ds-facts-feature__stars { color: var(--ds-gold); font-size: 18px; margin-bottom: 18px; letter-spacing: 0.12em; }
.ds-facts-feature__body p {
  font-size: 21px;
  line-height: 1.45;
  color: var(--ds-ink);
  font-weight: 500;
  margin: 0 0 22px;
}
.ds-facts-feature__name { font-size: 14px; font-weight: 800; color: var(--ds-ink); letter-spacing: 0.04em; }
.ds-facts-feature__role { font-size: 12px; font-weight: var(--ds-fw-heavy); color: var(--ds-muted); letter-spacing: var(--ds-tracking-eyebrow); text-transform: uppercase; margin-top: 4px; }

/* Facts US map */
.ds-facts-map {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 48px;
  align-items: center;
}
.ds-facts-map__viz {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ds-line);
  padding: 32px;
}
.ds-facts-map__viz svg { width: 100%; height: auto; display: block; }
.ds-facts-map__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1000 / 589;
}
.ds-facts-map__base {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.34;
  filter: brightness(0);
  pointer-events: none;
  display: block;
}
.ds-facts-map__pins {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.ds-facts-map__copy h3 {
  font-size: 28px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.01em;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.ds-facts-map__copy p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ds-ink-3);
  font-weight: 500;
  margin: 0 0 18px;
}
.ds-facts-map__copy ul { list-style: none; padding: 0; margin: 0; }
.ds-facts-map__copy li {
  font-size: 14px;
  font-weight: 700;
  color: var(--ds-ink);
  padding: 12px 0;
  border-bottom: 1px solid var(--ds-line);
  letter-spacing: 0.04em;
}
.ds-facts-map__lede {
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: var(--ds-ink-2) !important;
}
.ds-facts-map__lede strong { color: var(--ds-ink); font-weight: 800; }
.ds-facts-map__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 8px 0 20px;
}
.ds-facts-map__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ds-ink-2);
}
.ds-facts-map__legend-item .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}
.ds-facts-map__legend-item--all .dot { background: var(--ds-cyan); }
.ds-facts-map__legend-item--hub .dot { background: var(--ds-ink); }
.ds-facts-map__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  color: var(--ds-cyan);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color var(--ds-dur) var(--ds-ease), gap var(--ds-dur) var(--ds-ease);
}
.ds-facts-map__link:hover,
.ds-facts-map__link:focus-visible { color: var(--ds-cyan-deep); gap: 14px; outline: none; }
.ds-facts-map__link:focus-visible { text-decoration: underline; text-underline-offset: 4px; }

/* ============================================================
   Press row (We Know Debt)
   ============================================================ */
.ds-press-row__label {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-ink-2);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ============================================================
   Press / Media page styles
   ============================================================ */
.ds-press-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}
.ds-press-head > div { max-width: 680px; }
.ds-press-head p { font-size: 17px; line-height: 1.6; color: var(--ds-ink-3); margin-top: 20px; font-weight: 500; }
.ds-press-head a { color: var(--ds-cyan-deep); font-weight: 700; }

.ds-press-feature {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  background: var(--ds-ink);
  color: #fff;
  border-radius: 24px;
  overflow: hidden;
  text-decoration: none;
  margin-bottom: 32px;
  min-height: 340px;
}
.ds-press-feature__cover {
  background: linear-gradient(135deg, var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
  padding: 48px 44px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 340px;
}
.ds-press-feature__cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../images/d-pattern.svg') center / cover no-repeat;
  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
}
.ds-press-feature__cover > * { position: relative; z-index: 1; }
.ds-press-feature__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(15, 26, 45, .85);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ds-press-feature__chip .dot { width: 6px; height: 6px; border-radius: 50%; background: #fff; }
.ds-press-feature__quote {
  font-size: 108px;
  font-weight: 900;
  line-height: 0.85;
  color: #fff;
  font-family: Georgia, serif;
}
.ds-press-feature__kind {
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ds-press-feature__body {
  padding: 48px 48px 44px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
}
.ds-press-feature__meta {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, .55);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.ds-press-feature__body h3 {
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin: 0;
}
.ds-press-feature__body p {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .78);
  margin: 18px 0 0;
  font-weight: 500;
}
.ds-press-feature__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ds-press-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.ds-press-card {
  padding: 28px;
  background: var(--ds-paper);
  border-radius: 18px;
  border: 1px solid var(--ds-line);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 280px;
}
.ds-press-card__top { display: flex; align-items: center; justify-content: space-between; }
.ds-press-card__tag {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 5px 10px;
  background: rgba(0, 184, 240, .12);
  border-radius: 6px;
}
.ds-press-card__date {
  font-size: 11px;
  font-weight: 700;
  color: var(--ds-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: ui-monospace, Menlo, monospace;
}
.ds-press-card h3 {
  font-size: 18px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.005em;
  line-height: 1.25;
  margin: 0;
  text-transform: uppercase;
}
.ds-press-card p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
  flex: 1;
}
.ds-press-card__bot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid var(--ds-line);
}
.ds-press-card__outlet { font-size: 11px; font-weight: 600; color: var(--ds-muted); }
.ds-press-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ============================================================
   Infographic page
   ============================================================ */
.ds-infographic { padding: 40px 60px 72px; background: #fff; }
.ds-infographic__inner { max-width: 1280px; margin: 0 auto; }
.ds-infographic__card {
  max-width: 1100px;
  margin: 0 auto;
  background: var(--ds-ink);
  color: #fff;
  border-radius: 24px;
  padding: 72px 64px;
  position: relative;
  overflow: hidden;
}
.ds-infographic__head {
  text-align: center;
  margin-bottom: 64px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.ds-infographic__brand {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.28em;
  margin-bottom: 18px;
}
.ds-infographic__head h2 {
  font-size: 54px;
  font-weight: 900;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  margin: 0;
  line-height: 0.95;
}
.ds-infographic__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin-bottom: 64px;
}
.ds-infographic__stat {
  text-align: center;
  padding: 20px 0;
  border-left: 1px solid rgba(255, 255, 255, .12);
}
.ds-infographic__stat:first-child { border-left: 0; }
.ds-infographic__stat .n {
  font-size: 38px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ds-infographic__stat .l {
  font-size: 11px;
  font-weight: 800;
  opacity: 0.7;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-top: 8px;
}
.ds-infographic__steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-bottom: 64px;
}
.ds-infographic__step {
  padding: 24px 18px;
  background: rgba(255, 255, 255, .04);
  border-radius: 14px;
  border-top: 3px solid var(--ds-cyan);
}
.ds-infographic__step .n {
  font-size: 36px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.03em;
  line-height: 1;
}
.ds-infographic__step .t {
  font-size: 14px;
  font-weight: 800;
  margin: 14px 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ds-infographic__step p {
  font-size: 11px;
  line-height: 1.55;
  opacity: 0.7;
  font-weight: 500;
  margin: 0;
}
.ds-infographic__beforeafter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 48px;
}
.ds-infographic__ba {
  padding: 28px 32px;
  background: rgba(255, 255, 255, .04);
  border-radius: 16px;
}
.ds-infographic__ba .lab {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.22em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.ds-infographic__ba--before .lab { color: var(--ds-danger); }
.ds-infographic__ba--after  .lab { color: var(--ds-cyan); }
.ds-infographic__ba ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ds-infographic__ba li {
  font-size: 13px;
  font-weight: 600;
  opacity: 0.9;
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.ds-infographic__ba .dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ds-infographic__ba--before .dot { background: var(--ds-danger); }
.ds-infographic__ba--after  .dot { background: var(--ds-cyan); }
.ds-infographic__cta {
  text-align: center;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}
.ds-infographic__cta .kicker {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.ds-infographic__cta .phone {
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin-bottom: 24px;
}

/* ============================================================
   Settlement Hub (uses .ds-list-section from pages-lists.css)
   ============================================================ */
.ds-services-grid--2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ds-service-card--rich {
  background: var(--ds-paper);
  border-radius: 20px;
  padding: 36px 36px 32px;
  border: 1px solid var(--ds-line);
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
  text-decoration: none;
  color: inherit;
  transition: transform var(--ds-dur) var(--ds-ease), box-shadow var(--ds-dur) var(--ds-ease);
}
.ds-service-card--rich:hover {
  transform: translateY(-2px);
  box-shadow: var(--ds-shadow-card);
}
.ds-service-card__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.ds-service-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ds-line);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--ds-ink);
}
.ds-service-card__pills {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.ds-service-card__pills .badge {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan-deep);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 6px 12px;
  background: rgba(0, 184, 240, .12);
  border-radius: 999px;
}
.ds-service-card__pills .kpi {
  font-size: 12px;
  font-weight: 800;
  color: var(--ds-ink-3);
  font-variant-numeric: tabular-nums;
}
.ds-service-card--rich h3 {
  font-size: 24px;
  font-weight: 800;
  color: var(--ds-ink);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 1.18;
}
.ds-service-card--rich p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
  flex: 1;
}
.ds-service-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ds-cyan);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: auto;
}

.ds-settlement-counterparty {
  padding: 96px 60px;
  background: var(--ds-paper);
}
.ds-settlement-counterparty__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: center;
}
.ds-settlement-counterparty__media {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
  aspect-ratio: 4 / 5;
  min-height: 360px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ds-settlement-counterparty__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  z-index: 0;
}
.ds-settlement-counterparty__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 26, 45, 0) 30%, rgba(15, 26, 45, 0.55) 100%);
  z-index: 1;
  pointer-events: none;
}
.ds-settlement-counterparty__media .badge,
.ds-settlement-counterparty__media .card { position: relative; z-index: 2; }
.ds-settlement-counterparty__media .badge {
  align-self: flex-start;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(15, 26, 45, .92);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ds-settlement-counterparty__media .card {
  background: #fff;
  border-radius: 16px;
  padding: 22px 24px;
  color: var(--ds-ink);
}
.ds-settlement-counterparty__media .card .t {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.ds-settlement-counterparty__media .card .h {
  font-size: 18px;
  font-weight: 900;
  color: var(--ds-ink);
  margin: 8px 0 14px;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.ds-settlement-counterparty__body h2 {
  font-size: 44px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 12px 0 20px;
}
.ds-settlement-counterparty__body p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ds-ink-3);
  margin: 0 0 12px;
  font-weight: 500;
}
.ds-settlement-counterparty__body p.muted { color: var(--ds-muted); font-size: 15px; }

.ds-settlement-spectrum { padding: 96px 60px; background: #fff; }
.ds-settlement-spectrum__inner { max-width: 1280px; margin: 0 auto; }
.ds-settlement-spectrum__head { margin-bottom: 48px; max-width: 820px; }
.ds-settlement-spectrum__head h2 {
  font-size: 44px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 1.04;
  margin: 12px 0 0;
}
.ds-settlement-spectrum__table {
  border: 1px solid var(--ds-line);
  border-radius: 20px;
  overflow: hidden;
}
.ds-settlement-spectrum__table .row {
  display: grid;
  grid-template-columns: 1.3fr 0.8fr 2fr;
  border-bottom: 1px solid var(--ds-line);
}
.ds-settlement-spectrum__table .row:last-child { border-bottom: 0; }
.ds-settlement-spectrum__table .row > div {
  padding: 22px 24px;
  font-size: 14.5px;
}
.ds-settlement-spectrum__table .row .t {
  font-weight: 800;
  color: var(--ds-ink);
}
.ds-settlement-spectrum__table .row .r {
  font-weight: 700;
  color: var(--ds-cyan);
  font-variant-numeric: tabular-nums;
}
.ds-settlement-spectrum__table .row .d {
  color: var(--ds-ink-3);
  font-weight: 500;
}

.ds-settlement-process { padding: 96px 60px; background: var(--ds-paper); }
.ds-settlement-process__inner { max-width: 1280px; margin: 0 auto; }
.ds-settlement-process__head { margin-bottom: 56px; max-width: 820px; }
.ds-settlement-process__head h2 {
  font-size: 44px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 1.04;
  margin: 12px 0 0;
}
.ds-settlement-process__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.ds-settlement-process__grid .step {
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 18px;
  padding: 32px 28px;
}
.ds-settlement-process__grid .step__icon {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: var(--ds-cyan-soft);
  color: var(--ds-cyan-deep);
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}
.ds-settlement-process__grid .step__num {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--ds-cyan);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display: grid;
  place-items: center;
  letter-spacing: 0.04em;
}
.ds-settlement-process__grid .step h3 {
  font-size: 18px;
  font-weight: 900;
  color: var(--ds-ink);
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
}
.ds-settlement-process__grid .step p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  margin: 0;
  font-weight: 500;
}

.ds-settlement-compare { padding: 96px 60px; background: #fff; }
.ds-settlement-compare__inner { max-width: 1280px; margin: 0 auto; }
.ds-settlement-compare__head { margin-bottom: 48px; max-width: 820px; }
.ds-settlement-compare__head h2 {
  font-size: 44px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 12px 0 0;
}
.ds-settlement-compare__table {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  border: 1px solid var(--ds-line);
  border-radius: 20px;
  overflow: hidden;
}
.ds-settlement-compare__table .head {
  padding: 18px 22px;
  background: var(--ds-paper);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ds-ink);
  text-align: center;
}
.ds-settlement-compare__table .head--us { background: var(--ds-cyan); color: var(--ds-ink); }
.ds-settlement-compare__table .cell {
  padding: 20px 22px;
  border-top: 1px solid var(--ds-line);
  font-size: 14px;
  text-align: center;
}
.ds-settlement-compare__table .cell.label {
  text-align: left;
  background: var(--ds-paper);
  color: var(--ds-ink);
  font-weight: 700;
}
.ds-settlement-compare__table .cell.us { background: rgba(0, 184, 240, .04); color: var(--ds-cyan-deep); }
.ds-settlement-compare__table .cell.alt { color: var(--ds-ink-3); }
.ds-settlement-compare__table .cell.empty::before { content: "\2014"; color: var(--ds-muted-2); }
.ds-settlement-compare__table .check { display: inline-grid; place-items: center; color: var(--ds-cyan); }
.ds-settlement-compare__table .check--alt { color: var(--ds-ink-2); }

.ds-settlement-bigstats {
  padding: 64px 60px;
  background: var(--ds-paper);
}
.ds-settlement-bigstats__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}
.ds-settlement-bigstats__inner .n {
  font-size: 64px;
  font-weight: 900;
  color: var(--ds-cyan);
  letter-spacing: -0.03em;
  line-height: 1;
}
.ds-settlement-bigstats__inner .l {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-ink);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 12px;
}

/* ============================================================
   Responsive (editorial extras)
   ============================================================ */
@media (max-width: 1100px) {
  .ds-pillars-num,
  .ds-pillars-num--4,
  .ds-quotes,
  .ds-shield-eligibility,
  .ds-shield-stages,
  .ds-shield-stats { grid-template-columns: 1fr 1fr; }
  .ds-shield-stages__rail { display: none; }
  .ds-shield-trap,
  .ds-playbook-head,
  .ds-credentials-head,
  .ds-shield-stages-head,
  .ds-faq-split,
  .ds-whohelp,
  .ds-facts-hero__grid,
  .ds-facts-map,
  .ds-principles-promise,
  .ds-settlement-counterparty__inner { grid-template-columns: 1fr; gap: 32px; }
  .ds-playbook-2col,
  .ds-bigstats,
  .ds-whohelp__cases,
  .ds-press-grid,
  .ds-services-grid--2col,
  .ds-settlement-process__grid,
  .ds-infographic__stats { grid-template-columns: 1fr 1fr; }
  .ds-shield-compare,
  .ds-settlement-compare__table,
  .ds-settlement-bigstats__inner { grid-template-columns: 1fr; }
  .ds-press-feature { grid-template-columns: 1fr; }
  .ds-infographic__steps { grid-template-columns: 1fr 1fr; }
  .ds-versus--dark .ds-versus__row { grid-template-columns: 1fr; }
  .ds-facts-grid { grid-template-columns: 1fr 1fr; }
  .ds-principles-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .ds-shield-hero,
  .ds-facts-hero,
  .ds-infographic { padding: 56px 20px; }
  .ds-pillars-num,
  .ds-pillars-num--4,
  .ds-quotes,
  .ds-shield-eligibility,
  .ds-shield-stages,
  .ds-shield-stats,
  .ds-playbook-2col,
  .ds-bigstats,
  .ds-whohelp__cases,
  .ds-press-grid,
  .ds-services-grid--2col,
  .ds-settlement-process__grid,
  .ds-infographic__stats,
  .ds-infographic__steps,
  .ds-facts-grid { grid-template-columns: 1fr; }
  .ds-facts-stack__card[data-i] { transform: none; }
  .ds-infographic__card { padding: 40px 24px; }
  .ds-facts-feature {
    grid-template-columns: 1fr;
    padding: 40px 28px;
    text-align: center;
  }
  .ds-facts-feature__avatar { margin: 0 auto; }
  .ds-press-feature__cover { padding: 36px 28px; }
  .ds-press-feature__body { padding: 32px 28px; }
}

/* ============================================================
   CTA BAND SUBLINE
   ============================================================ */
.ds-cta-band__sub {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  margin: -4px auto 24px;
  max-width: 620px;
  opacity: .92;
}
.ds-cta-band__sub strong { font-weight: 800; }
.ds-cta-band--ink .ds-cta-band__sub { color: rgba(255, 255, 255, .92); }

/* ============================================================
   FACTS — Program (3-stat block)
   ============================================================ */
.ds-facts-program {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.ds-facts-program__cell {
  padding: 32px 28px;
  background: var(--ds-paper);
  border-radius: 16px;
  border-left: 4px solid var(--ds-cyan);
}
.ds-facts-program__cell .n {
  font-size: 42px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  line-height: 1;
}
.ds-facts-program__cell .l {
  font-size: 13px;
  font-weight: 800;
  color: var(--ds-cyan-deep);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 12px;
}
.ds-facts-program__cell p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ds-ink-3);
  font-weight: 500;
  margin: 8px 0 0;
}

/* ============================================================
   FACTS — Leadership (2-card)
   ============================================================ */
.ds-facts-leadership {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 40px;
}
.ds-facts-leadership__cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: start;
  padding: 36px 32px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--ds-line);
}
.ds-facts-leadership__mark {
  width: 120px;
  height: 120px;
  border-radius: 16px;
  background: var(--ds-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  flex-shrink: 0;
}
.ds-facts-leadership__mark img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.ds-facts-leadership__body h3 {
  font-size: 22px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.005em;
  line-height: 1.2;
  margin: 0 0 10px;
}
.ds-facts-leadership__body p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  font-weight: 500;
  margin: 0;
}

/* ============================================================
   FACTS — Press quotes grid
   ============================================================ */
.ds-facts-press {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 40px;
}
.ds-facts-press__card {
  padding: 36px 32px;
  background: var(--ds-paper);
  border-radius: 18px;
  border-top: 4px solid var(--ds-cyan);
}
.ds-facts-press__logo {
  width: 90px;
  height: 60px;
  background: #fff;
  border: 1px solid var(--ds-line);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  margin-bottom: 20px;
}
.ds-facts-press__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  filter: grayscale(1);
  opacity: .82;
  transition: filter .2s ease, opacity .2s ease;
}
.ds-facts-press__card:hover .ds-facts-press__logo img,
.ds-facts-press__card:focus-within .ds-facts-press__logo img {
  filter: none;
  opacity: 1;
}
.ds-facts-press__tag {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.ds-facts-press__card h3 {
  font-size: 22px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.005em;
  line-height: 1.2;
  margin: 0 0 14px;
}
.ds-facts-press__card p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ds-ink-2);
  font-weight: 500;
  font-style: italic;
  margin: 0;
}

/* ============================================================
   RECONCILIATION SHIELD — Recovery estimator
   ============================================================ */
.ds-shield-recover-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
  margin-top: 24px;
}
.ds-shield-recover-copy { padding-top: 32px; }
.ds-shield-recover-copy h2 { margin-bottom: 24px; }
.ds-shield-recover-copy > p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--ds-ink-3);
}
.ds-shield-recover {
  padding: 40px;
  background: #fff;
  border-radius: 24px;
  border: 1px solid var(--ds-line);
  box-shadow: var(--ds-shadow-card-pop);
}
.ds-shield-recover__note {
  font-size: 13px;
  font-style: italic;
  color: var(--ds-ink-3);
  margin-top: 14px;
}
.ds-shield-recover__field { margin-bottom: 26px; }
.ds-shield-recover__label {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-ink-3);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ds-shield-recover__choices {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.ds-shield-recover__btn {
  height: 48px;
  border-radius: 10px;
  border: 1.5px solid var(--ds-line);
  background: #fff;
  color: var(--ds-ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  font-family: inherit;
  transition: 0.15s;
}
.ds-shield-recover__btn:hover { border-color: var(--ds-cyan); }
.ds-shield-recover__btn.is-active {
  border-color: var(--ds-cyan);
  background: var(--ds-cyan);
  color: #fff;
}
.ds-shield-recover__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.ds-shield-recover__value {
  font-size: 22px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.ds-shield-recover__rangewrap { padding: 0 2px; }
.ds-shield-recover__range {
  width: 100%;
  accent-color: var(--ds-cyan);
  cursor: pointer;
  margin-bottom: 6px;
}
.ds-shield-recover__ticks {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  font-weight: 700;
  color: var(--ds-ink-3);
  letter-spacing: 0.12em;
}
.ds-shield-recover__results {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--ds-line);
}
.ds-shield-recover__rescell {
  padding: 22px 20px;
  background: var(--ds-paper);
  border-radius: 14px;
  text-align: center;
}
.ds-shield-recover__rescell .kicker {
  font-size: 10px;
  font-weight: 800;
  color: var(--ds-ink-3);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ds-shield-recover__rescell .big {
  font-size: 36px;
  font-weight: 900;
  color: var(--ds-ink);
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ds-shield-recover__rescell .sub {
  font-size: 12px;
  color: var(--ds-ink-3);
  font-weight: 600;
  margin-top: 8px;
}
.ds-shield-recover__rescell--after { background: rgba(0, 184, 240, 0.08); }
.ds-shield-recover__rescell--after .big { color: var(--ds-cyan-deep); }
.ds-shield-recover__arrow {
  font-size: 24px;
  font-weight: 900;
  color: var(--ds-cyan);
  text-align: center;
}
.ds-shield-recover__total {
  margin-top: 24px;
  padding: 28px;
  background: var(--ds-ink);
  color: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
}
.ds-shield-recover__total-copy { flex: 1; }
.ds-shield-recover__total .kicker {
  font-size: 11px;
  font-weight: 800;
  color: var(--ds-cyan);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ds-shield-recover__total .big {
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  margin-bottom: 0;
}
.ds-shield-recover__total .ds-cta { flex-shrink: 0; }

@media (max-width: 1000px) {
  .ds-facts-press,
  .ds-facts-leadership { grid-template-columns: 1fr; }
  .ds-shield-recover-wrap { grid-template-columns: 1fr; gap: 32px; }
  .ds-shield-recover-copy { padding-top: 0; }
  .ds-shield-recover__total {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .ds-shield-recover__total .ds-cta { align-self: center; }
}
@media (max-width: 800px) {
  .ds-facts-program { grid-template-columns: 1fr; }
  .ds-facts-leadership__cell { grid-template-columns: 1fr; gap: 18px; }
  .ds-shield-recover { padding: 28px 22px; }
  .ds-shield-recover__choices { grid-template-columns: 1fr 1fr; }
  .ds-shield-recover__results { grid-template-columns: 1fr; }
  .ds-shield-recover__arrow { transform: rotate(90deg); }
  .ds-shield-recover__total .big { font-size: 38px; }
  .ds-cta-band__sub { font-size: 15px; }
}

/* ============================================================
   Our Difference — origin portrait, persona cards, quote photos
   ============================================================ */
.ds-origin-portrait {
	margin-top: 28px;
	border-radius: 24px;
	overflow: hidden;
	background: linear-gradient(180deg, var(--ds-cyan) 0%, var(--ds-cyan-deep) 100%);
	aspect-ratio: 4 / 5;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	box-shadow: 0 30px 80px -20px rgba(0, 184, 240, .35);
	position: relative;
	overflow: hidden;
}
.ds-origin-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.ds-whohelp__case { position: relative; overflow: hidden; }
.ds-whohelp__case-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	z-index: 0;
}
/* Photo is absolute (z-0) + bottom gradient (::after z-1).
   Badge is absolute top-left (defined elsewhere) + meta is absolute bottom (defined elsewhere).
   Both need z-index above the gradient overlay so they remain visible. */
.ds-whohelp__case .badge { z-index: 2; }
.ds-whohelp__case .meta { z-index: 2; }
.ds-whohelp__case::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15,26,45,0) 50%, rgba(15,26,45,0.85) 100%);
	z-index: 1;
	pointer-events: none;
}

.ds-quote__photo {
	width: 36px;
	height: 36px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	flex-shrink: 0;
}
.ds-quote__author {
	font-size: 13px;
	color: var(--ds-ink-3);
	font-weight: 500;
}
.ds-quote__author strong {
	color: var(--ds-ink);
	font-weight: 800;
}
.ds-quote__attr {
	display: flex;
	align-items: center;
	gap: 12px;
}
.ds-mca-final-cta {
  position: relative;
  background-color: var(--ds-cyan);
  color: #fff;
  overflow: hidden;
  padding: 96px 60px 0;
}
.ds-mca-final-cta::before {
  /* Canonical d-pattern (CtaBand variant): right 45% strip.
     Slant baked into d-pattern.svg via SVG <pattern patternTransform="rotate(15)"> — no CSS rotation. */
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 45%;
  background: url('../images/d-pattern.svg') center / cover no-repeat;
  opacity: 0.18;
  pointer-events: none;
  z-index: 1;
}
.ds-mca-final-cta__inner {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: end;
}
.ds-mca-final-cta__copy {
  padding-bottom: 80px;
}
.ds-mca-final-cta__eyebrow {
  font-size: 12px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.78);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ds-mca-final-cta__h2,
.ds-mca-final-cta__copy h2 {
  font-size: 60px;
  font-weight: 900;
  line-height: 0.96;
  letter-spacing: -0.02em;
  margin: 0 0 22px;
  text-transform: uppercase;
  color: #fff;
}
.ds-mca-final-cta__sub {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  margin: 0 0 32px;
  max-width: 560px;
  color: rgba(255, 255, 255, 0.95);
}
.ds-mca-final-cta__sub strong { color: #fff; }
.ds-mca-final-cta__ctas,
.ds-mca-final-cta__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.ds-mca-final-cta__cta-white,
.ds-mca-final-cta__btn {
  background: #fff;
  color: var(--ds-ink);
}
.ds-mca-final-cta__cta-white:hover,
.ds-mca-final-cta__btn:hover {
  background: #f1f1f1;
  color: var(--ds-ink);
}
.ds-mca-final-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 54px;
  padding: 0 32px;
  border-radius: var(--ds-radius-pill);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border: 0;
  box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.25);
  transition: transform var(--ds-dur) var(--ds-ease), box-shadow var(--ds-dur) var(--ds-ease);
}
.ds-mca-final-cta__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.3);
}
.ds-mca-final-cta__btn svg { transition: transform var(--ds-dur) var(--ds-ease); }
.ds-mca-final-cta__btn:hover svg { transform: translateX(3px); }
.ds-mca-final-cta__btn:focus-visible {
  outline: 2px solid var(--ds-ink);
  outline-offset: 3px;
}
.ds-mca-final-cta__cta-tel,
.ds-mca-final-cta__tel {
  height: 60px;
  padding: 0 28px;
  border-radius: var(--ds-radius-pill);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: transform var(--ds-dur) var(--ds-ease), background var(--ds-dur) var(--ds-ease), border-color var(--ds-dur) var(--ds-ease);
}
.ds-mca-final-cta__cta-tel:hover,
.ds-mca-final-cta__tel:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}
.ds-mca-final-cta__cta-tel:focus-visible,
.ds-mca-final-cta__tel:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.ds-mca-final-cta__portrait {
  position: relative;
  height: 520px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.ds-mca-final-cta__portrait img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  object-position: bottom;
  display: block;
  position: relative;
  z-index: 5;
}
.ds-mca-final-cta__pill {
  position: absolute;
  top: 32px;
  right: 0;
  padding: 12px 24px;
  background: #fff;
  color: var(--ds-ink);
  border-radius: 999px;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.01em;
  box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.3);
  z-index: 4;
  white-space: nowrap;
}
.ds-mca-final-cta__pill span { color: var(--ds-cyan); }
@media (max-width: 1000px) {
  .ds-mca-final-cta { padding: 72px 32px 0; }
  .ds-mca-final-cta__inner { grid-template-columns: 1fr; gap: 32px; }
  .ds-mca-final-cta__copy { padding-bottom: 0; }
  .ds-mca-final-cta__h2,
  .ds-mca-final-cta__copy h2 { font-size: 44px; }
  .ds-mca-final-cta__sub { font-size: 17px; }
  .ds-mca-final-cta__portrait { height: 420px; }
  .ds-mca-final-cta__pill {
    position: relative;
    top: auto;
    right: auto;
    margin: 0 auto 16px;
    display: inline-block;
  }
}
@media (max-width: 640px) {
  .ds-mca-final-cta { padding: 56px 20px 0; }
  .ds-mca-final-cta__h2,
  .ds-mca-final-cta__copy h2 { font-size: 34px; }
  .ds-mca-final-cta__ctas,
  .ds-mca-final-cta__actions { flex-direction: column; align-items: stretch; }
  .ds-mca-final-cta__ctas .ds-cta,
  .ds-mca-final-cta__cta-tel,
  .ds-mca-final-cta__actions .ds-cta,
  .ds-mca-final-cta__btn,
  .ds-mca-final-cta__tel { width: 100%; justify-content: center; }
  .ds-mca-final-cta__portrait { height: 340px; }
  .ds-mca-final-cta__pill { font-size: 18px; padding: 10px 18px; }
}

/* ============================================================
   Defensive accordion collapse — ensure editorial FAQ stays
   collapsed when not [open]. Native <details> handles this
   via UA stylesheet, but explicit display rules elsewhere can
   occasionally defeat the UA hide on older browsers. Make the
   collapsed state explicit.

   Applies to: page-our-difference, page-we-know-debt,
   page-reconciliation-shield, page-contact, and any other
   editorial template using the .ds-faq pattern.
   ============================================================ */
.ds-faq:not([open]) .ds-faq__a { display: none; }

/* ============================================================
   AQC7 mobile fixes (additive — see /tmp/aqc7-report.md)
   ============================================================ */

/* Fix 4: .ds-versus--dark .ds-versus__row 3-col never collapsed because
   the inner-media rule at 633 matches the same selector specificity inside
   the same <1100 media block at 2591 — but source order (633 below the
   collapse fallback) made the 3-col rule win. Force collapse with !important
   at the iPad-landscape breakpoint to guarantee single-column on tablets. */
@media (max-width: 1100px) {
  .ds-versus--dark .ds-versus__row { grid-template-columns: 1fr !important; }
}

/* Fix 7: .ds-listicle__states already collapses to 3-col at <1100 and
   2-col at <700. iPad portrait (768) lives between those — state names
   like "MASSACHUSETTS" truncate in 3-col. Force 2-col by 800. */
@media (max-width: 800px) {
  .ds-listicle__states { grid-template-columns: 1fr 1fr; gap: 6px 16px; }
}

/* Fix 9: Facts-stack card translateX offsets only reset at <800. At
   800-1100, after the grid collapses to 1-col, the cards still carry
   20-40px of translateX → potential horizontal overflow on iPad. Reset
   the transforms in tandem with the grid collapse. */
@media (max-width: 1100px) {
  .ds-facts-stack__card[data-i] { transform: none; }
}

/* Fix 1: Shield-hero / Facts-hero h1 at very-narrow phones (<480) */
@media (max-width: 480px) {
  .ds-shield-hero h1 { font-size: 32px; }
  .ds-shield-hero { padding: 40px 16px 56px; }
  .ds-facts-hero h1 { font-size: 30px; }
  .ds-facts-hero { padding-left: 16px; padding-right: 16px; }
}

/* ---------- Reconciliation Shield — polish ----------
   Hero h1 now splits onto 3 lines (THE / RECONCILIATION / SHIELD).
   Trap section: title sized to match design comp (62px, balanced wrap),
   tighter copy spacing and matching eyebrow rhythm.
   ----------------------------------------------------- */
.ds-shield-hero h1,
.ds-shield-hero__title {
  font-size: clamp(56px, 7.6vw, 120px);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  margin: 0;
  display: block;
  color: #fff;
}
.ds-shield-hero__title-line {
  display: block;
  color: #fff;
}
.ds-shield-hero__title-line.ds-emph {
  color: var(--ds-cyan);
}
.ds-shield-hero__title sup {
  font-size: 0.32em;
  font-weight: 800;
  vertical-align: super;
  margin-left: 0.06em;
  letter-spacing: 0;
  line-height: 1;
}

.ds-shield-trap__copy .ds-eyebrow--rule {
  margin-bottom: 18px;
}
.ds-shield-trap__title {
  font-size: clamp(40px, 5vw, 62px);
  line-height: 0.95;
  letter-spacing: -0.025em;
  text-wrap: balance;
  margin: 0;
}
.ds-shield-trap__copy > p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--ds-ink-3);
  font-weight: 500;
  text-wrap: pretty;
}
.ds-shield-trap__copy > p:first-of-type { margin: 28px 0 0; }
.ds-shield-trap__copy > p + p { margin: 18px 0 0; }
.ds-shield-trap__copy > p strong { color: var(--ds-ink); }

@media (max-width: 900px) {
  .ds-shield-trap__title { font-size: clamp(32px, 6vw, 48px); }
}
@media (max-width: 480px) {
  .ds-shield-trap__title { font-size: 30px; }
  .ds-shield-trap__copy > p { font-size: 16px; }
}

/* ============================================================
   Faded d-mark watermark for editorial sections that need it
   (core-principles cards, we-know-debt, careers principles, etc.)
   The single big "d:" sits in the bottom-right corner.
   ============================================================ */
.ds-list-section,
.ds-editorial,
.ds-inner-hero,
.ds-careers-roles-section {
	position: relative;
}
/* Editorial / list-section watermark variant.
   NOTE: removed .ds-inner-hero--watermark — the canonical .ds-inner-hero
   in main.css already paints a right-side d-mark. The bottom-right
   variant here was painting a SECOND watermark on case-studies hero,
   which read as inconsistent vs. all other inner heros. */
.ds-list-section--watermark::after,
.ds-editorial--watermark::after,
.ds-careers-roles-section::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 200px;
	height: 260px;
	background-image: url('../images/ico-delancey.svg');
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
	opacity: .05;
	pointer-events: none;
	z-index: 0;
	transform: translateY(20%) translateX(8%);
}
@media (max-width: 800px) {
	.ds-list-section--watermark::after,
	.ds-editorial--watermark::after,
	.ds-careers-roles-section::after {
		width: 140px;
		height: 180px;
	}
}
.ds-list-section--watermark > *,
.ds-editorial--watermark > * { position: relative; z-index: 1; }

/* ============================================================
   KNOWLEDGE HUB HERO  (We Know Debt)
   Full-width WHITE banner. Big headline "We know debt." with
   cyan emph, breadcrumbs and eyebrow above, lede below.
   ============================================================ */
.ds-knowledge-hero {
	background: #fff;
	color: var(--ds-ink);
	overflow: hidden;
	position: relative;
	padding: 56px 60px 72px;
	border-bottom: 1px solid var(--ds-line);
}
.ds-knowledge-hero__bg {
	position: absolute;
	right: 0;
	top: 0;
	width: 480px;
	height: 340px;
	background-image: url('../images/ico-delancey.svg');
	background-repeat: no-repeat;
	background-position: right 60px top 40px;
	background-size: 160px auto;
	opacity: 0.05;
	pointer-events: none;
	z-index: 0;
}
.ds-knowledge-hero__inner {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.ds-knowledge-hero .ds-breadcrumbs {
	font-size: 12px;
	color: var(--ds-ink-3);
	margin-bottom: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.ds-knowledge-hero .ds-breadcrumbs a {
	color: var(--ds-ink-3);
	text-decoration: none;
}
.ds-knowledge-hero .ds-breadcrumbs a:hover { color: var(--ds-cyan); }
.ds-knowledge-hero__eyebrow {
	font-size: 13px;
	font-weight: 800;
	color: var(--ds-cyan);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 18px;
}
.ds-knowledge-hero__title {
	font-size: clamp(44px, 6.4vw, 84px);
	line-height: 0.98;
	letter-spacing: -0.025em;
	font-weight: 900;
	margin: 0;
	text-transform: uppercase;
	text-wrap: balance;
	max-width: 1100px;
	color: var(--ds-ink);
}
.ds-knowledge-hero__title .ds-emph { color: var(--ds-cyan); }
.ds-knowledge-hero__sub {
	font-size: 20px;
	line-height: 1.55;
	color: var(--ds-ink-3);
	margin-top: 28px;
	font-weight: 500;
	max-width: 780px;
}
@media (max-width: 1100px) {
	.ds-knowledge-hero { padding: 48px 40px 64px; }
	.ds-knowledge-hero__bg { display: none; }
}
@media (max-width: 900px) {
	.ds-knowledge-hero { padding: 40px 24px 56px; }
	.ds-knowledge-hero__sub { font-size: 18px; margin-top: 22px; }
}
@media (max-width: 480px) {
	.ds-knowledge-hero { padding: 32px 16px 48px; }
	.ds-knowledge-hero__title { font-size: 40px; }
	.ds-knowledge-hero__sub { font-size: 16px; }
}

/* ---------- Hub editorial wrapper (no top padding above hub grid) ---------- */
.ds-editorial--hub { padding-top: 56px; padding-bottom: 56px; }
@media (max-width: 900px) {
	.ds-editorial--hub { padding: 40px 24px; }
}

/* ---------- Editorial section with delancey-icon rule on top ---------- */
.ds-editorial--rule { padding-top: 96px; }
.ds-editorial--rule::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 50%;
	transform: translateX(-50%);
	width: min(1280px, calc(100% - 120px));
	height: 1px;
	background: var(--ds-line);
	z-index: 0;
}
.ds-editorial--rule::after {
	content: "";
	position: absolute;
	top: 16px;
	left: calc(50% - min(640px, 50% - 60px));
	width: 18px;
	height: 18px;
	background: url('../images/ico-delancey.svg') no-repeat left center / contain;
	opacity: 0.5;
	z-index: 1;
}
@media (max-width: 1100px) {
	.ds-editorial--rule::before { width: calc(100% - 80px); }
	.ds-editorial--rule::after { left: 40px; }
}
@media (max-width: 900px) {
	.ds-editorial--rule::before { width: calc(100% - 48px); }
	.ds-editorial--rule::after { left: 24px; }
}

/* ---------- Open FAQ on We Know Debt: cyan border highlight ---------- */
#faq .ds-faq[open] {
	border: 1px solid var(--ds-cyan);
	border-radius: 14px;
	padding: 22px 26px;
	background: #fff;
}
#faq .ds-faq[open] summary { color: var(--ds-cyan); }

/* ============================================================
   AQC8 mobile fixes (375px viewport — additive)
   Covers Reconciliation Shield + Our Difference + We Know Debt
   editorial pages. Each rule is scoped to <480 to avoid
   regressing iPad/desktop. Sticky elements already unstick at
   <1100; this pass tightens padding/font for very narrow phones.
   ============================================================ */
@media (max-width: 480px) {
	/* Shield: reduce feature-card padding so 28px h3 doesn't crowd 375px viewport */
	.ds-shield-feature-card { padding: 24px 22px; }
	.ds-shield-feature-card h3 { font-size: 22px; }

	/* Shield: pillar cards padding tightening (was 36px 32px) */
	.ds-shield-pillar { padding: 28px 22px; }

	/* Shield: quote card opening-mark + padding fits in narrow viewport */
	.ds-shield-quote { padding: 28px 22px 22px; }
	.ds-shield-quote__mark { font-size: 60px; left: 22px; }
	.ds-shield-quote p { font-size: 15px; }

	/* Shield: stat cells gap tightening at single-col */
	.ds-shield-stats { padding: 22px; gap: 22px; }
	.ds-shield-stats__cell { padding-right: 0; border-right: 0; }
	.ds-shield-stats__cell .n { font-size: 36px; }

	/* Shield: trap-section chart card padding (was 40px 40px 32px) */
	.ds-shield-chart { padding: 24px 22px 20px; }

	/* Our Difference: timeline indent reduction at narrow */
	.ds-timeline { padding-left: 22px; }
	.ds-timeline__dot { left: -30px; }

	/* Our Difference: playbook/credentials/scenarios padding */
	.ds-playbook__step { padding: 24px 22px; }
	.ds-scenario-card { padding: 24px 22px; }
}

/* ============================================================
   Our Difference — pixel-perfect typography / spacing pass
   Scoped to .ds-editorial / page-our-difference selectors only.
   ============================================================ */

/* Origin split: rebalance grid + tighten title so "BUILT FROM THE
   OTHER SIDE OF THE TABLE" doesn't crash into the portrait. */
.ds-editorial-split { grid-template-columns: 0.95fr 1.35fr; gap: 72px; }
.ds-editorial-split .ds-section-title--lg { font-size: 46px; line-height: 1.0; letter-spacing: -0.025em; }
.ds-editorial-split .ds-eyebrow--rule { margin-bottom: 22px; }
.ds-editorial-split .ds-editorial-lede { font-size: 19px; line-height: 1.55; margin-bottom: 22px; }
.ds-editorial-split .ds-editorial-body { font-size: 15.5px; line-height: 1.7; margin-bottom: 16px; }
.ds-origin-portrait { margin-top: 32px; aspect-ratio: 4 / 5; border-radius: 22px; }
.ds-origin-portrait img { object-position: center top; }

/* Timeline: tighter typography + slightly larger year chip */
.ds-timeline { padding-left: 26px; margin-top: 36px; }
.ds-timeline__item { padding-bottom: 24px; }
.ds-timeline__y { font-size: 12px; letter-spacing: 0.14em; }
.ds-timeline__t { font-size: 15px; letter-spacing: 0.005em; margin: 6px 0 6px; }
.ds-timeline__d { font-size: 13.5px; line-height: 1.6; }

/* VS table — dark variant: header eyebrow centering + intro paragraph
   width tightening. Side-by-side intro lives in .ds-difference__intro. */
.ds-editorial--ink .ds-difference__intro { max-width: 760px; margin-bottom: 48px; }
.ds-editorial--ink .ds-difference__intro .ds-section-title--lg { font-size: 50px; line-height: 1.02; }
.ds-editorial--ink .ds-difference__intro > p { font-size: 16px; line-height: 1.6; margin-top: 18px; }
.ds-versus--dark { border-radius: 18px; }
.ds-versus--dark .ds-versus__row > div { padding: 22px 26px; font-size: 13.5px; line-height: 1.55; }
.ds-versus--dark .ds-versus__row.is-head > div { padding: 18px 26px; font-size: 11px; letter-spacing: 0.18em; }
.ds-versus--dark .ds-versus__txt { display: inline; }

/* Principles (paper bg): tighten intro + heavier number chip */
.ds-editorial--paper .ds-difference__intro { max-width: 820px; margin-bottom: 48px; }
.ds-pillars-num { gap: 22px; max-width: 1280px; margin: 0 auto; }
.ds-pillar-num { padding: 30px 28px; border-radius: 14px; }
.ds-pillar-num__n { font-size: 12px; letter-spacing: 0.2em; margin-bottom: 16px; }
.ds-pillar-num h3 { font-size: 17px; letter-spacing: -0.005em; line-height: 1.25; margin-bottom: 10px; }
.ds-pillar-num p { font-size: 13.5px; line-height: 1.6; }

/* Playbook: tighten intro column + numbered card layout */
.ds-playbook-head { grid-template-columns: 0.95fr 1.4fr; gap: 56px; }
.ds-playbook-head > div:first-child .ds-section-title--lg { font-size: 46px; line-height: 1.02; letter-spacing: -0.025em; }
.ds-playbook-head > div:first-child > p { font-size: 15.5px; line-height: 1.65; margin-top: 16px; }
.ds-playbook-2col { gap: 16px; }
.ds-playbook-step2 { padding: 26px 24px; border-radius: 14px; }
.ds-playbook-step2__head { gap: 14px; margin-bottom: 12px; }
.ds-playbook-step2__head .n { font-size: 32px; letter-spacing: -0.02em; }
.ds-playbook-step2__head h3 { font-size: 15px; letter-spacing: 0.005em; }
.ds-playbook-step2 p { font-size: 13.5px; line-height: 1.6; }

/* Credentials head: balance copy column with stats grid */
.ds-credentials-head { grid-template-columns: 1fr 1.5fr; gap: 56px; align-items: center; }
.ds-credentials-head .ds-section-title--lg { font-size: 50px; line-height: 1.02; letter-spacing: -0.025em; }
.ds-credentials-head > div:first-child > p { font-size: 15.5px; line-height: 1.65; margin-top: 16px; }
.ds-credentials { gap: 14px; }
.ds-credentials > div { padding: 32px 28px; min-height: 160px; border-radius: 14px; }
.ds-credentials .val { font-size: 50px; letter-spacing: -0.03em; }
.ds-credentials .lab { font-size: 11px; letter-spacing: 0.16em; margin-top: 14px; }

/* Quotes: tighten cards, larger photo, refined attribution */
.ds-quotes { gap: 22px; margin-top: 48px; }
.ds-quote { padding: 30px 28px; border-radius: 16px; }
.ds-quote__mark { font-size: 56px; line-height: 0.5; margin-bottom: 4px; }
.ds-quote p { font-size: 15px; line-height: 1.55; margin-bottom: 22px; }
.ds-quote__attr { gap: 12px; padding-top: 18px; }
.ds-quote__photo { width: 44px; height: 44px; }
.ds-quote__author { font-size: 12px; line-height: 1.4; }
.ds-quote__author strong { font-size: 13px; }

/* Who We Help: rebalance intro/cases ratio so heading doesn't wrap to 5 lines */
.ds-whohelp { grid-template-columns: 1fr 1.7fr; gap: 56px; margin-bottom: 56px; }
.ds-whohelp__intro .ds-section-title--lg { font-size: 46px; line-height: 1.02; letter-spacing: -0.025em; }
.ds-whohelp__intro > p { font-size: 15.5px; line-height: 1.65; margin-top: 18px; }
.ds-whohelp__cases { gap: 16px; }
.ds-whohelp__case { aspect-ratio: 4 / 5; border-radius: 18px; }
.ds-whohelp__case .badge { top: 14px; left: 14px; font-size: 9.5px; letter-spacing: 0.16em; padding: 5px 11px; }
.ds-whohelp__case .meta { padding: 14px 16px; }
.ds-whohelp__case .meta .t { font-size: 13.5px; letter-spacing: -0.005em; }
.ds-whohelp__case .meta .l { font-size: 10.5px; margin-top: 3px; }

/* Big stats strip: smaller numerals + tighter cells (matches design proportions) */
.ds-bigstats > div { padding: 36px 24px; }
.ds-bigstats .n { font-size: 60px; letter-spacing: -0.035em; }
.ds-bigstats .l { font-size: 12px; letter-spacing: 0.16em; margin-top: 12px; }

/* FAQ split: rebalance grid + tighter intro typography + accordion polish */
.ds-faq-split { grid-template-columns: 0.95fr 1.55fr; gap: 64px; }
.ds-faq-split__intro .ds-section-title--lg { font-size: 46px; line-height: 1.02; letter-spacing: -0.025em; }
.ds-faq-split__intro > p { font-size: 15.5px; line-height: 1.65; margin-top: 18px; margin-bottom: 22px; }
.ds-faq-split .ds-faq summary {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.005em;
	padding: 22px 0;
	color: var(--ds-ink);
}
.ds-faq-split .ds-faq__a { font-size: 14.5px; line-height: 1.65; padding-bottom: 22px; }

/* MCA Final CTA on Our Difference: refine type scale + button heights so
   they read as one design family with the rest of the page. Already
   scoped via .ds-mca-final-cta — no change needed for other pages. */
.ds-mca-final-cta { padding: 88px 60px 0; }
.ds-mca-final-cta__copy { padding-bottom: 72px; }
.ds-mca-final-cta__h2,
.ds-mca-final-cta__copy h2 { font-size: 56px; line-height: 0.98; letter-spacing: -0.025em; margin-bottom: 20px; }
.ds-mca-final-cta__sub { font-size: 18px; line-height: 1.5; max-width: 540px; margin-bottom: 28px; }
.ds-mca-final-cta__btn { height: 52px; padding: 0 28px; font-size: 12.5px; letter-spacing: 0.1em; }
.ds-mca-final-cta__tel { height: 52px; padding: 0 24px; font-size: 13px; letter-spacing: 0.08em; }

/* Section-mark icon weight on light editorial sections — keeps decoration
   subtle but visible (matches design's faint d-mark above eyebrow row). */
.ds-editorial .ds-section-mark { margin-bottom: 32px; }
.ds-editorial .ds-section-mark__icon { width: 20px; height: 26px; opacity: 0.9; }

/* Tablet collapse: rebalance two-col splits before they break to single column */
@media (max-width: 1200px) and (min-width: 1101px) {
	.ds-editorial-split { gap: 48px; }
	.ds-playbook-head { gap: 40px; }
	.ds-faq-split { gap: 48px; }
	.ds-whohelp { gap: 40px; }
}

/* At <1100 these stack — drop oversized title clamps to keep mobile readable */
@media (max-width: 1100px) {
	.ds-editorial-split { grid-template-columns: 1fr !important; gap: 48px; }
	.ds-playbook-head { grid-template-columns: 1fr !important; }
	.ds-faq-split { grid-template-columns: 1fr !important; }
	.ds-whohelp { grid-template-columns: 1fr !important; }
	.ds-credentials-head { grid-template-columns: 1fr !important; }
	.ds-editorial-split .ds-section-title--lg,
	.ds-playbook-head > div:first-child .ds-section-title--lg,
	.ds-credentials-head .ds-section-title--lg,
	.ds-whohelp__intro .ds-section-title--lg,
	.ds-faq-split__intro .ds-section-title--lg,
	.ds-editorial--ink .ds-difference__intro .ds-section-title--lg { font-size: 40px; }
	.ds-mca-final-cta__h2,
	.ds-mca-final-cta__copy h2 { font-size: 44px; }
	.ds-bigstats .n { font-size: 48px; }
	.ds-credentials .val { font-size: 42px; }
}
@media (max-width: 700px) {
	.ds-editorial-split .ds-section-title--lg,
	.ds-playbook-head > div:first-child .ds-section-title--lg,
	.ds-credentials-head .ds-section-title--lg,
	.ds-whohelp__intro .ds-section-title--lg,
	.ds-faq-split__intro .ds-section-title--lg,
	.ds-editorial--ink .ds-difference__intro .ds-section-title--lg { font-size: 32px; }
	.ds-bigstats { grid-template-columns: 1fr 1fr; }
	.ds-bigstats > div:nth-child(2) { border-right: 0; }
	.ds-bigstats > div:nth-child(1),
	.ds-bigstats > div:nth-child(2) { border-bottom: 1px solid var(--ds-line); }
	.ds-bigstats .n { font-size: 42px; }
	.ds-quotes { grid-template-columns: 1fr; gap: 16px; }
	.ds-whohelp__cases { grid-template-columns: 1fr; }
	.ds-pillars-num { grid-template-columns: 1fr; }
	.ds-playbook-2col { grid-template-columns: 1fr; }
}

/* ============================================================
   May-2026 RESPONSIVE QC PASS (375 / 768 / 1024 / 1440)
   Inner pages: our-difference, core-principles, careers,
   we-know-debt, reconciliation-shield, case-studies.
   ============================================================ */

/* ---------- Tablet 1024px: bring back 2-col where viewport allows ---------- */
@media (min-width: 901px) and (max-width: 1100px) {
	.ds-hub-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.ds-hub-card { padding: 32px 30px; }
	.ds-hub-card h3 { font-size: 26px; }
}

/* ---------- 768px: tighten editorial section padding so 1-col reads cleanly ---------- */
@media (max-width: 900px) {
	.ds-editorial { padding: 56px 24px; }
	.ds-editorial-split { grid-template-columns: 1fr !important; gap: 40px; }
	.ds-editorial-split .ds-section-title--lg { font-size: 36px !important; line-height: 1.05; }
	.ds-press-row { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ds-press-row > div { height: 100px; padding: 22px; }
	.ds-shield-hero h1,
	.ds-shield-hero__title { font-size: clamp(44px, 7.4vw, 72px); }
	.ds-shield-hero { padding: 48px 24px 60px; }
	.ds-knowledge-hero__title { font-size: clamp(40px, 7vw, 56px); }
}

/* ---------- 640px: prevent wide hero h1 overflow with hyphen/break-word
   safety net — applies to ALL inner-hero h1 + knowledge-hero + shield-hero ---------- */
@media (max-width: 640px) {
	.ds-inner-hero h1,
	.ds-knowledge-hero__title,
	.ds-shield-hero h1,
	.ds-shield-hero__title {
		overflow-wrap: anywhere;
		word-break: break-word;
		hyphens: auto;
		max-width: 100%;
	}
	/* Inner-hero photo / image inside split must not extend grid */
	.ds-editorial-split { gap: 32px; }
	.ds-editorial-split .ds-section-title--lg { font-size: 32px !important; }
	.ds-origin-portrait { max-width: 100%; }
	/* Hub cards: tighten and emphasize on mobile */
	.ds-hub-card { padding: 28px 24px; }
	.ds-hub-card h3 { font-size: 24px; }
	.ds-hub-card p { font-size: 14.5px; }
	/* Case-card 4-col stat strip → 2-col on phones */
	.ds-case-card__numbers { grid-template-columns: 1fr 1fr; gap: 18px 16px; }
	.ds-case-card__numbers .val { font-size: 16px; }
	/* Press-row stays 2-col but tighter */
	.ds-press-row > div { height: 88px; padding: 16px; }
}

/* ---------- 480px / 375px tier: aggressive mobile fixes ---------- */
@media (max-width: 480px) {
	/* Hero h1: shrink one more step so 12-15ch words ("RECONCILIATION",
	   "INDUSTRY INSIDERS", "BEAT BAD DEBT") never overflow viewport. */
	.ds-inner-hero { padding: 36px 16px 44px !important; }
	.ds-inner-hero h1 { font-size: 32px !important; line-height: 1.05 !important; letter-spacing: -0.02em !important; }
	.ds-inner-hero__sub { font-size: 15.5px !important; margin-top: 18px !important; }
	.ds-inner-hero::after { display: none; }

	.ds-knowledge-hero__title { font-size: 32px; line-height: 1.05; letter-spacing: -0.02em; }
	.ds-shield-hero h1,
	.ds-shield-hero__title { font-size: 30px; line-height: 1.05; letter-spacing: -0.02em; }

	/* Editorial section: tighten side padding to 16px on phones */
	.ds-editorial { padding: 48px 16px; }
	.ds-editorial-split { gap: 24px; }
	.ds-editorial-split .ds-section-title--lg { font-size: 28px !important; }
	.ds-editorial-lede { font-size: 16px !important; }
	.ds-editorial-body { font-size: 14.5px !important; }

	/* Hub cards: compact phone padding */
	.ds-hub-card { padding: 24px 20px; }
	.ds-hub-card h3 { font-size: 22px; line-height: 1.15; }

	/* Press-row: stays 2-col, very tight */
	.ds-press-row { gap: 10px; }
	.ds-press-row > div { height: 72px; padding: 12px; border-radius: 12px; }
	.ds-press-row img { max-height: 36px; }

	/* Case-card numbers: keep 2-col, smaller numerals */
	.ds-case-card__numbers { gap: 14px 12px; }
	.ds-case-card__numbers .val { font-size: 15px; }
	.ds-case-card__numbers .lab { font-size: 9px; }

	/* Origin portrait card on Our Difference: cap height so layout flows */
	.ds-origin-portrait { aspect-ratio: 4 / 4.6; }

	/* Watermark d-mark: hide on narrowest viewports to avoid clipped svg
	   distractions behind text */
	.ds-list-section--watermark::after,
	.ds-editorial--watermark::after,
	.ds-inner-hero--watermark::after,
	.ds-careers-roles-section::after { width: 100px; height: 130px; opacity: 0.04; }

	/* Versus / comparison rows: keep readable text on phone */
	.ds-versus--dark .ds-versus__row > div { padding: 16px 14px; font-size: 12.5px; }
	.ds-versus--dark .ds-versus__row.is-head > div { padding: 14px 14px; font-size: 10px; }

	/* Big stats: smaller numerals, single col fits */
	.ds-bigstats > div { padding: 28px 20px; }
	.ds-bigstats .n { font-size: 36px; }
}

/* ---------- 375px / 360px tier: final tighten ---------- */
@media (max-width: 380px) {
	.ds-inner-hero h1 { font-size: 28px !important; }
	.ds-knowledge-hero__title { font-size: 28px; }
	.ds-shield-hero h1,
	.ds-shield-hero__title { font-size: 26px; }
	.ds-hub-card { padding: 22px 18px; }
	.ds-hub-card h3 { font-size: 20px; }
}

/* ============================================================
   EDITORIAL REVIEW FIXES — May 2026
   Senior UX critique pass on 5 inner pages.
   ============================================================ */

/* ---------- WATERMARK: tone down + push behind content ----------
   The right-side d-mark watermark on multiple inner heroes was
   reading as dominant on 1440 (h1 visually competes with it).
   Reduce opacity + clamp size + ensure it sits behind text. */
.ds-knowledge-hero__bg,
.ds-list-section--watermark::after,
.ds-editorial--watermark::after {
	opacity: 0.035;
}
.ds-knowledge-hero__bg { background-size: 140px auto; }

/* ---------- OUR DIFFERENCE — Credentials grid ----------
   Was 3-col / fixed 180px min-height with cramped numerals.
   Convert to a denser, more visually balanced "stat card" grid
   with stronger numerals, hairline cyan accent, and tighter
   internal rhythm. Uses 2-row asymmetry on widest viewports. */
.ds-credentials {
	gap: 14px;
}
.ds-credentials > div {
	min-height: 168px;
	padding: 30px 28px;
	border-radius: 18px;
	position: relative;
	background: #fff;
}
.ds-credentials > div::before {
	content: "";
	position: absolute;
	left: 28px;
	top: 30px;
	width: 28px;
	height: 2px;
	background: var(--ds-cyan);
	border-radius: 2px;
}
.ds-credentials > div { padding-top: 46px; }
.ds-credentials .val {
	font-size: 52px;
	letter-spacing: -0.03em;
	line-height: 0.92;
}
.ds-credentials .lab {
	font-size: 11.5px;
	letter-spacing: 0.16em;
	color: var(--ds-ink-3);
	margin-top: 14px;
}

/* ---------- OUR DIFFERENCE — Comparison table head contrast ----
   "Delancey vs Typical Debt Relief" head row was slightly muted.
   Bump head fg + cyan column for sharper hierarchy. */
.ds-versus__row.is-head > div {
	font-size: 12.5px;
	letter-spacing: 0.16em;
}
.ds-versus__row.is-head .col-ds {
	color: var(--ds-ink);
	font-weight: 900;
}

/* ---------- OUR DIFFERENCE — "Built from the other side" split ---
   The split (portrait + copy) had visible imbalance — portrait
   read too dominant. Cap portrait width and add breathing room. */
.ds-editorial-split {
	gap: 64px;
	align-items: center;
}

/* ============================================================
   CORE PRINCIPLES — strengthen card hierarchy
   ============================================================ */
/* Was: 6 flat cards with a tiny "01" eyebrow.
   Add: numbered badge + cyan rule + tighter quote treatment. */
.ds-principles-grid {
	gap: 24px;
}
.ds-principle {
	padding: 32px 32px 30px;
	background: #fff;
	border: 1px solid var(--ds-line);
	position: relative;
	transition: border-color var(--ds-dur) var(--ds-ease),
	            box-shadow var(--ds-dur) var(--ds-ease),
	            transform var(--ds-dur) var(--ds-ease);
}
.ds-principle:hover {
	border-color: var(--ds-cyan);
	box-shadow: var(--ds-shadow-card);
	transform: translateY(-2px);
}
.ds-principle__num {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	letter-spacing: 0.18em;
	margin-bottom: 6px;
}
.ds-principle__num::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 2px;
	background: var(--ds-cyan);
	border-radius: 2px;
}
.ds-principle h3 {
	font-size: 22px;
	margin: 10px 0 12px;
	line-height: 1.2;
}
.ds-principle p {
	font-size: 14.5px;
	line-height: 1.65;
}

/* ============================================================
   RECONCILIATION SHIELD — hero polish
   ============================================================ */
/* Stats row: every cell now has consistent right separator
   except the last; widen padding so 100M+ doesn't crowd edge. */
.ds-shield-stats {
	gap: 0;
	padding-top: 8px;
}
.ds-shield-stats__cell {
	padding: 18px 28px 14px 0;
	border-right: 1px solid rgba(255, 255, 255, .12);
}
.ds-shield-stats__cell + .ds-shield-stats__cell {
	padding-left: 28px;
}
.ds-shield-stats__cell .n {
	letter-spacing: -0.02em;
}

/* Quote card on right: bring up baseline so it sits closer to h1,
   tighten attribution row. */
.ds-shield-quote {
	padding: 26px 26px 22px;
}
.ds-shield-quote__avatar {
	width: 36px;
	height: 36px;
}
.ds-shield-quote__name { font-size: 12.5px; }
.ds-shield-quote__role { font-size: 10.5px; letter-spacing: 0.14em; }

/* CTA row: ghost button visual weight equal to primary —
   currently primary felt heavier; tighten to match height. */
.ds-shield-hero__cta-ghost {
	padding-block: 14px;
}

/* ============================================================
   WE KNOW DEBT — hub cards + press row
   ============================================================ */
/* Hub cards: thinner top border, smaller h3, deemphasize repeated
   EXPLORE -> CTA so the title carries the click affordance. */
.ds-hub-card {
	padding: 32px 36px 30px;
	border-top-width: 3px;
	background: #fff;
	transition: transform var(--ds-dur) var(--ds-ease),
	            box-shadow var(--ds-dur) var(--ds-ease),
	            border-color var(--ds-dur) var(--ds-ease);
}
.ds-hub-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--ds-shadow-card);
}
.ds-hub-card h3 {
	font-size: 26px;
	letter-spacing: -0.02em;
	line-height: 1.05;
}
.ds-hub-card p {
	font-size: 14.5px;
	margin-top: 12px;
}
.ds-hub-card__cta {
	margin-top: 18px;
	font-size: 12px;
	color: var(--ds-cyan-text);
	letter-spacing: 0.12em;
}

/* Press-row: cells were 120px tall — too much chrome around small
   logos. Crop tighter, add subtle hover lift, normalize logo size. */
.ds-press-row > div {
	height: 92px;
	padding: 20px 24px;
	border-radius: 12px;
	transition: border-color var(--ds-dur) var(--ds-ease);
}
.ds-press-row > div:hover { border-color: var(--ds-cyan); }
.ds-press-row img { max-height: 44px; }

/* ============================================================
   Editorial guide: checklist LI fix
   ------------------------------------------------------------
   pages-forms.css forces .ds-guide__checklist li to display:grid
   with a 28px first column (intended for an ISO-page structure
   that wraps content in <span class="ck"> / <span class="t">).
   Editorial pages render plain text inside the LI, so the grid
   forces the text into the 28px column and it wraps one
   character per line. Restore list-item rendering on editorial
   templates that don't use the ck/t structure, and rely on the
   ::before checkbox to draw the indicator.
   ============================================================ */
/* Editorial-only checklist (scoped by `#checklist` id which only the
   editorial templates render — ISO templates use `<section>` without id). */
#checklist.ds-guide__checklist ol {
	display: flex;
	flex-direction: column;
	gap: 14px;
	list-style: none;
	padding: 0;
	margin: 0;
}
#checklist.ds-guide__checklist ol > li {
	display: list-item;
	grid-template-columns: none;
	padding-left: 36px;
	position: relative;
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--ds-ink-2);
	font-weight: 500;
	min-width: 0;
	width: 100%;
	word-break: normal;
	overflow-wrap: break-word;
	white-space: normal;
}
#checklist.ds-guide__checklist ol > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background-color: var(--ds-cyan);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px;
}

/* ============================================================
   RESPONSIVE QC — May 2026 (settlement spectrum + compare tables)
   The spectrum row 1.3fr / 0.8fr / 2fr grid becomes unreadable on
   narrow phones (description column is reduced to single-character
   wraps). The compare 4-col grid collapses to 1fr at <=1100 but
   without restructure, leaving label and 3 check cells stacking
   with no visible relationship.
   FIX: spectrum stacks at <=640 (still readable above that);
   compare restructures to card-per-row at <=1100 (matches the
   existing collapse breakpoint).
   ============================================================ */

/* COMPARE TABLE — restructure when grid collapses to 1fr at <=1100.
   Each row of [.label .us .alt .alt] becomes:
     ┌──────────────────────────┐
     │ Settle and Manage Debt   │  <- block header (.label)
     │ Delancey Street      ✓   │  <- .us with prefix label
     │ Law Firms            —   │  <- first .alt
     │ Debt Relief Cos.     ✓   │  <- .alt + .alt (2nd)
     └──────────────────────────┘ */
@media (max-width: 1100px) {
	.ds-settlement-compare__table { border-radius: 16px; }
	.ds-settlement-compare__table .head { display: none; }
	.ds-settlement-compare__table .cell {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 12px 22px;
		text-align: left;
		border-top: 1px solid var(--ds-line);
	}
	/* Feature label — full-width block header */
	.ds-settlement-compare__table .cell.label {
		display: block;
		padding: 20px 22px 8px;
		font-size: 13px;
		font-weight: 800;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		border-top: 2px solid var(--ds-line);
	}
	.ds-settlement-compare__table .cell.label:first-child { border-top: 0; }

	/* Original .empty::before added an em-dash; reset and use ::after */
	.ds-settlement-compare__table .cell.empty::before { content: none; }

	/* Provider name as ::before prefix on each non-label cell */
	.ds-settlement-compare__table .cell.us::before {
		content: "Delancey Street";
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--ds-cyan-deep);
	}
	.ds-settlement-compare__table .cell.alt::before {
		content: "Law Firms";
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--ds-ink-3);
	}
	/* 2nd .alt in each row group = "Debt Relief Cos." */
	.ds-settlement-compare__table .cell.alt + .cell.alt::before { content: "Debt Relief Cos."; }

	/* Em-dash on right for empty cells */
	.ds-settlement-compare__table .cell.empty::after {
		content: "—";
		color: var(--ds-muted-2);
	}
}

/* SPECTRUM TABLE — stack 3-col rows at <=640 so the description
   column gets full row width (avoids 2-char/line wrapping). */
@media (max-width: 640px) {
	.ds-settlement-spectrum__table .row {
		grid-template-columns: 1fr;
		padding: 4px 0;
	}
	.ds-settlement-spectrum__table .row > div { padding: 8px 22px; }
	.ds-settlement-spectrum__table .row > div:first-child { padding-top: 18px; }
	.ds-settlement-spectrum__table .row > div:last-child  { padding-bottom: 18px; }
	.ds-settlement-spectrum__table .row .t { font-size: 14px; }
	.ds-settlement-spectrum__table .row .r { font-size: 13px; letter-spacing: 0.04em; }
	.ds-settlement-spectrum__table .row .d { font-size: 14px; line-height: 1.55; }
}

@media (max-width: 480px) {
	.ds-settlement-spectrum__table .row > div {
		padding-left: 16px;
		padding-right: 16px;
	}
	.ds-settlement-compare__table .cell {
		padding-left: 16px;
		padding-right: 16px;
		font-size: 13px;
	}
	.ds-settlement-compare__table .cell.label { padding-left: 16px; padding-right: 16px; }
	.ds-settlement-compare__table .cell.us::before,
	.ds-settlement-compare__table .cell.alt::before {
		font-size: 11px;
		letter-spacing: 0.06em;
	}
}

/* ============================================================
   May 2026 RESP-QC E — editorial overflow guards
   Prevents horizontal scroll from long words / images / chart svg.
   ============================================================ */
@media (max-width: 480px) {
	.ds-shield-hero,
	.ds-shield-trap,
	.ds-shield-stages-section,
	.ds-shield-stages,
	.ds-shield-compare-section,
	.ds-shield-eligibility-section,
	.ds-shield-faq-section,
	.ds-principles-section,
	.ds-principles-promise-section,
	.ds-list-section,
	.ds-editorial { overflow-x: hidden; }

	/* Shield: comparison table cells need overflow-wrap so long
	   feature names don't push column wider than viewport */
	.ds-shield-compare__cell,
	.ds-shield-compare__head { overflow-wrap: anywhere; min-width: 0; }
	.ds-shield-compare__head .title { font-size: 18px; }

	/* Shield chart svg can overflow viewport — constrain */
	.ds-shield-chart svg { max-width: 100%; }

	/* Principles cards: ensure h3 wraps long words */
	.ds-principle h3 { overflow-wrap: anywhere; }

	/* Principles promise: dark band image stack at narrow */
	.ds-principles-promise__media { min-height: 280px; }
}

@media (max-width: 1024px) {
	/* Shield 4-stages: at 1024 the 1100-bp gives 2x2; ensure circles
	   don't overlap rail — rail already hidden at 1100 */
	.ds-shield-stages__rail { display: none; }
}
