/* Armor Pro Research — /research pages. Design tokens shared with the
   published report; footnotes and <details> carry the methods layer. */

.rs {
  --rs-ink: #16263a; --rs-navy: #0f2b4a; --rs-muted: #5b6b7b; --rs-faint: #93a1ad;
  --rs-line: #d8dde5; --rs-grid: #e4e9ef; --rs-panel: #f6f8fa; --rs-warm: #faf5ea;
  --rs-accent: #0b6ef4; --rs-band: #111417;
  --rs-mono: ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;
  color: var(--rs-ink);
  font-family: "Inter", "Helvetica Neue", Arial, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.rs-wrap { max-width: 960px; margin: 0 auto; padding: 0 20px; }

/* masthead: the black band from the PDF, kept restrained */
.rs-masthead { background: var(--rs-band); color: #fff; padding: 28px 0 34px; }
.rs-crumb { font-size: .8rem; color: #aab5bf; margin-bottom: 18px; }
.rs-crumb a { color: #aab5bf; text-decoration: none; }
.rs-crumb a:hover { color: #fff; }
.rs-crumb .rs-sep { margin: 0 8px; }
.rs-eyebrow { font-family: var(--rs-mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--rs-accent); margin: 0 0 12px; }
.rs-title { font-size: clamp(1.7rem, 4vw, 2.35rem); line-height: 1.15; font-weight: 700; letter-spacing: -.02em; margin: 0 0 12px; color: #fff; }
.rs-subtitle { font-size: 1.05rem; line-height: 1.5; color: #c3ccd4; margin: 0 0 16px; max-width: 62ch; }
.rs-meta { font-family: var(--rs-mono); font-size: .76rem; color: #93a1ad; margin: 0; }
.rs-meta span + span::before { content: "·"; margin: 0 .6em; color: #5b6b7b; }
.rs-meta a { color: #c3ccd4; text-decoration: underline; text-underline-offset: 2px; }
.rs-meta a:hover { color: #fff; }

/* body typography */
.rs-body { padding: 36px 20px 40px; font-size: 1.05rem; line-height: 1.65; }
.rs-body > p, .rs-body > ul, .rs-body > ol { margin: 0 0 1.1em; }
.rs-body h2 { font-size: 1.45rem; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; color: var(--rs-navy); margin: 2.2em 0 .6em; padding-top: .9em; border-top: 1px solid var(--rs-line); }
.rs-body h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.rs-body h3 { font-size: 1.12rem; font-weight: 600; color: var(--rs-navy); margin: 1.6em 0 .4em; }
.rs-body a { color: var(--rs-accent); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.rs-body a:hover { color: #0957c9; }
.rs-body strong { font-weight: 600; color: var(--rs-navy); }
.rs-body ul, .rs-body ol { padding-left: 1.3em; }
.rs-body li { margin: .3em 0; }
.rs-body hr { border: 0; border-top: 1px solid var(--rs-line); margin: 2em 0; }

/* the answer box (blockquote = callout, matches the PDF callout) */
.rs-body blockquote { margin: 1.6em 0; padding: 14px 18px; background: var(--rs-panel); border-left: 3px solid var(--rs-navy); border-radius: 0 4px 4px 0; }
.rs-body blockquote p { margin: 0 0 .5em; }
.rs-body blockquote p:last-child { margin-bottom: 0; }
.rs-body blockquote strong:first-child { display: block; color: var(--rs-navy); margin-bottom: .2em; }

/* lead paragraph */
.rs-body .rs-lead { font-size: 1.18rem; line-height: 1.55; color: var(--rs-navy); }

/* stat row: three-region summary */
.rs-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 1.6em 0; }
.rs-stat { border: 1px solid var(--rs-line); border-top: 3px solid var(--rs-accent); border-radius: 0 0 4px 4px; padding: 12px 14px; background: #fff; }
.rs-stat.is-red { border-top-color: #b21f2d; }
.rs-stat.is-amber { border-top-color: #eea320; }
.rs-stat-region { font-weight: 600; color: var(--rs-navy); font-size: .98rem; margin: 0 0 2px; }
.rs-stat-tag { font-size: .8rem; color: var(--rs-muted); margin: 0 0 8px; }
.rs-stat-num { font-family: var(--rs-mono); font-size: 1.35rem; font-weight: 700; color: var(--rs-ink); line-height: 1; margin: 0; }
.rs-stat-unit { font-size: .78rem; color: var(--rs-muted); margin: 4px 0 0; }
@media (max-width: 640px) { .rs-stats { grid-template-columns: 1fr; } }

/* tables — Cotality language: navy top rule, hairline rows. Prose is the
   DEFAULT (left-aligned, proportional type); numeric styling (right-aligned
   mono numerics, tabular-nums) is opt-in via {.rs-data} on data tables. */
.rs-body table { width: 100%; border-collapse: collapse; font-size: .92rem; margin: 1.4em 0; }
.rs-body thead th { text-align: left; font-weight: 600; color: var(--rs-navy); font-size: .84rem; padding: 8px 8px; border-top: 1.5px solid var(--rs-navy); border-bottom: 1px solid var(--rs-line); }
.rs-body tbody td { padding: 8px 8px; border-bottom: 1px solid var(--rs-grid); vertical-align: top; font-size: .9rem; }
.rs-body tbody tr.rs-band td { background: var(--rs-warm); font-weight: 600; }
.rs-body div[style*="overflow-x"] { margin: 1.4em 0; }
.rs-body div[style*="overflow-x"] table { margin: 0; }

/* data tables (opt-in): numeric columns right-aligned in mono with tabular figures */
.rs-body table.rs-data td:not(:first-child), .rs-body table.rs-data th:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.rs-body table.rs-data td:not(:first-child) { font-family: var(--rs-mono); font-size: .86rem; }
/* prose tables with a leading label column (e.g. the literature timeline) */
.rs-body table.rs-prose td:first-child { white-space: nowrap; color: var(--rs-muted); }

/* figures */
.rs-body figure { margin: 1.8em 0; }
.rs-body figure img { width: 100%; height: auto; display: block; }
.rs-body figcaption { font-size: .88rem; color: var(--rs-muted); margin-top: 8px; line-height: 1.5; }
.rs-body figcaption em { font-style: italic; }
.rs-body figcaption strong { color: var(--rs-navy); }

/* narrow figure (e.g. a portrait plate): less than full width, centered */
.rs-body figure.rs-fig-narrow { max-width: 62%; margin-left: auto; margin-right: auto; }
@media (max-width: 640px) { .rs-body figure.rs-fig-narrow { max-width: 100%; } }

/* disclosure: <details> — the methods/sources layer */
.rs-body details { border: 1px solid var(--rs-line); border-radius: 4px; padding: 0; margin: 1.3em 0; background: #fff; }
.rs-body details summary { cursor: pointer; padding: 11px 14px; font-weight: 600; color: var(--rs-navy); font-size: .95rem; list-style: none; display: flex; align-items: center; gap: 10px; }
.rs-body details summary::-webkit-details-marker { display: none; }
.rs-body details summary::before { content: ""; width: 7px; height: 7px; border-right: 1.5px solid var(--rs-muted); border-bottom: 1.5px solid var(--rs-muted); transform: rotate(-45deg); transition: transform .15s; flex: 0 0 auto; }
.rs-body details[open] summary::before { transform: rotate(45deg); }
.rs-body details[open] summary { border-bottom: 1px solid var(--rs-grid); }
.rs-body details > *:not(summary) { padding-left: 14px; padding-right: 14px; }
.rs-body details > p:first-of-type { padding-top: 12px; }
.rs-body details > *:last-child { padding-bottom: 12px; }
.rs-body details p, .rs-body details ul { font-size: .95rem; }

/* footnotes */
.rs-body sup.footnote-ref, .rs-body .footnote-ref { font-size: .72em; }
.rs-body .footnote-ref a { text-decoration: none; padding: 0 1px; }
.rs-body .footnotes { margin-top: 2.6em; padding-top: 1.2em; border-top: 1px solid var(--rs-line); font-size: .88rem; color: var(--rs-muted); }
.rs-body .footnotes ol { padding-left: 1.4em; }
.rs-body .footnotes li { margin: .45em 0; line-height: 1.5; }
.rs-body .footnotes li p { margin: 0; display: inline; }
.rs-body .footnote-backref { text-decoration: none; margin-left: 4px; color: var(--rs-faint); }

/* the "how sure" table emphasis */
.rs-body td.rs-hi { color: var(--rs-navy); font-weight: 700; }

/* end band — the one quiet band permitted */
.rs-endband { border-top: 1px solid var(--rs-line); background: var(--rs-panel); padding: 26px 0 30px; margin-top: 12px; }
.rs-endband-line { font-size: .88rem; color: var(--rs-muted); line-height: 1.55; margin: 0 0 10px; }
.rs-endband-line strong { color: var(--rs-navy); }
.rs-endband-line a { color: var(--rs-accent); }
.rs-endband-nav { font-size: .88rem; margin: 0; }
.rs-endband-nav a { color: var(--rs-navy); text-decoration: none; border-bottom: 1px solid var(--rs-line); margin-right: 18px; }
.rs-endband-nav a:hover { border-bottom-color: var(--rs-navy); }

/* citation block */
.rs-cite { font-family: var(--rs-mono); font-size: .8rem; color: var(--rs-muted); background: var(--rs-panel); border: 1px solid var(--rs-line); border-radius: 4px; padding: 10px 12px; margin: 1.2em 0; }

/* program index: study list */
.rs-studies { margin-top: 1.5em; }
.rs-study { border-top: 1px solid var(--rs-line); padding: 22px 0 6px; }
.rs-study-eyebrow { font-family: var(--rs-mono); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--rs-muted); margin: 0 0 8px; }
.rs-study-title { font-size: 1.35rem; line-height: 1.25; margin: 0 0 8px; border: 0; padding: 0; }
.rs-study-title a { color: var(--rs-navy); text-decoration: none; }
.rs-study-title a:hover { color: var(--rs-accent); }
.rs-study-sub { color: var(--rs-muted); margin: 0 0 10px; max-width: 70ch; }
.rs-study-links a { margin-right: 18px; font-size: .92rem; }
.rs-study-meta { display: inline-block; margin-right: 18px; font-family: var(--rs-mono); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--rs-muted); }
