/* Service Areas Atlas: geography authority hubs only (.sa-page). */
.sa-page {
  --sa-paper: #f3efe4;
  --sa-panel: #e8e3d5;
  --sa-panel-2: #ddd8c8;
  --sa-ink: #18222b;
  --sa-ink-hover: #2c3a45;
  --sa-muted: #505a63;
  --sa-rule: #cbc5b4;
  --sa-rule-strong: #9d998c;
  --sa-field: #1a2a31;
  --sa-field-2: #22353d;
  --sa-field-rule: #3d5159;
  --sa-inverse: #f1ede2;
  --sa-inverse-body: #c9d0cc;
  --sa-inverse-muted: #a3aeaa;
  --sa-teal: #2f6b73;
  --sa-teal-soft: #d3e0dc;
  --sa-bronze: #85602f;
  --sa-gold: #d6b77c;
  --sa-gold-hover: #e6c992;
  background: var(--sa-paper);
  color: var(--sa-ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  padding-top: 108px;
  isolation: isolate;
  color-scheme: light;
  overflow-x: clip;
}
.sa-page * { box-sizing: border-box; }
.sa-page ::selection { background: var(--sa-gold); color: var(--sa-ink); }
.sa-page :focus-visible { outline: 2px solid var(--sa-teal); outline-offset: 4px; }
.sa-field :focus-visible, .sa-page .sa-field :focus-visible { outline-color: var(--sa-gold); }
.sa-page h1, .sa-page h2, .sa-page h3, .sa-page h4, .sa-page p, .sa-page figure, .sa-page ul, .sa-page ol, .sa-page dl, .sa-page dd { margin: 0; }
.sa-page ul, .sa-page ol { padding: 0; list-style: none; }
.sa-page h1, .sa-page h2, .sa-page h3 {
  font-family: var(--font-serif);
  font-weight: 500;
  text-wrap: balance;
  color: inherit;
}
.sa-page h1 { font-size: clamp(3rem, 5.2vw, 5.5rem); line-height: 0.98; letter-spacing: -0.034em; }
.sa-page h2 { font-size: clamp(2.35rem, 3.7vw, 4.1rem); line-height: 1.03; letter-spacing: -0.026em; }
.sa-page h3 { font-size: clamp(1.55rem, 1.9vw, 2rem); line-height: 1.14; letter-spacing: -0.012em; }
.sa-page h4 { font-size: 15px; font-weight: 600; line-height: 1.4; }
.sa-page em { font-style: italic; color: var(--sa-bronze); }
.sa-field em { color: var(--sa-gold); }
.sa-page p { max-width: 68ch; text-wrap: pretty; }
.sa-page p + p { margin-top: 16px; }
.sa-page a { color: inherit; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.sa-page abbr { text-decoration: none; }
.sa-page table { font-variant-numeric: tabular-nums; }
.sa-page ::-webkit-scrollbar { height: 8px; width: 8px; }
.sa-page ::-webkit-scrollbar-thumb { background: var(--sa-rule-strong); }
.sa-page ::-webkit-scrollbar-track { background: var(--sa-panel); }
.sa-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.sa-wrap { width: min(100%, 1560px); margin-inline: auto; padding-inline: clamp(20px, 4.4vw, 80px); }
.sa-section { padding-block: clamp(72px, 8vw, 116px); }
.sa-section--tight { padding-block: clamp(56px, 6vw, 84px); }
.sa-section + .sa-section:not(.sa-field):not(.sa-panel-field) { border-top: 1px solid var(--sa-rule); }
.sa-panel-field { background: var(--sa-panel); }
.sa-field { background: var(--sa-field); color: var(--sa-inverse); }
.sa-field p, .sa-field li, .sa-field dd, .sa-field td { color: var(--sa-inverse-body); }
.sa-page section[id] { scroll-margin-top: 132px; }

.sa-lede { font-size: clamp(18px, 1.45vw, 21px); line-height: 1.58; color: var(--sa-ink); }
.sa-field .sa-lede { color: var(--sa-inverse); }
.sa-muted { color: var(--sa-muted); }
.sa-small { font-size: 14px; line-height: 1.65; }
.sa-caption { font-size: 12.5px; line-height: 1.6; color: var(--sa-muted); }
.sa-field .sa-caption { color: var(--sa-inverse-muted); }
.sa-tag { font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: var(--sa-teal); }

/* Section heads: heading carries its own weight. */
.sa-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 96px); align-items: end; margin-bottom: clamp(40px, 4.5vw, 64px); }
.sa-head > p, .sa-head > div > p { color: var(--sa-muted); }
.sa-field .sa-head > p, .sa-field .sa-head > div > p { color: var(--sa-inverse-body); }
.sa-head--stack { grid-template-columns: minmax(0, 1fr); max-width: 980px; gap: 22px; }
.sa-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 112px); align-items: start; }
.sa-split--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.sa-sticky { position: sticky; top: 132px; }

/* Crumbs */
.sa-crumbs { font-size: 13px; color: var(--sa-muted); margin-bottom: clamp(28px, 3.4vw, 48px); }
.sa-crumbs ol { gap: 8px !important; }
.sa-crumbs a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-crumbs a:hover { color: var(--sa-ink); text-decoration-color: currentColor; }
.sa-crumbs [aria-current] { color: var(--sa-ink); }

/* Actions */
.sa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 34px; }
.sa-button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 26px;
  min-height: 56px; padding: 15px 22px;
  background: var(--sa-ink); color: var(--sa-paper) !important; border: 1px solid var(--sa-ink);
  font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.sa-button:hover { background: var(--sa-ink-hover); border-color: var(--sa-ink-hover); }
.sa-button svg { transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.sa-button:hover svg { transform: translate(2px, -2px); }
.sa-field .sa-button { background: var(--sa-gold); border-color: var(--sa-gold); color: var(--sa-field) !important; }
.sa-field .sa-button:hover { background: var(--sa-gold-hover); border-color: var(--sa-gold-hover); }
.sa-link {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
  font-size: 14px; font-weight: 600; line-height: 1.35;
  text-decoration: underline; text-decoration-color: var(--sa-rule-strong); text-underline-offset: 5px;
}
.sa-link:hover { color: var(--sa-teal); text-decoration-color: currentColor; }
.sa-link svg { transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.sa-link:hover svg { transform: translateX(3px); }
.sa-field .sa-link { text-decoration-color: var(--sa-field-rule); }
.sa-field .sa-link:hover { color: var(--sa-gold); }
.sa-inline-link { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-inline-link:hover { color: var(--sa-teal); text-decoration-color: currentColor; }
.sa-field .sa-inline-link:hover { color: var(--sa-gold); }

/* Hero */
.sa-hero { padding-top: clamp(28px, 3vw, 48px); padding-bottom: clamp(64px, 7vw, 104px); }
.sa-hero-grid { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 13fr); gap: clamp(36px, 5vw, 96px); align-items: start; }
.sa-hero-copy h1 { max-width: 12.5em; }
.sa-hero-grid--atlas { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
.sa-hero-grid--atlas .sa-facts { margin-top: 0; }
.sa-hero-wide { margin-top: clamp(40px, 5vw, 72px); }
.sa-hero-copy .sa-lede { margin-top: 30px; max-width: 34em; }
.sa-hero-copy .sa-lede + p { margin-top: 18px; color: var(--sa-muted); max-width: 60ch; }
.sa-facts { margin-top: 44px; border-top: 1px solid var(--sa-ink); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sa-facts > div { padding: 16px 20px 16px 0; border-bottom: 1px solid var(--sa-rule); }
.sa-facts > div:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--sa-rule); }
.sa-facts dt { font-size: 12.5px; color: var(--sa-muted); }
.sa-facts dd { font-size: 15px; font-weight: 600; line-height: 1.45; margin-top: 3px; }

/* Plates */
.sa-plate { background: var(--sa-panel); border: 1px solid var(--sa-rule); padding: clamp(20px, 2.2vw, 32px); }
.sa-plate-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--sa-ink); }
.sa-plate-head h2, .sa-plate-head h3 { font-size: clamp(1.4rem, 1.7vw, 1.75rem); letter-spacing: -0.01em; }
.sa-plate-head p { font-size: 12.5px; color: var(--sa-muted); text-align: right; }

/* Territory: business-day clock */
.sa-territory fieldset { border: 0; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 0; }
.sa-territory legend { float: left; font-size: 13px; color: var(--sa-muted); margin-right: 14px; padding: 0; }
.sa-clock-option { position: relative; }
.sa-clock-option input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.sa-clock-option span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px;
  border: 1px solid var(--sa-rule-strong); margin-left: -1px;
  font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; background: var(--sa-paper);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.sa-clock-option:first-of-type span { margin-left: 0; }
.sa-clock-option input:hover + span { background: var(--sa-teal-soft); }
.sa-clock-option input:checked + span { background: var(--sa-ink); color: var(--sa-paper); border-color: var(--sa-ink); }
.sa-clock-option input:focus-visible + span { outline: 2px solid var(--sa-teal); outline-offset: 3px; }
.sa-zones { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 22px; border-top: 1px solid var(--sa-rule-strong); border-left: 1px solid var(--sa-rule-strong); }
.sa-zone { border-right: 1px solid var(--sa-rule-strong); border-bottom: 1px solid var(--sa-rule-strong); padding: 14px 12px 16px; min-width: 0; transition: background-color 0.35s ease; }
.sa-zone h3 { font-family: var(--font-sans) !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: 0 !important; line-height: 1.3 !important; }
.sa-zone-time { font-family: var(--font-serif); font-size: clamp(1.35rem, 1.6vw, 1.7rem); line-height: 1.1; margin-top: 6px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sa-zone-state { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 11.5px; font-weight: 600; }
.sa-zone-state::before { content: ""; width: 7px; height: 7px; background: currentColor; }
.sa-zone [data-open="true"] .sa-zone-state, .sa-zone-state[data-open="true"] { color: var(--sa-teal); }
.sa-zone-state[data-open="false"] { color: var(--sa-muted); }
.sa-zone-state[data-open="false"]::before { background: transparent; border: 1px solid currentColor; }
.sa-zone-country { margin-top: 14px; }
.sa-zone-country + .sa-zone-country { margin-top: 12px; }
.sa-zone-country p { font-size: 11px; color: var(--sa-muted); margin-bottom: 3px; }
.sa-zone-country li { font-size: 12.5px; line-height: 1.5; }
.sa-zone-country a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-zone-country a:hover { color: var(--sa-teal); text-decoration-color: currentColor; }
.sa-zone-country .sa-plain { color: var(--sa-muted); }
[data-moment] { display: none; }
.sa-territory:has(#sa-clock-early:checked) [data-moment="early"],
.sa-territory:has(#sa-clock-midday:checked) [data-moment="midday"],
.sa-territory:has(#sa-clock-evening:checked) [data-moment="evening"] { display: flex; }
.sa-territory:has(#sa-clock-early:checked) .sa-zone-time[data-moment="early"],
.sa-territory:has(#sa-clock-midday:checked) .sa-zone-time[data-moment="midday"],
.sa-territory:has(#sa-clock-evening:checked) .sa-zone-time[data-moment="evening"] { display: block; }
.sa-territory:has(#sa-clock-early:checked) .sa-zone[data-early="closed"],
.sa-territory:has(#sa-clock-midday:checked) .sa-zone[data-midday="closed"],
.sa-territory:has(#sa-clock-evening:checked) .sa-zone[data-evening="closed"] { background: var(--sa-panel-2); }
.sa-territory-note { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding-top: 16px; border-top: 1px solid var(--sa-rule-strong); }
.sa-territory-note p[data-moment] { font-family: var(--font-serif); font-size: clamp(1.25rem, 1.5vw, 1.5rem) !important; line-height: 1.35 !important; max-width: 56ch !important; }
.sa-territory-note p[data-moment] { font-size: 14px; line-height: 1.6; max-width: 60ch; }
.sa-territory-note p[data-moment] { display: none; }
.sa-territory:has(#sa-clock-early:checked) .sa-territory-note p[data-moment="early"],
.sa-territory:has(#sa-clock-midday:checked) .sa-territory-note p[data-moment="midday"],
.sa-territory:has(#sa-clock-evening:checked) .sa-territory-note p[data-moment="evening"] { display: block; }

.sa-territory-footnotes { margin-top: 12px; display: grid; gap: 2px; }
.sa-territory-footnotes li { font-size: 12px; line-height: 1.55; color: var(--sa-muted); padding-left: 14px; position: relative; }
.sa-territory-footnotes li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 7px; height: 1px; background: currentColor; }
@supports not selector(:has(*)) {
  .sa-territory [data-moment="evening"] { display: flex; }
  .sa-territory .sa-zone-time[data-moment="evening"], .sa-territory-note p[data-moment="evening"] { display: block; }
  .sa-territory fieldset { display: none; }
}

/* Ruled index (territories, owners, municipalities) */
.sa-index { border-top: 1px solid var(--sa-ink); }
.sa-field .sa-index { border-top-color: var(--sa-inverse-muted); }
.sa-index > li { border-bottom: 1px solid var(--sa-rule); }
.sa-field .sa-index > li { border-bottom-color: var(--sa-field-rule); }
.sa-index-row { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(0, 3fr); gap: 20px 40px; padding: 28px 0; align-items: baseline; }
.sa-index-row h3 a { text-decoration: none; }
.sa-index-row h3 a:hover { color: var(--sa-teal); }
.sa-field .sa-index-row h3 a:hover { color: var(--sa-gold); }
.sa-index-row p { color: var(--sa-muted); }
.sa-field .sa-index-row p { color: var(--sa-inverse-body); }
.sa-index-row .sa-link { justify-self: end; }

/* Ledger: two columns of ruled statements */
.sa-ledger { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid var(--sa-ink); }
.sa-ledger > div { padding-top: 28px; }
.sa-ledger > div + div { border-left: 1px solid var(--sa-rule); padding-left: clamp(24px, 3.5vw, 56px); }
.sa-ledger > div:first-child { padding-right: clamp(24px, 3.5vw, 56px); }
.sa-ledger h3 { margin-bottom: 18px; }
.sa-ledger li { padding: 16px 0; border-top: 1px solid var(--sa-rule); display: grid; grid-template-columns: minmax(0, 11em) minmax(0, 1fr); gap: 18px; }
.sa-ledger li strong { font-weight: 600; font-size: 15px; line-height: 1.45; }
.sa-ledger li span { color: var(--sa-muted); font-size: 15px; line-height: 1.6; }

/* Tables */
.sa-table-scroll { position: relative; overflow-x: auto; border-top: 1px solid var(--sa-ink); overscroll-behavior-x: contain; }
.sa-table-scroll:focus-visible { outline-offset: 2px; }
.sa-table { width: 100%; border-collapse: collapse; min-width: 860px; }
.sa-table caption { text-align: left; padding: 0 0 14px; font-size: 13px; color: var(--sa-muted); caption-side: bottom; padding-top: 14px; }
.sa-table th, .sa-table td { text-align: left; vertical-align: top; padding: 16px 18px 16px 0; border-bottom: 1px solid var(--sa-rule); font-size: 14.5px; line-height: 1.55; }
.sa-table thead th { font-size: 12.5px; font-weight: 600; color: var(--sa-muted); padding-top: 14px; padding-bottom: 14px; vertical-align: bottom; }
.sa-table tbody th { font-weight: 600; font-size: 15px; width: 22%; }
.sa-table tbody th a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-table tbody th a:hover { color: var(--sa-teal); }
.sa-table tbody th .sa-plain { display: inline !important; font-size: inherit !important; font-weight: 500 !important; margin: 0 !important; }
.sa-table tbody th span { display: block; font-weight: 400; color: var(--sa-muted); font-size: 13px; margin-top: 3px; }
.sa-table td a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); font-weight: 600; }
.sa-table td a:hover { color: var(--sa-teal); text-decoration-color: currentColor; }
.sa-field .sa-table-scroll { border-top-color: var(--sa-inverse-muted); }
.sa-field .sa-table th, .sa-field .sa-table td { border-bottom-color: var(--sa-field-rule); }
.sa-field .sa-table thead th, .sa-field .sa-table tbody th span { color: var(--sa-inverse-muted); }
.sa-field .sa-table tbody th { color: var(--sa-inverse); }

/* Priority matrix */
.sa-matrix th.sa-matrix-col { width: 8.2%; text-align: center; padding-right: 6px; padding-left: 6px; }
.sa-matrix td.sa-level { text-align: center; padding-right: 6px; padding-left: 6px; vertical-align: middle; }
.sa-meter { display: inline-flex; gap: 3px; vertical-align: middle; }
.sa-meter i { width: 12px; height: 12px; border: 1px solid var(--sa-teal); display: block; }
.sa-meter i.on { background: var(--sa-teal); }
.sa-matrix td.sa-first { font-size: 14px; color: var(--sa-muted); width: 22%; }
.sa-matrix td.sa-first a { display: inline-block; margin-top: 6px; color: var(--sa-ink); }
.sa-legend { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 16px; font-size: 12.5px; color: var(--sa-muted); align-items: center; }
.sa-legend span { display: inline-flex; align-items: center; gap: 8px; }

/* Stack: a vertical route */
.sa-stack { border-top: 1px solid var(--sa-inverse-muted); counter-reset: none; }
.sa-stack li { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr) minmax(0, 15rem); gap: 12px 36px; padding: 20px 0; border-bottom: 1px solid var(--sa-field-rule); align-items: baseline; position: relative; }
.sa-stack li h3 { font-size: clamp(1.45rem, 1.8vw, 1.85rem); }
.sa-stack li p { font-size: 15px; }
.sa-stack li .sa-link { justify-self: start; min-height: 32px; }
.sa-stack li small { display: block; font-size: 13px; color: var(--sa-gold); margin-top: 6px; line-height: 1.5; }
.sa-page:not(.sa-field) .sa-stack--light { border-top-color: var(--sa-ink); }
.sa-stack--light li { border-bottom-color: var(--sa-rule); }
.sa-stack--light li small { color: var(--sa-bronze); }

/* Sequence (process) */
.sa-sequence { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--sa-ink); }
.sa-sequence li { padding: 22px 22px 8px 0; position: relative; }
.sa-sequence li + li { padding-left: 22px; border-left: 1px solid var(--sa-rule); }
.sa-sequence li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; background: var(--sa-ink); }
.sa-sequence li + li::before { left: -5px; }
.sa-sequence h3 { font-size: 1.45rem; }
.sa-sequence p { margin-top: 10px; font-size: 14.5px; color: var(--sa-muted); }
.sa-sequence small { display: block; margin-top: 12px; font-size: 12.5px; color: var(--sa-teal); font-weight: 600; }

/* Decision rows (situation to system) */
.sa-decisions > li { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px 48px; padding: 26px 0; border-bottom: 1px solid var(--sa-rule); }
.sa-decisions > li:first-child { border-top: 1px solid var(--sa-ink); }
.sa-decisions h3 { font-size: clamp(1.35rem, 1.6vw, 1.65rem); }
.sa-decisions p { font-size: 15px; color: var(--sa-muted); }
.sa-decisions p strong { color: var(--sa-ink); font-weight: 600; }
.sa-field .sa-decisions > li { border-bottom-color: var(--sa-field-rule); }
.sa-field .sa-decisions > li:first-child { border-top-color: var(--sa-inverse-muted); }
.sa-field .sa-decisions p { color: var(--sa-inverse-body); }
.sa-field .sa-decisions p strong { color: var(--sa-inverse); }

/* Comparison (answering service vs AI receptionist vs intake) */
.sa-compare th[scope="col"] { font-family: var(--font-serif); font-size: 1.35rem !important; font-weight: 500 !important; color: var(--sa-ink) !important; letter-spacing: -0.01em; }
.sa-field .sa-compare th[scope="col"] { color: var(--sa-inverse) !important; }

/* Notes (briefing entries) */
.sa-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 72px); }
.sa-note { padding: 26px 0 30px; border-top: 1px solid var(--sa-ink); }
.sa-note h3 { font-size: clamp(1.35rem, 1.6vw, 1.7rem); }
.sa-note p { margin-top: 12px; font-size: 15px; color: var(--sa-muted); }
.sa-note .sa-source { margin-top: 14px; }
.sa-field .sa-note { border-top-color: var(--sa-inverse-muted); }
.sa-field .sa-note p { color: var(--sa-inverse-body); }

/* Sources */
.sa-source { font-size: 12.5px; line-height: 1.55; color: var(--sa-muted); max-width: 72ch; }
.sa-source a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-source a:hover { color: var(--sa-teal); }
.sa-field .sa-source { color: var(--sa-inverse-muted); }
.sa-field .sa-source a:hover { color: var(--sa-gold); }
.sa-sources { margin-top: 28px; display: grid; gap: 6px; }
.sa-sources li { font-size: 12.5px; color: var(--sa-muted); padding-left: 16px; position: relative; }
.sa-sources li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 7px; height: 1px; background: currentColor; }

/* Figures: statistics used sparingly */
.sa-figure { border-top: 1px solid var(--sa-ink); padding-top: 18px; }
.sa-figure .sa-figure-number { font-family: var(--font-serif); font-size: clamp(3.6rem, 6vw, 5.8rem); line-height: 0.9; letter-spacing: -0.03em; font-variant-numeric: lining-nums tabular-nums; }
.sa-figure-number small { font-size: 0.42em; letter-spacing: 0; margin-left: 4px; }
.sa-figure p { margin-top: 12px; font-size: 15px; }
.sa-figure-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.sa-field .sa-figure { border-top-color: var(--sa-gold); }

/* Checklist (proximity) */
.sa-checks li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--sa-rule); font-size: 15.5px; }
.sa-checks li svg { color: var(--sa-teal); margin-top: 4px; }
.sa-checks li strong { font-weight: 600; }
.sa-checks li span { color: var(--sa-muted); }
.sa-field .sa-checks li { border-bottom-color: var(--sa-field-rule); }
.sa-field .sa-checks li svg { color: var(--sa-gold); }
.sa-field .sa-checks li strong { color: var(--sa-inverse); }
.sa-field .sa-checks li span { color: var(--sa-inverse-body); }

/* Video */
.sa-video { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 72px); align-items: center; }
.sa-video-frame { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--sa-field); overflow: hidden; text-decoration: none; }
.sa-video-frame img { width: 100%; height: 100%; object-fit: cover; opacity: 0.86; transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.sa-video-frame:hover img { opacity: 1; transform: scale(1.015); }
.sa-video-play { position: absolute; left: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--sa-paper); color: var(--sa-ink); font-size: 13px; font-weight: 600; }

/* Disclosures */
.sa-disclosures { border-top: 1px solid var(--sa-ink); }
.sa-disclosure { border-bottom: 1px solid var(--sa-rule); }
.sa-disclosure summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: baseline; padding: 22px 0; font-family: var(--font-serif); font-size: clamp(1.3rem, 1.6vw, 1.6rem); line-height: 1.25; }
.sa-disclosure summary::-webkit-details-marker { display: none; }
.sa-disclosure summary:hover { color: var(--sa-teal); }
.sa-disclosure summary span { font-family: var(--font-sans); font-size: 22px; line-height: 1; transition: transform 0.25s ease; }
.sa-disclosure[open] summary span { transform: rotate(45deg); }
.sa-disclosure > div { padding: 0 0 24px; max-width: 72ch; color: var(--sa-muted); }

/* US landscape ledger */
.sa-landscape { background: var(--sa-panel); border: 1px solid var(--sa-rule); }
.sa-landscape-region { display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: 16px; padding: 16px clamp(18px, 2vw, 28px); border-top: 1px solid var(--sa-rule); }
.sa-landscape-region:first-of-type { border-top: 1px solid var(--sa-ink); }
.sa-landscape-region h3 { font-family: var(--font-sans) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.35 !important; letter-spacing: 0 !important; }
.sa-landscape-region h3 span { display: block; font-weight: 400; color: var(--sa-muted); margin-top: 2px; }
.sa-landscape-states { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.sa-landscape-states a { font-family: var(--font-serif); font-size: clamp(1.25rem, 1.5vw, 1.55rem); line-height: 1.2; text-decoration: none; border-bottom: 1px solid var(--sa-rule-strong); }
.sa-landscape-states a:hover { color: var(--sa-teal); border-bottom-color: currentColor; }
.sa-landscape-cities { grid-column: 2; font-size: 13px; color: var(--sa-muted); line-height: 1.55; }
.sa-landscape-cities a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-landscape-cities a:hover { color: var(--sa-teal); }

/* State hub index */
.sa-states { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--sa-ink); border-left: 1px solid var(--sa-rule); }
.sa-state { border-right: 1px solid var(--sa-rule); border-bottom: 1px solid var(--sa-rule); padding: 24px clamp(18px, 2vw, 28px) 26px; display: flex; flex-direction: column; gap: 10px; text-decoration: none; transition: background-color 0.25s ease; }
.sa-state:hover { background: var(--sa-panel); }
.sa-state h3 { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sa-state h3 abbr { font-family: var(--font-sans); font-size: 12px; font-weight: 600; color: var(--sa-teal); }
.sa-state p { font-size: 14px; color: var(--sa-muted); }
.sa-state .sa-state-signal { font-size: 13px; color: var(--sa-ink); margin-top: auto; padding-top: 8px; }
.sa-state .sa-state-signal strong { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 500; margin-right: 6px; }

/* US market navigator (clusters) */
.sa-clusters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 72px); }
.sa-cluster { border-top: 1px solid var(--sa-inverse-muted); padding: 22px 0 28px; }
.sa-cluster h3 { color: var(--sa-inverse); }
.sa-cluster p { margin-top: 8px; font-size: 14.5px; }
.sa-cluster ul { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.sa-cluster li a { display: inline-flex; min-height: 36px; align-items: center; font-size: 14px; font-weight: 600; color: var(--sa-inverse); text-decoration: underline; text-decoration-color: var(--sa-field-rule); text-underline-offset: 5px; }
.sa-cluster li a:hover { color: var(--sa-gold); text-decoration-color: currentColor; }
.sa-navigator-foot { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--sa-field-rule); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: center; }
.sa-navigator-foot .sa-actions { margin-top: 0; }
.sa-navigator-foot button { font: inherit; cursor: pointer; }

/* Canada dossier */
.sa-dossier { background: var(--sa-field); color: var(--sa-inverse); padding: clamp(24px, 2.6vw, 40px); }
.sa-dossier .sa-plate-head { border-bottom-color: var(--sa-inverse-muted); }
.sa-dossier .sa-plate-head p { color: var(--sa-inverse-muted); }
.sa-dossier dl > div { display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--sa-field-rule); }
.sa-dossier dt { font-size: 12.5px; color: var(--sa-inverse-muted); padding-top: 3px; }
.sa-dossier dd { font-size: 15px; line-height: 1.55; color: var(--sa-inverse-body); }
.sa-dossier dd strong { display: block; font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.5rem, 1.9vw, 2rem); line-height: 1.1; color: var(--sa-inverse); margin-bottom: 4px; }
.sa-dossier .sa-source { margin-top: 16px; }

/* Regional index (Canada) */
.sa-regions { border-top: 1px solid var(--sa-ink); }
.sa-region { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 16px 48px; padding: 28px 0; border-bottom: 1px solid var(--sa-rule); }
.sa-region-body p { color: var(--sa-muted); font-size: 15px; }
.sa-cities { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0 28px; }
.sa-city { padding: 12px 0; border-top: 1px solid var(--sa-rule); }
.sa-city > a { font-family: var(--font-serif); font-size: 1.4rem; line-height: 1.2; text-decoration: none; border-bottom: 1px solid var(--sa-rule-strong); }
.sa-city > a:hover { color: var(--sa-teal); border-bottom-color: currentColor; }
.sa-city > span { font-family: var(--font-serif); font-size: 1.4rem; line-height: 1.2; color: var(--sa-muted); }
.sa-city ul { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 2px 14px; }
.sa-city li { font-size: 12.5px; }
.sa-city li a { color: var(--sa-muted); text-decoration: underline; text-decoration-color: var(--sa-rule); }
.sa-city li a:hover { color: var(--sa-teal); }

/* GTA schematic */
.sa-gta-map { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "halton peel york durham" "halton peel toronto durham" "lake lake lake lake"; border: 1px solid var(--sa-ink); background: var(--sa-paper); }
.sa-gta-cell { padding: 14px 14px 16px; border-right: 1px solid var(--sa-rule-strong); border-bottom: 1px solid var(--sa-rule-strong); min-width: 0; }
.sa-gta-cell[data-area="halton"] { grid-area: halton; }
.sa-gta-cell[data-area="peel"] { grid-area: peel; }
.sa-gta-cell[data-area="york"] { grid-area: york; }
.sa-gta-cell[data-area="toronto"] { grid-area: toronto; background: var(--sa-field); color: var(--sa-inverse); border-color: var(--sa-field); }
.sa-gta-cell[data-area="durham"] { grid-area: durham; border-right: 0; }
.sa-gta-cell h3 { font-size: 1.35rem !important; }
.sa-gta-cell h3 small { display: block; font-family: var(--font-sans); font-size: 11.5px; font-weight: 600; letter-spacing: 0; color: var(--sa-teal); margin-top: 3px; }
.sa-gta-cell[data-area="toronto"] h3 small { color: var(--sa-gold); }
.sa-gta-cell ul { margin-top: 10px; display: grid; gap: 3px; }
.sa-gta-cell li { font-size: 13px; line-height: 1.45; }
.sa-gta-cell li a { font-weight: 600; text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }
.sa-gta-cell li a:hover { color: var(--sa-teal); }
.sa-gta-cell[data-area="toronto"] li a { text-decoration-color: var(--sa-field-rule); }
.sa-gta-cell[data-area="toronto"] li a:hover { color: var(--sa-gold); }
.sa-gta-cell li .sa-plain { color: var(--sa-muted); }
.sa-gta-lake { max-width: none !important; grid-area: lake; padding: 12px 14px; font-size: 12px; font-style: italic; color: var(--sa-teal); background: repeating-linear-gradient(180deg, transparent 0 7px, rgba(47, 107, 115, 0.12) 7px 8px); }
.sa-gta-beyond { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; }
.sa-gta-beyond strong { font-weight: 600; margin-right: 4px; }
.sa-gta-beyond a { text-decoration: underline; text-decoration-color: var(--sa-rule-strong); }

/* Municipal field guide */
.sa-guide-table td ul { display: flex; flex-wrap: wrap; gap: 2px 14px; }
.sa-guide-table td li a { font-weight: 500; }
.sa-guide-table .sa-plain { color: var(--sa-muted); }

/* Field notes (GTA) */
.sa-fieldnotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 56px); }
.sa-fieldnote { border-top: 1px solid var(--sa-ink); padding: 22px 0 30px; }
.sa-fieldnote .sa-tag { display: block; margin-bottom: 8px; }
.sa-fieldnote h3 { font-size: clamp(1.35rem, 1.6vw, 1.65rem); }
.sa-fieldnote p { margin-top: 12px; font-size: 15px; color: var(--sa-muted); }

/* Close: light, so it does not stack on the dark site footer CTA */
.sa-close { padding-block: clamp(80px, 9vw, 128px); background: var(--sa-paper); border-top: 1px solid var(--sa-ink); }
.sa-close-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 96px); align-items: end; }
.sa-close h2 { max-width: 13em; }
.sa-close .sa-actions { margin-top: 0; flex-direction: column; align-items: stretch; }
.sa-close .sa-button { width: 100%; }
.sa-close ul { margin-top: 26px; }
.sa-close ul li { font-size: 14px; padding: 8px 0; border-top: 1px solid var(--sa-rule); color: var(--sa-muted); }
.sa-close .sa-lede { color: var(--sa-ink); }

/* Trust spine (shared component) inside the atlas */
.sa-trust section[aria-label] { background: var(--sa-panel) !important; padding-block: clamp(56px, 6vw, 84px) !important; }
.sa-trust section[aria-label] > div { max-width: 1400px; }
.sa-trust .rounded-lg, .sa-trust .rounded-full { border-radius: 0 !important; }
.sa-trust .rounded-full { background: transparent !important; border-color: var(--sa-rule-strong) !important; }
.sa-trust .font-mono { font-family: var(--font-sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--sa-teal) !important; }
.sa-trust h2 { font-family: var(--font-serif); font-weight: 500 !important; letter-spacing: -0.02em; }

/* Responsive */
@media (max-width: 1180px) {
  .sa-zones { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sa-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .sa-hero-copy h1 { max-width: 14em; }
  .sa-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sa-sequence li { padding-left: 0 !important; border-left: 0 !important; border-top: 1px solid var(--sa-rule); }
  .sa-sequence li::before { left: 0 !important; }
  .sa-sequence li:nth-child(2n) { padding-left: 22px !important; border-left: 1px solid var(--sa-rule) !important; }
  .sa-states { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sa-fieldnotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sa-stack li { grid-template-columns: minmax(0, 10rem) minmax(0, 1fr); }
  .sa-stack li .sa-link, .sa-stack li > div:last-child { grid-column: 2; }
}
@media (max-width: 860px) {
  .sa-page { padding-top: 92px; }
  .sa-head, .sa-split, .sa-split--even, .sa-video, .sa-close-grid, .sa-region, .sa-decisions > li { grid-template-columns: minmax(0, 1fr); }
  .sa-head { align-items: start; }
  .sa-sticky { position: static; }
  .sa-ledger { grid-template-columns: minmax(0, 1fr); }
  .sa-ledger > div + div { border-left: 0; padding-left: 0; margin-top: 28px; border-top: 1px solid var(--sa-ink); }
  .sa-ledger > div:first-child { padding-right: 0; }
  .sa-index-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .sa-index-row .sa-link { justify-self: start; }
  .sa-notes, .sa-clusters, .sa-figure-row { grid-template-columns: minmax(0, 1fr); }
  .sa-figure-row { gap: 28px; }
  .sa-gta-map { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "york durham" "peel toronto" "halton halton" "lake lake"; }
  .sa-gta-cell[data-area="durham"] { border-right: 0; }
  .sa-gta-cell[data-area="toronto"] { border-right: 0; }
  .sa-territory-note { grid-template-columns: minmax(0, 1fr); }
  .sa-table tbody th { position: sticky; left: 0; background: var(--sa-paper); z-index: 1; }
  .sa-panel-field .sa-table tbody th { background: var(--sa-panel); }
  .sa-field .sa-table tbody th { background: var(--sa-field); }
  .sa-navigator-foot { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .sa-page { font-size: 15.5px; }
  .sa-page h1 { font-size: clamp(2.55rem, 11vw, 3.4rem); line-height: 1; }
  .sa-page h2 { font-size: clamp(2rem, 8.6vw, 2.6rem); line-height: 1.06; }
  .sa-wrap { padding-inline: 20px; }
  .sa-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sa-zone { padding: 12px 10px 14px; }
  .sa-facts { grid-template-columns: minmax(0, 1fr); }
  .sa-facts > div:nth-child(2n) { padding-left: 0; border-left: 0; }
  .sa-sequence, .sa-states, .sa-fieldnotes { grid-template-columns: minmax(0, 1fr); }
  .sa-sequence li:nth-child(2n) { padding-left: 0 !important; border-left: 0 !important; }
  .sa-ledger li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .sa-stack li { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .sa-stack li .sa-link, .sa-stack li > div:last-child { grid-column: 1; }
  .sa-dossier dl > div, .sa-landscape-region { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .sa-landscape-cities { grid-column: 1; }
  .sa-actions { flex-direction: column; align-items: stretch; }
  .sa-button { width: 100%; }
  .sa-actions .sa-link { align-self: flex-start; }
  .sa-gta-map { grid-template-columns: minmax(0, 1fr); grid-template-areas: "toronto" "peel" "york" "durham" "halton" "lake"; }
  .sa-gta-cell { border-right: 0 !important; }
  .sa-plate-head { flex-direction: column; gap: 4px; }
  .sa-plate-head p { text-align: left; }
  .sa-territory legend { float: none; width: 100%; margin-bottom: 8px; }
  .sa-clock-option span { padding: 8px 12px; }
  .sa-video-play { left: 12px; bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .sa-page *, .sa-page *::before, .sa-page *::after { transition: none !important; animation: none !important; }
}

/* ---- Review round: fixes ---- */
.sa-hero-grid--atlas { align-items: start; }
.sa-hero-grid--atlas .sa-facts { margin-top: 12px; }

/* Clock: give the dense Eastern column room */
@media (min-width: 1181px) {
  .sa-zones { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.85fr) repeat(2, minmax(0, 0.8fr)); }
  .sa-zone[data-zone="eastern"] .sa-zone-country ul { columns: 2; column-gap: 18px; }
  .sa-zone[data-zone="eastern"] .sa-zone-country li { break-inside: avoid; }
}

/* U.S. adoption: firm-size bars */
.sa-bars { border-top: 1px solid var(--sa-ink); }
.sa-bar { display: grid; grid-template-columns: minmax(0, 18rem) minmax(0, 1fr) minmax(0, 7rem); gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--sa-rule); font-size: 15px; }
.sa-bar-track { position: relative; height: 14px; background: repeating-linear-gradient(90deg, var(--sa-rule) 0 1px, transparent 1px 25%); border-left: 1px solid var(--sa-ink); }
.sa-bar-track i { position: absolute; top: 0; bottom: 0; background: var(--sa-teal); }
.sa-bar-track i.range { background: repeating-linear-gradient(135deg, var(--sa-teal) 0 3px, transparent 3px 6px); border: 1px solid var(--sa-teal); }
.sa-bar-value { font-family: var(--font-serif); font-size: 1.6rem; line-height: 1; text-align: right; font-variant-numeric: lining-nums tabular-nums; }
.sa-bars .sa-caption { margin-top: 12px; }

/* Canada figures table */
.sa-figures .sa-figure-cell { display: block !important; font-family: var(--font-serif); font-size: clamp(2rem, 2.8vw, 2.8rem) !important; font-weight: 500 !important; color: var(--sa-ink) !important; line-height: 1; margin: 0 !important; font-variant-numeric: lining-nums tabular-nums; }
.sa-figures tbody th { width: 16% !important; }

/* GTA field notes ledger */
.sa-fieldnote-table tbody th { font-family: var(--font-serif); font-weight: 500 !important; font-size: 1.35rem !important; line-height: 1.2; width: 24% !important; }
.sa-fieldnote-table td .sa-source { margin-top: 10px; }
.sa-fieldnote-table td.sa-decision { color: var(--sa-ink); font-weight: 500; width: 36%; }

/* U.S. city index */
.sa-city-index { border-top: 1px solid var(--sa-inverse-muted); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 56px); }
.sa-city-index > div { display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--sa-field-rule); }
.sa-city-index dt { font-family: var(--font-serif); font-size: 1.3rem; line-height: 1.25; color: var(--sa-inverse); }
.sa-city-index ul { display: flex; flex-wrap: wrap; gap: 2px 14px; }
.sa-city-index li a { font-size: 14px; font-weight: 600; color: var(--sa-inverse); text-decoration: underline; text-decoration-color: var(--sa-field-rule); text-underline-offset: 5px; line-height: 1.9; }
.sa-city-index li a:hover { color: var(--sa-gold); text-decoration-color: currentColor; }
.sa-navigator-foot { display: block; }
.sa-navigator-foot strong { color: var(--sa-inverse); font-weight: 600; }

/* Canada dossier source contrast */
.sa-dossier .sa-source, .sa-dossier .sa-source a { color: var(--sa-inverse-body); }

/* Trust block as a ruled ledger aligned to the page container */
.sa-trust section[aria-label] { padding-inline: 0 !important; }
.sa-trust section[aria-label] > div { max-width: 1560px !important; padding-inline: clamp(20px, 4.4vw, 80px); }
.sa-trust .font-mono, .sa-trust p.text-xs.uppercase, .sa-trust svg { display: none !important; }
.sa-trust h2 { margin-top: 0 !important; }
.sa-trust .grid.gap-3 { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; border-top: 1px solid var(--sa-ink); }
.sa-trust .grid.gap-3 > a { border: 0 !important; border-bottom: 1px solid var(--sa-rule) !important; background: transparent !important; padding: 16px 0 !important; display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 4px 24px; }
.sa-trust .grid.gap-3 > a h3 { margin: 0 !important; font-size: 15px; }
.sa-trust .grid.gap-3 > a p:not(.uppercase) { margin: 0 !important; }
.sa-trust .grid.gap-3 > a:hover { background: var(--sa-paper) !important; }
.sa-trust .grid.gap-3 > a > div:first-child { display: none; }
.sa-trust .rounded-full { padding-inline: 0 !important; border: 0 !important; text-decoration: underline; text-decoration-color: var(--sa-rule-strong); text-underline-offset: 5px; }
.sa-trust .rounded-lg.border.p-5 { background: transparent !important; border: 0 !important; border-top: 1px solid var(--sa-rule) !important; padding: 16px 0 0 !important; }

@media (max-width: 1180px) {
  .sa-city-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .sa-bar { grid-template-columns: minmax(0, 1fr) auto; }
  .sa-bar-track { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 620px) {
  .sa-city-index { grid-template-columns: minmax(0, 1fr); }
  .sa-trust .grid.gap-3 > a { grid-template-columns: minmax(0, 1fr); }
  /* Matrix restacks: one block per operating model */
  .sa-matrix { min-width: 0 !important; }
  .sa-matrix thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sa-matrix tr, .sa-matrix tbody th, .sa-matrix td { display: block; width: auto !important; }
  .sa-matrix tbody tr { border-bottom: 1px solid var(--sa-ink); padding: 14px 0 6px; }
  .sa-matrix tbody th { position: static !important; padding: 0 0 8px !important; border: 0 !important; }
  .sa-matrix td.sa-level { display: flex; justify-content: space-between; align-items: center; padding: 7px 0 !important; text-align: left; }
  .sa-matrix td.sa-level::before { content: attr(data-label); font-size: 13.5px; color: var(--sa-muted); }
  .sa-matrix td.sa-first { padding-top: 10px !important; border: 0 !important; }
  .sa-matrix caption { caption-side: bottom; }
}
.sa-trust .grid.gap-3 > a h3 { font-family: var(--font-sans) !important; font-weight: 600 !important; font-size: 14.5px !important; letter-spacing: 0 !important; line-height: 1.45 !important; color: var(--sa-ink) !important; }
/* Verdict round: trust block company name appears once (ledger row); hero facts fill the column */
.sa-trust .rounded-lg.border.p-5 { display: none !important; }
@media (min-width: 1181px) {
  .sa-hero-grid--atlas .sa-facts { grid-template-columns: minmax(0, 1fr); margin-top: 12px; }
  .sa-hero-grid--atlas .sa-facts > div, .sa-hero-grid--atlas .sa-facts > div:nth-child(2n) { padding: 22px 0; border-left: 0; }
  .sa-hero-grid--atlas .sa-facts dd { font-family: var(--font-serif); font-weight: 500; font-size: 1.45rem; line-height: 1.25; }
}
