/* Native article layout. The surrounding site shell continues to use shared CSS. */
.research-page .research-print-status { margin:10px 0 0; color:var(--text-muted); font-size:12px; }
.research-page .research-document-actions { align-items:center; }
.research-reader-layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:42px; padding-top:36px; scroll-margin-top:24px; }
.research-toc { position:sticky; top:calc(var(--gatekeepr-header-height) + 20px); align-self:start; max-height:calc(100vh - var(--gatekeepr-header-height) - 40px); overflow:auto; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.research-toc summary { color:var(--text); font-weight:800; font-size:12px; cursor:pointer; }
.research-toc ol { display:grid; gap:10px; padding:0; margin:16px 0 0; list-style:none; }
.research-toc a { display:block; color:var(--text-muted); font-size:11px; line-height:1.6; }
.research-toc a:hover,.research-toc a[aria-current="location"] { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.research-toc .research-toc-back { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); color:var(--primary); font-weight:700; }
.research-prose { min-width:0; max-width:960px; color:var(--text); font-size:15px; line-height:1.85; }
.research-prose :is(h2,h3) { scroll-margin-top:24px; }
.research-prose h2 { margin:52px 0 22px; padding-top:28px; border-top:1px solid var(--line); color:var(--text); font-size:29px; line-height:1.2; letter-spacing:-.04em; }
.research-prose h2:first-child { margin-top:0; padding-top:0; border:0; }
.research-prose h3 { margin:28px 0 12px; color:var(--primary); font-size:19px; line-height:1.4; letter-spacing:-.025em; }
.research-prose p { margin:0 0 17px; overflow-wrap:anywhere; }
.research-prose :is(.report-note,.report-source) { color:var(--text-muted); font-size:12px; line-height:1.8; }
.research-prose .report-caption { margin:22px 0 10px; color:var(--primary); font-size:13px; font-weight:750; }
.research-prose .report-bullet { padding-left:14px; }
.research-prose a { color:var(--primary-2); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.research-prose strong { color:var(--text); font-weight:750; }
.research-prose .report-overview { margin-bottom:26px; padding:22px 26px; border-left:3px solid var(--accent); border-radius:0 12px 12px 0; background:var(--surface-soft); color:var(--text-muted); font-size:13px; line-height:1.9; }
.research-table-wrap { max-width:100%; margin:20px 0; overflow-x:auto; border:1px solid var(--line); border-radius:10px; }
.research-table-wrap table { width:100%; border-collapse:collapse; font-size:12px; line-height:1.6; }
.research-table-wrap thead th { padding:12px; background:var(--accent-soft); color:var(--text); font-weight:750; text-align:left; vertical-align:top; }
.research-table-wrap :is(td,tbody th) { padding:11px 12px; border-top:1px solid var(--line); color:var(--text-muted); font-weight:400; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.research-table-wrap tbody th { color:var(--text); font-weight:600; }
.research-table-wrap tbody tr:nth-child(even) { background:var(--surface-soft); }
.research-table-wrap[data-columns="2"] th:first-child { width:34%; }
.research-table-wrap[data-columns="3"] th:first-child { width:27%; }
.research-figure { margin:24px 0; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.research-figure img { display:block; width:100%; height:auto; }
.research-figure figcaption { margin:10px 0 0; color:#658178; font-size:11px; line-height:1.6; }
.research-callouts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.research-callouts>div { padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); color:var(--primary); font-size:14px; font-weight:650; }
.research-page .pdf-save-dialog { --report-line:var(--line); --report-paper:var(--surface); --report-ink:var(--text); --report-muted:var(--text-muted); --report-logo-bg:var(--accent-soft); --report-accent:var(--primary); --report-surface-soft:var(--surface-soft); --report-warning:var(--warm-accent); }
.research-print-frame { position:fixed; left:-16000px; top:0; width:1000px; height:1000px; border:0; visibility:hidden; }
@media(max-width:1000px) {
  .research-reader-layout { grid-template-columns:1fr; gap:28px; }
  .research-toc { position:static; max-height:none; }
  .research-toc ol { max-height:230px; overflow:auto; }
}
@media(max-width:600px) {
  .research-reader-layout { padding-top:26px; }
  .research-prose { font-size:14px; line-height:1.85; }
  .research-prose h2 { font-size:25px; }
  .research-prose h3 { font-size:18px; }
  .research-table-wrap table { font-size:11px; }
  .research-table-wrap[data-columns="4"] table { min-width:530px; }
  .research-table-wrap:is([data-columns="5"],[data-columns="6"],[data-columns="7"]) table { min-width:650px; }
  .research-callouts { grid-template-columns:1fr; }
  .research-prose .report-overview { padding:16px; font-size:12px; }
  .pdf-save-steps li { grid-template-columns:24px minmax(0,1fr); }
  .pdf-save-steps li span { grid-column:2; }
}
@media print {
  .research-page>.site-header,.research-page main>.hero,.research-page .research-toc,.research-page .research-document-actions,.research-page .research-related { display:none!important; }
  .research-reader-layout { display:block; }
  .research-prose { max-width:none; }
  .research-table-wrap { overflow:visible; }
  .research-prose :is(h2,h3) { break-after:avoid; }
  .research-table-wrap tr,.research-figure { break-inside:avoid; }
}
