/* Reading layout: reuse the palette and scales defined in design.md. */
body.page-article .article-shell { max-width:760px; }
.article-header { margin:32px 0; }
body.page-article h1 { line-height:1.24; }
.article-meta { margin:24px 0 0; color:var(--muted); font-size:14px; }
.article-meta span { margin:0 8px; }
.article-summary { padding:24px; border-left:4px solid var(--brand); background:var(--brand-soft); }
.article-summary p { margin:0; }
.article-summary p + p { margin-top:12px; }
.article-shell p,.article-shell li,.article-choices { line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.article-shell h2 { margin:0 0 16px; font-size:22px; }
.article-shell h3 { margin:0 0 8px; font-size:17px; }
.article-toc { margin:32px 0 48px; padding:24px 0; border-block:1px solid var(--line); }
.article-toc h2 { margin-bottom:12px; font-size:17px; }
.article-toc ol { margin:0; padding-left:24px; }
.article-toc a { display:inline-flex; align-items:center; min-height:44px; color:var(--brand-dark); text-decoration:underline; text-underline-offset:4px; }
.article-body > section + section { margin-top:48px; }
.article-body section,.article-sources li { scroll-margin-top:24px; }
.article-body p { margin:0 0 16px; }
.article-body a:not(.article-cta) { color:var(--brand-dark); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.article-table-wrap { margin:24px 0 12px; overflow-x:auto; border:1px solid var(--line); border-radius:6px; }
.article-table-wrap:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.article-table-wrap table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:16px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.article-table-wrap th,.article-table-wrap td { padding:16px; text-align:left; vertical-align:top; }
.article-table-wrap thead { background:var(--brand-soft); color:var(--brand-dark); }
.article-table-wrap thead th:first-child { width:22%; }
.article-table-wrap tbody tr { border-top:1px solid var(--line); }
.article-table-wrap tbody th { color:var(--muted); font-weight:600; }
.article-note { color:var(--muted); font-size:14px; }
.article-citation { color:var(--brand-dark); text-decoration:underline; }
.article-callout { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius:10px; background:var(--card); }
.article-callout h3 { margin-bottom:12px; line-height:1.5; }
.article-callout p { margin:0; line-height:1.9; }
.article-choices { margin:24px 0 16px; }
.article-choices > div { display:grid; grid-template-columns:minmax(0, 1fr) 180px; gap:16px; padding:16px 0; border-top:1px solid var(--line); }
.article-choices > div:last-child { border-bottom:1px solid var(--line); }
.article-choices dd { margin:0; text-align:right; color:var(--brand-dark); font-weight:800; white-space:nowrap; }
.article-checklist { margin:24px 0 0; padding-left:24px; }
.article-checklist li { padding-left:8px; }
.article-checklist li + li { margin-top:24px; }
.article-checklist li::marker { color:var(--brand); font-weight:800; }
.article-checklist p { margin:8px 0 0; }
.article-issuance { padding-top:32px; border-top:1px solid var(--line); }
.article-cta-group { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.article-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 24px; border:1px solid transparent; border-radius:6px; font-weight:800; text-align:center; }
.article-cta:hover { text-decoration:none; }
.article-cta--primary { color:var(--card); background:var(--accent); }
.article-cta--primary:hover { background:var(--accent-hover); }
.article-cta--secondary { color:var(--brand-dark); background:var(--card); border-color:var(--brand-dark); }
.article-cta--secondary:hover { background:var(--brand-soft); }
.article-sources { margin-top:48px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.article-sources h2 { color:var(--ink); font-size:17px; }
.article-sources ol { margin:0 0 24px; padding-left:24px; }
.article-sources li + li { margin-top:16px; }
.article-sources li p { margin:4px 0 0; }
.article-sources a { color:var(--brand-dark); text-decoration:underline; text-underline-offset:4px; }
body.page-article .article-shell.article-hub { max-width:920px; }
.article-hub-header { max-width:720px; margin:40px 0 64px; }
.article-hub-header h1 { text-wrap:balance; word-break:keep-all; }
.article-hub-header > p:last-child { max-width:680px; margin:20px 0 0; color:var(--muted); font-size:17px; line-height:1.8; word-break:keep-all; }
.article-hub-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--line-strong); }
.article-hub-heading .eyebrow { margin:0 0 8px; }
.article-hub-heading h2 { margin:0; }
.article-hub-count { margin:0; color:var(--muted); font-size:14px; white-space:nowrap; }
.article-list { margin:0; padding:0; list-style:none; }
.article-list li { border-bottom:1px solid var(--line); }
.article-list-link { display:block; min-height:44px; padding:24px; color:inherit; text-decoration:none; }
.article-list-link:hover,.article-list-link:focus-visible { background:var(--brand-soft); box-shadow:inset 4px 0 0 var(--brand); text-decoration:none; }
.article-list-category { display:block; margin-bottom:8px; color:var(--brand); font-size:14px; font-weight:800; }
.article-list h3 { margin:0 0 12px; color:var(--ink); font-size:22px; line-height:1.4; text-wrap:balance; }
.article-list-description { display:block; max-width:720px; color:var(--muted); line-height:1.7; }
.article-list-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; font-size:14px; }
.article-list-date { color:var(--muted); }
.article-list-read { color:var(--brand-dark); font-weight:800; white-space:nowrap; }
.article-related a { color:var(--brand-dark); font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.article-related { margin-top:48px; padding-top:24px; border-top:1px solid var(--line); }
.article-related ul { margin:0 0 16px; padding-left:24px; }
@media (max-width:640px) {
    .article-header { margin:24px 0; }
    .article-summary,.article-callout { padding:20px; }
    .article-shell h2 { font-size:20px; }
    .article-table-wrap th,.article-table-wrap td { padding:12px 8px; }
    .article-table-wrap table { font-size:14px; }
    .article-choices > div { grid-template-columns:minmax(0, 1fr) 180px; gap:12px; }
    .article-cta-group { display:grid; }
    .article-cta { width:100%; }
    .article-hub-header { margin:24px 0 48px; }
    .article-hub-header > p:last-child { font-size:16px; }
    .article-list-link { padding:20px 8px; }
    .article-list h3 { font-size:20px; }
}
