/* Sole Brief theme 0.4.40. Built to the designs locked October 5, 2026 (homepage, header, hero,
   footer, record page). Palette P2 (decision record 005). Light only. */

/* ---------- tokens and fonts ---------- */
:root {
  --sb-paper: #F7F2EA; --sb-band: #EFE8DE; --sb-card: #FFFFFF; --sb-ink: #1B1613; --sb-text: #2E2723;
  --sb-muted: #675C55; --sb-rule: #E0D6CA; --sb-rule-soft: #EAE2D7; --sb-dash: #CFC3B5;
  --sb-rust: #A1421C; --sb-rust-dark: #7E3315; --sb-teal: #244450; --sb-teal-tint: #E6EDEF;
  --sb-slate: #2F4B7A; --sb-slate-tint: #EDF1F7; --sb-slate-rule: #C3CEE0;
  --sb-serif: Fraunces, Georgia, serif; --sb-sans: 'Libre Franklin', system-ui, sans-serif; --sb-mono: 'IBM Plex Mono', ui-monospace, monospace;
  --sb-bar: 64px;
}
@font-face { font-family: Fraunces; src: url('../fonts/fraunces-latin-opsz-normal.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Libre Franklin'; src: url('../fonts/libre-franklin-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; }

/* ---------- base ---------- */
html { scroll-padding-top: 16px; }
html.bar-on, html:has(body.has-recbar) { scroll-padding-top: calc(var(--sb-bar) + 16px); }
body { margin: 0; font-family: var(--sb-sans); background: var(--sb-paper); color: var(--sb-text); -webkit-text-size-adjust: 100%; }
* { font-variation-settings: "SOFT" 0, "WONK" 0; font-optical-sizing: auto; }
.num { font-variant-numeric: lining-nums tabular-nums !important; }
a { color: var(--sb-rust); }
a:hover { color: var(--sb-rust-dark); }
:focus-visible { outline: 2px solid var(--sb-rust); outline-offset: 2px; }
.eyebrow { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--sb-muted); }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 99; background: #fff; padding: 10px 14px; }
.editor-note { margin: 16px 0; padding: 12px 16px; border: 1.5px dashed var(--sb-rust); border-radius: 10px; font: 500 13px/1.5 var(--sb-sans); color: var(--sb-rust-dark); background: #FFF8F2; }

/* ---------- page frame: 1280 content, 32px gutters (16px on phones) ---------- */
.sb-page { background: var(--sb-paper); }
.wrap { box-sizing: border-box; max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }

/* ---------- header (locked) ---------- */
.site-head { background: #FFFFFF; border-bottom: 1px solid var(--sb-rule); }
.site-head .wrap { height: 92px; display: flex; align-items: center; gap: 48px; }
.sb-wordmark { font: 650 38px/1 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.01em; text-decoration: none; white-space: nowrap; flex-shrink: 0; }
.sb-wordmark:hover { color: var(--sb-ink); }
.sb-wordmark span { color: var(--sb-rust); }
.site-nav { flex-grow: 1; display: flex; gap: 30px; align-items: center; justify-content: flex-end; }
.site-nav a { font: 500 15px/1 var(--sb-sans); text-decoration: none; color: var(--sb-text); padding: 8px 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.site-nav a.is-current, .site-nav a:hover { border-bottom-color: var(--sb-rust); color: var(--sb-ink); }
.nav-toggle { display: none; }
.site-nav .nav-brief { display: none; }
.sb-btn-ink { display: inline-flex; align-items: center; min-height: 46px; box-sizing: border-box; font: 600 15px/1 var(--sb-sans); text-decoration: none; color: var(--sb-paper); background: var(--sb-ink); padding: 0 24px; border-radius: 999px; white-space: nowrap; border: 0; cursor: pointer; }
/* Black pills turn the hero claim-card rust on hover (0.4.32, approved October 10). */
.sb-btn-ink { transition: background-color 0.15s ease, color 0.15s ease; }
.sb-btn-ink:hover, .sb-btn-ink:focus-visible { color: #FFFFFF; background: var(--sb-rust); }
.sb-btn-line { display: inline-flex; align-items: center; min-height: 46px; box-sizing: border-box; font: 600 15px/1 var(--sb-sans); text-decoration: none; color: var(--sb-ink); background: transparent; padding: 0 24px; border-radius: 999px; border: 1.5px solid var(--sb-ink); white-space: nowrap; }
.sb-btn-line:hover { color: var(--sb-ink); background: var(--sb-paper); }
.trust { background: var(--sb-band); border-bottom: 1px solid var(--sb-rule); }
.trust .wrap { padding-top: 12px; padding-bottom: 12px; text-align: center; font: 500 13px/1.5 var(--sb-sans); color: var(--sb-text); }

/* ---------- pinned bars: site bar and record bar (one at a time) ---------- */
.stickybar, .recbar { position: fixed; left: 0; right: 0; top: 0; z-index: 50; height: var(--sb-bar); background: rgba(255,255,255,.97); border-bottom: 1px solid var(--sb-rule); box-shadow: 0 6px 16px -12px rgba(27,22,19,.35); visibility: hidden; }
.stickybar.is-on, .recbar.is-on { visibility: visible; }
body.admin-bar .stickybar, body.admin-bar .recbar { top: 32px; }
.stickybar .wrap, .recbar .wrap { height: var(--sb-bar); display: flex; align-items: center; gap: 40px; }
.sb-wordmark.sm { font-size: 28px; }
.site-nav.sm a { font-size: 14px; }
.sb-btn-ink.sm { min-height: 40px; padding: 0 18px; font-size: 14px; }
.recbar-links { display: flex; gap: 4px; align-items: center; flex-grow: 1; justify-content: flex-end; }
.recbar-links a { font: 500 15px/1 var(--sb-sans); color: var(--sb-text); text-decoration: none; padding: 10px 14px; border-radius: 999px; white-space: nowrap; }
.recbar-links a:hover { background: var(--sb-paper); color: var(--sb-ink); }
.recbar-links a.on { background: var(--sb-ink); color: var(--sb-paper); }
.recbar-toggle { display: none; }

/* ---------- homepage (locked) ---------- */
.hp-hero { padding: 72px 0 64px 0; background: #FFFFFF; border-bottom: 1px solid var(--sb-rule); }
.hp-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 72px; align-items: start; }
.hp-eyebrow { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--sb-muted); }
.hp-h1 { margin: 20px 0 0 0; font: 600 64px/1.03 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.025em; text-wrap: balance; }
.hp-lead { margin: 24px 0 0 0; max-width: 640px; font: 400 19px/1.6 var(--sb-sans); color: var(--sb-text); }
.hp-ctas { margin-top: 30px; display: flex; gap: 12px; flex-wrap: wrap; }
.hp-claims { display: flex; flex-direction: column; gap: 14px; }
/* Claim cards in rust (0.4.26, approved October 9): the hero's two platform claims, and only these. */
.hp-claim { margin: 0; background: var(--sb-rust); border: 1px solid var(--sb-rust); border-radius: 18px; padding: 30px; color: #FFFFFF; box-shadow: 0 22px 44px -26px rgba(126, 51, 21, .55); }
.hp-claim .row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hp-claim .v { margin: 0; font: 650 58px/1 var(--sb-serif); color: #FFFFFF; letter-spacing: -0.02em; }
.hp-claim .l { margin-top: 10px; font: 500 17px/1.45 var(--sb-sans); color: #FFFFFF; }
.hp-claim .s { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .28); font: 400 13px/1.55 var(--sb-sans); color: rgba(255, 255, 255, .86); }
.hp-claim .s a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 2px; }
.hp-claim .s a:hover { color: var(--sb-paper); }
.hp-claim .s a:focus-visible { outline-color: #FFFFFF; }
.hp-claim .pill.is-claim { color: #FFFFFF; border-color: rgba(255, 255, 255, .55); }
.hp-sec { padding: 72px 0; background: var(--sb-paper); }
.hp-sec.white { background: #FFFFFF; }
.hp-h2 { margin: 12px 0 0 0; font: 600 40px/1.1 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.015em; text-wrap: balance; }
.hp-h2.first { margin-top: 0; }
.hp-sub { margin: 14px 0 0 0; max-width: 760px; font: 400 18px/1.6 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.hp-sub.full { max-width: none; }
.ul { text-decoration: underline; text-decoration-color: var(--sb-rust); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.hp-grid4 { margin-top: 32px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.hp-card { background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; padding: 22px 24px; display: flex; flex-direction: column; }
.hp-sec.white .hp-card { background: var(--sb-paper); }
.hp-card .k { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.14em; text-transform: uppercase; color: var(--sb-muted); }
.hp-card .k-foot { margin-top: 14px; }
.hp-card .h { margin-top: 10px; font: 650 21px/1.25 var(--sb-serif); color: var(--sb-ink); }
.hp-card .p { margin-top: 10px; font: 400 15px/1.6 var(--sb-sans); color: var(--sb-text); flex-grow: 1; text-wrap: pretty; }
.hp-card .a { margin-top: 16px; font: 600 15px/1.3 var(--sb-sans); }
.hp-card .n { font: 650 20px/1 var(--sb-serif); color: var(--sb-rust); }
.hp-card .n + .h { margin-top: 10px; }
.hp-odds { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.hp-odds .lead { margin: 0; font: 400 19px/1.65 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.hp-odds .lead.side { border-left: 2px solid var(--sb-rule); padding-left: 32px; }
.hp-note { margin: 22px 0 0 0; max-width: 860px; font: 400 15px/1.6 var(--sb-sans); color: var(--sb-muted); }
.hp-dir { margin-top: 28px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; overflow: hidden; }
.hp-dir-row { display: grid; grid-template-columns: 1.1fr 1.1fr 0.55fr 1fr 0.7fr; gap: 16px; align-items: center; padding: 16px 22px; border-top: 1px solid var(--sb-rule-soft); text-decoration: none; color: var(--sb-text); }
.hp-dir-row:first-child { border-top: 0; }
.hp-dir-row.head { font: 500 13px/1.3 var(--sb-sans); color: var(--sb-muted); background: var(--sb-paper); }
.hp-dir-row .nm { font: 650 19px/1.2 var(--sb-serif); color: var(--sb-ink); }
.hp-dir-row .op { margin-top: 3px; font: 400 13px/1.4 var(--sb-sans); color: var(--sb-muted); }
.hp-dir-row .d { font: 400 14px/1.4 var(--sb-sans); color: var(--sb-muted); }
.hp-dir-row .d.keep .share { font: 600 17px/1.2 var(--sb-serif); color: var(--sb-ink); font-variant-numeric: tabular-nums; }
.hp-dir-row .d.keep .share-na { font: 400 13px/1.4 var(--sb-sans); color: var(--sb-muted); }

/* ---------- registry surface (Platforms page, 0.4.3; stat panel 0.4.5) ---------- */
.reg-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1px; margin: 22px 0 0 0; background: var(--sb-rule); border: 1px solid var(--sb-rule); border-radius: 16px; overflow: hidden; }
.reg-stat { display: flex; flex-direction: column; gap: 7px; padding: 16px 20px 14px 20px; background: var(--sb-card); }
.reg-stat-k { font: 600 11.5px/1.2 var(--sb-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sb-muted); }
.reg-stat-v { font: 600 24px/1.05 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.01em; font-variant-numeric: tabular-nums lining-nums; }
.reg-stat-v.is-date { white-space: nowrap; }
.reg-stat-v.is-warn { color: var(--sb-rust); }
.reg-stat-x { margin-top: auto; font: 400 13.5px/1.4 var(--sb-sans); color: var(--sb-muted); }
.reg-stat-x .warn { color: var(--sb-rust); font-weight: 600; }
.reg-stat-x a { color: var(--sb-rust); text-decoration: underline; text-underline-offset: 3px; }
.reg-faq { margin-top: 56px; padding-top: 36px; border-top: 1px solid var(--sb-rule); }
.reg-faq h2 { margin: 0; font: 600 30px/1.15 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.015em; }
.reg-faq-grid { margin-top: 26px; columns: 2; column-gap: 56px; }
.reg-faq-grid .reg-qa { margin: 0 0 26px 0; break-inside: avoid; }
.reg-faq .reg-faq-sub { margin: 10px 0 0 0; font: 400 15px/1.6 var(--sb-sans); color: var(--sb-muted); }
.reg-qa { margin-top: 26px; }
.reg-qa h3 { margin: 0; font: 600 20px/1.3 var(--sb-serif); color: var(--sb-ink); }
.reg-qa p { margin: 8px 0 0 0; font: 400 17px/1.65 var(--sb-sans); color: var(--sb-text); }
.reg-cite { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--sb-rule); }
.reg-cite h2 { margin: 0; font: 600 30px/1.15 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.015em; }
.reg-cite-lead { margin: 10px 0 0 0; font: 400 15px/1.6 var(--sb-sans); color: var(--sb-muted); }
.reg-cite-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cite-card { display: flex; flex-direction: column; gap: 14px; padding: 24px 26px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; }
.cite-k { font: 600 12px/1 var(--sb-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sb-rust); }
.cite-k.is-muted { color: var(--sb-muted); }
.cite-quote { margin: 0; font: 400 18px/1.6 var(--sb-sans); color: var(--sb-text); }
.cite-quote a { color: var(--sb-rust); text-decoration: underline; text-underline-offset: 3px; }
.cite-formal { display: block; padding: 14px 16px; background: var(--sb-paper); border-radius: 10px; font: 400 14px/1.6 var(--sb-mono); color: var(--sb-text); white-space: normal; word-break: break-word; }
.cite-note { font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }
.cite-act { margin-top: auto; }
.cite-btn { min-height: 44px; padding: 0 18px; border: 1.5px solid var(--sb-dash); border-radius: 999px; background: #FFFFFF; color: var(--sb-ink); font: 600 14px/1 var(--sb-sans); cursor: pointer; }
.cite-btn.is-ink { background: var(--sb-ink); border-color: var(--sb-ink); color: #FFFFFF; }
.cite-btn:hover { border-color: var(--sb-ink); }
.cite-btn:focus-visible { outline: 2px solid var(--sb-rust); outline-offset: 2px; }
.cite-status { margin: 10px 0 0 0; min-height: 1.5em; font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }
.rec-cite { padding-bottom: 64px; }
.rec-cite .reg-cite { margin-top: 0; }
a.hp-dir-row:hover { background: var(--sb-paper); color: var(--sb-text); }
.hp-news { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.hp-news form:not(.sb-sub) { display: flex; gap: 10px; flex-wrap: wrap; }
form.sb-sub { display: flex; flex-direction: column; gap: 12px; margin: 0; }
form.sb-sub[hidden] { display: none; }
.sb-sub-row { display: flex; gap: 10px; flex-wrap: wrap; }
.sb-sub-row input[type=email] { flex: 1 1 220px; min-height: 48px; box-sizing: border-box; padding: 0 18px; border: 1.5px solid var(--sb-dash); border-radius: 999px; font: 400 16px/1 var(--sb-sans); background: #FFFFFF; color: var(--sb-ink); }
.sb-sub-row input[type=email]:focus-visible, .sb-sub-age input:focus-visible { outline: 2px solid var(--sb-rust); outline-offset: 2px; }
.sb-sub-age { display: flex; align-items: center; gap: 10px; min-height: 44px; font: 400 15px/1.4 var(--sb-sans); color: var(--sb-text); cursor: pointer; }
.sb-sub-age input { width: 20px; height: 20px; margin: 0; accent-color: var(--sb-ink); }
.sb-sub-wrap p.sb-sub-consent, .page-body .entry .sb-sub-wrap p.sb-sub-consent { margin: 0; font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }
.sb-sub-consent a { color: var(--sb-rust); }
.sb-sub-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sb-sub-wrap p.sb-sub-msg, .page-body .entry .sb-sub-wrap p.sb-sub-msg { margin: 0; padding: 14px 16px; border-radius: 12px; font: 400 15px/1.5 var(--sb-sans); }
.sb-sub-msg[hidden] { display: none; }
.sb-sub-wrap p.sb-sub-msg.is-ok, .page-body .entry .sb-sub-wrap p.sb-sub-msg.is-ok { background: var(--sb-teal-tint); color: var(--sb-teal); font-weight: 600; }
.sb-sub-wrap p.sb-sub-msg.is-err, .page-body .entry .sb-sub-wrap p.sb-sub-msg.is-err { margin-top: 10px; background: #FBEDE6; color: var(--sb-rust-dark); }
.sb-sub button[disabled] { opacity: 0.6; cursor: wait; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.hp-news form:not(.sb-sub) input[type=email] { flex: 1 1 220px; min-height: 48px; box-sizing: border-box; padding: 0 18px; border: 1.5px solid var(--sb-dash); border-radius: 999px; font: 400 16px/1 var(--sb-sans); background: #FFFFFF; }
.hp-news .fine { margin-top: 12px; font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }

/* The homepage as WordPress blocks: undo block defaults the hand-written markup never had. */
:where(.sb-home) :where(p:not(.hp-note), h1, h2, h3, h4) { margin: 0; }
.sb-home .wp-block-group { box-sizing: border-box; }
.sb-home .hp-h1 { margin-top: 20px; }
.sb-home .hp-lead { margin-top: 24px; }
.sb-home .hp-h2 { margin-top: 12px; }
.sb-home .hp-h2.first { margin-top: 0; }
.sb-home .hp-sub { margin-top: 14px; }
.sb-home .hp-card .h { margin-top: 10px; }
.sb-home .hp-card .p { margin-top: 10px; }
.sb-home .hp-card .a { margin-top: 16px; }
.sb-home .hp-card .k-foot { margin-top: 14px; }
.sb-home .hp-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.sb-home .wp-block-button { margin: 0; }
.sb-home .wp-block-button__link { display: inline-flex; align-items: center; min-height: 46px; box-sizing: border-box; padding: 0 24px; border-radius: 999px; font: 600 15px/1 var(--sb-sans); text-decoration: none; white-space: nowrap; box-shadow: none; }
.sb-home .wp-block-button.is-ink .wp-block-button__link { color: var(--sb-paper); background: var(--sb-ink); border: 0; }
.sb-home .wp-block-button.is-ink .wp-block-button__link { transition: background-color 0.15s ease, color 0.15s ease; }
.sb-home .wp-block-button.is-ink .wp-block-button__link:hover, .sb-home .wp-block-button.is-ink .wp-block-button__link:focus-visible { color: #FFFFFF; background: var(--sb-rust); }
.sb-home .wp-block-button.is-line .wp-block-button__link { color: var(--sb-ink); background: transparent; border: 1.5px solid var(--sb-ink); }
.sb-home .hp-card .a a { color: var(--sb-rust); }
.sb-home .hp-news .fine { margin-top: 12px; }

/* ---------- pills ---------- */
.pill { display: inline-flex; align-items: center; gap: 6px; box-sizing: border-box; height: 26px; padding: 0 11px; border: 1.5px solid transparent; border-radius: 999px; font: 600 12px/1 var(--sb-sans); letter-spacing: 0.01em; white-space: nowrap; font-variant-numeric: normal; vertical-align: middle; }
.pill svg { width: 12px; height: 12px; flex-shrink: 0; }
.pill.is-verified { color: var(--sb-teal); background: var(--sb-teal-tint); border-color: var(--sb-teal-tint); }
.pill.is-conflict { color: #FFFFFF; background: var(--sb-slate); border-color: var(--sb-slate); }
.pill.is-notpub { color: var(--sb-muted); background: transparent; border-style: dashed; border-color: var(--sb-muted); }
.pill.is-claim, .pill.is-outline { color: var(--sb-text); background: transparent; border-color: var(--sb-dash); }
.pill.is-band { color: var(--sb-text); background: var(--sb-band); border-color: var(--sb-band); }
.pill.is-unavailable { color: #FFFFFF; background: #54406E; border-color: #54406E; }
.pill.is-overdue { color: #6E4B0A; background: #FBEFD9; border-color: #E6CB93; }
.pill.is-correction { color: #FFFFFF; background: var(--sb-ink); border-color: var(--sb-ink); }
.pill.is-na { color: var(--sb-muted); background: transparent; border-color: var(--sb-muted); }

/* ---------- record page (locked): full width, no sidebar ---------- */
.rec-disc { padding-top: 28px; }
.disc { background: var(--sb-band); border: 1px solid var(--sb-rule); border-radius: 14px; padding: 18px 24px; }
.disc .b { margin-top: 10px; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); }
.rec-head { padding-top: 30px; padding-bottom: 30px; }
.crumb { font: 500 14px/1 var(--sb-sans); color: var(--sb-muted); }
.crumb a { color: var(--sb-muted); text-decoration: none; }
.h1row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.h1row h1 { margin: 16px 0 0 0; font: 600 60px/1.02 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.025em; }
.rec-meta { margin-top: 14px; display: flex; gap: 8px 20px; align-items: baseline; flex-wrap: wrap; font: 400 15px/1.4 var(--sb-sans); color: var(--sb-muted); }
.rec-meta .dom { font: 400 15px/1.4 var(--sb-mono); color: var(--sb-text); }
.outbox { flex-shrink: 0; text-align: right; padding-bottom: 6px; }
.out { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 48px; padding: 0 20px; border: 1.5px solid var(--sb-ink); border-radius: 999px; background: #FFFFFF; font: 600 15px/1.2 var(--sb-sans); color: var(--sb-ink); text-decoration: none; white-space: nowrap; }
.out svg { width: 14px; height: 14px; flex-shrink: 0; }
.out:hover { background: var(--sb-ink); color: var(--sb-paper); }
.out-note { margin-top: 8px; font: 400 12px/1.45 var(--sb-sans); color: var(--sb-muted); }
.hdr-cards { margin-top: 26px; display: grid; grid-template-columns: 1.2fr 1.1fr 0.8fr; gap: 16px; }
.card3 { background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; padding: 22px 24px; }
.card3 .v { margin-top: 12px; font: 650 24px/1.2 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.01em; }
.card3 .x { margin-top: 8px; font: 400 14px/1.6 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.card3 .s { margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--sb-rule); font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }
.card3.is-overdue { background: #FBEFD9; border-color: #E6CB93; }
.lead-p { margin: 26px 0 0 0; font: 400 19px/1.6 var(--sb-sans); color: var(--sb-text); letter-spacing: 0.005em; text-wrap: pretty; }

.group { padding: 44px 0 38px 0; border-top: 2px solid var(--sb-ink); }
.group.plain { border-top: 0; padding-top: 52px; }
.sec-h { margin: 0; font: 600 34px/1.12 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.015em; text-wrap: balance; }
.sec-lead { margin: 10px 0 0 0; font: 400 17px/1.6 var(--sb-sans); color: var(--sb-text); letter-spacing: 0.005em; text-wrap: pretty; }

.fact { margin-top: 18px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; padding: 24px 28px 20px 28px; }
.fact.rows { padding-top: 18px; padding-bottom: 14px; }
.fact.conflict { background: var(--sb-slate-tint); border-color: var(--sb-slate-rule); }
.fact.np, .fact.claim { background: transparent; border: 1.5px dashed var(--sb-dash); }
.fact-lbl { margin-top: 18px; font: 500 15px/1.4 var(--sb-sans); color: var(--sb-muted); }
.fact-val { margin-top: 6px; font: 650 44px/1.05 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.02em; font-variant-numeric: lining-nums tabular-nums; }
.fact-val.words { font-size: 28px; line-height: 1.2; letter-spacing: -0.01em; }
.fact-txt { margin-top: 12px; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.fact-txt.big { font-size: 18px; color: var(--sb-ink); }
.fact-src { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--sb-rule); font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }
.fact.conflict .fact-src { border-top-color: var(--sb-slate-rule); }
.fact.np .fact-src, .fact.claim .fact-src { border-top-color: var(--sb-dash); }
.frow { display: grid; grid-template-columns: 250px minmax(0, 1fr) auto; column-gap: 24px; padding: 16px 0; border-top: 1px solid var(--sb-rule-soft); align-items: start; }
.frow.first { border-top: 0; padding-top: 4px; }
.frow.conflict { background: var(--sb-slate-tint); margin: 0 -14px; padding-left: 14px; padding-right: 14px; border-radius: 10px; border-top-color: transparent; }
.frow-k { font: 500 15px/1.4 var(--sb-sans); color: var(--sb-muted); padding-top: 2px; }
.frow-v { font: 650 20px/1.3 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.005em; font-variant-numeric: lining-nums tabular-nums; }
.frow-v.mono { font: 500 17px/1.3 var(--sb-mono); }
.frow-m { margin-top: 6px; font: 400 13px/1.55 var(--sb-sans); color: var(--sb-muted); text-wrap: pretty; }
details { margin-top: 16px; border-top: 1px solid var(--sb-rule-soft); }
.fact.conflict details { border-top-color: var(--sb-slate-rule); }
.fact.np details, .fact.claim details { border-top-color: var(--sb-dash); }
summary { cursor: pointer; padding: 14px 0 4px 0; font: 600 14px/1.3 var(--sb-sans); color: var(--sb-ink); list-style: none; display: flex; align-items: center; gap: 8px; }
summary::-webkit-details-marker { display: none; }
summary::before { content: ""; width: 7px; height: 7px; border-right: 1.5px solid var(--sb-ink); border-bottom: 1.5px solid var(--sb-ink); transform: rotate(-45deg); margin-right: 2px; }
details[open] summary::before { transform: rotate(45deg); }
.ev { padding: 8px 0 6px 0; }
.ev-q { margin: 10px 0 6px 0; padding-left: 14px; border-left: 2px solid var(--sb-dash); font: 400 15px/1.6 var(--sb-sans); color: var(--sb-text); }
.ev-s { font: 400 13px/1.55 var(--sb-sans); color: var(--sb-muted); }
.twin { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 10px; }
.twin > div { background: #FFFFFF; border: 1px solid var(--sb-slate-rule); border-radius: 12px; padding: 16px 18px; }
.twin-k { font: 500 14px/1.4 var(--sb-sans); color: var(--sb-muted); }
table { border-collapse: collapse; width: 100%; margin-top: 14px; }
th { text-align: left; font: 500 13px/1.3 var(--sb-sans); color: var(--sb-muted); padding: 8px 12px 8px 0; border-bottom: 1px solid var(--sb-rule); }
td { font: 400 15px/1.45 var(--sb-sans); color: var(--sb-text); padding: 12px 12px 12px 0; border-bottom: 1px solid var(--sb-rule-soft); vertical-align: top; }
td.fig { font: 650 20px/1.2 var(--sb-serif); color: var(--sb-ink); white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
table.docs td.doc-name a { color: var(--sb-ink); text-decoration: none; border-bottom: 1px solid var(--sb-dash); }
table.docs td.doc-name a:hover { color: var(--sb-rust); border-bottom-color: var(--sb-rust); }
.unrev { margin-top: 22px; display: flex; gap: 14px; align-items: flex-start; padding: 14px 18px; border-radius: 12px; background: var(--sb-band); }
.unrev.on-band { background: var(--sb-paper); }
.unrev-t { font: 400 14px/1.6 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.unrev-t b { font-weight: 600; }
.claims-band { background: var(--sb-band); border-top: 1px dashed var(--sb-dash); border-bottom: 1px dashed var(--sb-dash); }
.claims-band > .wrap { padding-top: 40px; padding-bottom: 40px; }
.oq-list { margin-top: 22px; border-bottom: 1px solid var(--sb-rule); }
.oq { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 16px; padding: 18px 0; border-top: 1px solid var(--sb-rule); }
.oq-n { font: 650 20px/1.3 var(--sb-serif); color: var(--sb-rust); font-variant-numeric: lining-nums tabular-nums; }
.oq-t { font: 600 17px/1.4 var(--sb-sans); color: var(--sb-ink); }
.oq-r { margin-top: 6px; font: 400 15px/1.6 var(--sb-sans); color: var(--sb-muted); text-wrap: pretty; }
.break-band { margin-top: 36px; background: var(--sb-ink); }
.break-band .wrap { padding-top: 24px; padding-bottom: 24px; display: flex; align-items: center; gap: 28px; }
.break-band .k { flex-shrink: 0; font: 600 12px/1 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: #ADA196; }
.break-band .v { font: 400 15px/1.55 var(--sb-sans); color: #DDD4CC; }
.prose-band { background: #FFFFFF; border-bottom: 1px solid var(--sb-rule); }
.prose-band > .wrap { padding-top: 52px; padding-bottom: 52px; }
.prose-note { margin: 12px 0 0 0; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-muted); }
.prose-2 { margin-top: 26px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.prose-2 p { margin: 0; font: 400 18px/1.7 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.prose-2 > p:nth-of-type(2) { border-left: 2px solid var(--sb-rule); padding-left: 32px; }
.prose-2 > p:nth-of-type(n+3) { grid-column: 1 / -1; }
a.fig-ref { color: var(--sb-teal); text-decoration: underline; text-decoration-color: #8FA9B3; text-decoration-thickness: 2px; text-underline-offset: 5px; font-variant-numeric: lining-nums tabular-nums; }
a.fig-ref.is-conflict { color: var(--sb-slate); text-decoration-color: #93A6C6; }
a.fig-ref:hover { text-decoration-color: currentColor; }
.sponsor { margin-top: 52px; max-width: 924px; border: 2px solid #8F8F8F; padding: 18px 22px; background: #E9E9E9; font-family: system-ui, -apple-system, Arial, sans-serif; display: flex; gap: 22px; align-items: center; }
.sponsor .lab { flex-shrink: 0; font: 700 11px/1 system-ui, Arial, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: #FFFFFF; background: #5E5E5E; padding: 7px 9px; }
.sponsor .h { font: 700 17px/1.3 system-ui, Arial, sans-serif; color: #2B2B2B; }
.sponsor .p { margin-top: 4px; font: 400 14px/1.45 system-ui, Arial, sans-serif; color: #4F4F4F; }
.sponsor .p a { color: #4F4F4F; }
.sponsor .l { flex-shrink: 0; font: 600 14px/1 system-ui, Arial, sans-serif; color: #2B2B2B; text-decoration: none; border: 1.5px solid #5E5E5E; padding: 13px 16px; }
.rec-method { padding-top: 48px; padding-bottom: 52px; }
.mh-card { background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; padding: 28px 30px; }
.mh-card .body { margin-top: 14px; font: 400 16px/1.65 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.method-foot { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--sb-rule); display: flex; gap: 12px 28px; flex-wrap: wrap; align-items: baseline; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-muted); }
.method-foot b { font-weight: 600; color: var(--sb-ink); }
.method-foot a { font-weight: 600; }

/* ---------- ordinary pages, guides, What Changed ---------- */
.page-body { padding-top: 48px; padding-bottom: 64px; }
.page-body h1 { margin: 0; font: 600 44px/1.1 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.02em; }
.page-body .entry { max-width: 760px; }
.page-body .entry.full { max-width: none; }
.page-body .entry p, .page-body .entry li { font: 400 18px/1.7 var(--sb-sans); color: var(--sb-text); }
.page-body .entry h2 { font: 600 28px/1.2 var(--sb-serif); color: var(--sb-ink); margin: 36px 0 0 0; }
.page-body .entry h3 { font: 600 22px/1.3 var(--sb-serif); color: var(--sb-ink); margin: 28px 0 0 0; }
.page-body .entry blockquote { margin: 24px 0; padding-left: 18px; border-left: 2px solid var(--sb-dash); }
.page-body .entry img { max-width: 100%; height: auto; }
.page-body .entry .sb-summary { margin: 28px 0 8px; padding: 20px 24px; background: var(--sb-teal-tint); border-radius: 14px; }
.page-body .entry .sb-summary p.sb-summary-k { margin: 0 0 6px; font: 700 13px/1.4 var(--sb-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sb-teal); }
.page-body .entry .sb-summary ul { margin: 0; padding-left: 20px; }
.page-body .entry .sb-summary li { font-size: 17px; margin: 6px 0; }
.post-meta { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--sb-muted); }
.post-single .post-meta { margin-bottom: 14px; }
.post-list { margin-top: 28px; max-width: 760px; }
.post-item { padding: 26px 0; border-top: 1px solid var(--sb-rule); }
.post-item h2 { margin: 10px 0 0 0; font: 600 28px/1.2 var(--sb-serif); letter-spacing: -0.01em; }
.post-item h2 a { color: var(--sb-ink); text-decoration: none; }
.post-item h2 a:hover { color: var(--sb-rust); }
.post-excerpt p { margin: 10px 0 0 0; font: 400 17px/1.65 var(--sb-sans); color: var(--sb-text); }
.post-pages { margin-top: 28px; font: 600 15px/1 var(--sb-sans); }
.post-pages .nav-links { display: flex; gap: 16px; }
.post-back { margin-top: 40px; font: 600 15px/1 var(--sb-sans); }
.chg-lead { margin: 14px 0 0 0; max-width: 760px; font: 400 18px/1.6 var(--sb-sans); color: var(--sb-text); }
.chg-filter { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font: 500 14px/1 var(--sb-sans); color: var(--sb-text); text-decoration: none; padding: 10px 14px; border: 1px solid var(--sb-rule); border-radius: 999px; background: #FFFFFF; }
.chip:hover { color: var(--sb-ink); border-color: var(--sb-ink); }
.chip.on { background: var(--sb-ink); border-color: var(--sb-ink); color: var(--sb-paper); }
.chg-toggle { font: 600 14px/1.3 var(--sb-sans); }
.chg-count { margin-top: 22px; font: 500 13px/1.3 var(--sb-sans); color: var(--sb-muted); }
.chg-log { margin-top: 10px; border-top: 1px solid var(--sb-rule); }
.chg-row { display: grid; grid-template-columns: 150px 160px minmax(0, 1fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--sb-rule); }
.chg-row .d { font: 600 14px/1.5 var(--sb-sans); color: var(--sb-muted); }
.chg-row .p a { font: 650 17px/1.4 var(--sb-serif); color: var(--sb-ink); text-decoration: none; }
.chg-row .p a:hover { color: var(--sb-rust); }
.chg-row .t { margin-top: 8px; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-text); }
.chg-row .t b { font-weight: 600; }
.chg-kind { display: inline-block; font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--sb-muted); }
.chg-delta { color: var(--sb-muted); }
.chg-empty { margin: 22px 0 0 0; font: 400 17px/1.6 var(--sb-sans); color: var(--sb-text); }
.chg-pages { margin-top: 26px; display: flex; gap: 20px; align-items: center; font: 600 15px/1 var(--sb-sans); }
.chg-pages span { font-weight: 500; color: var(--sb-muted); }

/* ---------- footer (locked) ---------- */
.site-foot { background: var(--sb-ink); padding: 56px 0; }
.foot-cols { display: flex; gap: 60px; align-items: flex-start; }
.foot-about { width: 320px; flex-shrink: 0; }
.foot-about .sb-wordmark { color: #FFFFFF; font-size: 22px; }
.foot-about .sb-wordmark span { color: #F0A07C; }
.foot-about p { margin: 14px 0 0 0; font: 400 15px/1.6 var(--sb-sans); color: #DDD4CC; }
.foot-links { flex-grow: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.foot-links div { display: flex; flex-direction: column; gap: 12px; }
.foot-links h4 { margin: 0; font: 600 12px/1 var(--sb-sans); letter-spacing: 0.12em; text-transform: uppercase; color: #ADA196; }
.foot-links a { font: 400 15px/1.3 var(--sb-sans); text-decoration: none; color: #DDD4CC; }
.foot-links a:hover { color: #FFFFFF; }
.foot-bottom { margin-top: 44px; padding-top: 22px; border-top: 1px solid #3A322D; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; font: 400 13px/1.5 var(--sb-sans); color: #ADA196; }
.foot-bottom a { color: #ADA196; text-decoration: none; }
.foot-bottom a:hover { color: #FFFFFF; }
.site-foot :focus-visible { outline-color: #F0A07C; }
.foot-note { margin-top: 20px; }

/* ---------- tablet ---------- */
@media (max-width: 1080px) {
  .reg-strip { grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .reg-stat { grid-column: span 2; }
  .reg-stat:nth-child(n+4) { grid-column: span 3; }
  .site-head .wrap { gap: 28px; }
  .site-nav { gap: 20px; }
  .hp-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hp-hero .wrap { grid-template-columns: 1fr; gap: 36px; }
  .hp-h1 { font-size: 52px; }
  .recbar-links a { padding: 10px 10px; font-size: 14px; }
  .stickybar .site-nav.sm { display: none; }
}

/* ---------- phone ---------- */
@media (max-width: 760px) {
  :root { --sb-bar: 56px; }
  .wrap { padding: 0 16px; }
  .site-head .wrap { height: 68px; gap: 12px; justify-content: space-between; position: relative; }
  .sb-wordmark { font-size: 28px; }
  .head-brief { display: none; }
  .nav-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--sb-ink); border-radius: 999px; background: #FFFFFF; font: 600 14px/1 var(--sb-sans); color: var(--sb-ink); cursor: pointer; }
  .nav-toggle svg { width: 18px; height: 18px; }
  .site-head .site-nav { display: none; position: absolute; left: 0; right: 0; top: 68px; z-index: 60; flex-direction: column; align-items: stretch; gap: 0; background: #FFFFFF; border-bottom: 1px solid var(--sb-rule); box-shadow: 0 10px 20px -14px rgba(27,22,19,.4); padding: 4px 16px 12px; }
  .site-head .site-nav.is-open { display: flex; }
  .site-head .site-nav a { padding: 14px 0; border-bottom: 1px solid var(--sb-rule-soft); font-size: 16px; }
  .site-head .site-nav a.is-current { border-bottom-color: var(--sb-rust); }
  .site-head .site-nav .nav-brief { display: block; font-weight: 600; color: var(--sb-rust); border-bottom: 0; }
  .trust .wrap { text-align: left; }
  .stickybar .site-nav.sm, .stickybar .sb-btn-ink.sm { display: none; }
  .stickybar .wrap, .recbar .wrap { gap: 12px; justify-content: space-between; }
  .sb-wordmark.sm { font-size: 22px; }
  .recbar .sb-wordmark.sm { display: none; }
  .recbar-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 44px; padding: 0 16px; border: 1px solid var(--sb-rule); border-radius: 12px; background: #FFFFFF; font: 600 15px/1 var(--sb-sans); color: var(--sb-ink); cursor: pointer; }
  .recbar-toggle svg { width: 14px; height: 14px; }
  .recbar-links { display: none; position: absolute; left: 0; right: 0; top: var(--sb-bar); flex-direction: column; align-items: stretch; gap: 0; background: #FFFFFF; border-bottom: 1px solid var(--sb-rule); box-shadow: 0 10px 20px -14px rgba(27,22,19,.4); padding: 4px 16px 12px; }
  .recbar.list-open .recbar-links { display: flex; }
  .recbar-links a { border-radius: 10px; padding: 14px 12px; font-size: 16px; }

  .hp-hero { padding: 36px 0 32px 0; }
  .hp-h1 { font-size: 38px; }
  .hp-lead { font-size: 17px; }
  .hp-sec { padding: 48px 0; }
  .hp-h2 { font-size: 30px; }
  .hp-grid4 { grid-template-columns: 1fr; }
  .hp-odds { grid-template-columns: 1fr; gap: 20px; }
  .hp-odds .lead { font-size: 17px; }
  .hp-odds .lead.side { border-left: 0; padding-left: 0; border-top: 2px solid var(--sb-rule); padding-top: 20px; }
  .hp-claim { padding: 22px; }
  .hp-claim .v { font-size: 46px; }
  /* 0.4.53: on phones the status sits on its own line under the name, so a row with an "in conflict"
     note no longer squeezes the platform name into the You keep figure (FeetFinder, OnlyFeet). */
  .hp-dir-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 14px 18px; }
  .hp-dir-row .d.kind, .hp-dir-row .d.date, .hp-dir-row.head { display: none; }
  .hp-dir-row .nm, .hp-dir-row .op { overflow-wrap: anywhere; }
  .hp-dir-row .d.keep { text-align: right; align-self: start; padding-top: 1px; }
  .hp-dir-row > div:nth-child(4) { grid-column: 1 / -1; }
  .reg-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; border-radius: 14px; }
  .reg-stat, .reg-stat:nth-child(n+4) { grid-column: auto; padding: 14px 14px 12px 14px; gap: 6px; }
  .reg-stat:first-child { grid-column: 1 / -1; }
  .reg-stat-v { font-size: 22px; }
  .reg-stat-v.is-date { font-size: 20px; line-height: 1.1; }
  .reg-faq { margin-top: 40px; padding-top: 28px; }
  .reg-faq-grid { columns: 1; }
  .reg-cite { margin-top: 40px; padding-top: 28px; }
  .reg-cite h2 { font-size: 26px; }
  .reg-cite-grid { grid-template-columns: 1fr; gap: 14px; }
  .cite-card { padding: 18px; }
  .cite-quote { font-size: 17px; }
  .rec-cite { padding-bottom: 44px; }
  .reg-faq h2 { font-size: 26px; }
  .hp-news { grid-template-columns: 1fr; gap: 20px; }
  .sb-btn-ink, .sb-btn-line, .sb-home .wp-block-button__link { padding: 0 18px; font-size: 14px; }

  .group { padding: 30px 0 26px 0; }
  .sec-h { font-size: 27px; }
  .sec-lead { font-size: 16px; }
  .fact { padding: 20px 18px 16px 18px; border-radius: 14px; }
  .fact-val { font-size: 38px; }
  .fact-val.words { font-size: 24px; }
  .frow { grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 6px; padding: 14px 0; }
  .frow > div:nth-child(1) { grid-column: 1 / 2; }
  .frow > div:nth-child(3) { grid-column: 2 / 3; grid-row: 1 / 2; }
  .frow > div:nth-child(2) { grid-column: 1 / 3; }
  .frow.conflict { margin: 0 -10px; padding-left: 10px; padding-right: 10px; }
  .twin { grid-template-columns: 1fr; gap: 10px; }
  .h1row { display: block; }
  .h1row h1 { font-size: 40px; }
  .outbox { text-align: left; margin-top: 18px; }
  .outbox .out { width: 100%; }
  .hdr-cards { grid-template-columns: 1fr; }
  table.stack thead { display: none; }
  table.stack tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--sb-rule-soft); }
  table.stack td { display: grid; grid-template-columns: 108px minmax(0, 1fr); column-gap: 12px; padding: 3px 0; border: 0; }
  table.stack td::before { content: attr(data-label); font: 500 13px/1.45 var(--sb-sans); color: var(--sb-muted); }
  table.stack td.fig { white-space: normal; }
  table.docs tr { padding: 10px 0; }
  table.docs td { display: inline; padding: 0; font-size: 14px; color: var(--sb-muted); }
  table.docs td::before { content: none; }
  table.docs td.doc-name { display: block; margin-bottom: 4px; font-size: 15px; color: var(--sb-ink); }
  table.docs td:nth-child(2)::before { content: "Took effect "; font: inherit; color: inherit; }
  table.docs td:nth-child(3)::before { content: " \00B7  Readable without an account: "; font: inherit; color: inherit; }
  .unrev { display: block; }
  .unrev-t { margin-top: 10px; }
  .oq { grid-template-columns: 26px minmax(0, 1fr); }
  .break-band .wrap { display: block; padding-top: 20px; padding-bottom: 20px; }
  .break-band .k { margin-bottom: 10px; }
  .prose-2 { grid-template-columns: 1fr; gap: 20px; }
  .prose-2 p { font-size: 17px; }
  .prose-2 > p:nth-of-type(2) { border-left: 0; padding-left: 0; border-top: 2px solid var(--sb-rule); padding-top: 20px; }
  .sponsor { display: block; padding: 16px; }
  .sponsor > * { margin-top: 12px; display: inline-block; }
  .sponsor > *:first-child { margin-top: 0; }
  .method-foot { display: block; }
  .method-foot > * { display: block; margin-top: 10px; }

  .page-body h1 { font-size: 34px; }
  .post-item h2 { font-size: 24px; }
  .chg-row { grid-template-columns: 1fr; gap: 4px; }
  .chg-filter { display: block; }
  .chg-toggle { display: inline-block; margin-top: 14px; }

  .foot-cols { display: block; }
  .foot-about { width: auto; margin-bottom: 28px; }
  .foot-links { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* ---------- How We Check (/method/), 0.4.8 ---------- */
.m-page .wrap { padding-top: 48px; padding-bottom: 72px; }
.m-eyebrow { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--sb-muted); }
.m-intro h1 { margin: 14px 0 0 0; font: 600 44px/1.1 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.02em; }
.m-lede { margin: 14px 0 0 0; font: 400 19px/1.6 var(--sb-sans); color: var(--sb-text); }
.m-hero { margin-top: 32px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.m-rule { grid-column: span 3; padding: 32px 34px; background: var(--sb-ink); border-radius: 18px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.m-rule-k { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: #E7B49C; }
.m-rule-t { margin: 0; font: 600 28px/1.3 var(--sb-serif); color: #FFFFFF; letter-spacing: -0.01em; }
.m-rule-x { margin: 0; font: 400 15px/1.6 var(--sb-sans); color: #D9CFC4; }
.m-facts { grid-column: span 2; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--sb-rule); border: 1px solid var(--sb-rule); border-radius: 18px; overflow: hidden; }
.m-facts > div, .m-keep > div { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 18px 22px; background: var(--sb-card); }
.m-facts strong { font: 600 24px/1.1 var(--sb-serif); color: var(--sb-ink); }
.m-facts span, .m-keep span { font: 400 14px/1.45 var(--sb-sans); color: var(--sb-muted); }
.m-jump { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.m-jump > span { margin-right: 4px; font: 600 13px/1 var(--sb-sans); color: var(--sb-muted); }
.m-jump a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--sb-dash); border-radius: 999px; background: #FFFFFF; font: 400 14px/1 var(--sb-sans); color: var(--sb-ink); text-decoration: none; }
.m-jump a:hover { border-color: var(--sb-ink); }
.m-sec { margin-top: 56px; padding-top: 40px; border-top: 2px solid var(--sb-ink); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; scroll-margin-top: calc(var(--sb-bar) + 16px); }
.m-side { display: flex; flex-direction: column; gap: 10px; }
.m-num { font: 600 14px/1 var(--sb-serif); color: var(--sb-rust); }
.m-side h2 { margin: 0; font: 600 30px/1.15 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.015em; }
.m-side p { margin: 0; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-muted); }
.m-body { grid-column: span 3; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.m-lead { margin: 0; font: 400 18px/1.65 var(--sb-sans); color: var(--sb-text); }
.m-note { margin: 0; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-text); }
.m-grid2, .m-grid3, .m-grid5 { display: grid; gap: 16px; }
.m-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.m-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.m-grid5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.m-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; }
.m-grid5 .m-card { padding: 18px; border-radius: 14px; }
.m-card.is-shade { background: var(--sb-band); }
.m-card.is-teal { background: var(--sb-teal-tint); border-color: var(--sb-teal-tint); }
.m-card h3 { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 600 20px/1.25 var(--sb-serif); color: var(--sb-ink); }
.m-grid5 .m-card h3 { font-size: 19px; }
.m-card p { margin: 0; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); }
.m-card > p + .r-list { margin-top: 8px; }
.m-grid5 .m-card p { font-size: 14px; line-height: 1.5; }
.m-card.is-teal p, .m-card.is-shade p { font-size: 16px; line-height: 1.6; color: var(--sb-ink); }
.m-k { font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sb-muted); }
.m-k.is-teal { color: var(--sb-teal); }
.m-k.is-rust { color: var(--sb-rust); }
.m-keep-h { font: 600 14px/1.3 var(--sb-sans); color: var(--sb-ink); margin-bottom: -6px; }
.m-keep { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--sb-rule); border: 1px solid var(--sb-rule); border-radius: 14px; overflow: hidden; }
.m-keep > div { justify-content: flex-start; padding: 16px 18px; }
.m-keep strong { font: 600 15px/1.3 var(--sb-sans); color: var(--sb-ink); }
.m-table { padding: 4px 24px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; }
.m-row { display: grid; grid-template-columns: 230px minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--sb-rule-soft); font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); }
.m-row:last-child { border-bottom: 0; }
.m-row.m-head { padding: 14px 0; border-bottom-color: var(--sb-rule); font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sb-muted); }
.m-todo { color: var(--sb-muted); }
.m-close { margin: 56px 0 0 0; padding-top: 28px; border-top: 1px solid var(--sb-rule); font: 400 16px/1.6 var(--sb-sans); color: var(--sb-muted); }
.m-page a:not(.pill) { color: var(--sb-rust); }
.m-page .m-jump a { color: var(--sb-ink); }
@media (max-width: 1080px) {
  .m-hero { grid-template-columns: 1fr; }
  .m-rule, .m-facts { grid-column: auto; }
  .m-sec { grid-template-columns: 1fr; gap: 20px; }
  .m-body { grid-column: auto; }
  .m-grid5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .m-page .wrap { padding-top: 32px; padding-bottom: 56px; }
  .m-intro h1 { font-size: 34px; }
  .m-lede { font-size: 17px; }
  .m-rule { padding: 24px 22px; }
  .m-rule-t { font-size: 22px; }
  .m-grid2, .m-grid3, .m-grid5, .m-keep { grid-template-columns: 1fr; }
  .m-sec { margin-top: 40px; padding-top: 28px; }
  .m-side h2 { font-size: 26px; }
  .m-table { padding: 4px 18px; }
  .m-row { grid-template-columns: 1fr; gap: 6px; }
  .m-row.m-head { display: none; }
}
.m-stat { font: 600 40px/1 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.02em; }
.m-card p.m-src { font-size: 13px; line-height: 1.5; color: var(--sb-muted); }
@media (max-width: 760px) { .m-stat { font-size: 34px; } }

/* Staying Safe (0.4.13): numbered steps and the sources list, on the How We Check components. */
.s-steps { margin: 0; padding: 0; list-style: none; counter-reset: sstep; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.s-steps li { counter-increment: sstep; position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 22px 70px; background: var(--sb-ink); border-radius: 16px; }
.s-steps li::before { content: counter(sstep); position: absolute; left: 22px; top: 20px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--sb-rust); font: 600 17px/1 var(--sb-serif); color: #FFFFFF; }
.s-steps strong { font: 600 19px/1.25 var(--sb-serif); color: #FFFFFF; }
.s-steps span { font: 400 15px/1.55 var(--sb-sans); color: #D9CFC4; }
.s-page .m-row strong { font-weight: 600; color: var(--sb-ink); }
.s-sources { margin: 0; padding: 4px 24px; list-style: none; counter-reset: ssrc; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; }
.s-sources li { counter-increment: ssrc; display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 8px; row-gap: 2px; padding: 14px 0; border-bottom: 1px solid var(--sb-rule-soft); }
.s-sources li:last-child { border-bottom: 0; }
.s-sources li::before { content: counter(ssrc, decimal-leading-zero); grid-row: span 2; font: 600 14px/1.6 var(--sb-serif); color: var(--sb-rust); }
.s-sources a { font: 600 16px/1.45 var(--sb-sans); text-underline-offset: 3px; }
.s-sources span { font: 400 14px/1.5 var(--sb-sans); color: var(--sb-muted); }
@media (max-width: 1080px) { .s-steps { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .s-steps li { padding: 20px 20px 20px 64px; } .s-sources { padding: 4px 18px; } }

/* Is This Platform Real? (0.4.14): tick and cross lists in cards, and the closing ask band. */
.r-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.r-list li { position: relative; padding-left: 28px; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); }
.m-card.is-teal .r-list li, .m-card.is-shade .r-list li { font-size: 16px; color: var(--sb-ink); }
.r-list li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--sb-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.6L13 6.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.r-list.is-dont li::before { background: var(--sb-rust) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M6 6l6 6M12 6l-6 6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.r-ask { margin-top: 56px; padding: 30px 34px; background: var(--sb-ink); border-radius: 18px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; }
.r-ask p { margin: 8px 0 0 0; font: 600 22px/1.35 var(--sb-serif); color: #FFFFFF; }
.r-ask p.r-ask-x { margin: 0; font: 400 15px/1.55 var(--sb-sans); color: #D9CFC4; }
.m-page .r-ask a { color: #E7B49C; }
@media (max-width: 760px) { .r-ask { padding: 24px 22px; } .r-ask p { font-size: 19px; } }

/* Contact and Corrections (0.4.15). */
.c-grid { margin-top: 32px; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 20px; align-items: stretch; }
.c-reach { position: relative; overflow: hidden; box-sizing: border-box; padding: 32px 34px; background: var(--sb-ink); border-radius: 18px; display: flex; flex-direction: column; gap: 16px; }
.c-reach > * { position: relative; z-index: 1; }
.c-prints { position: absolute; z-index: 0; left: 45%; top: 52%; width: 88%; max-width: 380px; height: auto; transform: translate(-50%, -50%); fill: #E7B49C; opacity: .15; pointer-events: none; }
.c-reach p.c-desk { margin: auto 0 0; padding-top: 24px; font: 400 20px/1.55 var(--sb-serif); color: #FFFFFF; }
.c-reach p.c-mail { margin: 0; font: 600 30px/1.2 var(--sb-serif); letter-spacing: -0.01em; overflow-wrap: anywhere; }
.m-page .c-reach a { color: #FFFFFF; text-decoration-color: #E7B49C; text-underline-offset: 5px; }
.c-why { padding: 28px 30px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 18px; display: flex; flex-direction: column; gap: 6px; }
.c-list { margin: 0; padding: 0; list-style: none; }
.c-list li { display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--sb-rule-soft); }
.c-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.c-list strong { font: 600 19px/1.3 var(--sb-serif); color: var(--sb-ink); }
.c-list span { font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); }
.c-band { margin-top: 56px; padding-top: 40px; border-top: 2px solid var(--sb-ink); display: flex; flex-direction: column; gap: 18px; }
.c-steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: cstep; }
.c-steps li { counter-increment: cstep; position: relative; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; padding: 24px 26px 24px 78px; }
.c-steps li::before { content: counter(cstep); position: absolute; left: 24px; top: 22px; width: 38px; height: 38px; border-radius: 50%; background: var(--sb-teal-tint); color: var(--sb-teal); font: 600 19px/38px var(--sb-serif); text-align: center; }
.c-steps strong { display: block; font: 600 22px/1.25 var(--sb-serif); color: var(--sb-ink); }
.c-steps p { margin: 8px 0 0; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-text); }
.c-two { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 20px; }
.c-cant { background: var(--sb-band); border: 1px solid var(--sb-rule); border-radius: 16px; padding: 24px 26px; }
.c-urgent { background: #FFFFFF; border: 1.5px solid var(--sb-ink); border-radius: 16px; padding: 24px 26px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.c-cant strong, .c-urgent strong { display: block; font: 600 22px/1.25 var(--sb-serif); color: var(--sb-ink); }
.c-cant p, .c-urgent p { margin: 8px 0 0; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-text); }
.c-urgent .sb-btn-line { align-self: flex-start; min-height: 44px; }
.m-page .c-urgent a.sb-btn-line { color: var(--sb-ink); }
.c-empty { display: flex; align-items: center; gap: 24px; padding: 26px 28px; background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; }
.c-empty-n { flex: none; width: 72px; height: 72px; border-radius: 50%; background: var(--sb-teal-tint); display: flex; align-items: center; justify-content: center; font: 600 34px/1 var(--sb-serif); color: var(--sb-teal); }
.c-empty > div:last-child { display: flex; flex-direction: column; gap: 4px; }
.c-empty strong { font: 600 20px/1.3 var(--sb-serif); color: var(--sb-ink); }
.c-empty span { font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); }
@media (max-width: 1080px) { .c-grid, .c-steps, .c-two { grid-template-columns: 1fr; } .c-reach { min-height: 420px; } }
@media (max-width: 760px) { .c-reach, .c-why { padding: 24px 22px; } .c-reach p.c-mail { font-size: 24px; } .c-reach { min-height: 400px; } .c-prints { width: 78%; } .c-reach p.c-desk { font-size: 18px; } .c-steps li { padding: 20px 20px 20px 70px; } .c-empty { flex-direction: column; align-items: flex-start; } }

/* Policy pages (0.4.16): Privacy Policy, Terms of Use, Accessibility. Full width, a proper
   short-version callout, and numbered-feel section rules like the theme-drawn pages. */
.page-body.is-legal h1 { margin-top: 14px; }
.page-body .entry.legal > p:first-child { margin: 12px 0 0; font: 400 15px/1.5 var(--sb-sans); color: var(--sb-muted); }
.page-body .entry.legal > p:first-child strong { font-weight: 600; color: var(--sb-muted); }
.page-body .entry.legal .sb-summary { margin: 28px 0 12px; padding: 28px 32px 30px; border: 1px solid #CFDCE0; border-radius: 18px; }
.page-body .entry.legal .sb-summary p.sb-summary-k { margin: 0 0 16px; font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.16em; }
.page-body .entry.legal .sb-summary ul { padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 40px; }
.page-body .entry.legal .sb-summary li { position: relative; margin: 0; padding-left: 30px; font: 400 17px/1.55 var(--sb-sans); color: var(--sb-ink); }
.page-body .entry.legal .sb-summary li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--sb-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.6L13 6.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.page-body .entry.legal h2 { margin: 48px 0 0 0; padding-top: 28px; border-top: 2px solid var(--sb-ink); font-size: 30px; letter-spacing: -0.015em; }
.page-body .entry.legal h3 { margin-top: 26px; font-size: 21px; }
.page-body .entry.legal p, .page-body .entry.legal li { font-size: 17px; }
.page-body .entry.legal ul { padding-left: 22px; }
.page-body .entry.legal li { margin: 8px 0; }
.page-body .entry.legal a { color: var(--sb-rust); }
@media (max-width: 760px) {
  .page-body .entry.legal .sb-summary { padding: 22px 20px 24px; }
  .page-body .entry.legal .sb-summary ul { grid-template-columns: 1fr; }
  .page-body .entry.legal h2 { font-size: 25px; margin-top: 40px; padding-top: 22px; }
}

/* Sponsor banner (0.4.18): designed sponsor unit below "Reading this record". Sans type only,
   so it never reads as a finding. The light that circles the button is a conic gradient on a
   ring; it stops for readers who ask for reduced motion. */
@property --spb-a { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes spb-orbit { to { --spb-a: 360deg; } }
.spb { position: relative; overflow: hidden; margin-top: 44px; border-radius: 20px; background: var(--sb-ink); color: #FFFFFF; padding: 28px 40px 28px 32px; display: grid; grid-template-columns: auto 1px minmax(0, 1fr) auto; gap: 0 32px; align-items: center; font-family: var(--sb-sans); isolation: isolate; }
.spb::before { content: ""; position: absolute; right: -120px; top: -170px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(121,69,229,0.40), rgba(121,69,229,0) 65%); z-index: -1; pointer-events: none; }
.spb::after { content: ""; position: absolute; left: -90px; bottom: -150px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(255,51,204,0.16), rgba(255,51,204,0) 65%); z-index: -1; pointer-events: none; }
.spb-logo { display: block; }
.spb-logo img { display: block; width: 150px; height: auto; }
.spb-rule { align-self: stretch; background: rgba(255,255,255,0.14); }
.spb-copy { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.prose-band .spb p.spb-h, .spb p.spb-h { margin: 0; font: 700 27px/1.2 var(--sb-sans); letter-spacing: -0.015em; color: #FFFFFF; }
.spb p.spb-h .spb-s + .spb-s { margin-left: 0.32em; }
.spb-pts { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, max-content); gap: 9px 28px; }
.prose-band .spb-pts li, .spb-pts li { margin: 0; display: flex; gap: 8px; align-items: flex-start; font: 500 14px/1.45 var(--sb-sans); color: #D9CFC4; }
.spb-pts svg { flex: none; margin-top: 2px; }
.spb-go { display: flex; align-items: center; }
.spb-orbit { position: relative; display: inline-flex; border-radius: 999px; padding: 2px; isolation: isolate; }
.spb-orbit::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 2px; z-index: -1;
  background: conic-gradient(from var(--spb-a), transparent 0deg, transparent 318deg, rgba(255,120,220,0.35) 330deg, #FFB8EC 348deg, #FFFFFF 356deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: spb-orbit 3.2s linear infinite; }
.spb-orbit::after { content: ""; position: absolute; inset: -6px; border-radius: inherit; z-index: -2; filter: blur(8px);
  background: conic-gradient(from var(--spb-a), transparent 0deg, transparent 330deg, rgba(255,77,210,0.55) 352deg, transparent 360deg);
  animation: spb-orbit 3.2s linear infinite; }
.prose-band .spb a.spb-cta, .spb a.spb-cta { display: inline-flex; align-items: center; gap: 12px; min-height: 60px; padding: 0 34px; border-radius: 999px; background: #7945E5; color: #FFFFFF; font: 700 18px/1 var(--sb-sans); white-space: nowrap; text-decoration: none; box-shadow: 0 8px 24px rgba(121,69,229,0.35); transition: background 0.2s; }
.spb a.spb-cta:hover { background: #6A36D6; }
.spb a.spb-cta svg { transition: transform 0.2s; }
.spb a.spb-cta:hover svg { transform: translateX(3px); }
.spb a.spb-cta:focus-visible { outline: 3px solid #FFB8EC; outline-offset: 4px; }
.prose-band p.spb-note, p.spb-note { margin: 14px 0 0 0; font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); text-align: center; } /* centered from 0.4.56 */
p.spb-note a { color: var(--sb-rust); }
/* 0.4.52: the banner under the registry list on the Platforms page, after a labeled break. */
.spb-dir { margin-top: 36px; }
.spb-break { display: flex; align-items: center; gap: 16px; font: 600 11px/1.3 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--sb-muted); }
.spb-break::before, .spb-break::after { content: ""; flex: 1; height: 1px; background: var(--sb-dash); }
.spb-dir .spb { margin-top: 18px; }
@media (max-width: 640px) { .spb-break { font-size: 10px; letter-spacing: 0.12em; gap: 10px; } .spb-break span { text-align: center; } }
/* 0.4.56: the banner on the eight Ways to Sell pages, between "Questions people ask" and Sources.
   0.4.57: it sits inside the article body, so the body's paragraph, list and link styles are reset
   here to match the banner on the FeetFinder record exactly. */
.spb-ways { margin: 56px 0 48px; }
.post-single .entry .spb-ways .spb { margin-top: 0; }
.post-single .entry .spb-ways .spb-pts { margin: 0; padding: 0; list-style: none; }
.post-single .entry .spb-ways .spb-pts li { margin: 0; padding: 0; border: 0; font: 500 14px/1.45 var(--sb-sans); color: #D9CFC4; }
.post-single .entry .spb-ways .spb-pts li span { font: inherit; color: inherit; }
.post-single .entry .spb-ways .spb-pts li::before { content: none; }
.post-single .entry .spb-ways a.spb-logo { color: inherit; text-decoration: none; }
.post-single .entry .spb-ways a.spb-cta { color: #FFFFFF; text-decoration: none; }
.post-single .entry .spb-ways p.spb-note { margin: 14px 0 0 0; font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); text-align: center; }
.post-single .entry .spb-ways p.spb-note a { color: var(--sb-rust); text-decoration: underline; text-decoration-thickness: auto; text-decoration-color: currentColor; text-underline-offset: auto; }
.post-single .entry .spb-ways a[target="_blank"]::after { content: none; }
@media (prefers-reduced-motion: reduce) { .spb-orbit::before, .spb-orbit::after { animation: none; } }
@media (max-width: 1200px) {
  .spb { grid-template-columns: auto 1px minmax(0, 1fr); row-gap: 22px; }
  .spb-logo { grid-column: 1; grid-row: 1 / span 2; }
  .spb-rule { grid-column: 2; grid-row: 1 / span 2; }
  .spb-copy { grid-column: 3; grid-row: 1; }
  .spb-go { grid-column: 3; grid-row: 2; }
  .spb-pts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .spb { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 24px 20px; border-radius: 18px; }
  .spb-rule { display: none; }
  .spb p.spb-h .spb-s + .spb-s { margin-left: 0; }
  .spb-logo img { width: 118px; }
  .prose-band .spb p.spb-h, .spb p.spb-h { font-size: 23px; }
  .spb-pts { grid-template-columns: 1fr; gap: 8px; }
  .spb-go, .spb-orbit { display: flex; }
  .spb-orbit { flex: 1; margin-top: 4px; }
  .prose-band .spb a.spb-cta, .spb a.spb-cta { flex: 1; justify-content: center; }
}

/* ---------- guides hub (0.4.21) ---------- */
.gd-hero { padding: 64px 0 56px; background: #FFFFFF; border-bottom: 1px solid var(--sb-rule); }
.gd-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 72px; align-items: start; }
.gd-h1 { margin: 20px 0 0; font: 600 60px/1.04 var(--sb-serif); letter-spacing: -0.025em; color: var(--sb-ink); text-wrap: balance; }
.gd-lead { margin: 22px 0 0; max-width: 620px; font: 400 19px/1.6 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.gd-ctas { margin: 28px 0 0; display: flex; gap: 12px; flex-wrap: wrap; }
.gd-start { background: var(--sb-paper); border: 1px solid var(--sb-rule); border-radius: 18px; padding: 28px 30px; }
.gd-start-k { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gd-start-h { margin: 12px 0 0; font: 650 28px/1.2 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.01em; }
.gd-start-h a { color: var(--sb-ink); text-decoration: none; }
.gd-start-h a:hover { color: var(--sb-rust); }
.gd-start-p { margin: 12px 0 0; font: 400 15px/1.6 var(--sb-sans); color: var(--sb-text); }
.gd-start-m { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--sb-rule); font: 400 13px/1.55 var(--sb-sans); color: var(--sb-muted); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.gd-start-m a { font-weight: 600; }
.gd-quick { margin: 14px 0 0; background: #FFFFFF; border: 1.5px solid var(--sb-ink); border-radius: 18px; padding: 20px 24px; }
.gd-quick-h { margin: 0; font: 650 18px/1.3 var(--sb-serif); color: var(--sb-ink); }
.gd-quick-p { margin: 4px 0 0; font: 400 14px/1.5 var(--sb-sans); color: var(--sb-muted); }

.gd-sec { padding: 64px 0; background: var(--sb-paper); }
.gd-sec.white { background: #FFFFFF; }
.sb-guides .hp-sub.full { max-width: none; }

.gd-stages { margin: 36px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto auto auto auto; gap: 16px; }
.gd-st { background: #FFFFFF; border: 1px solid var(--sb-rule); border-radius: 16px; padding: 22px 24px 20px; box-sizing: border-box; display: grid; grid-template-rows: subgrid; grid-row: span 5; text-decoration: none; color: var(--sb-text); transition: border-color .15s, box-shadow .15s; }
.gd-st:hover { border-color: var(--sb-ink); color: var(--sb-text); }
.gd-st[aria-pressed="true"] { border-color: var(--sb-ink); box-shadow: 0 0 0 1px var(--sb-ink), 0 0 0 4px var(--sb-band); }
.gd-st-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gd-st-num { font: 650 20px/1 var(--sb-serif); color: var(--sb-rust); }
.gd-st-cnt { font: 500 12px/1 var(--sb-sans); color: var(--sb-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.gd-st-name { margin: 14px 0 0; font: 650 24px/1.15 var(--sb-serif); color: var(--sb-ink); }
.gd-st-q { margin: 8px 0 0; font: 400 15px/1.55 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; align-self: start; }
.gd-st-money { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--sb-rule-soft); font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); align-self: start; }
.gd-st-money b { font-weight: 600; color: var(--sb-text); }
.gd-st-go { margin: 12px 0 0; font: 600 14px/1.3 var(--sb-sans); color: var(--sb-rust); }
.gd-st[aria-pressed="true"] .gd-st-go::after { content: " · showing"; color: var(--sb-muted); font-weight: 500; }
.gd-rule { margin: 32px 0 0; font: 400 18px/1.6 var(--sb-sans); color: var(--sb-text); text-align: center; }
.gd-rule b { color: var(--sb-rust); font-weight: 600; }

.gd-filter { background: #FFFFFF; border-top: 1px solid var(--sb-rule); border-bottom: 1px solid var(--sb-rule); }
.gd-filter .wrap { display: flex; align-items: center; gap: 20px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.gd-fseg { display: inline-flex; border: 1px solid var(--sb-dash); border-radius: 999px; padding: 3px; background: var(--sb-paper); max-width: 100%; overflow-x: auto; }
.gd-fseg a { font: 600 13px/1 var(--sb-sans); color: var(--sb-muted); border-radius: 999px; padding: 9px 14px; text-decoration: none; white-space: nowrap; }
.gd-fseg a[aria-pressed="true"] { background: var(--sb-ink); color: var(--sb-paper); }
.gd-chips { display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.gd-chips-l { font: 600 12px/1 var(--sb-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--sb-muted); margin-right: 4px; }
.gd-chip { font: 600 13px/1 var(--sb-sans); border: 1.5px solid var(--sb-dash); background: #FFFFFF; color: var(--sb-text); border-radius: 999px; padding: 8px 13px; cursor: pointer; }
.gd-chip[aria-pressed="true"] { border-color: var(--sb-rust); color: var(--sb-rust); }
.gd-count { margin-left: auto; font: 400 14px/1.4 var(--sb-sans); color: var(--sb-muted); font-variant-numeric: tabular-nums; }
.gd-count b { color: var(--sb-ink); font-weight: 600; }

.gd-grp { margin: 56px 0 0; }
.gd-grp:first-child { margin-top: 0; }
.gd-grp[hidden] { display: none; }
.gd-gh { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 26px 32px; background: var(--sb-band); border: 1px solid var(--sb-rule); border-left: 6px solid var(--sb-rust); border-radius: 16px; margin-bottom: 8px; }
.gd-gh-num { font: 650 44px/1 var(--sb-serif); color: var(--sb-rust); letter-spacing: -0.02em; }
.gd-gh-stg { margin: 0; font: 600 12px/1.3 var(--sb-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--sb-muted); }
.gd-gh-name { margin: 4px 0 0; font: 650 32px/1.1 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.01em; }
.gd-gh-desc { margin: 8px 0 0; font: 400 16px/1.55 var(--sb-sans); color: var(--sb-text); max-width: 720px; text-wrap: pretty; }
.gd-gh-all { white-space: nowrap; }
.gd-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) 220px; gap: 24px; padding: 22px 32px; border-bottom: 1px solid var(--sb-rule); align-items: start; }
.gd-row[hidden] { display: none; }
.gd-tp { padding-top: 8px; padding-left: 10px; }
.gd-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--sb-dash); }
.gd-dot.is-safety { background: var(--sb-slate); } .gd-dot.is-money { background: var(--sb-rust); } .gd-dot.is-legal { background: var(--sb-teal); } .gd-dot.is-platforms { background: #9A8E85; }
.gd-t { margin: 0; font: 600 22px/1.3 var(--sb-serif); color: var(--sb-ink); letter-spacing: -0.005em; text-wrap: balance; }
.gd-t a { color: var(--sb-ink); text-decoration: none; }
.gd-t a:hover { text-decoration: underline; text-decoration-color: var(--sb-rust); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.gd-d { margin: 8px 0 0; max-width: 720px; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-text); text-wrap: pretty; }
.gd-meta { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; padding-top: 4px; }
.gd-lc { font: 400 13px/1.5 var(--sb-sans); color: var(--sb-muted); }
.gd-lc b { font-weight: 600; color: var(--sb-text); }
.gd-row.is-soon .gd-t, .gd-row.is-soon .gd-d { color: var(--sb-muted); }
.gd-none { margin: 0; padding: 22px 32px; font: 400 16px/1.6 var(--sb-sans); color: var(--sb-muted); border-bottom: 1px solid var(--sb-rule); }
.gd-empty { margin: 0; padding: 40px 0; font: 400 17px/1.6 var(--sb-sans); color: var(--sb-muted); }
.gd-legend { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin: 36px 0 0; font: 400 13px/1 var(--sb-sans); color: var(--sb-muted); }
.gd-legend span { display: inline-flex; align-items: center; gap: 6px; }
.gd-legend-note { margin-left: auto; }
.gd-brief { border-top: 1px solid var(--sb-rule); }

@media (max-width: 1080px) {
  .gd-hero .wrap { grid-template-columns: 1fr; gap: 36px; }
  .gd-h1 { font-size: 48px; }
  .gd-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .gd-st { grid-template-rows: auto; grid-row: auto; display: flex; flex-direction: column; }
  .gd-st-q { flex-grow: 1; }
  .gd-row { grid-template-columns: 40px minmax(0, 1fr); }
  .gd-meta { grid-column: 2; flex-direction: row; align-items: center; flex-wrap: wrap; padding-top: 0; }
  .gd-gh { grid-template-columns: 56px minmax(0, 1fr); }
  .gd-gh-all { grid-column: 2; justify-self: start; }
}
@media (max-width: 760px) {
  .gd-hero { padding: 40px 0 36px; }
  .gd-h1 { font-size: 36px; }
  .gd-lead { font-size: 17px; }
  .gd-sec { padding: 44px 0; }
  .gd-stages { grid-template-columns: 1fr; }
  .gd-rule { font-size: 16px; text-align: left; }
  .gd-filter .wrap { gap: 10px; }
  .gd-count { margin-left: 0; width: 100%; }
  .gd-gh { padding: 20px 18px; gap: 14px; }
  .gd-gh-num { font-size: 32px; }
  .gd-gh-name { font-size: 26px; }
  .gd-row, .gd-none { padding: 18px 0; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; }
  .gd-tp { padding-left: 4px; }
  .gd-t { font-size: 20px; }
  .gd-legend-note { margin-left: 0; width: 100%; }
}

/* ---------- pinned guides bar (0.4.22): replaces the site bar on the guides hub ---------- */
.guidebar .wrap { gap: 24px; }
.guidebar-controls { display: flex; align-items: center; gap: 16px; flex-grow: 1; min-width: 0; }
.guidebar-controls .gd-fseg { flex-shrink: 0; }
.guidebar-controls .gd-chips { flex-wrap: nowrap; }
.guidebar-brief { flex-shrink: 0; }
@media (max-width: 1080px) {
  .guidebar-controls .gd-chips { display: none; }
  .guidebar-controls .gd-fseg { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .guidebar-controls .gd-fseg::-webkit-scrollbar { display: none; }
}
@media (max-width: 760px) {
  .guidebar .wrap { gap: 10px; justify-content: flex-start; }
  .guidebar .sb-wordmark.sm { font-size: 24px; }
  .guidebar-brief { display: none; }
  .guidebar-controls { min-width: 0; }
  .guidebar-controls .gd-fseg { flex-shrink: 1; max-width: 100%; }
  .guidebar-controls .gd-fseg a { padding: 8px 11px; font-size: 12.5px; }
}

/* ---------- guide posts (0.4.33, guide standard 1.1, approved October 10, 2026) ----------
   Design: the "Sole Brief Guide Post v2" canvas, direction C. Guides sit on white. Rust fills
   only the In brief label block; the takeaways sit on paper so long lines stay easy to read.
   Links: a registry fact has a dotted rust underline (hover shows its check date); every other
   link is ink with a solid rust underline. No italics anywhere in a guide body. */
.sb-page.is-guide { background: #FFFFFF; }
/* 0.4.45: guides use the full 1280px frame. This rule lived only in the site's Additional CSS until now; it belongs here. */
.post-single .entry { max-width: none; }
.post-single h1 { font-size: 52px; line-height: 1.06; letter-spacing: -0.015em; }
.post-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 18px; font: 500 13px/1.4 var(--sb-sans); color: var(--sb-muted); }
.post-crumb a { color: var(--sb-muted); text-decoration: none; }
.post-crumb a:hover { color: var(--sb-ink); }
.post-crumb-pill { padding: 3px 10px; border: 1px solid var(--sb-rule); border-radius: 999px; background: var(--sb-paper); font: 600 12px/1.3 var(--sb-sans); color: var(--sb-ink); }
.post-byline { margin: 12px 0 0; font: 400 14px/1.5 var(--sb-sans); color: var(--sb-muted); }
/* 0.4.41: the date strip, option D (approved October 12). Plain items, one 15px size, colons after labels;
   Sources checked is a rust-outlined pill on the right. A hairline closes the strip. */
.post-dates { margin: 16px 0 32px; padding: 4px 0 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; border-bottom: 1px solid var(--sb-rule); font: 400 15px/1.3 var(--sb-sans); }
.post-dates .pd-item { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: var(--sb-muted); }
.post-dates .pd-k { font-weight: 500; color: var(--sb-muted); }
.post-dates .pd-v { font-weight: 600; color: var(--sb-ink); font-variant-numeric: tabular-nums; }
.post-dates svg { flex: none; }
.post-dates a.pd-checked { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid var(--sb-rust); border-radius: 999px; background: #FBF4EF; color: var(--sb-rust); text-decoration: none; white-space: nowrap; }
.post-dates a.pd-checked .pd-k { color: var(--sb-rust); }
.post-dates a.pd-checked:hover { background: #F6E7DD; }
.post-dates a.pd-checked:hover .pd-v { color: var(--sb-rust-dark); }
.post-byline a { color: var(--sb-muted); text-decoration: underline; text-decoration-color: var(--sb-dash); text-underline-offset: 3px; }

/* Links and type in the body */
.post-single .entry em, .post-single .entry i, .post-single .entry cite { font-style: normal; }
.post-single .entry a { color: var(--sb-ink); text-decoration: underline; text-decoration-color: var(--sb-rust); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.post-single .entry a:hover { color: var(--sb-rust); }
.post-single .entry a.fig-ref { color: var(--sb-ink); font-weight: 600; text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--sb-rust); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.post-single .entry a.fig-ref.is-conflict { color: var(--sb-slate); text-decoration-color: var(--sb-slate); }
.post-single .entry a.fig-ref:hover { color: var(--sb-rust); }
.post-single .entry strong { color: var(--sb-ink); }
.post-single .entry h2 { font-size: 32px; line-height: 1.15; margin: 52px 0 0 0; scroll-margin-top: 24px; }
.post-single .entry h3 { font-size: 22px; }

/* The short answer and In brief */
.post-single .entry p.sb-lead-answer { margin: 0 0 18px; font: 500 20px/1.55 var(--sb-sans); color: var(--sb-ink); }
.post-single .entry .sb-in-brief { display: flex; flex-wrap: wrap; margin: 32px 0 12px; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: var(--sb-paper); }
/* 0.4.37: the rust label panel runs flush to the block's edge, as on the approved canvas. */
.post-single .entry .sb-in-brief-head, .post-single .entry .sb-in-brief > p.sb-in-brief-label { margin: 0; }
.post-single .entry .sb-in-brief-head { flex: 1 1 220px; box-sizing: border-box; padding: 30px 28px; background: var(--sb-rust); display: flex; flex-direction: column; gap: 14px; }
.post-single .entry .sb-in-brief p.sb-in-brief-label { margin: 0; font: 600 40px/1 var(--sb-serif); letter-spacing: -0.01em; color: #FFFFFF; text-transform: none; }
/* 0.4.34: older In brief markup (the label straight inside the block, no head) gets the same rust panel, so a guide never shows a white label on paper. */
.post-single .entry .sb-in-brief > p.sb-in-brief-label { flex: 1 1 220px; box-sizing: border-box; align-self: stretch; padding: 30px 28px; background: var(--sb-rust); }
.post-single .entry .sb-in-brief p.sb-in-brief-label::after { content: "."; color: #F6D9CB; }
.post-single .entry .sb-in-brief p.sb-in-brief-sub { margin: 0; font: 400 15px/1.5 var(--sb-sans); color: #F6D9CB; }
.post-single .entry .sb-in-brief ol { flex: 999 1 420px; box-sizing: border-box; margin: 0; padding: 12px 30px; list-style: none; counter-reset: sb-brief; }
.post-single .entry .sb-in-brief li { counter-increment: sb-brief; position: relative; margin: 0; padding: 15px 0 15px 56px; border-bottom: 1px solid var(--sb-rule); font: 400 17px/1.5 var(--sb-sans); color: var(--sb-ink); }
.post-single .entry .sb-in-brief li:last-child { border-bottom: 0; }
/* 0.4.42: a full stop after each numeral, echoing the "In brief." label. */
.post-single .entry .sb-in-brief li::before { content: counter(sb-brief) "."; position: absolute; left: 0; top: 15px; font: 600 28px/1 var(--sb-serif); color: var(--sb-rust); }

/* Comparison tables */
/* 0.4.54: tables fill the content column. The 1040px width for wide screens is gone: it dated from the
   narrower guide column and left an empty strip beside every table on the 1216px column. Each table now
   sits in .sb-table-scroll (inc/tables.php), which carries the border and corners and, on phones,
   scrolls sideways with the first column pinned. */
.post-single .entry .sb-table-scroll { margin: 28px 0; border: 1px solid var(--sb-rule); border-radius: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--sb-card); }
.post-single .entry .sb-table-scroll:focus-visible { outline: 2px solid var(--sb-rust); outline-offset: 3px; }
.post-single .entry table.sb-table { width: 100%; max-width: none; margin: 28px 0; border-collapse: separate; border-spacing: 0; border: 1px solid var(--sb-rule); border-radius: 8px; overflow: hidden; font-family: var(--sb-sans); }
.post-single .entry .sb-table-scroll table.sb-table { margin: 0; border: 0; border-radius: 0; overflow: visible; }
.post-single .entry table.sb-table th, .post-single .entry table.sb-table td { padding: 14px 16px; border-bottom: 1px solid var(--sb-rule); text-align: left; vertical-align: top; font: 400 15px/1.5 var(--sb-sans); color: var(--sb-text); }
.post-single .entry table.sb-table tbody tr:last-child td { border-bottom: 0; }
.post-single .entry table.sb-table th { background: var(--sb-paper); font: 600 13px/1.4 var(--sb-sans); letter-spacing: 0.06em; text-transform: uppercase; color: var(--sb-muted); }
.post-single .entry table.sb-table td:first-child { width: 24%; font-weight: 600; color: var(--sb-ink); }

/* Questions people ask */
.post-single .entry .sb-faq { margin-top: 8px; border-top: 1px solid var(--sb-rule); }
.post-single .entry .sb-faq h3 { margin: 0; padding-top: 22px; }
.post-single .entry .sb-faq h3 ~ h3 { margin-top: 22px; border-top: 1px solid var(--sb-rule); }
.post-single .entry .sb-faq p { margin: 8px 0 0 0; }

/* Sources: every outside source is a link; a small arrow marks the ones that leave the site */
.post-single .entry .sb-sources { margin-top: 18px; padding: 8px 30px; background: var(--sb-paper); border: 1px solid var(--sb-rule); border-radius: 8px; }
.post-single .entry .sb-sources p.sb-sources-date { margin: 16px 0 4px; font: 400 14px/1.4 var(--sb-sans); color: var(--sb-muted); }
.post-single .entry .sb-sources ol { margin: 0; padding: 0; list-style: none; }
.post-single .entry .sb-sources li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--sb-rule); font: 400 16px/1.6 var(--sb-sans); }
.post-single .entry .sb-sources li:last-child { border-bottom: 0; }
.post-single .entry .sb-sources .sb-src-k { padding-top: 3px; font: 700 12px/1.4 var(--sb-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sb-muted); }
.post-single .entry .sb-sources a { font-weight: 600; }
.post-single .entry a[target="_blank"]::after { content: ""; display: inline-block; width: 10px; height: 10px; margin-left: 5px; vertical-align: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23A1421C' stroke-width='1.6'%3E%3Cpath d='M4 2h6v6M10 2 3 9'/%3E%3C/svg%3E") center / 10px no-repeat; }
/* 0.4.55: the arrow now marks every outside link in a guide or page, not only Sources, and Sources says what it means */
.post-single .entry .sb-sources p.sb-sources-date { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; }
.post-single .entry .sb-sources p.sb-sources-date::after { content: "Links to outside sites open in a new tab"; padding-left: 16px; font: 400 13px/1.4 var(--sb-sans); color: var(--sb-muted); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23A1421C' stroke-width='1.6'%3E%3Cpath d='M4 2h6v6M10 2 3 9'/%3E%3C/svg%3E") left center / 10px no-repeat; }

@media (max-width: 760px) {
  .post-single h1 { font-size: 36px; }
  .post-dates { font-size: 14px; gap: 10px 18px; }
  .post-dates a.pd-checked { order: -1; margin-left: 0; }
  .post-single .entry p.sb-lead-answer { font-size: 18px; }
  .post-single .entry h2 { font-size: 27px; margin-top: 44px; }
  .post-single .entry .sb-in-brief-head, .post-single .entry .sb-in-brief > p.sb-in-brief-label { padding: 22px 20px; }
  .post-single .entry .sb-in-brief p.sb-in-brief-label { font-size: 32px; }
  .post-single .entry .sb-in-brief ol { padding: 6px 20px; }
  .post-single .entry .sb-in-brief li { padding-left: 44px; font-size: 16px; }
  /* 0.4.54: phones keep readable columns and scroll inside the box; the label column stays put. */
  .post-single .entry .sb-table-scroll:not(.is-fit) table.sb-table { min-width: calc(128px + (var(--sb-cols, 4) - 1) * 150px); }
  .post-single .entry .sb-table-scroll table.sb-table th, .post-single .entry .sb-table-scroll table.sb-table td { padding: 12px 14px; font-size: 14px; }
  .post-single .entry .sb-table-scroll:not(.is-fit) table.sb-table th:first-child, .post-single .entry .sb-table-scroll:not(.is-fit) table.sb-table td:first-child { position: sticky; left: 0; z-index: 1; width: 128px; min-width: 128px; box-shadow: 1px 0 0 var(--sb-rule); }
  .post-single .entry .sb-table-scroll:not(.is-fit) table.sb-table td:first-child { background: var(--sb-card); }
  .post-single .entry .sb-table-scroll:not(.is-fit) table.sb-table th:first-child { z-index: 2; }
  .post-single .entry .sb-table-scroll.is-fit table.sb-table td:first-child { width: 30%; }
  .post-single .entry .sb-sources { padding: 4px 18px; }
  .post-single .entry .sb-sources li { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- 0.4.38: homepage cards that link ---------- */
/* The whole card is the click target: the card's one link (the title on "The field, sorted", the
   rust link on "What brought you here?") is stretched over it. At rest the card keeps its hairline;
   on hover or keyboard focus the hairline turns rust. No movement, no shadow lift. Cards with no
   link ("Where it leads") are untouched. */
.hp-card:has(a) { position: relative; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.hp-card .h a { color: inherit; text-decoration: none; }
.hp-card:has(a) .h a::after, .hp-card:has(a) .a a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.hp-card:has(a):hover, .hp-card:has(a:focus-visible) { border-color: var(--sb-rust); box-shadow: inset 0 0 0 0.5px var(--sb-rust); }
.hp-card:has(a) a:focus-visible { outline: none; }
.hp-card:has(a:focus-visible) { outline: 2px solid var(--sb-rust); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .hp-card:has(a) { transition: none; } }

/* 0.4.40: guide banner. The featured image (cut-paper collage) under the date strip on guides and under the
   title on the Ways to Sell pages, with the stage bar (guides) or the 01 to 08 bar (Ways to Sell) beneath. */
.sb-banner { margin: 0 0 34px; }
.page-body > h1 + .sb-banner { margin-top: 18px; }
.sb-banner-frame { aspect-ratio: 21 / 8; overflow: hidden; border-radius: 6px; background: var(--sb-paper); }
.sb-banner-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sb-stagebar { display: grid; gap: 12px; margin-top: 14px; }
.sb-stagebar-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sb-stagebar-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
.sb-seg { display: flex; flex-direction: column; gap: 8px; font: 600 11px/1 var(--sb-sans); letter-spacing: 0.12em; text-transform: uppercase; color: #A89B91; text-decoration: none; }
.sb-seg i { display: block; height: 4px; border-radius: 2px; background: #E0D6CA; transition: background-color 0.15s ease; }
.sb-seg.is-on { color: var(--sb-rust); }
.sb-seg.is-on i { background: var(--sb-rust); }
a.sb-seg:hover, a.sb-seg:focus-visible { color: var(--sb-rust); }
a.sb-seg:hover i, a.sb-seg:focus-visible i { background: var(--sb-rust); }
a.sb-seg:focus-visible { outline: 2px solid var(--sb-rust); outline-offset: 4px; border-radius: 2px; }
@media (max-width: 640px) {
  .sb-banner-frame { aspect-ratio: 16 / 9; }
  .sb-stagebar-4 { gap: 8px; }
  .sb-seg { font-size: 10px; letter-spacing: 0.08em; }
}
@media (prefers-reduced-motion: reduce) { .sb-seg i { transition: none; } }
