.insight-article { max-width: 1000px; padding-bottom: 3.5rem; }
.insight-article .service-hero { max-width: 950px; padding-bottom: 1.8rem; }
.article-body { max-width: 780px; }
.article-intro { font-size: 1.2rem; line-height: 1.7; }
.article-body h2 { margin: 3rem 0 1.1rem; padding-top: 1.8rem; border-top: 1px solid var(--line); font-size: clamp(1.8rem, 3vw, 2.2rem); }
.article-body h3 { margin: 1.8rem 0 .75rem; font-size: 1.25rem; line-height: 1.35; }
.article-body a { color: var(--accent); }
.article-toc { margin: 1.8rem 0; padding-block: 1.2rem; border-block: 1px solid var(--line); }
.article-toc > p { font-weight: 700; }
.article-toc ol { margin: .6rem 0 0; padding-left: 1.25rem; }
.article-toc a { display: inline-block; padding-block: .3rem; }
.source-links { font-size: .9em; }
.article-note { color: var(--muted); font-size: .9375rem; }
.article-table-wrap { margin: 1.6rem 0; overflow-x: auto; }
.article-table-wrap:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.article-table { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.6; }
.article-table caption { text-align: left; font-weight: 600; margin-bottom: .8rem; }
.article-table th, .article-table td { padding: .85rem; text-align: left; vertical-align: top; border: 1px solid var(--line); }
.article-table thead { background: var(--soft); }
.article-table tbody th { font-weight: 600; width: 24%; }
.article-table tbody tr:nth-child(even) { background: #fafbfc; }
.article-related { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.insights-hub { padding-bottom: 4rem; }
.insight-listing { max-width: 850px; padding-top: 1.75rem; border-top: 2px solid var(--ink); }
.insight-listing h2 { margin-top: .8rem; font-size: clamp(1.7rem, 3vw, 2.25rem); }
.insight-listing > p:not(.eyebrow) { max-width: 740px; margin-top: 1rem; }
.insight-listing > .text-link { color: var(--accent); margin-top: 1rem; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 600px) {
 .article-intro { font-size: 1.0625rem; }
 .article-table { min-width: 530px; }
 .article-body h2 { margin-top: 2.25rem; }
 .insight-article { padding-bottom: 2.5rem; }
}
@media print {
 .article-toc { display: none; }
 .article-table { min-width: 0; }
 .article-table-wrap { overflow: visible; }
 .article-body h2, .article-body h3 { break-after: avoid; }
 .article-table tr { break-inside: avoid; }
}
