/* Novora Holdings research pages: shared layer on top of ../styles.css (tokens, header, footer, labels).
 * Every report keeps its own layout rules; this file gives them the site's voice: black ground, Inter light at
 * display sizes, grey then white headlines, sentence-case labels, hairlines instead of cards, one blue. */

.rs-logo { width: 22px; height: 22px; display: block; fill: var(--mark-hi); }
.rs-main { padding: calc(var(--head-h) + clamp(40px, 9vh, 96px)) var(--pad) 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.rs-main > .foot { margin-top: auto; padding-top: 72px; }
.rs-col { width: 100%; max-width: 760px; margin: 0 auto; }
.rs-wide { width: 100%; max-width: 1120px; margin: 0 auto; }

.rs-back { display: inline-block; margin-bottom: 34px; }
.rs-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-bottom: 20px; }
.rs-h1 { font-size: clamp(32px, 3.6vw, 50px); font-weight: 300; letter-spacing: -.032em; line-height: 1.06; color: var(--ink); text-wrap: balance; }
.rs-h1 .grey, .rs-h1 em { color: var(--quiet); font-style: normal; }
.rs-h1.flip { color: var(--quiet); }
.rs-h1.flip em { color: var(--ink); }
.rs-dek { margin-top: 24px; font-size: 20px; line-height: 1.42; letter-spacing: -.014em; color: var(--body); font-weight: 350; max-width: 46ch; text-wrap: pretty; }
.rs-rule { border: 0; border-top: 1px solid var(--line); margin: clamp(32px, 6vh, 56px) 0; }

.rs-prose p { font-size: 16px; line-height: 1.72; color: var(--text); text-wrap: pretty; }
.rs-prose p + p { margin-top: 1.15em; }
.rs-prose h2 { margin: 2.6em 0 .8em; font-size: 24px; font-weight: 300; letter-spacing: -.024em; line-height: 1.2; color: var(--ink); }
.rs-prose h3 { margin: 2.2em 0 .7em; font-size: 16.5px; font-weight: 500; letter-spacing: -.008em; color: var(--ink); }
.rs-prose strong, .rs-prose b { font-weight: 500; color: var(--ink); }
.rs-prose a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; text-decoration-color: var(--quiet); }
.rs-prose ul, .rs-prose ol { margin: 1.1em 0; display: grid; gap: 9px; }
.rs-prose li { position: relative; padding-left: 16px; font-size: 15.5px; line-height: 1.6; color: var(--text); }
.rs-prose li::before { content: ""; position: absolute; left: 0; top: .62em; width: 5px; height: 5px; background: var(--quiet); }
.rs-break { border: 0; margin: 2.6em 0; height: 1px; background: var(--line); }

.rs-card { margin-top: clamp(40px, 7vh, 72px); padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 28px; }
.rs-card p { font-size: 14.5px; color: var(--body); }
.rs-tags { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 26px; }

.rs-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; margin-top: clamp(34px, 6vh, 56px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rs-stats > div { padding: 20px 0 22px; }
.rs-stats .n { font-size: 40px; font-weight: 300; letter-spacing: -.035em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.rs-stats .n span { font-size: 18px; color: var(--quiet); letter-spacing: -.01em; }
.rs-stats .l { margin-top: 10px; font-size: 12px; color: var(--faint); letter-spacing: .012em; }

.rs-plates { display: grid; gap: 14px; margin-top: clamp(40px, 7vh, 72px); }
.rs-plates img { width: 100%; height: auto; border-radius: 2px; box-shadow: 0 0 0 1px var(--line); }

@media (max-width: 760px) {
  .rs-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-dek { font-size: 18px; }
}

.rs-note { margin-top: 18px; }
.rs-prose ol { counter-reset: n; }
.rs-prose ol li { counter-increment: n; padding-left: 26px; }
.rs-prose ol li::before { content: counter(n); background: none; width: auto; height: auto; top: 0; font-size: 12px; color: var(--quiet); font-variant-numeric: tabular-nums; }
.rs-prose em { font-style: italic; }

/* tables: hairlines, sentence-case heads, tabular figures */
.rs-scroll { overflow-x: auto; }
.rs-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.rs-table th { text-align: left; font-size: 12px; font-weight: 400; letter-spacing: .012em; color: var(--faint); padding: 11px 12px 11px 0; border-bottom: 1px solid var(--line); white-space: nowrap; }
.rs-table td { padding: 11px 12px 11px 0; border-bottom: 1px solid var(--line); color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rs-table .r { text-align: right; padding-right: 0; padding-left: 12px; }
.rs-table .ix { color: var(--quiet); font-size: 12px; width: 34px; }
.rs-table .nm { color: var(--ink); }
.rs-table .mu { color: var(--faint); }
.rs-table .sc.hi { color: var(--accent); }
.rs-table tbody tr { transition: background-color .3s var(--ease); }
.rs-table tbody tr:hover { background: var(--card); }

/* long-form data reports: one column, ruled sections */
.rs-report { width: 100%; max-width: 920px; margin: 0 auto; }

.rs-stats .n { white-space: nowrap; }
.rs-phone { display: none; }
@media (max-width: 760px) {
  .rs-stats .n { font-size: 32px; }
  .rs-phone { display: block; margin-top: 14px; }      /* slide reports: the PDF is the easier read on a phone */
  .rs-main { padding-top: calc(var(--head-h) + 28px); }
}
