/* Source experiences: explicit components, shared visual grammar.
   Scope is opt-in. Unrelated workspaces and the other site brand are unaffected. */
html[data-site="ai"] .source-page {
  --source-reading-width: 74ch;
  --source-section-gap: clamp(26px, 3vw, 40px);
  --source-body-size: 16px;
  padding-bottom: 40px;
  min-width: 0;
}
html[data-site="ai"] .source-page :is(section, article, form, nav, aside, .source-reader__main, .source-reader__aside) { min-width: 0; }
html[data-site="ai"] .source-page [id] { scroll-margin-top: 72px; }
html[data-site="ai"] body:has(.source-page) .subnav { height: auto; min-height: 32px; }
html[data-site="ai"] body:has(.source-page) .subnav .wrap { min-height: 32px; padding-top: 6px; padding-bottom: 6px; }
html[data-site="ai"] body:has(.source-page) .subnav-breadcrumb { flex-wrap: wrap; line-height: 1.6; }
html[data-site="ai"] body:has(.source-page) .subnav-breadcrumb > * { flex-shrink: 0; }
html[data-site="ai"] body:has(.source-page) .subnav-breadcrumb .current { flex-shrink: 1; min-width: 0; overflow-wrap: anywhere; }
html[data-site="ai"] .source-header { padding: 28px 0 22px; border-bottom: 1px solid var(--rule); margin-bottom: 24px; }
html[data-site="ai"] .source-header h1 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.16; letter-spacing: -.025em; max-width: 34ch; margin: 8px 0 14px; overflow-wrap: anywhere; }
html[data-site="ai"] .source-header .lede { max-width: 78ch; font-size: 16px; line-height: 1.6; }
html[data-site="ai"] .source-facts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 14px 0; font-size: 14px; line-height: 1.5; }
html[data-site="ai"] .source-facts > * { min-width: 0; }
html[data-site="ai"] .source-meta { font-size: 13px; color: var(--ink-3); line-height: 1.6; overflow-wrap: anywhere; }
html[data-site="ai"] .source-page .source-sections { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 0 0 14px; margin: 0 0 24px; border-bottom: 1px solid var(--rule); font-size: 14px; }
html[data-site="ai"] .source-sections a { text-decoration: underline; text-underline-offset: 4px; padding: 5px 0; }
html[data-site="ai"] .source-search { margin: 0 0 24px; }
html[data-site="ai"] .source-search:has(> .source-field) { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; }
html[data-site="ai"] .source-search > .source-field { max-width: 420px; }
html[data-site="ai"] .source-search > .source-field:has(input[type="search"]) { flex: 2 1 280px; max-width: none; }
html[data-site="ai"] .source-search > :is(.source-filter-disclosure, .source-active-filters, .source-meta) { flex-basis: 100%; }
html[data-site="ai"] .source-results > h2:first-child { margin-bottom: 16px; }
html[data-site="ai"] .source-filter-grid { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; }
html[data-site="ai"] .source-field { display: flex; flex: 1 1 160px; flex-direction: column; gap: 6px; min-width: 0; font-size: 13px; font-weight: 600; color: var(--ink-2); }
html[data-site="ai"] .source-field--search { flex: 2 1 280px; }
html[data-site="ai"] .source-filter-grid > .source-field { max-width: 420px; }
html[data-site="ai"] .source-filter-grid > .source-field--search { max-width: none; }
html[data-site="ai"] .source-results-header + .source-search { margin-top: 20px; }
html[data-site="ai"] .source-search :is(input[type="search"], input[type="text"], input[type="number"], input[type="date"], select) {
  width: 100%; min-width: 0; min-height: 42px; border: 1px solid var(--ink-3); padding: 9px 11px; border-radius: 0; background: var(--paper); color: var(--ink); font: inherit; font-size: 15px; font-weight: 400;
}
html[data-site="ai"] .source-search label { font-size: 13px; }
html[data-site="ai"] .source-filter-actions { display: flex; gap: 10px 16px; flex-wrap: wrap; align-items: center; }
html[data-site="ai"] .source-search :is(.btn, button[type="submit"], button:not([type])) { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 16px; font-size: 14px; }
html[data-site="ai"] .source-search .btn-primary { background: var(--accent); border-color: var(--accent); color: var(--paper); }
html[data-site="ai"] .source-search .btn-primary:hover { background: var(--accent-hover); }
html[data-site="ai"] .source-search button:is([type="submit"], :not([type])) { background: var(--accent); border-color: var(--accent); color: var(--paper); }
html[data-site="ai"] .source-search button:is([type="submit"], :not([type])):hover { background: var(--accent-hover); }
html[data-site="ai"] .source-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 12px; font-size: 13px; color: var(--ink-3); }
html[data-site="ai"] .source-filter-disclosure { margin: 14px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 12px 0; }
html[data-site="ai"] .source-filter-disclosure > summary { cursor: pointer; font-weight: 600; font-size: 14px; }
html[data-site="ai"] .source-filter-disclosure[open] > summary { margin-bottom: 14px; }
html[data-site="ai"] .source-results { margin: 24px 0 var(--source-section-gap); }
html[data-site="ai"] .source-result-list { margin-bottom: 24px; }
html[data-site="ai"] .source-results-header { display: flex; justify-content: space-between; align-items: baseline; gap: 10px 20px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 2px solid var(--ink); margin-bottom: 0; }
html[data-site="ai"] .source-results-header h2 { font-size: 21px; }
html[data-site="ai"] .source-results-header .meta { font-size: 13px; }
html[data-site="ai"] .source-result { display: block; padding: 20px 0; border-bottom: 1px solid var(--rule); min-width: 0; color: var(--ink); }
html[data-site="ai"] .source-result-title { display: block; font-size: 18px; font-weight: 600; line-height: 1.4; margin: 0 0 8px; overflow-wrap: anywhere; }
html[data-site="ai"] .source-result-title a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
html[data-site="ai"] .source-result-meta { display: flex; flex-wrap: wrap; gap: 5px 18px; color: var(--ink-3); font-size: 13px; line-height: 1.6; margin: 7px 0; overflow-wrap: anywhere; }
html[data-site="ai"] .source-page code { overflow-wrap: anywhere; word-break: break-word; }
html[data-site="ai"] .source-result-summary { max-width: 82ch; font-size: 15px; line-height: 1.65; margin: 8px 0; }
html[data-site="ai"] .source-result-facts { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 8px 0 12px; font-size: 13px; }
html[data-site="ai"] .source-result-facts dt { color: var(--ink-3); }
html[data-site="ai"] .source-result-facts dd { margin: 2px 0 0; }
html[data-site="ai"] .source-result-notes { max-width: 82ch; font-size: 14px; line-height: 1.65; margin: 12px 0; }
html[data-site="ai"] .source-page .block.source-taxonomy { padding: 12px 0; }
html[data-site="ai"] .source-page .block.source-taxonomy--leading { padding-top: 0; border-bottom: 0; }
html[data-site="ai"] .source-taxonomy summary {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
  color: var(--ink-2);
  cursor: pointer;
  font-size: 14px;
  list-style: none;
}
html[data-site="ai"] .source-taxonomy summary::-webkit-details-marker { display: none; }
html[data-site="ai"] .source-taxonomy summary::before { content: "▸"; color: var(--ink-3); flex: 0 0 auto; transition: transform .15s ease; }
html[data-site="ai"] .source-taxonomy details[open] > summary::before { transform: rotate(90deg); }
html[data-site="ai"] .source-taxonomy summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
html[data-site="ai"] .source-taxonomy__title { margin: 0; color: var(--ink); font-size: 14px; font-weight: 600; line-height: inherit; }
html[data-site="ai"] .source-taxonomy__count,
html[data-site="ai"] .source-taxonomy__note { color: var(--ink-3); font-size: 12px; }
html[data-site="ai"] .source-taxonomy__note { margin: 10px 0 6px; }
html[data-site="ai"] .source-taxonomy__group { margin-top: 12px; }
html[data-site="ai"] .source-taxonomy__group h3 { margin: 0 0 4px; color: var(--ink-3); font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
html[data-site="ai"] .source-taxonomy__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
html[data-site="ai"] .source-taxonomy__item {
  min-width: 0;
  padding: 5px 0;
  border-bottom: 1px solid var(--rule);
  color: var(--ink-3);
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
html[data-site="ai"] .source-taxonomy__item a { text-decoration: underline; text-underline-offset: 2px; }
html[data-site="ai"] .source-excerpt { margin: 12px 0; max-width: 82ch; }
html[data-site="ai"] .source-excerpt summary { cursor: pointer; line-height: 1.65; }
html[data-site="ai"] .source-facet-list { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 10px 0 18px; padding: 0; list-style: none; font-size: 14px; }
html[data-site="ai"] .source-page :is(.source-table-scroll, .table-scroll) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
html[data-site="ai"] .source-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; background: var(--paper); }
html[data-site="ai"] .source-table th { text-align: left; font-size: 12px; line-height: 1.5; font-weight: 600; color: var(--ink-3); padding: 12px; border-bottom: 1px solid var(--rule); }
html[data-site="ai"] .source-table thead th { border-top: 2px solid var(--ink); }
html[data-site="ai"] .source-table tbody th { font-size: 14px; color: var(--ink); vertical-align: top; padding: 13px 12px; }
html[data-site="ai"] .source-table td { padding: 13px 12px; vertical-align: top; border-bottom: 1px solid var(--rule); }
html[data-site="ai"] .source-table :is(th, td).num { text-align: right; font-variant-numeric: tabular-nums; }
html[data-site="ai"] .source-table td a { text-decoration: underline; text-underline-offset: 3px; }
html[data-site="ai"] .source-table caption { text-align: left; color: var(--ink-3); font-size: 13px; padding: 0 0 10px; }
html[data-site="ai"] .source-table-note { color: var(--ink-3); font-size: 13px; margin: 8px 0 14px; }
html[data-site="ai"] .source-hmip-register { table-layout: fixed; }
html[data-site="ai"] .source-hmip-register .hmip-col-report { width: 30%; }
html[data-site="ai"] .source-hmip-register .hmip-col-date { width: 12%; }
html[data-site="ai"] .source-hmip-register .hmip-col-kind { width: 18%; }
html[data-site="ai"] .source-hmip-register .hmip-col-assessment { width: 40%; }
html[data-site="ai"] .source-hmip-register tbody th { overflow-wrap: anywhere; }
html[data-site="ai"] .source-hmip-register tbody th > .source-meta,
html[data-site="ai"] .hmip-report-date > * { display: block; }
html[data-site="ai"] .hmip-report-date time { margin-top: 2px; white-space: nowrap; }
html[data-site="ai"] .hmip-report-kind { display: inline-block; font-size: 11px; line-height: 1.35; }
html[data-site="ai"] .hmip-assessment-note { color: var(--ink-3); font-size: 13px; line-height: 1.5; }
html[data-site="ai"] .hmip-score-guide { margin: 10px 0 14px; }
html[data-site="ai"] .hmip-score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
html[data-site="ai"] .hmip-score-grid > div { min-width: 0; }
html[data-site="ai"] .hmip-score-grid dt {
  min-height: 2.7em;
  color: var(--ink-3);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.35;
}
html[data-site="ai"] .hmip-score-grid dd {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 4px 0 0;
  font-size: 10px;
  line-height: 1.3;
}
html[data-site="ai"] .hmip-score-grid .grade-dot { flex: 0 0 auto; }
html[data-site="ai"] .source-committee-remit { display: grid; gap: 5px; min-width: 0; }
html[data-site="ai"] .source-committee-remit-kicker { color: var(--ink-3); font-size: 10px; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
html[data-site="ai"] .source-committee-remit-topics { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
html[data-site="ai"] .source-committee-remit-topics li { min-width: 0; line-height: 1.4; }
html[data-site="ai"] .source-committee-remit-topics a { font-weight: 500; overflow-wrap: anywhere; }
html[data-site="ai"] .source-committee-remit-state { display: inline-block; margin-left: 6px; padding: 1px 5px; background: var(--pos-bg); color: var(--pos); font-size: 10px; font-weight: 700; line-height: 1.4; text-transform: uppercase; vertical-align: 1px; }
html[data-site="ai"] .source-reader { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 270px); gap: clamp(28px, 4vw, 56px); align-items: start; margin: 26px 0; }
html[data-site="ai"] .source-reader:not(:has(> .source-reader__aside)) { grid-template-columns: minmax(0, 1fr); }
html[data-site="ai"] .source-reader__main { max-width: var(--source-reading-width); width: 100%; }
html[data-site="ai"] .source-reader__main > section + section { margin-top: var(--source-section-gap); }
html[data-site="ai"] .source-reader__aside { border-top: 2px solid var(--ink); padding-top: 15px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
html[data-site="ai"] .source-reader__aside h2 { font-size: 16px; margin-bottom: 12px; }
html[data-site="ai"] .source-reader__aside :is(table, td, th) { font-size: 13px; }
html[data-site="ai"] .source-reader__aside .source-sections { display: flex; flex-direction: column; gap: 3px; }
html[data-site="ai"] .source-prose { max-width: var(--source-reading-width); font-size: var(--source-body-size); line-height: 1.75; overflow-wrap: anywhere; }
html[data-site="ai"] .source-prose :is(p, li) { font-size: inherit; line-height: inherit; }
html[data-site="ai"] .source-prose p { margin-bottom: 16px; }
html[data-site="ai"] .source-prose :is(ul, ol) { padding-left: 24px; }
html[data-site="ai"] .source-recommendation { padding: 22px 0; border-bottom: 1px solid var(--rule); max-width: var(--source-reading-width); overflow-wrap: anywhere; }
html[data-site="ai"] .source-recommendation:first-child { padding-top: 0; }
html[data-site="ai"] .source-recommendation h3 { font-size: 17px; line-height: 1.5; margin-bottom: 10px; }
html[data-site="ai"] .source-recommendation__reference { color: var(--ink-3); font-size: 12.5px; font-style: italic; line-height: 1.45; margin: -6px 0 8px; }
html[data-site="ai"] .source-recommendation > .source-meta { display: block; margin-bottom: 10px; }
html[data-site="ai"] .source-evidence { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--rule); }
html[data-site="ai"] .source-evidence-label { display: block; color: var(--ink-3); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 8px; }
/* Response metadata must not determine the column occupied by reading text. */
html[data-site="ai"] .source-page .pfd-response > header { display: flex; flex-wrap: wrap; gap: 12px 16px; padding: 16px; }
html[data-site="ai"] .source-page .pfd-response > header > :first-child { flex: 1 1 240px; min-width: 0; overflow-wrap: anywhere; }
html[data-site="ai"] .source-page .pfd-response-meta { flex-wrap: wrap; flex-shrink: 1; min-width: 0; }
html[data-site="ai"] .source-page h3.pfd-response-org { font-size: 16px; line-height: 1.5; margin: 0; }
html[data-site="ai"] .source-page .pfd-response-body { display: block; padding: 16px; }
html[data-site="ai"] .source-page .pfd-response-stance { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 16px; }
html[data-site="ai"] .source-page .pfd-response-summary p { margin: 0; font-size: var(--source-body-size); line-height: 1.65; }
html[data-site="ai"] .source-page blockquote.source-prose { margin: 12px 0; padding: 0 0 0 20px; border-left: 2px solid var(--rule); }
html[data-site="ai"] .source-page .badge { white-space: normal; max-width: 100%; overflow-wrap: anywhere; }
html[data-site="ai"] .source-page .source-table .badge { overflow-wrap: normal; }
html[data-site="ai"] .source-correspondence-table { min-width: 680px; table-layout: fixed; }
html[data-site="ai"] .source-correspondence-table col.source-correspondence-published { width: 118px; }
html[data-site="ai"] .source-correspondence-table col.source-correspondence-direction { width: 142px; }
html[data-site="ai"] .source-correspondence-table .source-correspondence-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
html[data-site="ai"] .source-correspondence-table .badge { white-space: nowrap; }
html[data-site="ai"] .source-correspondence-link { font-weight: 500; line-height: 1.5; }
html[data-site="ai"] .source-inquiry-register .badge { white-space: nowrap; }
html[data-site="ai"] .source-empty { padding: 24px 0; max-width: 76ch; }
html[data-site="ai"] .source-empty h2, html[data-site="ai"] .source-empty h3 { font-size: 18px; margin: 0 0 10px; }
html[data-site="ai"] .source-empty p { color: var(--ink-3); font-size: 15px; line-height: 1.65; }
html[data-site="ai"] .source-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px; padding: 20px 0; border-bottom: 1px solid var(--rule); }
html[data-site="ai"] .source-pagination a { text-decoration: underline; text-underline-offset: 4px; padding: 7px 0; }
html[data-site="ai"] .source-record-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 14px 0; font-size: 13px; }
html[data-site="ai"] .source-record-tools button { background: var(--paper); border: 1px solid var(--rule); color: var(--accent); padding: 7px 12px; font: inherit; cursor: pointer; }
html[data-site="ai"] .source-record-tools [hidden] { display: none; }
html[data-site="ai"] .source-copy-feedback { color: var(--ink-3); }
html[data-site="ai"] .source-coverage { margin: 14px 0 22px; padding: 12px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 13px; line-height: 1.6; color: var(--ink-3); }
html[data-site="ai"] .source-coverage p { max-width: 92ch; }
html[data-site="ai"] .source-coverage > details > summary { cursor: pointer; color: var(--accent); padding: 4px 0; }
html[data-site="ai"] .source-coverage details[open] > summary { margin-bottom: 10px; }
html[data-site="ai"] .source-coverage dl { display: grid; grid-template-columns: minmax(120px, 190px) minmax(0, 1fr); gap: 8px 20px; margin: 0 0 12px; }
html[data-site="ai"] .source-coverage dt { font-weight: 600; }
html[data-site="ai"] .source-coverage dd { margin: 0; }
html[data-site="ai"] .source-overview { margin: var(--source-section-gap) 0; }
html[data-site="ai"] .source-overview .chart-wrap { min-width: 0; }
html[data-site="ai"] .source-chart-data { font-size: 13px; margin: 16px 0; }
html[data-site="ai"] .source-chart-data > summary { cursor: pointer; color: var(--accent); padding: 5px 0; }
html[data-site="ai"] .source-chart-data[open] > summary { margin-bottom: 12px; }
html[data-site="ai"] .source-table--compact th[scope="row"] { overflow-wrap: anywhere; }
html[data-site="ai"] .source-table td:has(> .source-chart-data) { min-width: 240px; }
html[data-site="ai"] .source-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
html[data-site="ai"] .source-matrix th, html[data-site="ai"] .source-matrix td { min-width: 108px; }
html[data-site="ai"] .source-matrix :is(th, td):first-child { position: sticky; left: 0; min-width: 180px; max-width: 230px; background: var(--paper); z-index: 1; border-right: 1px solid var(--rule); }
html[data-site="ai"] .source-directory-page .source-sections { padding-top: 18px; }
html[data-site="ai"] .source-directory { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
html[data-site="ai"] .source-directory :is(th, td) { text-align: left; padding: 13px 12px; border-bottom: 1px solid var(--rule); vertical-align: top; overflow-wrap: anywhere; }
html[data-site="ai"] .source-directory th { font-size: 12px; font-weight: 600; color: var(--ink-3); border-top: 2px solid var(--ink); }
html[data-site="ai"] .source-directory .src-name a { display: block; text-decoration: underline; text-underline-offset: 3px; font-size: 15px; }
html[data-site="ai"] .source-directory .src-row:hover { background: var(--row-hover); }
html[data-site="ai"] .source-directory :is(.src-detail-meta, .src-content) { display: block; margin-top: 5px; color: var(--ink-3); font-size: 12px; }
html[data-site="ai"] .source-directory .src-detail-meta > summary { cursor: pointer; color: var(--accent); padding: 5px 0; }
html[data-site="ai"] .source-directory .src-detail-meta ul { padding-left: 18px; margin: 6px 0; }
html[data-site="ai"] .source-directory .src-detail-meta li + li { margin-top: 7px; }
html[data-site="ai"] .source-directory .src-cadence { color: var(--ink-3); }
html[data-site="ai"] .source-directory .src-volume { text-align: right; font-variant-numeric: tabular-nums; }
html[data-site="ai"] .source-directory .src-arrow { padding-inline: 0; color: var(--accent); }
html[data-site="ai"] .src-mobile-label { display: none; }

/* Source pages are working interfaces. Keep desktop headers and result lists
   compact enough that users can reach the records within the first viewport. */
@media (min-width: 1001px) {
  html[data-site="ai"] .source-page {
    --source-section-gap: clamp(22px, 2vw, 30px);
    padding-bottom: 32px;
  }
  html[data-site="ai"] .source-header { padding: 18px 0 14px; margin-bottom: 16px; }
  html[data-site="ai"] .source-header .tag { margin-bottom: 4px; }
  html[data-site="ai"] .source-header h1 { font-size: clamp(1.75rem, 2.2vw, 2.125rem); line-height: 1.14; margin: 3px 0 7px; }
  html[data-site="ai"] .source-header > .source-meta { margin: 0 0 7px; line-height: 1.45; }
  html[data-site="ai"] .source-header .lede { font-size: .9375rem; line-height: 1.5; }
  html[data-site="ai"] .source-facts { gap: 4px 20px; margin: 8px 0 0; line-height: 1.4; }
  html[data-site="ai"] .source-page .block { padding: 18px 0; }
  html[data-site="ai"] .source-page .block-head { gap: 10px; margin-bottom: 10px; }
  html[data-site="ai"] .source-page .tabs { gap: 6px; padding: 8px 0; }
  html[data-site="ai"] .source-page .source-sections { gap: 5px 20px; padding-bottom: 10px; margin-bottom: 16px; }
  html[data-site="ai"] .source-search,
  html[data-site="ai"] .source-result-list { margin-bottom: 16px; }
  html[data-site="ai"] .source-search:has(> .source-field),
  html[data-site="ai"] .source-filter-grid { gap: 10px; }
  html[data-site="ai"] .source-search :is(input[type="search"], input[type="text"], input[type="number"], input[type="date"], select) {
    min-height: 38px;
    padding: 7px 10px;
    font-size: .875rem;
  }
  html[data-site="ai"] .source-search :is(.btn, button[type="submit"], button:not([type])) { min-height: 38px; padding: 7px 14px; }
  html[data-site="ai"] .source-filter-disclosure { margin: 10px 0; padding: 9px 0; }
  html[data-site="ai"] .source-facet-list { margin: 8px 0 12px; }
  html[data-site="ai"] .source-results { margin: 12px 0 var(--source-section-gap); }
  html[data-site="ai"] .block.source-results { padding: 12px 0 20px; }
  html[data-site="ai"] .source-results-header { padding-bottom: 8px; }
  html[data-site="ai"] .source-results-header h2 { font-size: 1.25rem; }
  html[data-site="ai"] .source-result { padding: 14px 0; }
  html[data-site="ai"] .source-result-title { font-size: 1.0625rem; line-height: 1.35; margin-bottom: 4px; }
  html[data-site="ai"] .source-result-meta { gap: 3px 16px; margin: 3px 0; line-height: 1.5; }
  html[data-site="ai"] .source-result-meta:empty { display: none; }
  html[data-site="ai"] .source-result-summary { line-height: 1.5; margin: 4px 0; }
  html[data-site="ai"] .source-result-facts { gap: 6px 20px; margin: 5px 0 8px; }
}

@media (max-width: 1000px) {
  html[data-site="ai"] body:has(.source-page) .nav-burger { display: flex; }
  html[data-site="ai"] body:has(.source-page) .navbar ul,
  html[data-site="ai"] body:has(.source-page) .navbar-search-form { display: none; }
  html[data-site="ai"] body:has(.source-page) .navbar ul.nav-open { display: flex; flex-direction: column; position: absolute; top: 42px; left: 0; right: 0; height: auto; background: #0d1018; border-bottom: 1px solid #000; z-index: 300; padding: 6px 0; }
  html[data-site="ai"] body:has(.source-page) .navbar ul.nav-open li { display: block; width: 100%; }
  html[data-site="ai"] body:has(.source-page) .navbar ul.nav-open a { height: auto; padding: 11px 20px; border-bottom: none; font-size: 14px; display: block; }
  html[data-site="ai"] body:has(.source-page) .navbar ul.nav-open a:hover { background: #181d26; }
  html[data-site="ai"] body:has(.source-page) :is(.navbar-right, .ai-user-menu-wrap) { min-width: 0; }
  html[data-site="ai"] body:has(.source-page) .ai-user-menu-wrap > button { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 800px) {
  html[data-site="ai"] body:has(.source-page) .navbar .wrap,
  html[data-site="ai"] body:has(.source-page) .brand { min-height: 44px; height: 44px; }
  html[data-site="ai"] body:has(.source-page) .nav-burger { width: 44px; height: 44px; }
  html[data-site="ai"] body:has(.source-page) .navbar-right > a { min-height: 44px; display: inline-flex; align-items: center; }
  html[data-site="ai"] .source-header { padding-top: 22px; }
  html[data-site="ai"] .source-header h1 { max-width: 100%; }
  html[data-site="ai"] .source-reader { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  html[data-site="ai"] .source-reader__main { max-width: 100%; }
  html[data-site="ai"] .source-filter-grid { align-items: stretch; }
  html[data-site="ai"] .source-field { flex-basis: 220px; }
  html[data-site="ai"] .source-search :is(input[type="search"], input[type="text"], input[type="number"], input[type="date"], select) { min-height: 44px; font-size: 16px; }
  html[data-site="ai"] .source-search :is(.btn, button[type="submit"], button:not([type])) { min-height: 44px; }
  html[data-site="ai"] .source-page .tabs .chip,
  html[data-site="ai"] .source-page .source-sections a { min-height: 44px; display: inline-flex; align-items: center; }
  html[data-site="ai"] .source-page summary { min-height: 44px; box-sizing: border-box; padding-block: 10px; }
  html[data-site="ai"] .source-taxonomy__list { grid-template-columns: minmax(0, 1fr); }
  html[data-site="ai"] .source-chart-data > summary { min-height: 44px; box-sizing: border-box; padding: 11px 0; }
  html[data-site="ai"] .source-record-tools button { min-height: 44px; }
  html[data-site="ai"] .source-recommendation { padding: 20px 0; }
  html[data-site="ai"] .source-result { padding: 18px 0; }
  html[data-site="ai"] .source-result-meta { gap: 4px 14px; }
  html[data-site="ai"] .source-page .source-table { min-width: 560px; }
  html[data-site="ai"] .source-page .source-hmip-register,
  html[data-site="ai"] .source-hmip-register tbody,
  html[data-site="ai"] .source-hmip-register tr,
  html[data-site="ai"] .source-hmip-register :is(th, td) { display: block; width: 100%; min-width: 0; }
  html[data-site="ai"] .source-hmip-register colgroup { display: none; }
  html[data-site="ai"] .source-hmip-register thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  html[data-site="ai"] .source-hmip-register tr { box-sizing: border-box; padding: 18px 0; border-bottom: 1px solid var(--rule); }
  html[data-site="ai"] .source-hmip-register :is(th, td) { box-sizing: border-box; padding: 0; border: 0; text-align: left; }
  html[data-site="ai"] .source-hmip-register :is(th, td) + td { margin-top: 12px; }
  html[data-site="ai"] .source-hmip-register :is(th, td)::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--ink-3);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  html[data-site="ai"] .source-hmip-register th[scope="row"] { font-size: 16px; }
  html[data-site="ai"] .hmip-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; max-width: 520px; }
  html[data-site="ai"] .hmip-score-grid dt { min-height: 0; }
  html[data-site="ai"] .hmip-score-grid dd { font-size: 12px; }
  /* These committee tables already become labelled cards at this breakpoint. */
  html[data-site="ai"] .source-page :is(.committee-list-table, .committee-search-table, .committee-work-table) { min-width: 0; }
  html[data-site="ai"] .source-page .source-table--compact { min-width: 0; }
  html[data-site="ai"] .source-page .source-table--compact :is(th, td) { padding: 10px 8px; }
  html[data-site="ai"] .source-page .source-inquiry-register,
  html[data-site="ai"] .source-page .source-inquiry-register tbody { display: block; min-width: 0; width: 100%; }
  html[data-site="ai"] .source-inquiry-register thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  html[data-site="ai"] .source-inquiry-register tr { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px 10px; padding: 18px 0; border-bottom: 1px solid var(--rule); }
  html[data-site="ai"] .source-inquiry-register td { display: block; min-width: 0; padding: 0; border: 0; text-align: left; overflow-wrap: anywhere; }
  html[data-site="ai"] .source-inquiry-register td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--ink-3); font-size: 11px; font-weight: 600; line-height: 1.25; text-transform: uppercase; letter-spacing: .04em; }
  html[data-site="ai"] .source-inquiry-register td:nth-child(1),
  html[data-site="ai"] .source-inquiry-register td:nth-child(2),
  html[data-site="ai"] .source-inquiry-register td:nth-child(6) { grid-column: 1 / -1; }
  html[data-site="ai"] .source-inquiry-register td:nth-child(3),
  html[data-site="ai"] .source-inquiry-register td:nth-child(4),
  html[data-site="ai"] .source-inquiry-register td:nth-child(5) { grid-column: span 2; }
  html[data-site="ai"] .source-inquiry-register td:nth-child(7) { grid-column: 1 / -1; }
  html[data-site="ai"] .source-inquiry-register .minibar-wrap { max-width: 260px; }
  html[data-site="ai"] .committee-list-table td.source-committee-remit-cell { display: block; text-align: left; }
  html[data-site="ai"] .committee-list-table td.source-committee-remit-cell::before { display: block; margin-bottom: 6px; }
  html[data-site="ai"] .committee-list-table .source-committee-remit { width: 100%; text-align: left; }
  html[data-site="ai"] .committee-list-table .source-committee-remit-topics { justify-items: start; }
  html[data-site="ai"] .source-page .source-sections { gap: 6px 18px; }
  html[data-site="ai"] .source-coverage dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  html[data-site="ai"] .source-coverage dd { margin-bottom: 8px; }
  html[data-site="ai"] .source-chart-grid { grid-template-columns: minmax(0, 1fr); }
  html[data-site="ai"] .source-directory, html[data-site="ai"] .source-directory :is(tbody, tr, td) { display: block; width: 100%; }
  html[data-site="ai"] .source-directory colgroup { display: none; }
  html[data-site="ai"] .source-directory thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  html[data-site="ai"] .source-directory tr { padding: 17px 0; border-bottom: 1px solid var(--rule); }
  html[data-site="ai"] .source-directory td { border: 0; padding: 0; }
  html[data-site="ai"] .source-directory .src-name { margin-bottom: 8px; }
  html[data-site="ai"] .source-directory .src-name a { font-size: 16px; padding: 4px 0; }
  html[data-site="ai"] .source-directory .src-desc { font-size: 14px; line-height: 1.6; }
  html[data-site="ai"] .source-directory :is(.src-volume, .src-cadence) { margin-top: 10px; text-align: left; font-size: 13px; }
  html[data-site="ai"] .source-directory .src-mobile-label { display: inline; font-weight: 600; margin-right: 9px; }
  html[data-site="ai"] .source-directory .src-arrow { display: none; }
}

@media print {
  html[data-site="ai"] .source-page :is(.source-search, .source-record-tools, .source-pagination, .source-sections) { display: none; }
  html[data-site="ai"] .source-reader { display: block; }
  html[data-site="ai"] .source-prose { max-width: none; font-size: 11pt; }
  html[data-site="ai"] .source-page a { color: inherit; }
  html[data-site="ai"] .source-recommendation { break-inside: avoid; }
  html[data-site="ai"] .source-taxonomy details:not([open]) > :not(summary) { display: block; }
  html[data-site="ai"] .source-taxonomy summary::before { display: none; }
}
