/* T20 Research article. Non-commercial zone: research tokens only. */
.ra-hero { padding-bottom: 40px; }
.ra-title { max-width: 1120px; }
.ra-placeholder { padding: 1px 6px; border-radius: 6px; background: var(--butter-100); color: var(--butter-800); font: 500 11px/1.4 var(--font-mono); }
.ra-hero + .psb-section { padding-top: 28px; }

.psb-toc.psb-sticky { top: 104px; }
.ra-toc-h { font: 700 var(--fs-caption)/1.33 var(--font-body) !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px !important; }

.ra-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; min-width: 0; }
.ra-body section { scroll-margin-top: 104px; }
.ra-body h2:not(.psb-overline):not(.ra-sources-h) { margin-bottom: 20px; }

.ra-facts { padding: 28px; }
.ra-facts h2.psb-overline { font: 700 var(--fs-caption)/1.33 var(--font-body); letter-spacing: .06em; color: var(--research-accent); }
.ra-facts ul { margin: 0; padding-left: 1.1em; display: grid; gap: 10px; font-size: 17px; color: var(--text-primary); }

.psb-steps > li p { padding-top: 10px; }
.psb-steps a { color: var(--research-accent); font-weight: 700; }

.ra-table { border-color: var(--research-accent); }
.psb .ra-table .psb-table tbody th { background: none; color: var(--text-primary); font: 700 var(--fs-body-s)/1.4 var(--font-body); padding: 14px 20px; border-top: 1px solid var(--border-default); white-space: nowrap; }
.ra-table .psb-table tbody tr:nth-child(even) > * { background: var(--bg-research); }
.ra-table .psb-table { min-width: 560px; }
.ra-table td { min-width: 150px; }
.ra-note { margin-top: 12px !important; font-size: var(--fs-body-s); color: var(--text-muted); }

.psb-prose a { color: var(--research-accent); font-weight: 600; }
.psb-prose h2 { margin-top: 0; }

.ra-sources-h { font: 700 var(--fs-caption)/1.33 var(--font-body) !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px !important; }
.psb-sources a { color: var(--text-secondary); }

.ra-rule { padding-block: 56px; }
.ra-rule h2.psb-overline { font: 700 var(--fs-caption)/1.33 var(--font-body); letter-spacing: .06em; color: var(--research-accent); margin-bottom: 12px; }
.ra-rule .psb-mono { font-size: 14px; line-height: 1.6; color: var(--text-primary); max-width: 1180px; }
.psb h1.ra-title { font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); line-height: 1.1; }
:root .ra-table .psb-table thead th { background: var(--sky-600); color: var(--cream-50); }
:root .ra-table .psb-table tbody tr:nth-child(odd) > * { background: var(--bg-surface); }
/* .psb p { margin:0 } (0,1,1) beats .psb-prose > * + * (0,1,0) - restore paragraph rhythm locally */
.psb .psb-prose > * + * { margin-top: 1em; }
/* templates.css collapses .psb-layout--toc to "1fr" (= minmax(auto,1fr)) - wide children (tables) then overflow the viewport */
@media (max-width: 1100px) { .psb-layout.psb-layout--toc { grid-template-columns: minmax(0, 1fr); } }
