/* Exam pages only. Shared chrome and other editorial families keep their own styles. */
.exam-page { --font-body: "DM Sans", "Segoe UI", "Nirmala UI", Arial, sans-serif; --font-display: var(--font-body); font-family: var(--font-body); }
.exam-page .article-hero { padding: 32px 0 36px; background: var(--bg-soft); }
.exam-page .breadcrumbs { max-width: 85ch; margin-bottom: 24px; font: 400 var(--fs-xs, .875rem)/1.7 var(--font-body); overflow-wrap: anywhere; }
.exam-page .breadcrumbs [aria-hidden] { margin-inline: 6px; }
.exam-page .breadcrumbs a { color: var(--accent-dark); }
.exam-page .article-kicker { font: 600 var(--fs-xs, .875rem)/1.4 var(--font-body); letter-spacing: .02em; text-transform: none; color: var(--accent-dark); }
.exam-page .article-hero h1 { max-width: 27ch; font-family: "Bricolage Grotesque", var(--font-body); font-size: clamp(2rem, 3.8vw, 3rem); line-height: 1.12; text-wrap: balance; }
.exam-page .article-meta { font: 400 var(--fs-xs, .875rem)/1.6 var(--font-body); }
.exam-page .article-answer { max-width: 72ch; padding: 0; border: 0; background: transparent; margin-top: 20px; font-size: var(--fs-md, 1.0625rem); line-height: 1.65; }
.exam-page .article-hero-copy { max-width: 75ch; font-size: var(--fs-base, 1rem); line-height: 1.7; }
.exam-page .article-actions { margin-top: 24px; gap: 12px; }
.exam-page .article-actions .button { min-height: 48px; padding: 12px 20px; white-space: normal; text-align: center; line-height: 1.4; }
.exam-page .article-note { max-width: 78ch; font: 400 var(--fs-xs, .875rem)/1.7 var(--font-body); }
.exam-page .exam-sections { display: flex; flex-wrap: wrap; gap: 4px 20px; padding-block: 12px; border-bottom: 1px solid var(--line); }
.exam-page .exam-sections a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent-dark); font-size: var(--fs-xs, .875rem); font-weight: 600; text-decoration: none; }
.exam-page .exam-sections a:hover { text-decoration: underline; text-underline-offset: 4px; }
.exam-page .article-body { padding-block: 40px 64px; }
.exam-page .article-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.exam-page .article-sidebar { display: none; }
.exam-page .article-content { color: var(--text); }
.exam-page .article-content section + section { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }
.exam-page .article-content h2 { font-size: var(--fs-2xl, 1.5rem); line-height: 1.25; }
.exam-page .article-content h3 { font-size: var(--fs-md, 1.0625rem); line-height: 1.5; }
.exam-page main :is(h2, section[id]) { scroll-margin-top: 100px; }
.exam-page .article-content :is(p, ul, ol) { max-width: none; color: var(--text); font-size: var(--fs-base, 1rem); line-height: 1.75; }
.exam-page .article-content a:not(.button) { color: var(--accent-dark); text-underline-offset: 3px; }
.exam-page .article-content .callout { padding: 18px 20px; border-left: 3px solid var(--accent); background: var(--accent-soft); }
.exam-page .callout p:last-child { margin-bottom: 0; }
.exam-page .data-table { min-width: 0; table-layout: fixed; font-size: var(--fs-sm, .9rem); line-height: 1.65; }
.exam-page .data-table :is(th, td) { padding: 14px 16px; overflow-wrap: anywhere; }
.exam-page .data-table :is(th, td, tr) { border-radius: 0 !important; }
.exam-page :is(.article-hero, .exam-sections, .article-content > section) { border-radius: 0 !important; }
.exam-page .data-table th { width: 32%; font-weight: 600; }
.exam-page .data-table-wrap { box-shadow: none; }
.exam-page .article-content .exam-source-route { margin-top: 14px; font-size: var(--fs-xs, .875rem); color: var(--muted); }
.exam-page .article-sidebar { top: 96px; }
.exam-page .facts-card { display: block; padding: 24px; border-top: 3px solid var(--accent); box-shadow: none; }
.exam-page .facts-card h2 { font-size: var(--fs-lg, 1.25rem); }
.exam-page .facts-list dt { font: 400 var(--fs-xs, .875rem)/1.5 var(--font-body); text-transform: none; letter-spacing: 0; }
.exam-page .facts-list dd { font-size: var(--fs-base, 1rem); line-height: 1.5; overflow-wrap: anywhere; }
.exam-page .facts-source { font: 400 var(--fs-sm, .9rem)/1.75 var(--font-body); overflow-wrap: anywhere; }
.exam-page .article-content [aria-labelledby="source-heading"] { padding: 24px; border: 1px solid var(--line); background: var(--bg-soft); }
.exam-page .related-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.exam-page .related-links + .related-links { margin-top: 10px; }
.exam-page .related-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; border: 0; background: transparent; font-size: var(--fs-sm, .9rem); line-height: 1.5; text-decoration: underline; overflow-wrap: anywhere; }
.exam-page .related-links a:hover { border-color: var(--accent); text-decoration: underline; }
.exam-page .disclosure { margin-top: 10px; border: 1px solid var(--line); background: var(--panel); }
.exam-page .disclosure summary { display: list-item; min-height: 48px; padding: 16px 20px; font: 600 var(--fs-base, 1rem)/1.5 var(--font-body); cursor: pointer; list-style: disclosure-closed inside; }
.exam-page .disclosure[open] summary { list-style-type: disclosure-open; border-bottom: 1px solid var(--line); }
.exam-page .disclosure summary::after { content: none; }
.exam-page .disclosure-body { padding: 18px 20px; }
.exam-page .disclosure-body p:last-child { margin-bottom: 0; }
.exam-page main :is(a, summary, button, [tabindex]):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.exam-page .article-content .article-answer { margin-top: 0; }
.exam-page .article-content .article-meta { color: var(--muted); font-size: var(--fs-xs); }
.exam-page .exam-source-link { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm) !important; text-decoration: none; }
.exam-page .exam-source-content { padding-block: 32px 64px; }
.exam-page .exam-source-content h1 { max-width: 32ch; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.2; margin-block: 24px; }
.exam-page .exam-source-content section { max-width: 780px; padding: 24px; background: var(--panel); border: 1px solid var(--line); }
.exam-page .exam-source-content :is(p, a) { line-height: 1.8; }
.exam-page .exam-source-content .facts-source { font-size: var(--fs-base); }
.exam-page .exam-back { display: inline-block; color: var(--accent-dark); }
.exam-source-page .article-sidebar { display: block; position: static; max-width: 780px; margin-block: 24px; }
.exam-page .article-disclaimer { border-radius: 0 !important; }
@media (max-width: 900px) {
  .exam-page .article-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .exam-page .article-sidebar { position: static; order: 0; }
  .exam-page .facts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
}
@media (max-width: 600px) {
  .exam-page .article-hero { padding-block: 24px 28px; }
  .exam-page .article-body { padding-top: 28px; }
  .exam-page .article-actions { flex-direction: column; align-items: stretch; }
  .exam-page .related-links { grid-template-columns: minmax(0, 1fr); }
  .exam-page .data-table :is(th, td) { padding: 12px 10px; }
  .exam-page .facts-card, .exam-page .article-content [aria-labelledby="source-heading"] { padding: 18px; }
  .exam-page .disclosure summary, .exam-page .disclosure-body { padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .exam-page { transition: none !important; }
  .exam-page main *, .exam-page main *::before, .exam-page main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .exam-page main a:hover { transform: none !important; }
}
