/* Only pages with typed blocks or sources load this stylesheet. */
.article-rich-heading { color: var(--color-navy); font-weight: 700; line-height: 1.6; overflow-wrap: anywhere; scroll-margin-top: 6rem; }
h2.article-rich-heading { font-size: 1.5rem; border-top: 1px solid var(--color-line); padding-top: 2rem; }
h3.article-rich-heading { font-size: 1.15rem; }
.article-rich-list { padding-left: 1.6rem; }
ul.article-rich-list { list-style-type: disc; }
ol.article-rich-list { list-style-type: decimal; }
.article-rich-list li + li { margin-top: .65rem; }
.article-rich-table { max-width: 100%; overflow-x: auto; border: 1px solid var(--color-line); border-radius: .75rem; }
.article-rich-table:focus-visible { outline: 2px solid #f49603; outline-offset: 3px; }
.article-rich-table table { border-collapse: collapse; width: 100%; min-width: 30rem; font-size: .9rem; line-height: 1.8; }
.article-rich-table caption { text-align: left; padding: 1rem; font-weight: 700; }
.article-rich-table th, .article-rich-table td { padding: .8rem 1rem; text-align: left; border-bottom: 1px solid var(--color-line); overflow-wrap: anywhere; }
.article-rich-table th { background: var(--color-navy); color: #fff; }
.article-rich-table tbody tr:nth-child(even) { background: var(--color-soft); }
.article-sources { margin-top: 3rem; padding: 1.5rem; background: var(--color-soft); border-radius: .75rem; overflow-wrap: anywhere; font-size: .85rem; line-height: 1.9; }
.article-sources h2 { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
.article-sources ol { list-style: decimal; padding-left: 1.5rem; }
.article-sources li { margin-top: .75rem; scroll-margin-top: 6rem; }
.article-sources a { color: var(--color-navy); text-decoration: underline; }
.article-sources span { display: block; color: var(--color-ink-soft); }

.article-figure { margin-inline: 0; }
.article-figure img { display: block; width: 100%; height: auto; border-radius: 1rem; }
.article-figure figcaption { margin-top: .75rem; color: var(--color-ink-soft); font-size: .8rem; line-height: 1.8; }

/* summary / takeaways / faq / cta (plain-text article fields) */
.article-summary { margin-bottom: 3rem; padding: 1.5rem; border: 2px solid var(--color-orange); border-radius: 1rem; background: #fff; font-size: .95rem; line-height: 1.9; overflow-wrap: anywhere; }
.article-summary > div + div { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--color-line); }
.article-summary-label { display: inline-block; margin-bottom: .5rem; padding: .15rem .75rem; border-radius: 999px; background: var(--color-cream); color: var(--color-orange); font-size: .75rem; font-weight: 700; }
.article-summary ul { list-style: disc; padding-left: 1.4rem; }
.article-summary li + li { margin-top: .4rem; }
.article-faq { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--color-line); overflow-wrap: anywhere; }
.article-faq h2 { color: var(--color-navy); font-size: 1.5rem; font-weight: 700; line-height: 1.5; scroll-margin-top: 6rem; }
.article-faq dl > div { margin-top: 1.25rem; padding: 1.25rem 1.5rem; border-radius: .75rem; background: var(--color-soft); }
.article-faq dt { color: var(--color-navy); font-weight: 700; line-height: 1.7; }
.article-faq dt::before { content: "Q. "; color: var(--color-orange); }
.article-faq dd { margin: .6rem 0 0; font-size: .95rem; line-height: 1.9; }
.article-cta { padding: 1.5rem; border-radius: 1rem; background: var(--color-cream); text-align: center; overflow-wrap: anywhere; }
.article-cta p { font-weight: 700; line-height: 1.7; }
.article-cta a { display: inline-block; margin-top: 1rem; padding: .8rem 1.5rem; border-radius: 999px; background: var(--color-navy); color: #fff; font-size: .875rem; font-weight: 600; line-height: 1.5; }
.article-cta a:hover { background: var(--color-navy-deep); }
