/* Calm layout (data "layout": "calm"): one column, light page, two dark bands (hero, final CTA), fade-only reveals.
   Used by /services/due-diligence-mexico/. Loaded after archive.css and service.css. */

/* ---------- Reading: 18 px body, 1.6 line height, 65-72 character measure ---------- */
.page-calm { font-size: 1.125rem; line-height: 1.6; }
.page-calm .hs { padding-block: clamp(3rem, 2rem + 4vw, 5rem); }
.page-calm .sv-pr .pr, .page-calm .split__tx, .page-calm .acc__b { max-width: 70ch; color: var(--ink-soft); }
.page-calm .pr p, .page-calm .pr li, .page-calm .acc__b p, .page-calm .acc__b li { font-size: 1.125rem; line-height: 1.6; }
.page-calm .pr > * + * { margin-top: var(--sp-5); }
.page-calm .hs__title { max-width: 30ch; margin-bottom: var(--sp-5); }
html { scroll-behavior: auto; }
@media (prefers-reduced-motion: no-preference) { html:has(.page-calm) { scroll-behavior: smooth; } }
.page-calm section[id] { scroll-margin-top: calc(var(--header-h) + 4rem); }

/* ---------- Motion: opacity only, 400 ms, no rise, no blur, no stagger ---------- */
html.motion .page-calm [data-reveal], html.motion .page-calm [data-reveal-group] > * { transform: none; filter: none; }
html.motion .page-calm [data-reveal], html.motion .page-calm [data-reveal-group] > *,
html.motion .page-calm [data-reveal].is-in, html.motion .page-calm [data-reveal-group].is-in > * { transition: opacity 400ms ease-out 0ms; }

/* ---------- Hero: no parallax; the headline block is the only thing to look at ---------- */
.page-calm .hero__bg { transform: none !important; }

/* ---------- On this page (desktop only) ---------- */
.toc { display: none; }
@media (min-width: 75rem) {
  .toc { display: block; position: sticky; top: var(--header-h); z-index: 90; background: var(--paper); border-bottom: 1px solid var(--line); }
  .toc .wrap { display: flex; align-items: center; gap: var(--sp-6); min-height: 3rem; }
  .toc__k { font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
  .toc ul { display: flex; gap: var(--sp-5); list-style: none; margin: 0; padding: 0; }
  .toc a { display: inline-flex; align-items: center; min-height: 3rem; font-size: 0.9375rem; color: var(--ink); text-decoration: none; border-bottom: 2px solid transparent; }
  .toc a:hover { border-bottom-color: var(--line); }
  .toc a.is-active, .toc a[aria-current="true"] { color: var(--brass-ink); border-bottom-color: var(--brass); }
}

/* ---------- Photo + text ---------- */
.split { display: grid; gap: var(--sp-6); align-items: center; grid-template-columns: minmax(0, 1fr); }
.split__fig { margin: 0; }
.split__fig img { display: block; width: 100%; height: auto; border-radius: 2px; }
.sv-split--left .split__fig, .sv-split--right .split__fig { order: -1; }
@media (min-width: 62rem) {
  .split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sp-8); }
  .sv-split--left .split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .sv-split--right .split__fig { order: 2; }
  .sv-split--left .split__fig { order: -1; }
}

/* ---------- Drawers (native details, first open) ---------- */
.acc { border-top: 1px solid var(--line); max-width: 52rem; }
.acc__i { border-bottom: 1px solid var(--line); }
.acc__i summary { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-4); min-height: 3.5rem; padding-block: var(--sp-3); cursor: pointer; list-style: none; font: 500 1.25rem / 1.3 var(--font-serif); color: var(--ink); }
.acc__i summary::-webkit-details-marker { display: none; }
.acc__i summary::after { content: "+"; flex: 0 0 auto; font: 400 1.5rem / 1 var(--font-sans, inherit); color: var(--ink-soft); }
.acc__i[open] summary::after { content: "\2212"; }
.acc__b { padding-bottom: var(--sp-5); }
.acc__b ul { padding-left: 1.25rem; margin: 0; }
.acc__b li + li { margin-top: var(--sp-3); }

/* ---------- Lists with hairlines (red flags) ---------- */
.pr ul.pr__sep { list-style: none; padding: 0; border-top: 1px solid var(--line); }
.pr ul.pr__sep li { padding-block: var(--sp-4); border-bottom: 1px solid var(--line); }
.pr ul.pr__sep li + li { margin-top: 0; }

/* ---------- Contrast: two columns, light ---------- */
.page-calm .sv-cmp .sv-intro { max-width: 70ch; }

/* ---------- Final CTA band ---------- */
.hs--band { position: relative; isolation: isolate; background-color: var(--petrol-900); background-image: var(--band); background-size: cover; background-position: center; padding-block: clamp(4rem, 3rem + 5vw, 7rem); }
.hs--band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(7, 26, 36, 0.82); }
.band { max-width: 46rem; }
.band__t { color: var(--on-dark); margin: 0 0 var(--sp-4); }
.band__p { color: var(--on-dark-soft); margin: 0 0 var(--sp-6); max-width: 60ch; }
.band .btn--secondary { color: var(--on-dark); border-color: var(--on-dark); }
.band .btn--secondary:hover { background: var(--on-dark); color: var(--petrol-900); }

/* ---------- Quiet mid CTA ---------- */
.page-calm .mcta { background: transparent; }
.acc__foot { max-width: 70ch; margin: var(--sp-5) 0 0; color: var(--ink-soft); }

/* Contrast: the investigation side is light too (only the hero and the final CTA are dark bands) */
.page-calm .cmp__side--deep { background: #fff; color: var(--ink); border: 1px solid var(--line); border-top: 3px solid var(--petrol-800); box-shadow: none; }
.page-calm .cmp__side--deep .cmp__name { color: var(--ink); }
.page-calm .cmp__side--deep .cmp__sub { color: var(--ink-soft); }
.page-calm .lyr { margin-inline: 0; padding: 0.85rem 0; background: none; box-shadow: none; border-left: 0; border-top: 1px solid var(--line); }
.page-calm .lyr::before { display: none; }
.page-calm .lyr + .lyr { margin-top: 0; padding-top: 0.85rem; }
.page-calm .lyr .cmp__k { font: 600 var(--fs-300) / 1.4 var(--font-sans); color: var(--ink); }
.page-calm .lyr .cmp__t { font: 400 1.125rem / 1.5 var(--font-serif); color: var(--ink-soft); }
.page-calm .cmp__side--flat .cmp__t { font-size: 1.125rem; }
.page-calm .cmp__side--deep .cmp__foot { color: var(--ink-soft); }

/* Hero commitments (three short columns, no statistics) and quiet CTA row without a sentence */
.hero__pl { list-style: none; margin: var(--sp-6) 0 0; padding: var(--sp-5) 0 0; border-top: 1px solid rgba(246, 244, 238, 0.22); display: grid; gap: var(--sp-4); max-width: 62rem; }
.hero__pl li { font-size: 0.9375rem; line-height: 1.5; color: var(--on-dark-soft); }
.hero__pl strong { display: block; color: var(--on-dark); font-weight: 600; }
@media (min-width: 48rem) { .hero__pl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-6); } }
.page-calm .mcta__in { justify-content: flex-start; }

/* ---------- Text cards (no icons) ---------- */
.cds { list-style: none; margin: var(--sp-6) 0 0; padding: 0; display: grid; gap: var(--sp-4); grid-template-columns: minmax(0, 1fr); }
.cd2 { padding: var(--sp-5); background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--petrol-800); }
.cd2__h { margin: 0 0 var(--sp-2); font: 500 1.25rem / 1.3 var(--font-serif); color: var(--ink); }
.cd2 p { margin: 0; color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.6; }
@media (min-width: 48rem) { .cds--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Founder block: portrait + text, then three facts ---------- */
.fnd { display: grid; gap: var(--sp-6); grid-template-columns: minmax(0, 1fr); align-items: start; }
.fnd__fig { margin: 0; max-width: 16rem; }
.fnd__fig img { display: block; width: 100%; height: auto; }
.fnd__who { font-weight: 600; color: var(--ink); margin: 0; }
.fnd__facts { list-style: none; margin: var(--sp-6) 0 0; padding: var(--sp-5) 0 0; border-top: 1px solid var(--line); display: grid; gap: var(--sp-4); }
.fnd__facts li { color: var(--ink-soft); line-height: 1.5; }
.fnd__facts strong { display: block; color: var(--ink); font: 500 1.375rem / 1.3 var(--font-serif); }
@media (min-width: 48rem) { .fnd__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 62rem) { .fnd { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--sp-8); } }

/* ---------- Drawers without their own heading follow a lead-in section ---------- */
.sv-acc--bare { padding-top: 0; }
.page-calm .sv-split:has(+ .sv-acc--bare) { padding-bottom: var(--sp-5); }

/* =====================================================================================================================
   Story layout: full-bleed bands in a fixed rhythm (white / paper / dark), oversized serif statements, everything visible.
   ===================================================================================================================== */
.page-calm .tone-white { background: #fff; }
.page-calm .tone-alt { background: var(--paper-alt); }
.page-calm .hs__title { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem); line-height: 1.1; letter-spacing: -0.012em; max-width: 24ch; }
.page-calm .sv-intro, .nb__intro { max-width: 62ch; font-size: 1.25rem; line-height: 1.55; color: var(--ink-soft); margin: 0; }
.page-calm .hs { padding-block: clamp(3.5rem, 2.5rem + 5vw, 6.5rem); }

/* ---------- Numbered statements ---------- */
.nb { list-style: none; margin: clamp(2rem, 1.5rem + 2vw, 3.5rem) 0 0; padding: 0; }
.nb__n { display: block; font: 500 clamp(2.75rem, 2rem + 3vw, 4.5rem) / 1 var(--font-serif); color: var(--brass-ink); letter-spacing: -0.02em; }
.nb__h { margin: 0 0 var(--sp-3); font: 500 clamp(1.375rem, 1.1rem + 0.9vw, 1.875rem) / 1.2 var(--font-serif); color: var(--ink); letter-spacing: -0.005em; max-width: 26ch; }
.nb__b p { margin: 0; max-width: 56ch; color: var(--ink-soft); font-size: 1.125rem; line-height: 1.6; }
.nb__b p + ul { margin-top: var(--sp-3); }
.nb__b ul { margin: 0; padding-left: 1.2rem; color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.55; }
.nb__b li + li { margin-top: var(--sp-2); }
.nb__outro { max-width: 62ch; margin: var(--sp-6) 0 0; font: 400 1.375rem / 1.45 var(--font-serif); color: var(--ink); }
.nb__fig { margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; }
.nb__fig img { display: block; width: 100%; height: clamp(14rem, 8rem + 20vw, 24rem); object-fit: cover; border-radius: 2px; }

/* panels: 2-up grid with hairlines */
.nb--panels { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.nb--panels .nb__i { background: #fff; padding: clamp(1.5rem, 1rem + 2vw, 2.75rem); display: flex; flex-direction: column; gap: var(--sp-4); }
.tone-alt .nb--panels .nb__i { background: var(--paper); }
@media (min-width: 48rem) { .nb--panels { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* rows: numeral left, statement + text right */
.nb--rows .nb__i { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); padding-block: clamp(1.5rem, 1rem + 1.5vw, 2.5rem); border-top: 1px solid var(--line); }
.nb--rows .nb__i:last-child { border-bottom: 1px solid var(--line); }
@media (min-width: 48rem) { .nb--rows .nb__i { grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--sp-6); align-items: baseline; } }
/* rows without numerals: label left, text right */
.nb--plain.nb--rows .nb__i { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 48rem) { .nb--plain.nb--rows .nb__i { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-7); } }
.nb--plain .nb__h { margin: 0; }

/* timeline: four steps in a row on desktop */
.nb--timeline { display: grid; gap: var(--sp-6); grid-template-columns: minmax(0, 1fr); counter-reset: none; }
.nb--timeline .nb__i { position: relative; padding-top: var(--sp-5); border-top: 2px solid var(--brass); display: flex; flex-direction: column; gap: var(--sp-3); }
.nb--timeline .nb__n { font-size: clamp(2.25rem, 1.8rem + 1.6vw, 3.25rem); }
@media (min-width: 48rem) { .nb--timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 62rem) { .nb--timeline { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-5); } }

/* ---------- Registry versus investigation: row by row ---------- */
.pairs__top { display: grid; gap: var(--sp-6); grid-template-columns: minmax(0, 1fr); align-items: center; }
.pairs__intro { margin: 0; max-width: 56ch; font-size: 1.1875rem; line-height: 1.6; color: var(--ink-soft); }
.pairs__fig { margin: 0; }
.pairs__fig img { display: block; width: 100%; height: auto; border-radius: 2px; }
@media (min-width: 62rem) { .pairs__top { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sp-8); } }
.pairs__hd { display: none; }
.pairs { list-style: none; margin: clamp(2rem, 1.5rem + 2vw, 3.5rem) 0 0; padding: 0; }
.pairs__row { display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--line); }
.pairs__row:last-child { border-bottom: 1px solid var(--line); }
.pairs__row p { margin: 0; padding: var(--sp-4) 0; font-size: 1.125rem; line-height: 1.5; }
.pairs__row p::before { content: attr(data-k); display: block; margin-bottom: var(--sp-1); font: 600 0.75rem / 1.2 var(--font-sans, inherit); letter-spacing: 0.06em; text-transform: uppercase; }
.pairs__l { color: var(--ink-soft); }
.pairs__l::before { color: var(--ink-soft); }
.pairs__r { color: var(--ink); font: 500 1.3125rem / 1.4 var(--font-serif); border-left: 3px solid var(--brass); padding-left: var(--sp-4) !important; margin-bottom: var(--sp-4); }
.pairs__r::before { color: var(--brass-ink); font-family: var(--font-sans, inherit); }
@media (min-width: 48rem) {
  .pairs__hd { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-7); margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); padding-bottom: var(--sp-3); font: 600 0.8125rem / 1.2 var(--font-sans, inherit); letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
  .pairs__hd span:last-child { color: var(--brass-ink); }
  .pairs { margin-top: 0; }
  .pairs__row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-7); align-items: center; }
  .pairs__row p::before { display: none; }
  .pairs__r { margin-bottom: 0; padding-block: var(--sp-5) !important; }
  .pairs__l { padding-block: var(--sp-5) !important; }
}

/* ---------- Authority band (dark) ---------- */
.sv-fnd.tone-dark { background: var(--petrol-900); color: var(--on-dark); }
.sv-fnd.tone-dark .hs__title { color: var(--on-dark); }
.sv-fnd.tone-dark .fnd__tx, .sv-fnd.tone-dark .pr { color: var(--on-dark-soft); max-width: 60ch; }
.sv-fnd.tone-dark .fnd__tx p { font-size: 1.1875rem; line-height: 1.65; }
.sv-fnd.tone-dark .fnd__who { color: var(--on-dark); font: 500 1.25rem / 1.3 var(--font-serif); }
.sv-fnd.tone-dark .u-link { color: var(--brass-hi, #e3c27a); }
.sv-fnd.tone-dark .fnd__fig img { border: 1px solid rgba(246, 244, 238, 0.22); }
.sv-fnd.tone-dark .fnd__facts { border-top-color: rgba(246, 244, 238, 0.22); margin-top: clamp(2.5rem, 2rem + 3vw, 4.5rem); gap: var(--sp-6); }
.sv-fnd.tone-dark .fnd__facts li { color: var(--on-dark-soft); font-size: 1.0625rem; }
.sv-fnd.tone-dark .fnd__facts strong { color: var(--on-dark); font: 500 clamp(2.5rem, 2rem + 3vw, 4.25rem) / 1 var(--font-serif); letter-spacing: -0.02em; margin-bottom: var(--sp-2); }

/* ---------- FAQ: every answer visible, two columns ---------- */
.faqg { margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--line); }
.faqg .qa { padding: var(--sp-5) 0; border-bottom: 1px solid var(--line); }
.faqg .qa h3 { margin: 0 0 var(--sp-2); font: 500 1.3125rem / 1.3 var(--font-serif); color: var(--ink); }
.faqg .qa p { margin: 0; max-width: 60ch; color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.6; }
@media (min-width: 62rem) { .faqg { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-8); } }

/* ---------- Closing starter form (dark band) ---------- */
.cf { margin-top: var(--sp-6); max-width: 54rem; }
.cf__row { display: grid; gap: var(--sp-4); grid-template-columns: minmax(0, 1fr); }
.cf__f { display: grid; gap: var(--sp-2); font-size: 0.875rem; color: var(--on-dark-soft); }
.cf__f input { width: 100%; min-height: 3rem; padding: 0.7rem 0.9rem; font: inherit; font-size: 1rem; color: var(--on-dark); background: rgba(246, 244, 238, 0.08); border: 1px solid rgba(246, 244, 238, 0.4); border-radius: 2px; }
.cf__f input:focus { outline: 2px solid #e3c27a; outline-offset: 2px; background: rgba(246, 244, 238, 0.12); }
.cf .btn-row { margin-top: var(--sp-5); }
@media (min-width: 48rem) { .cf__row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.band { max-width: calc(var(--wrap) + 2 * var(--gutter)); }
.band__t { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); line-height: 1.1; max-width: 22ch; }

/* ---------- Cards (who this is for) bigger type ---------- */
.sv-cards .cd2 { padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.sv-cards .cd2__h { font-size: clamp(1.375rem, 1.1rem + 0.9vw, 1.75rem); }
.sv-cards .cd2 p { font-size: 1.125rem; }
.tone-alt .cd2 { background: #fff; }
.nb--plain .nb__b { display: contents; }
.nb--plain .nb__b p { align-self: start; }

/* ---------- Duo: title left, larger text right (cost, team) ---------- */
.duo { display: grid; gap: var(--sp-5); grid-template-columns: minmax(0, 1fr); align-items: start; }
.duo__t { margin: 0; font: 500 clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem) / 1.15 var(--font-serif); letter-spacing: -0.01em; color: var(--ink); max-width: 20ch; }
.duo__b { display: grid; gap: var(--sp-5); max-width: 60ch; }
.duo__b p { margin: 0; }
.duo__lead { font: 400 clamp(1.375rem, 1.15rem + 0.9vw, 1.75rem) / 1.4 var(--font-serif); color: var(--ink); }
.duo__body { font-size: 1.1875rem; line-height: 1.7; color: var(--ink-soft); }
.duo__pull { font: 400 1.25rem / 1.55 var(--font-serif); color: var(--ink); padding-left: var(--sp-5); border-left: 3px solid var(--brass); }
@media (min-width: 62rem) { .duo { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-8); } .duo__t { position: sticky; top: calc(var(--header-h) + 1.5rem); } }
.page-calm .sv-duo { padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem); }
.faqg .qa p { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }
@media (min-width: 48rem) { .sv-fnd .hs__title { max-width: none; white-space: nowrap; font-size: clamp(1.5rem, 3vw, 3rem); } }
@media (min-width: 48rem) { #why .hs__title, #when .hs__title, #risk .hs__title { max-width: none; white-space: nowrap; font-size: clamp(1.5rem, 3.4vw, 3.25rem); } }

/* ---------- Hero rhythm (calm / story pages): 8-pt scale, one clear step between headline, lede and action ---------- */
.page-calm .hero--service { padding-block: clamp(4.5rem, 3rem + 6vw, 8.5rem); }
.page-calm .hero--service .hero__inner { max-width: 62rem; }
.page-calm .hero--service h1 { max-width: 30ch; margin: 0 0 clamp(1.25rem, 1rem + 1vw, 2rem); }
.page-calm .hero--service .lede { max-width: 50rem; margin: 0 0 clamp(2rem, 1.5rem + 1.6vw, 3rem); font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem); line-height: 1.65; }
.page-calm .hero--service .btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin: 0; }
.page-calm .hero--service .btn-row .btn { min-height: 3.25rem; padding-inline: 2rem; font-size: 1rem; }
@media (max-width: 30rem) { .page-calm .hero--service .btn-row { flex-direction: column; align-items: stretch; } .page-calm .hero--service .btn-row .btn { justify-content: center; text-align: center; } }

/* Numbered statements: justified text */
.nb__b p, .nb__b li { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }
/* Final band: one-line headline, text and form use the full width */
.band { max-width: calc(var(--wrap) + 2 * var(--gutter)); }
.band__p { max-width: none; }
.cf { max-width: none; }
@media (min-width: 48rem) { .band__t { max-width: none; white-space: nowrap; font-size: clamp(1.5rem, 3.2vw, 3.25rem); } }

/* ---------- Hero centred: one-line headline, a clear lede and a quieter supporting line ---------- */
.page-calm .hero--service .hero__inner { max-width: none; text-align: center; }
.page-calm .hero--service h1 { max-width: 30ch; margin-inline: auto; }
.page-calm .hero--service h1 { text-wrap: balance; }
@media (min-width: 48rem) {
  .page-calm .hero--service h1 { max-width: none; font-size: clamp(2rem, 1rem + 2.8vw, 3.25rem); }
  .page-calm .hero--service .h1__a, .page-calm .hero--service .h1__b { display: block; white-space: nowrap; }
}
.page-calm .hero--service .lede { max-width: 48rem; margin: 0 auto clamp(1rem, 0.8rem + 0.6vw, 1.5rem); }
.page-calm .hero--service .lede--sub { max-width: 44rem; margin-bottom: clamp(2rem, 1.5rem + 1.6vw, 3rem); font-size: clamp(0.9375rem, 0.9rem + 0.2vw, 1.0625rem); line-height: 1.65; color: var(--on-dark-soft); opacity: 0.82; padding-top: clamp(1rem, 0.8rem + 0.6vw, 1.5rem); position: relative; }
.page-calm .hero--service .lede--sub::before { content: ""; position: absolute; top: 0; left: 50%; width: 2.5rem; height: 1px; transform: translateX(-50%); background: rgba(196, 164, 104, 0.7); }
.page-calm .hero--service .btn-row { justify-content: center; }

/* Risk section: centred headline, intro on the full container width */
#risk .hs__title { margin-inline: auto; text-align: center; }
#risk .nb__intro { max-width: none; text-align: center; }
.pairs__l--empty { min-height: 0; }
/* Venezuela: the second headline line is longer, so the headline scales a little tighter */
@media (min-width: 48rem) { .page-dd-ve .hero--service h1 { font-size: clamp(1.5rem, 3.7vw, 3.25rem); } }

/* ---------- Rule card with a large figure + "our part" card + closing note (Sanctions) ---------- */
.sc { display: grid; gap: var(--sp-4); grid-template-columns: minmax(0, 1fr); margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.sc__card { padding: clamp(1.5rem, 1rem + 2vw, 2.75rem); background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--petrol-800); display: flex; flex-direction: column; gap: var(--sp-4); }
.sc__card p { margin: 0; color: var(--ink-soft); font-size: 1.125rem; line-height: 1.6; max-width: 56ch; }
.sc__stat { display: block; font: 500 clamp(4rem, 3rem + 5vw, 7rem) / 0.95 var(--font-serif); letter-spacing: -0.03em; color: var(--brass-ink); }
.sc__quote { padding-left: var(--sp-5); border-left: 3px solid var(--brass); color: var(--ink) !important; font: 400 1.25rem / 1.5 var(--font-serif) !important; margin-top: var(--sp-2) !important; }
.sc__ours { background: var(--petrol-900); border-color: var(--petrol-900); }
.sc__ours p { color: var(--on-dark-soft); }
.sc__lead { color: var(--on-dark) !important; font: 400 clamp(1.375rem, 1.1rem + 0.9vw, 1.75rem) / 1.4 var(--font-serif) !important; }
.sc__note { margin: var(--sp-5) 0 0; max-width: none; padding-top: var(--sp-4); border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 1rem; line-height: 1.6; }
@media (min-width: 62rem) { .sc { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-5); } }
@media (min-width: 48rem) { #sanctions .hs__title { max-width: none; white-space: nowrap; font-size: clamp(1.5rem, 2.9vw, 3rem); } }

/* Venezuela: section titles centred (the two-column title+text layouts keep their title on the left) */
.page-dd-ve #risk .hs__title, .page-dd-ve #report .hs__title, .page-dd-ve #why .hs__title, .page-dd-ve #who .hs__title,
.page-dd-ve #sanctions .hs__title, .page-dd-ve #when .hs__title, .page-dd-ve #investigate .hs__title, .page-dd-ve #process .hs__title,
.page-dd-ve #faq .hs__title, .page-dd-ve #related .hs__title, .page-dd-ve #founder .hs__title { text-align: center; margin-inline: auto; }
.page-dd-ve #risk .nb__intro { text-align: center; max-width: none; }
.page-dd-ve #related .pr { margin-inline: auto; text-align: center; }

/* Regional due diligence page: standalone section titles centred; column subtitles under the pair headers */
.page-dd-reg #when .hs__title, .page-dd-reg #questions .hs__title, .page-dd-reg #method .hs__title, .page-dd-reg #faq .hs__title { text-align: center; margin-inline: auto; max-width: none; }
.page-dd-reg .nb__intro, .page-dd-reg .nb__outro { text-align: center; margin-inline: auto; max-width: 62ch; }
.pairs__hd small { display: block; margin-top: 0.25rem; font: 400 0.9375rem / 1.4 var(--font-sans, inherit); letter-spacing: 0; text-transform: none; }
.pairs__k { display: block; margin-bottom: 0.2rem; font: 600 0.8125rem / 1.3 var(--font-sans, inherit); letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-soft); }
.pairs__r .pairs__k { color: var(--brass-ink); }
.page-dd-reg #when-title { text-align: center; margin-inline: auto; max-width: none; }
@media (min-width: 48rem) { .page-dd-reg #when-title { white-space: nowrap; font-size: clamp(1.5rem, 3.3vw, 3.25rem); } }
.page-dd-reg .sv-nb .nb { background: var(--line); }

/* ---------- Text cards across the full width (regional page: versus, jurisdictions) ---------- */
.page-dd-reg #versus-title, .page-dd-reg #jurisdictions-title { text-align: center; margin-inline: auto; max-width: none; }
@media (min-width: 48rem) { .page-dd-reg #jurisdictions-title { white-space: nowrap; font-size: clamp(1.5rem, 3.3vw, 3.25rem); } }
.page-dd-reg #versus-title { max-width: 30ch; }
.tc__lead { max-width: 62ch; margin: clamp(1.25rem, 1rem + 1vw, 2rem) auto 0; text-align: center; font: 400 clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem) / 1.5 var(--font-serif); color: var(--ink); }
.tc { display: grid; gap: var(--sp-4); grid-template-columns: minmax(0, 1fr); margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.tc__card { padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--petrol-800); }
.tc__card p { margin: 0; max-width: 60ch; color: var(--ink-soft); font-size: 1.125rem; line-height: 1.65; text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
@media (min-width: 62rem) { .tc--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tc--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.page-dd-reg #versus-title { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.875rem); line-height: 1.15; }
