/* Article extras: in-brief callout, source markers, gap table, PDF link, sources list. */
.prose .brief { margin: 0 0 32px; padding: 18px 22px; background: var(--surface); border-left: 2px solid var(--gold); font-size: 17px; line-height: 1.65; }
.prose h2 { scroll-margin-top: 24px; }
sup.fn a, .prose ol.sources li { scroll-margin-top: 120px; }

sup.fn { font-size: 0.7em; line-height: 0; margin-left: 1px; font-family: var(--font-body); white-space: nowrap; }
sup.fn a { color: var(--gold-ink); text-decoration: none; padding: 2px 1px; }
sup.fn a:hover, sup.fn a:focus-visible { text-decoration: underline; }
sup.fn + sup.fn { margin-left: 0; }

.prose ol:not(.sources) > li::marker { font-family: var(--font-display); font-size: 1.15em; color: var(--gold-ink); }
.prose ol:not(.sources) > li { padding-left: 4px; margin-bottom: 18px; }

.prose table.gap-table { display: table; width: 100%; margin: 8px 0 28px; font-size: 15px; line-height: 1.5; }
.gap-table th { font-family: var(--font-body); font-weight: 500; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-ink); border-bottom: 2px solid var(--gold); padding: 10px 14px; }
.gap-table td { padding: 14px; }
.gap-table td:first-child { width: 36%; }
.gap-table td p { margin: 0 0 10px; }
.gap-table td p:last-child { margin-bottom: 0; }
.gap-table td strong { font-weight: 500; }
.gap-table td:first-child strong { display: block; font-family: var(--font-display); font-size: 20px; line-height: 1.2; margin-bottom: 4px; }

@media (max-width: 640px) {
  .prose table.gap-table, .gap-table tbody, .gap-table tr, .gap-table td { display: block; width: 100%; }
  .gap-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .gap-table tr { border-top: 2px solid var(--gold); padding: 6px 0 4px; }
  .gap-table td { border: 0; padding: 8px 0; }
  .gap-table td:first-child { width: 100%; }
  .gap-table td::before { content: attr(data-label); display: block; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 4px; }
}

.prose .pdf-cta { margin: 36px 0 8px; padding: 18px 22px; border: 1px solid var(--rule); border-top: 2px solid var(--gold); font-size: 17px; }
.prose .pdf-cta a { font-weight: 500; text-underline-offset: 4px; }

.prose ol.sources { list-style: none; padding: 0; margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); }
.prose ol.sources li { margin: 0 0 12px; padding: 6px 8px; border-left: 2px solid transparent; overflow-wrap: anywhere; }
.prose ol.sources li:target { background: var(--surface); border-left-color: var(--gold); }
.prose ol.sources .num { color: var(--fg); margin-right: 4px; }
.prose ol.sources .src-back { white-space: nowrap; margin-left: 8px; font-size: 13px; }
.prose ol.sources .src-back a { color: var(--gold-ink); text-underline-offset: 3px; padding: 4px 3px; }
sup.fn a:target { background: var(--surface); }
