/* Regulatory Atlas: selective evidence cases, deliberately quieter than a product directory. */
.ra-collection,
.ra-detail { max-width: 1040px; padding-bottom: 88px; overflow-wrap: anywhere; }
.ra-collection > .article-back,
.ra-detail > .article-back { display: inline-flex; margin: 34px 0 42px; min-height: 44px; align-items: center; }
.ra-intro { max-width: 900px; }
.ra-intro .page-title { max-width: 760px; margin-bottom: 20px; font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.055em; }
.ra-intro .lede { max-width: 62ch; }
.ra-scope { max-width: 78ch; color: var(--muted); font-size: .9rem; }
.ra-facts,
.ra-detail-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 38px 0 0; border-block: 1px solid var(--line); }
.ra-facts div,
.ra-detail-facts div { padding: 18px 20px 18px 0; }
.ra-facts dt,
.ra-detail-facts dt { color: var(--muted); font-family: var(--mono); font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ra-facts dd,
.ra-detail-facts dd { margin: 5px 0 0; font-weight: 700; }
.ra-intro-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; margin-top: 26px; }
.ra-intro-actions .button { margin: 0; }
.ra-intro-actions .quiet-link { color: var(--accent-strong); }
.ra-browser { margin-top: 78px; }
.ra-section-head { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 48px; align-items: end; }
.ra-section-head h2 { margin-bottom: 0; font-size: clamp(1.8rem, 3.5vw, 2.7rem); line-height: 1.08; letter-spacing: -.04em; }
.ra-section-head > p { margin: 0; color: var(--muted); }
.ra-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; margin: 36px 0 12px; align-items: end; }
.ra-filters label { color: var(--muted); font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ra-filters select,
.ra-filters button { width: 100%; min-height: 46px; margin-top: 7px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); color: var(--ink); font-size: .9rem; }
.ra-filters select { padding: 0 34px 0 12px; }
.ra-filters button { min-width: 82px; padding: 0 16px; cursor: pointer; font-weight: 700; }
.ra-filters :disabled { color: var(--muted); background: var(--wash); cursor: default; }
.ra-list { border-top: 1px solid var(--line); }
.ra-card { padding: 32px 0; border-bottom: 1px solid var(--line); }
.ra-card[hidden] { display: none; }
.ra-card-meta { display: flex; flex-wrap: wrap; gap: 7px 18px; margin-bottom: 10px; color: var(--muted); font-family: var(--mono); font-size: .72rem; letter-spacing: .03em; text-transform: uppercase; }
.ra-card h2 { margin-bottom: 5px; font-size: clamp(1.35rem, 2.8vw, 1.85rem); letter-spacing: -.03em; }
.ra-card h2 a { color: var(--ink); text-decoration: none; }
.ra-card h2 a:hover { color: var(--blue); }
.ra-maker { color: var(--muted); font-size: .86rem; }
.ra-card > p:not(.ra-maker) { max-width: 76ch; }
.ra-lesson { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px; margin: 20px 0; padding-left: 18px; border-left: 2px solid var(--accent); color: var(--ink-soft); font-size: .92rem; }
.ra-card footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; align-items: center; margin-top: 18px; color: var(--muted); font-size: .82rem; }
.ra-card footer a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 700; }
.ra-empty { padding: 28px 0; color: var(--muted); }
.ra-method { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: 64px; margin-top: 80px; padding-top: 42px; border-top: 1px solid var(--line); }
.ra-method h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.12; }
.ra-method ol { margin: 0; padding: 0; list-style: none; counter-reset: method; }
.ra-method li { position: relative; padding: 0 0 24px 46px; counter-increment: method; }
.ra-method li::before { content: "0" counter(method); position: absolute; left: 0; top: 1px; color: var(--accent); font-family: var(--mono); font-size: .75rem; font-weight: 700; }
.ra-method li strong,
.ra-method li span { display: block; }
.ra-method li span { margin-top: 4px; color: var(--muted); font-size: .9rem; }
.ra-method > p { grid-column: 2; color: var(--muted); font-size: .86rem; }

.ra-detail { max-width: 980px; }
.ra-matrix { max-width: 1240px; }
.ra-detail-head { max-width: 820px; }
.ra-detail-head .page-title { margin-bottom: 18px; font-size: clamp(2.6rem, 6vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.ra-detail-head .lede { max-width: 65ch; }
.ra-detail-facts { margin-top: 32px; }
.ra-verdict { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 52px 0 64px; background: var(--line); border: 1px solid var(--line); }
.ra-verdict > div { padding: 28px; background: var(--paper); }
.ra-verdict > div:last-child { background: var(--wash); }
.ra-verdict p:last-child { margin-bottom: 0; }
.ra-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 72px; align-items: start; }
.ra-detail-main { max-width: 700px; }
.ra-detail-main section { padding-bottom: 44px; margin-bottom: 44px; border-bottom: 1px solid var(--line); scroll-margin-top: 96px; }
.ra-detail-main h2 { margin-bottom: 18px; font-size: clamp(1.55rem, 3vw, 2.15rem); letter-spacing: -.035em; }
.ra-detail-main h3 { margin: 30px 0 14px; font-size: 1.05rem; }
.ra-definition { margin: 24px 0 0; }
.ra-definition > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px; padding: 14px 0; border-top: 1px solid var(--line); }
.ra-definition dt { color: var(--muted); font-size: .82rem; font-weight: 700; }
.ra-definition dd { margin: 0; }
.ra-lineage { padding: 16px 18px; background: var(--wash); font-size: .92rem; }
.ra-lineage strong { display: block; margin-bottom: 4px; }
.ra-metrics { margin: 0; }
.ra-metrics > div { padding: 16px 0; border-top: 1px solid var(--line); }
.ra-metrics dt { font-weight: 700; }
.ra-metrics dd { margin: 5px 0 0; }
.ra-metrics dd strong,
.ra-metrics dd span { display: block; }
.ra-metrics dd strong { color: var(--accent-strong); }
.ra-metrics dd span { margin-top: 4px; color: var(--muted); font-size: .88rem; }
.ra-sources { padding-left: 1.4rem; }
.ra-sources li + li { margin-top: 16px; }
.ra-sources a,
.ra-sources span { display: block; }
.ra-sources span { margin-top: 3px; color: var(--muted); font-size: .86rem; }
.ra-detail-nav { position: sticky; top: 96px; display: grid; gap: 2px; padding-left: 18px; border-left: 1px solid var(--line); font-size: .82rem; }
.ra-detail-nav strong { margin-bottom: 8px; }
.ra-detail-nav a { min-height: 34px; color: var(--muted); text-decoration: none; }
.ra-detail-nav a:hover { color: var(--ink); }
.ra-disclosure { max-width: 700px; margin-top: 14px; padding: 24px; background: var(--wash); color: var(--ink-soft); font-size: .88rem; }
.ra-disclosure p { margin: 6px 0 12px; }
.ra-consultation .record-status { display: inline-flex; margin-top: 8px; }
.ra-document-link { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin: 18px 0 0; }
.ra-document-link .button { margin: 0; }
.ra-document-link span { color: var(--muted); font-size: .82rem; }
.ra-numbered-recommendations { padding: 0; list-style: none; counter-reset: recommendation; }
.ra-numbered-recommendations li { position: relative; padding: 0 0 22px 46px; counter-increment: recommendation; }
.ra-numbered-recommendations li::before { content: "0" counter(recommendation); position: absolute; left: 0; top: 2px; color: var(--accent); font-family: var(--mono); font-size: .75rem; font-weight: 700; }
.ra-numbered-recommendations strong,
.ra-numbered-recommendations span { display: block; }
.ra-numbered-recommendations span { margin-top: 4px; color: var(--muted); }
.ra-endpoints { margin: 0; }
.ra-endpoints > div { padding: 18px 0; border-top: 1px solid var(--line); }
.ra-endpoints dt { margin-bottom: 5px; color: var(--ink); font-weight: 700; }
.ra-endpoints dd { margin: 0; color: var(--ink-soft); }
.ra-pattern-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 26px 0; border: 1px solid var(--line); background: var(--line); }
.ra-pattern-grid article { padding: 26px; background: var(--paper); }
.ra-pattern-grid article:last-child { background: var(--wash); }
.ra-pattern-grid h3 { margin: 4px 0 14px; line-height: 1.2; }
.ra-gate-list { margin: 28px 0; border-top: 1px solid var(--line); }
.ra-gate-list > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.ra-gate-list > div > span { color: var(--accent); font-family: var(--mono); font-size: .72rem; font-weight: 700; }
.ra-gate-list p { margin: 0; }
.ra-gate-list strong { display: block; margin-bottom: 3px; }
.ra-pathway { margin: 26px 0 0; padding: 0; list-style: none; counter-reset: pathway; }
.ra-pathway li { position: relative; padding: 0 0 26px 48px; counter-increment: pathway; }
.ra-pathway li::before { content: "0" counter(pathway); position: absolute; left: 0; top: 2px; color: var(--accent); font-family: var(--mono); font-size: .75rem; font-weight: 700; }
.ra-pathway strong,
.ra-pathway span { display: block; }
.ra-pathway span { margin-top: 3px; color: var(--muted); }
.ra-matrix-section { margin: 0 0 58px; }
.ra-table-scroll-note { margin: 24px 0 10px; color: var(--muted); font-size: .82rem; }
.ra-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border-block: 1px solid var(--line); background: var(--paper); }
.ra-table-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.ra-evidence-table { width: 100%; min-width: 1120px; table-layout: fixed; border-collapse: collapse; font-size: .84rem; line-height: 1.45; }
.ra-evidence-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ra-evidence-table th,
.ra-evidence-table td { padding: 18px 16px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; text-align: left; vertical-align: top; }
.ra-evidence-table th + th,
.ra-evidence-table th + td,
.ra-evidence-table td + td { border-left: 1px solid var(--line); }
.ra-evidence-table thead th { color: var(--muted); font-family: var(--mono); font-size: .68rem; letter-spacing: .05em; white-space: normal; text-transform: uppercase; }
.ra-evidence-table tbody th { width: 220px; font-size: .9rem; }
.ra-evidence-table tbody th a { display: block; color: var(--ink); overflow-wrap: anywhere; white-space: normal; text-decoration: none; }
.ra-evidence-table tbody th a:hover { color: var(--blue); }
.ra-evidence-table tbody td { width: 180px; }
.ra-evidence-table strong,
.ra-evidence-table span { display: block; }
.ra-evidence-table span { margin-top: 5px; color: var(--muted); font-size: .78rem; font-weight: 400; white-space: normal; }
.ra-evidence-table tbody tr:last-child th,
.ra-evidence-table tbody tr:last-child td { border-bottom: 0; }
.ra-matrix-notes { max-width: 760px; padding-top: 42px; border-top: 1px solid var(--line); }
.ra-matrix-notes h2 { max-width: 680px; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.12; }

@media (max-width: 760px) {
  .ra-collection,
  .ra-detail { padding-bottom: 60px; }
  .ra-collection > .article-back,
  .ra-detail > .article-back { margin: 24px 0 28px; }
  .ra-intro .page-title,
  .ra-detail-head .page-title { font-size: 2.45rem; line-height: 1.02; }
  .ra-facts,
  .ra-detail-facts { grid-template-columns: 1fr 1fr; }
  .ra-facts div,
  .ra-detail-facts div { padding: 14px 12px 14px 0; }
  .ra-browser { margin-top: 54px; }
  .ra-section-head,
  .ra-method { display: block; }
  .ra-section-head > p { margin-top: 14px; }
  .ra-filters { grid-template-columns: 1fr 1fr; }
  .ra-card { padding: 26px 0; }
  .ra-lesson { display: block; }
  .ra-lesson strong { display: block; margin-bottom: 5px; }
  .ra-card footer { align-items: flex-start; }
  .ra-method > div { margin-bottom: 28px; }
  .ra-method > p { margin-top: 10px; }
  .ra-verdict { grid-template-columns: 1fr; margin: 40px 0 48px; }
  .ra-verdict > div { padding: 22px; }
  .ra-detail-grid { display: block; }
  .ra-detail-nav { display: none; }
  .ra-detail-main section { padding-bottom: 34px; margin-bottom: 34px; }
  .ra-definition > div { display: block; }
  .ra-definition dd { margin-top: 4px; }
  .ra-document-link { display: block; }
  .ra-document-link .button { width: 100%; justify-content: center; }
  .ra-document-link span { display: block; margin-top: 10px; }
  .ra-pattern-grid { grid-template-columns: 1fr; }
  .ra-pattern-grid article { padding: 22px; }
  .ra-matrix-section { margin-bottom: 46px; }
  .ra-table-scroll-note { margin-top: 18px; }
  .ra-evidence-table { min-width: 1040px; }
  .ra-evidence-table th,
  .ra-evidence-table td { padding: 16px 14px; }
  .ra-matrix-notes { padding-top: 34px; }
}

@media (max-width: 440px) {
  .ra-filters { grid-template-columns: 1fr; }
  .ra-facts,
  .ra-detail-facts { grid-template-columns: 1fr; }
  .ra-facts div,
  .ra-detail-facts div { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
  .ra-facts dd,
  .ra-detail-facts dd { margin: 0; text-align: right; }
  .ra-intro-actions { display: grid; }
  .ra-intro-actions .button { justify-content: center; }
}
