@font-face {
  font-family: Manrope;
  src: url("fonts/manrope/manrope-variable.b300d3478efa.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

:root {
  --ink: #081b4d;
  --ink-strong: #061449;
  --muted: #52638f;
  --muted-soft: #7180a7;
  --blue: #1257ff;
  --blue-strong: #003fe0;
  --blue-soft: #eef2ff;
  --teal: #006c63;
  --teal-strong: #00584f;
  --teal-soft: #e7f4ef;
  --amber: #a86514;
  --amber-soft: #fff2d9;
  --success: #0f766e;
  --line: #dce3f1;
  --line-strong: #c9d2e7;
  --surface: #ffffff;
  --canvas: #f8fafd;
  --surface-soft: #f4f7fc;
  --shadow: 0 18px 48px rgba(36, 53, 105, .08);
  --shadow-soft: 0 8px 26px rgba(36, 53, 105, .055);
  --radius-sm: .75rem;
  --radius-md: 1.15rem;
  --radius-lg: 1.55rem;
  --sidebar-width: 16rem;
  --text-caption: .75rem;
  --text-ui-sm: .8125rem;
  --text-body-sm: .875rem;
  color-scheme: light;
  font-family: Manrope, Lato, "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

/* Report directory and report dashboard */
.main-content.reports-directory { width: min(92rem, 100%); padding-top: .45rem; }
.report-dashboard-page { width: min(96rem, 100%); padding-top: 2.8rem; }
.reports-directory-page .topbar { min-height: 5rem; justify-content: flex-end; border-bottom: 1px solid rgba(220, 227, 241, .8); background: rgba(255, 255, 255, .9); }
.reports-directory-page .topbar-title { display: none; }
.reports-directory-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.reports-directory-header { margin-bottom: 1rem; }
.reports-directory-header h1 { margin: 0 0 .45rem; font-size: clamp(2rem, 3vw, 2.55rem); line-height: 1.1; letter-spacing: -.045em; }
.reports-directory-header p { max-width: 57rem; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.report-directory-panel { overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.report-filter-bar { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(11rem, 1.2fr) minmax(10rem, 1fr) minmax(9rem, .9fr) auto auto; gap: .75rem; align-items: end; margin: 0; padding: .8rem 1rem; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: var(--surface); }
.report-filter-bar label { position: relative; display: grid; min-width: 0; color: var(--muted); font-size: .875rem; font-weight: 720; }
.report-filter-bar .report-search-field { display: grid; grid-column: 1 / -1; grid-template-columns: 1.35rem minmax(0, 1fr); gap: .65rem; align-items: center; min-height: 3.25rem; padding: 0 .9rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); }
.report-filter-bar .report-search-field:focus-within { outline: 3px solid rgba(18, 87, 255, .18); outline-offset: 1px; }
.report-search-field > img { width: 1.2rem; height: 1.2rem; opacity: .72; }
.report-filter-bar label > span { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.report-filter-bar select, .report-filter-bar input, .report-directory-summary select { width: 100%; min-height: 2.9rem; padding: .65rem 2.2rem .65rem .85rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); color: var(--ink); font-size: .875rem; }
.report-filter-bar .report-search-field input { min-height: 3.15rem; padding: .65rem 0; border: 0; outline: 0; background: transparent; font-size: 1rem; }
.report-filter-bar button { min-width: 7.5rem; min-height: 2.9rem; padding: .65rem 1.1rem; border: 1px solid var(--blue); border-radius: .55rem; background: var(--blue); color: #fff; cursor: pointer; font-size: .875rem; font-weight: 720; white-space: nowrap; }
.report-filter-bar > a { align-self: center; padding: .75rem .3rem; font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.report-directory-summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 3.8rem; padding: .65rem 1.25rem; border-bottom: 1px solid var(--line); }
.report-directory-summary > div { display: grid; gap: .1rem; }
.report-directory-summary p { margin: 0; font-size: 1.0625rem; }
.report-directory-summary strong { font-size: inherit; }
.report-directory-summary span { color: var(--muted); font-size: .875rem; line-height: 1.4; }
.report-directory-summary form { display: flex; gap: .6rem; align-items: center; color: var(--muted); font-size: .875rem; }
.report-directory-summary select { min-width: 10rem; min-height: 2.35rem; }
.report-directory-table { overflow: hidden; background: var(--surface); }
.report-directory-columns, .report-directory-row { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(22rem, 1fr); }
.report-directory-columns { min-height: 3rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .8125rem; font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.report-directory-columns span { padding: .78rem 1.35rem; }
.report-directory-columns span:last-child { border-left: 1px solid var(--line); }
.report-directory-row { min-height: 13rem; border-bottom: 1px solid var(--line); color: var(--ink); }
.report-directory-row:last-child { border-bottom: 0; }
.report-directory-row:hover { background: #f8faff; }
.report-directory-primary { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .9rem; min-width: 0; padding: 1.35rem; }
.report-directory-icon { width: 1.35rem; margin-top: .18rem; }
.report-directory-title-line { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.report-directory-title-line > a:first-child { max-width: 39rem; color: var(--blue); font-size: 1.125rem; font-weight: 740; line-height: 1.38; text-decoration: none; }
.report-directory-view { display: inline-flex; flex: 0 0 auto; gap: .35rem; align-items: center; padding-top: .12rem; color: var(--blue); font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.report-directory-view img { width: 1rem; height: 1rem; }
.report-directory-meta { display: flex; flex-wrap: wrap; gap: .35rem .85rem; margin: .45rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.report-directory-meta span + span::before { margin-right: .85rem; color: #9aa6c3; content: "·"; }
.report-directory-summary-copy { max-width: 48rem; margin: .8rem 0 0; color: #26375f; font-size: .9375rem; line-height: 1.68; }
.report-directory-summary-copy.is-unavailable { color: var(--muted); font-style: italic; }
.report-directory-secondary { display: flex; min-width: 0; flex-direction: column; padding: 1.35rem; border-left: 1px solid var(--line); }
.report-directory-recipient-heading { margin-bottom: .65rem; color: var(--ink); font-size: .9375rem; font-weight: 720; }
.report-directory-recipient-list, .report-directory-more-recipients ul { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.report-directory-recipient-list li, .report-directory-more-recipients li { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: .55rem; align-items: start; color: #304b9d; font-size: .9rem; line-height: 1.42; }
.report-directory-recipient-list img, .report-directory-more-recipients img { width: 1rem; height: 1rem; margin-top: .12rem; }
.report-directory-recipient-list .is-empty { display: block; color: var(--muted); font-style: italic; }
.report-directory-more-recipients { margin-top: .55rem; }
.report-directory-more-recipients summary { width: fit-content; color: var(--blue); font-size: .875rem; font-weight: 720; cursor: pointer; }
.report-directory-more-recipients ul { margin-top: .55rem; }
.report-directory-evidence { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: auto; padding-top: 1rem; color: var(--blue); font-size: .9rem; line-height: 1.4; }
.report-directory-evidence strong { font-weight: 760; }
.report-directory-empty { margin: 0; padding: 2rem; color: var(--muted); text-align: center; }

.report-dashboard-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem 2rem; align-items: start; }
.report-dashboard-identity { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: 1rem; align-items: start; }
.report-dashboard-identity > img { width: 2rem; margin-top: .25rem; }
.report-dashboard-identity h1 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.04em; }
.report-dashboard-identity p { margin: .65rem 0 0; color: var(--muted); font-size: .92rem; }
.report-original-link { display: inline-flex; gap: .4rem; align-items: center; margin-top: .75rem; font-size: .78rem; font-weight: 720; text-decoration: none; }
.report-original-link img { width: .85rem; }
.report-dashboard-actions { display: flex; gap: .65rem; justify-content: flex-end; }
.report-dashboard-actions .pin-button { font-size: .82rem; }
.report-published-line { grid-column: 2; margin: -.25rem 0 0; color: var(--muted); font-size: .72rem; text-align: right; }
.report-published-line span { margin: 0 .5rem; }
.report-review-note { display: inline-block; margin: 1.25rem 0 0; padding: .3rem .6rem; border-radius: .35rem; background: var(--amber-soft); color: var(--amber); font-size: .7rem; font-weight: 750; }
.report-index-note { display: flex; gap: .55rem; align-items: center; width: fit-content; margin: 1.5rem 0 .7rem; padding: .45rem .65rem; border-radius: .45rem; background: var(--blue-soft); color: var(--muted); font-size: .72rem; }
.report-index-note img { width: 1rem; }
.report-facts { display: grid; grid-template-columns: .8fr 1.1fr 1.2fr .9fr; margin: 0; padding: 1rem 0; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.report-facts div { padding: .05rem 1rem; border-right: 1px solid var(--line); text-align: center; }
.report-facts div:last-child { border-right: 0; }
.report-facts dt { color: var(--muted); font-size: .7rem; }
.report-facts dd { margin: .45rem 0 0; font-size: .85rem; font-weight: 750; }
.report-count-strip { margin-top: .6rem; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); }
.report-count-strip p { margin: 0; font-size: .78rem; }
.report-count-strip p span { margin: 0 .7rem; color: var(--muted-soft); }
.report-count-strip small { display: block; margin-top: .55rem; color: var(--muted); font-size: .68rem; }
.report-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(25rem, .92fr); gap: .75rem; align-items: start; margin-top: .75rem; }
.report-dashboard-side { display: grid; gap: .75rem; }
.report-panel { overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.report-panel-heading { padding: 1rem 1rem .55rem; }
.report-panel-heading h2 { margin: 0; font-size: 1.05rem; }
.report-panel-heading p { margin: .35rem 0 0; color: var(--muted); font-size: .72rem; }
.report-concern-list { margin: 0; padding: 0 1rem 1rem; list-style: none; }
.report-concern-list > li { display: grid; grid-template-columns: 1.55rem minmax(0, 1fr) minmax(11rem, .72fr); gap: .8rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.report-concern-copy blockquote { margin: 0; padding: 0; border: 0; color: var(--ink); font-size: .76rem; font-weight: 650; line-height: 1.5; }
.report-concern-copy small { display: block; margin-top: .5rem; color: var(--muted); font-size: .66rem; }
.report-concern-copy small span { margin: 0 .35rem; }
.report-concern-copy details { margin-top: .55rem; color: var(--muted); font-size: .68rem; }
.report-concern-copy details p, .report-concern-copy details blockquote { margin: .6rem 0 0; font-size: .7rem; font-weight: 500; }
.report-concern-links { display: flex; flex-direction: column; gap: .4rem; align-items: flex-start; font-size: .68rem; }
.report-concern-links a { font-weight: 700; text-decoration: none; }
.report-map-label, .report-neutral-label { padding: .22rem .45rem; border-radius: .35rem; background: #f0eaff; color: #6245b5; font-size: .62rem; font-weight: 720; }
.report-neutral-label { background: #f0f2f7; color: var(--muted); }
.report-respondent-list article { padding: 1rem; border-top: 1px solid var(--line); }
.report-respondent-name { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.report-respondent-name a { font-size: .78rem; font-weight: 750; text-decoration: none; }
.response-present, .response-missing { padding: .2rem .45rem; border-radius: .35rem; background: #dcf5e9; color: #087354; font-size: .6rem; font-weight: 750; }
.response-missing { background: #f0f2f7; color: var(--muted); }
.report-action-statuses { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: .75rem; }
.report-action-statuses span { display: grid; gap: .25rem; padding: .25rem .6rem; border-left: 1px solid var(--line); color: var(--muted); font-size: .62rem; text-align: center; }
.report-action-statuses span:first-child { border-left: 0; }
.report-action-statuses strong { color: var(--blue); font-size: 1rem; }
.report-response-meta { margin: .7rem 0 0; color: var(--muted); font-size: .66rem; line-height: 1.5; }
.report-recipient-evidence { margin-top: .55rem; color: var(--muted); font-size: .66rem; }
.report-recipient-evidence blockquote { margin: .55rem 0 0; padding-left: .7rem; font-size: .68rem; font-weight: 500; line-height: 1.5; }
.report-recipient-evidence p { margin: .4rem 0 0; }
.report-response-detail { margin-top: .65rem; color: var(--blue); font-size: .7rem; font-weight: 720; }
.report-response-detail > .response-card { margin: .75rem 0 0; padding: 1rem; border-radius: .6rem; box-shadow: none; }
.report-response-detail .section-heading { gap: .5rem; }
.report-response-detail .source-record { font-weight: 500; }
.report-position { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; padding: .8rem 1rem 1rem; border-top: 1px solid var(--line); }
.report-position p { margin: 0; font-size: .72rem; line-height: 1.5; }
.report-position span { padding: .2rem .45rem; border-radius: .35rem; background: #f0f2f7; color: var(--muted); font-size: .62rem; }
.report-position a { font-size: .66rem; font-weight: 700; text-decoration: none; }
.report-provenance { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .75fr); gap: 1rem; padding: 0 1rem 1rem; }
.report-provenance .report-panel-heading { padding-left: 0; }
.report-provenance dl { margin: 0; }
.report-provenance dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-top: 1px solid var(--line); font-size: .68rem; }
.report-provenance dd { margin: 0; font-weight: 650; }
.report-provenance > p { display: flex; gap: .6rem; align-self: end; margin: 0; padding: .8rem; border-radius: .55rem; background: var(--surface-soft); color: var(--muted); font-size: .68rem; line-height: 1.55; }
.report-provenance > p img { width: 1rem; height: 1rem; flex: 0 0 auto; }

@media (max-width: 78rem) {
  .report-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-filter-bar .report-search-field { grid-column: 1 / -1; }
  .report-directory-columns { display: none; }
  .report-directory-row { grid-template-columns: 1fr; }
  .report-directory-secondary { border-top: 1px solid var(--line); border-left: 0; }
  .report-directory-evidence { margin-top: 1rem; }
}
@media (max-width: 68rem) {
  .report-dashboard-grid { grid-template-columns: 1fr; }
  .report-dashboard-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-dashboard-side > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 48rem) {
  .reports-directory, .report-dashboard-page { padding-top: 1.5rem; }
  .report-filter-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-filter-bar .report-search-field { grid-column: 1 / -1; }
  .report-directory-summary, .report-pagination, .report-dashboard-header { align-items: stretch; flex-direction: column; }
  .report-directory-summary { display: grid; }
  .report-directory-summary form { justify-content: space-between; }
  .report-directory-primary { grid-template-columns: 1.3rem minmax(0, 1fr); padding: 1.1rem; }
  .report-directory-title-line { display: block; }
  .report-directory-title-line > a:first-child { font-size: 1.0625rem; }
  .report-directory-view { margin-top: .7rem; }
  .report-directory-secondary { padding: 1.1rem; }
  .report-dashboard-header { display: grid; grid-template-columns: 1fr; }
  .report-dashboard-actions, .report-published-line { grid-column: 1; justify-content: flex-start; text-align: left; }
  .report-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-facts div { border-bottom: 1px solid var(--line); }
  .report-facts div:nth-child(even) { border-right: 0; }
  .report-facts div:nth-last-child(-n+2) { border-bottom: 0; }
  .report-count-strip p { line-height: 2; }
  .report-concern-list > li { grid-template-columns: 1.55rem minmax(0, 1fr); }
  .report-concern-links { grid-column: 2; }
  .report-dashboard-side { grid-template-columns: 1fr; }
  .report-provenance { grid-template-columns: 1fr; }
}

@media (max-width: 34rem) {
  .report-filter-bar, .report-directory-row { grid-template-columns: 1fr; }
  .report-directory-title { grid-column: 1; }
  .report-directory-row [data-label] { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .5rem; }
  .report-directory-row [data-label]::before { margin: 0; }
  .report-pagination { display: grid; }
  .report-pagination div { justify-content: space-between; }
  .report-dashboard-actions { display: grid; grid-template-columns: 1fr; }
  .report-dashboard-actions > * { width: 100%; }
  .report-dashboard-actions .pin-button, .report-dashboard-actions .dashboard-action { justify-content: center; }
}

/* Privacy-minimised product analytics controls. */
.site-footer nav button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.analytics-settings-status { padding: .7rem .8rem; border-radius: .5rem; background: #f2f5fb; font-weight: 680; }
.analytics-settings-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.analytics-settings-actions button { width: auto; }
.analytics-settings-actions button[hidden] { display: none; }
.analytics-settings-primary {
  display: inline-grid;
  min-height: 3rem;
  padding: .7rem 1rem;
  border: 0;
  border-radius: .45rem;
  background: var(--blue);
  color: #fff;
  font-weight: 750;
  place-items: center;
  cursor: pointer;
}
.legal-inline-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

/* Report detail redesign: compact evidence ledger */
.report-page { background: #22232b; }
.report-page .shell {
  grid-template-columns: 4rem minmax(0, 1fr);
  min-height: calc(100vh - 3rem);
  margin: 1.5rem 1.3rem;
  overflow: hidden;
  border-radius: 2.5rem;
  background: #fff;
}
.report-page .app-sidebar {
  width: auto;
  height: calc(100vh - 3rem);
  min-height: 42rem;
  padding: 1.25rem 0 .9rem;
  background: #fff;
}
.report-page .brand {
  display: grid;
  gap: .15rem;
  min-height: 3rem;
  margin: 0 0 1.25rem;
  padding: .15rem .3rem;
  font-size: .69rem;
  line-height: 1.05;
  text-align: center;
}
.report-page .brand-mark { display: none; }
.report-page .main-nav,
.report-page .sidebar-secondary { gap: .2rem; }
.report-page .main-nav a,
.report-page .sidebar-secondary a {
  display: grid;
  gap: .32rem;
  min-height: 4.6rem;
  padding: .65rem .2rem;
  border-radius: 0;
  font-size: .58rem;
  font-weight: 580;
  justify-items: center;
  text-align: center;
}
.report-page .main-nav a img,
.report-page .sidebar-secondary a img { width: 1.25rem; height: 1.25rem; }
.report-page .main-nav a[aria-current="page"] {
  box-shadow: inset 3px 0 0 var(--blue);
  background: #f2f5ff;
}
.report-page .main-nav a:nth-child(2),
.report-page .sidebar-purpose { display: none; }
.report-page .sidebar-secondary {
  margin-top: auto;
  padding-top: .4rem;
  border-top: 0;
}
.report-page .sidebar-secondary a:first-child { display: none; }
.report-page .topbar,
.report-page .site-footer { display: none; }
.report-page .page-frame { min-height: calc(100vh - 3rem); background: #fff; }
.report-page .report-dashboard-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1rem 1.75rem .8rem;
}
.report-page .concern-breadcrumb {
  gap: .45rem;
  margin: 0 0 1.15rem;
  font-size: .66rem;
}
.report-page .concern-breadcrumb a { text-decoration: underline; }
.report-dashboard-header {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}
.report-dashboard-identity { display: block; }
.report-dashboard-identity h1 {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.report-header-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 0;
  align-items: center;
  margin-top: .75rem;
  color: var(--muted);
  font-size: .62rem;
}
.report-header-meta > * { display: inline-flex; align-items: center; }
.report-header-meta > * + *::before {
  width: 1px;
  height: .9rem;
  margin: 0 .75rem;
  background: var(--line-strong);
  content: "";
}
.report-original-link { gap: .3rem; margin: 0; font-size: inherit; }
.report-original-link img { width: .72rem; }
.report-review-note { margin: .55rem 0 0; font-size: .58rem; }
.report-recipient-coverage {
  margin-top: 1rem;
  padding: .8rem 1rem .9rem;
  border-radius: .28rem;
  background: linear-gradient(112deg, #f7f8ff 0%, #edf1ff 100%);
}
.report-coverage-heading h2,
.report-ledger-heading h2 { margin: 0; font-size: .72rem; letter-spacing: -.012em; }
.report-coverage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: .85rem;
}
.report-coverage-recipient { min-width: 0; }
.report-coverage-recipient h3 {
  min-height: 1.8rem;
  margin: 0;
  font-size: .64rem;
  line-height: 1.45;
}
.report-coverage-recipient h3 a { color: var(--ink); text-decoration: none; }
.report-response-state {
  display: flex;
  gap: .35rem;
  align-items: center;
  margin: .35rem 0 0;
  font-size: .56rem;
}
.report-response-state span {
  width: .72rem;
  height: .72rem;
  border: 1px solid #7783a2;
  border-radius: 50%;
}
.report-response-state.is-present span {
  border-color: #18a49b;
  background: #18a49b url("icons/hugeicons/checkmark-circle-02.da2ad9bcbff9.svg") center / .72rem no-repeat;
}
.report-coverage-counts {
  margin: .65rem 0 0;
  color: #253767;
  font-size: .56rem;
}
.report-coverage-counts strong { font-weight: 600; }
.report-coverage-counts span { margin: 0 .25rem; }
.report-recipient-position { margin: .5rem 0 0; font-size: .58rem; line-height: 1.45; }
.report-evidence-ledger { margin-top: 1rem; }
.report-ledger-heading p {
  margin: .3rem 0 0;
  color: var(--muted);
  font-size: .56rem;
}
.report-ledger-tools {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-top: .8rem;
}
.report-ledger-tools select,
.report-status-filters button {
  min-height: 2rem;
  border: 1px solid var(--line-strong);
  border-radius: .2rem;
  background: #fff;
  color: var(--ink);
  font-size: .56rem;
}
.report-ledger-tools select { padding: .35rem 1.2rem .35rem .45rem; font-size: .5rem; }
.report-ledger-tools > label:not(.report-sort-label) { flex: 0 0 auto; }
.report-ledger-tools > label:first-child select { width: 5.25rem; }
.report-ledger-tools > label:nth-child(2) select { width: 5rem; }
.report-status-filters { display: flex; gap: .3rem; align-items: center; }
.report-status-filters > span,
.report-sort-label { color: #34446d; font-size: .56rem; }
.report-status-filters button {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  padding: .35rem .4rem;
  cursor: pointer;
  font-size: .48rem;
}
.report-status-filters button img { width: .8rem; height: .8rem; }
.report-status-filters button[aria-pressed="true"] { border-color: var(--blue); background: #f3f6ff; }
.report-status-filters button:nth-of-type(1) { color: #07877f; }
.report-status-filters button:nth-of-type(2) { color: #0758ff; }
.report-status-filters button:nth-of-type(3) { color: #ec5a1c; }
.report-status-filters button:nth-of-type(4) { color: #667085; }
.report-sort-label { display: flex; gap: .4rem; align-items: center; margin-left: auto; }
.report-sort-label select { width: 5.75rem; padding-right: 1.25rem; }
.report-ledger-columns,
.report-ledger-concern-head,
.report-ledger-action-button {
  display: grid;
  grid-template-columns: minmax(15rem, 1.25fr) minmax(10rem, 1fr) minmax(9rem, .7fr);
  gap: .8rem;
  align-items: center;
}
.report-ledger-columns {
  margin-top: .65rem;
  padding: .45rem .45rem;
  border-block: 1px solid #cfd8ec;
  background: #f2f5ff;
  color: #283967;
  font-size: .53rem;
}
.report-ledger-columns span:last-child { grid-column: 3; }
.report-ledger-list { margin: 0; padding: 0; list-style: none; }
.report-ledger-concern { border-bottom: 1px solid #d8dfed; }
.report-ledger-concern-head {
  position: relative;
  grid-template-columns: 1.25rem minmax(13.25rem, 1.25fr) minmax(10rem, 1fr) minmax(9rem, .7fr);
  gap: .3rem;
  min-height: 2.6rem;
  padding: .35rem .45rem;
  font-size: .56rem;
}
.report-concern-button { font-size: .61rem; line-height: 1.35; }
.report-ledger-concern-head > a { color: var(--muted); text-decoration: none; }
.report-ledger-concern-head > span:last-child { color: #22345f; }
.report-ledger-actions { margin-left: 1.15rem; }
.report-ledger-action { border-top: 1px solid #e1e6f1; }
.report-ledger-action-button {
  position: relative;
  display: grid;
  width: 100%;
  grid-template-columns: minmax(15rem, 1.25fr) minmax(10rem, 1fr) minmax(9rem, .7fr);
  gap: .8rem;
  align-items: center;
  min-height: 2.45rem;
  padding: .35rem .45rem .35rem 1.35rem;
  cursor: pointer;
  font-size: .54rem;
}
.report-action-connector {
  position: absolute;
  left: 0;
  top: -.05rem;
  width: .8rem;
  height: 1.35rem;
  border-bottom: 1px solid #ccd5e7;
  border-left: 1px solid #ccd5e7;
  border-radius: 0 0 0 .3rem;
}
.report-action-copy { min-width: 0; color: #152755; }
.report-action-recipient { color: var(--muted); }
.report-ledger-action-button .commitment-status { margin: 0; }
.report-unlinked-actions { border-bottom: 1px solid var(--line); }
.report-unlinked-heading { padding: .8rem .45rem; }
.report-unlinked-heading h3 { margin: 0; font-size: .65rem; }
.report-unlinked-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .55rem; }
.report-ledger-empty { color: var(--muted); font-size: .65rem; }
.report-provenance-line {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .65rem;
  align-items: center;
  margin: .75rem .25rem 0;
  color: var(--muted);
  font-size: .53rem;
}
.report-provenance-line img { width: .75rem; }
.report-page .snapshot-note { display: none; }

@media (max-width: 60rem) {
  .report-coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-status-filters { flex-wrap: wrap; }
  .report-sort-label { margin-left: 0; }
}
@media (max-width: 50rem) {
  .report-page { background: #fff; }
  .report-page .shell { display: block; min-height: 100vh; margin: 0; border-radius: 0; }
  .report-page .app-sidebar { display: none; }
  .report-page .page-frame { min-height: 100vh; }
  .report-page .report-dashboard-page { padding: 1.25rem 1rem 2rem; }
  .report-dashboard-header { grid-template-columns: 1fr; }
  .report-dashboard-actions { justify-content: flex-start; }
  .report-header-meta > * + *::before { margin-inline: .45rem; }
  .report-ledger-columns { display: none; }
  .report-ledger-concern-head {
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    gap: .5rem;
    padding-block: .65rem;
  }
  .report-ledger-concern-head > span:last-child { grid-column: 2; }
  .report-ledger-action-button {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    padding-block: .6rem;
  }
  .report-action-recipient { grid-column: 1; }
  .report-ledger-action-button .commitment-status { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 34rem) {
  .report-coverage-grid { grid-template-columns: 1fr; }
  .report-dashboard-actions { display: grid; }
  .report-dashboard-actions .dashboard-action { justify-content: center; }
  .report-status-filters { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .report-status-filters button { font-size: .54rem; }
  .report-status-filters > span { grid-column: 1 / -1; }
  .report-ledger-tools > label:not(.report-sort-label) { width: calc(50% - .25rem); }
  .report-ledger-tools select { width: 100%; }
  .report-action-status { white-space: normal; }
}

* { box-sizing: border-box; }
html { min-width: 20rem; scroll-behavior: smooth; scrollbar-gutter: stable; }
body { min-height: 100vh; margin: 0; background: var(--canvas); color: var(--ink); }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; }
a { color: var(--blue); text-underline-offset: .2em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(18, 87, 255, .25);
  outline-offset: 3px;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Shared application shell */
.shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.app-sidebar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: auto;
  padding: 1.5rem 1.25rem 1.4rem;
  border-right: 1px solid var(--line);
  background: rgba(255, 255, 255, .97);
  color: var(--ink);
}
.brand {
  display: flex;
  gap: .8rem;
  align-items: center;
  min-height: 3.1rem;
  margin: 0 .7rem 2.15rem;
  color: var(--ink-strong);
  font-size: 1.55rem;
  font-weight: 720;
  letter-spacing: -.045em;
  text-decoration: none;
}
.brand-mark { display: grid; width: 2.4rem; height: 2.55rem; flex: 0 0 auto; place-items: center; }
.brand-mark img { width: 2.4rem; height: 2.55rem; object-fit: contain; }
.mobile-header-actions { display: none; }
.mobile-contact-trigger { display: none; }
.main-nav, .sidebar-secondary { display: grid; gap: .5rem; }
.main-nav a, .sidebar-secondary a {
  position: relative;
  display: flex;
  gap: .9rem;
  align-items: center;
  min-height: 3.55rem;
  padding: .75rem .9rem;
  border-radius: .9rem;
  color: #263d7a;
  font-size: .94rem;
  font-weight: 560;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}
.main-nav a img, .sidebar-secondary a img { width: 1.55rem; height: 1.55rem; opacity: .82; }
.main-nav a:hover, .sidebar-secondary a:hover { background: #f4f6fe; color: var(--blue); }
.main-nav a[aria-current="page"], .sidebar-secondary a[aria-current="page"] {
  background: var(--blue-soft);
  color: var(--blue);
  font-weight: 690;
}
.main-nav a[aria-current="page"] img, .sidebar-secondary a[aria-current="page"] img { opacity: 1; }
.sidebar-secondary { margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.sidebar-purpose {
  display: grid;
  gap: .6rem;
  margin-top: auto;
  min-height: 15.2rem;
  margin-bottom: 1.85rem;
  padding: 1.65rem 1.25rem 1.5rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(160deg, #fff 10%, #f7f9ff 100%);
  color: var(--ink);
}
.sidebar-purpose img { width: 3rem; height: 3rem; }
.sidebar-purpose strong { font-size: .9rem; line-height: 1.38; }
.sidebar-purpose span { color: var(--muted); font-size: .78rem; line-height: 1.85; }
.page-frame { display: flex; min-width: 0; min-height: 100vh; flex-direction: column; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 5rem;
  padding: 0 clamp(1.5rem, 3vw, 3.4rem);
  border-bottom: 1px solid rgba(220, 227, 241, .8);
  background: rgba(248, 250, 253, .9);
  backdrop-filter: blur(16px);
}
.topbar-title { min-width: 0; color: var(--muted); font-size: .8rem; font-weight: 650; letter-spacing: .02em; }
.topbar-breadcrumb { display: flex; min-width: 0; align-items: center; gap: .7rem; }
.topbar-breadcrumb a { flex: 0 0 auto; color: var(--blue); text-decoration: none; }
.topbar-breadcrumb a:hover { text-decoration: underline; text-underline-offset: .16rem; }
.topbar-breadcrumb > span[aria-hidden="true"] { flex: 0 0 auto; color: #a0abc0; }
.topbar-breadcrumb-current { min-width: 0; overflow: hidden; color: #51617f; text-overflow: ellipsis; white-space: nowrap; }
.topbar-actions { display: flex; gap: .65rem; align-items: center; }
.topbar-help {
  display: inline-flex;
  gap: .5rem;
  align-items: center;
  min-height: 2.6rem;
  padding: .45rem .75rem;
  border-radius: .75rem;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 650;
  text-decoration: none;
}
.topbar-help:hover { background: var(--surface); color: var(--blue); }
.topbar-help img { width: 1.25rem; height: 1.25rem; }
.pinned-menu { position: relative; }
.pinned-menu-trigger {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  padding: .55rem;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: .7rem;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
}
.pinned-menu-trigger:hover, .pinned-menu-trigger[aria-expanded="true"] { border-color: #aeb9d8; background: #f4f6fc; }
.pinned-menu-trigger img { width: 1.25rem; height: 1.25rem; }
.pinned-menu.is-signed-out .pinned-menu-trigger { border-color: #e1e5ed; background: #f2f4f7; opacity: .58; filter: grayscale(1); }
.pinned-menu-popover {
  position: absolute;
  top: calc(100% + .65rem);
  right: 0;
  z-index: 40;
  width: min(21rem, calc(100vw - 2rem));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 18px 45px rgba(35, 52, 94, .16);
}
.pinned-menu-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .9rem 1rem .75rem; border-bottom: 1px solid var(--line); }
.pinned-menu-heading strong { color: var(--ink); font-size: .9rem; }
.pinned-menu-heading small { color: var(--muted); font-size: .72rem; }
.pinned-menu-empty { padding: 1.15rem 1rem 1.25rem; }
.pinned-menu-empty strong { display: block; color: var(--ink); font-size: .9rem; }
.pinned-menu-empty p { margin: .35rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.pinned-menu-empty small { display: block; margin-top: .45rem; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.pinned-menu-actions { display: flex; gap: 1rem; margin-top: .8rem; }
.pinned-menu-actions a { font-size: .8rem; font-weight: 700; text-decoration: none; }
.pinned-menu-list { max-height: 18rem; margin: 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; list-style: none; }
.pinned-menu-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 0 .45rem 0 .2rem; }
.pinned-menu-list li + li { border-top: 1px solid var(--line); }
.pinned-menu-list > li > a { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: center; min-width: 0; min-height: 3.5rem; padding: .55rem .5rem; color: var(--ink); text-decoration: none; }
.pinned-menu-list > li > a:hover strong { color: var(--blue); }
.pinned-menu-list > li > a > img { width: 1.25rem; height: 1.25rem; opacity: .82; }
.pinned-menu-list > li > a span { display: block; min-width: 0; }
.pinned-menu-list > li > a strong, .pinned-menu-list > li > a small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pinned-menu-list > li > a strong { font-size: .82rem; }
.pinned-menu-list > li > a small { margin-top: .12rem; color: var(--muted); font-size: .7rem; }
.pinned-menu-remove { margin: 0; }
.pinned-menu-remove button { display: grid; width: 2rem; height: 2rem; padding: .4rem; place-items: center; border: 0; border-radius: .45rem; background: transparent; cursor: pointer; }
.pinned-menu-remove button:hover { background: #f1f3f9; }
.pinned-menu-remove button:disabled { opacity: .45; cursor: wait; }
.pinned-menu-remove img { width: 1.05rem; height: 1.05rem; }
.main-content { width: min(88rem, 100%); flex: 1 0 auto; margin-inline: auto; padding: 4.5rem clamp(1.5rem, 4vw, 4.5rem) 6rem; }
.site-footer {
  display: flex;
  width: min(88rem, 100%);
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-inline: auto;
  padding: 1.35rem clamp(1.5rem, 4vw, 4.5rem) 1.75rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--text-ui-sm);
}
.site-footer nav { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.site-footer a { color: var(--muted); font-weight: 650; text-decoration: none; }
.site-footer a:hover { color: var(--blue); text-decoration: underline; }

/* Legal notices */
.legal-page { max-width: 68rem; }
.legal-header { max-width: 48rem; margin-bottom: 3.5rem; }
.legal-header h1 { font-size: clamp(2.6rem, 5vw, 4rem); }
.legal-updated { margin: 1.25rem 0 0; color: var(--muted-soft); font-size: .8rem; }
.legal-layout { display: grid; grid-template-columns: 13rem minmax(0, 43rem); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.legal-contents { position: sticky; top: 7rem; display: grid; gap: .7rem; padding-top: .3rem; }
.legal-contents strong { margin-bottom: .25rem; font-size: .73rem; letter-spacing: .06em; text-transform: uppercase; }
.legal-contents a { color: var(--muted); font-size: .8rem; text-decoration: none; }
.legal-contents a:hover { color: var(--blue); }
.legal-prose { min-width: 0; color: #26375f; font-size: .98rem; line-height: 1.72; }
.legal-prose h2 { margin: 2.7rem 0 .8rem; font-size: 1.55rem; scroll-margin-top: 6.5rem; }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose h3 { margin-top: 1.6rem; font-size: 1.05rem; }
.legal-prose p { margin: 0 0 1rem; }
.legal-prose ul { margin: .7rem 0 1.25rem; padding-left: 1.25rem; }
.legal-prose li { margin: .42rem 0; padding-left: .2rem; }
.legal-table-shell { margin: 1.25rem 0 1.75rem; overflow-x: auto; border: 1px solid var(--line); border-radius: .7rem; background: var(--surface); }
.legal-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.legal-table th, .legal-table td { min-width: 9rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { background: var(--surface-soft); color: var(--ink); font-size: .76rem; }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-note { margin: 1.5rem 0; padding: 1rem 1.15rem; border-left: 3px solid var(--teal); background: var(--teal-soft); color: var(--ink); }

/* Shared typography and content components */
h1, h2, h3, h4, p { text-wrap: pretty; }
h1 { max-width: 54rem; margin: 0 0 1.15rem; color: var(--ink-strong); font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: 1.04; letter-spacing: -.055em; }
h2 { margin: 0 0 1rem; color: var(--ink-strong); font-size: clamp(1.55rem, 2.4vw, 2.25rem); line-height: 1.15; letter-spacing: -.035em; }
h3 { margin: .2rem 0 .65rem; color: var(--ink-strong); line-height: 1.3; letter-spacing: -.018em; }
h4 { margin: 1.35rem 0 .7rem; font-size: 1rem; }
.lede { max-width: 48rem; margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.72; }
.eyebrow, .section-label { margin: 0 0 .75rem; color: var(--teal); font-size: var(--text-caption); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.meta { color: var(--muted); font-size: .86rem; line-height: 1.55; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; color: var(--muted); font-size: .82rem; }
.breadcrumbs a { color: var(--blue); }
.notice, .empty-state {
  padding: 1.2rem 1.35rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--muted);
  line-height: 1.6;
}
.page-section { margin-top: 4.5rem; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.section-count { min-width: 2.8rem; margin: 0; padding: .42rem .72rem; border-radius: 999px; background: var(--blue-soft); color: var(--blue); text-align: center; font-weight: 750; }
.primary-link {
  display: inline-block;
  margin: 1rem 0;
  padding: .85rem 1.15rem;
  border-radius: .7rem;
  background: var(--teal);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.primary-link:hover { background: var(--teal-strong); }
.source-link { font-weight: 680; }
.evidence-caveat { max-width: 60rem; margin-top: 2rem; }
.tag-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: .85rem 0; }
.tag { display: inline-flex; align-items: center; padding: .34rem .62rem; border-radius: .45rem; background: #eff1f7; color: #4b5875; font-size: var(--text-caption); font-weight: 700; }
.tag-status { background: var(--teal-soft); color: var(--teal); }
.tag-position { background: var(--amber-soft); color: var(--amber); }
.tag-issue { background: var(--blue-soft); color: var(--blue); }
.record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr)); gap: 1.35rem; }
.compact-card, .concern-card, .response-card, .respondent-report {
  margin-top: 1.25rem;
  padding: 1.65rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.compact-card { margin-top: 0; }
.source-quote { white-space: pre-wrap; overflow-wrap: anywhere; }
blockquote { margin: 1rem 0; padding-left: 1.25rem; border-left: 3px solid var(--blue); color: #26375f; line-height: 1.7; }
.source-quote.small { margin: .75rem 0; font-size: .92rem; }
.normalised { color: #3f4e70; line-height: 1.65; }
.evidence-location, .mapping-note { color: var(--muted); font-size: .82rem; line-height: 1.55; }
.linked-records, .response-section, .report-concerns, .respondent-responses { margin-top: 1.7rem; padding-top: .35rem; border-top: 1px solid var(--line); }
.linked-record, .source-record { margin-top: 1rem; padding: 1.1rem; border-radius: .8rem; background: var(--surface-soft); }
.linked-record p { margin: .65rem 0; }
.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  max-width: 66rem;
  margin: 2.2rem 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--line);
}
.stat-grid div { padding: 1.2rem 1.3rem; background: var(--surface); }
.stat-grid dt { min-height: 2.5rem; color: var(--muted); font-size: .76rem; }
.stat-grid dd { margin: .35rem 0 0; font-size: 1.7rem; font-weight: 760; }
.snapshot-note { margin-top: 4rem; color: var(--muted-soft); font: var(--text-caption) JetBrains Mono, ui-monospace, monospace; }
.source-detail { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: .75rem; background: var(--surface-soft); }
.source-detail summary { cursor: pointer; font-weight: 680; }

/* Directory and search components */
.search-form { display: flex; gap: .75rem; max-width: 52rem; margin: 2.2rem 0; }
.search-form input, .directory-field input, .directory-field select {
  width: 100%;
  min-height: 3.15rem;
  padding: .75rem .95rem;
  border: 1px solid var(--line-strong);
  border-radius: .75rem;
  background: var(--surface);
  color: var(--ink);
}
.search-form input { flex: 1; min-width: 0; }
.search-form button, .directory-submit {
  min-height: 3.15rem;
  padding: .75rem 1.15rem;
  border: 0;
  border-radius: .75rem;
  background: var(--teal);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.search-form button:hover, .directory-submit:hover { background: var(--teal-strong); }
.report-list, .issue-list, .directory-list { margin: 2rem 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.report-list li, .issue-list li { padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.report-list h2, .issue-list a { margin: 0 0 .55rem; color: var(--ink); font-size: 1.15rem; font-weight: 690; text-decoration: none; }
.report-list p, .issue-list p { margin: .38rem 0; color: var(--muted); }
.issue-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; }
.count { min-width: 8rem; text-align: right; font-variant-numeric: tabular-nums; }
.count strong { display: block; font-size: 1.45rem; }
.count small { display: block; margin-top: .3rem; color: var(--muted); font-size: .72rem; white-space: nowrap; }
.directory-tabs { display: inline-flex; gap: .3rem; margin: 1.7rem 0 1rem; padding: .28rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }
.directory-tabs a { padding: .65rem 1rem; border-radius: .6rem; color: var(--muted); font-size: .85rem; font-weight: 670; text-decoration: none; }
.directory-tabs a[aria-current="page"] { background: var(--blue-soft); color: var(--blue); }
.directory-controls { display: grid; grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto; gap: .9rem; margin: 1.8rem 0; }
.directory-field { display: grid; gap: .42rem; }
.directory-field label { color: var(--muted); font-size: .76rem; font-weight: 680; }
.directory-submit { align-self: end; }
.directory-summary { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 2rem 0 .65rem; }
.directory-summary p { margin: 0; }
.directory-row { display: grid; grid-template-columns: minmax(18rem, 2fr) repeat(4, minmax(6rem, .7fr)); gap: 1.2rem; align-items: center; padding: 1.45rem .15rem; border-bottom: 1px solid var(--line); }
.directory-row-group { grid-template-columns: minmax(18rem, 2fr) repeat(5, minmax(5.5rem, .7fr)); }
.directory-row h2 { margin: 0 0 .4rem; font-size: 1.08rem; }
.directory-row p { margin: .25rem 0 0; }
.directory-metric { color: var(--muted); font-size: .78rem; }
.directory-metric strong { display: block; margin-top: .22rem; color: var(--ink); font-size: 1rem; }
.pagination { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: flex-end; margin: 1.7rem 0; }
.pagination a, .pagination span { padding: .52rem .75rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); text-decoration: none; }

/* Organisations directory */
.organisations-directory-page .topbar { min-height: 5rem; justify-content: flex-end; border-bottom: 1px solid rgba(220, 227, 241, .8); background: rgba(255, 255, 255, .9); }
.organisations-directory-page .topbar-title { display: none; }
.organisations-directory { width: min(92rem, 100%); padding-top: .45rem; }
.organisations-header { margin-bottom: 1rem; }
.organisations-header h1 { margin: 0 0 .45rem; font-size: clamp(2rem, 3vw, 2.55rem); line-height: 1.1; letter-spacing: -.045em; }
.organisations-header p { margin: 0; color: var(--muted); font-size: .95rem; }
.organisation-directory-caveat { display: flex; gap: .65rem; align-items: center; margin: 1rem 0; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--blue-soft); color: #40548c; font-size: var(--text-ui-sm); line-height: 1.5; }
.organisation-directory-caveat img { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.organisation-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 3.8rem;
  margin: 1rem 0;
  padding: .3rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .8rem;
  background: var(--surface);
  box-shadow: 0 4px 18px rgba(36, 53, 105, .025);
}
.organisation-search > img { width: 1.5rem; height: 1.5rem; opacity: .72; }
.organisation-search input[type="search"] { min-width: 0; padding: .75rem .9rem; border: 0; outline: 0; background: transparent; color: var(--ink); }
.organisation-search input::placeholder { color: #7582a6; }
.organisation-directory-panel { overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.organisation-filterbar { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.organisation-filter-field { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; min-width: 14rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); color: #52638f; }
.organisation-filter-field:focus-within { outline: 3px solid rgba(18, 87, 255, .22); outline-offset: 2px; }
.organisation-filter-field > img { width: 1.2rem; height: 1.2rem; margin-left: .7rem; }
.organisation-filter-field select,
.organisation-results-heading select { max-width: 18rem; min-height: 2.65rem; padding: .5rem 2.1rem .5rem .75rem; border: 0; border-radius: .5rem; background: transparent; color: #304479; font-size: .78rem; }
.organisation-filter-field select:focus-visible { outline: 0; }
.organisation-clear { margin-left: auto; padding: .7rem .25rem; font-size: .76rem; font-weight: 650; text-decoration: none; }
.organisation-results-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 3.8rem; padding: .65rem 1.25rem; border-bottom: 1px solid var(--line); }
.organisation-results-heading > div { display: grid; gap: .3rem; }
.organisation-results-heading p { margin: 0; font-size: 1rem; }
.organisation-results-heading > div > span { color: var(--muted); font-size: .76rem; }
.organisation-results-heading form { display: flex; align-items: center; gap: .55rem; }
.organisation-results-heading label { color: var(--muted); font-size: var(--text-ui-sm); }
.organisation-results-heading select { min-height: 2.35rem; border: 1px solid var(--line); background: var(--surface); }
.organisation-table { width: 100%; }
.organisation-table-header,
.organisation-table-row { display: grid; grid-template-columns: minmax(17rem, 2.25fr) minmax(8rem, 1.15fr) minmax(8rem, 1fr) minmax(12rem, 1.3fr) minmax(7rem, .85fr) 1.25rem; gap: 1rem; align-items: center; }
.organisation-table-header { min-height: 3rem; padding: .65rem 1.25rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--text-caption); font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.organisation-table-row { min-height: 4.65rem; padding: .72rem 1.25rem; border-bottom: 1px solid var(--line); color: var(--ink); font-size: var(--text-ui-sm); line-height: 1.45; text-decoration: none; transition: background-color 150ms ease; }
.organisation-table-row:hover { background: #f8faff; }
.organisation-table-row:hover,
.organisation-table-row:focus-visible { position: relative; z-index: 30; }
.organisation-table-row:last-child { border-bottom: 0; }
.organisation-name { position: relative; display: grid; grid-template-columns: 1.35rem minmax(0, 1fr); gap: .75rem; align-items: center; min-width: 0; color: var(--blue); }
.organisation-name img { width: 1.25rem; height: 1.25rem; }
.organisation-name strong { overflow-wrap: anywhere; font-size: .86rem; line-height: 1.35; }
.organisation-responses, .organisation-date { color: #40548c; font-variant-numeric: tabular-nums; }
.organisation-activity { display: grid; gap: .35rem; }
.organisation-activity > strong { color: #40548c; font-size: .76rem; font-weight: 650; }
.organisation-activity .mini-bar-chart { width: 6rem; }
.organisation-evidence { display: grid; gap: .08rem; color: var(--blue); }
.organisation-evidence strong { font-weight: 760; }
.organisation-arrow { display: grid; justify-content: end; }
.organisation-arrow img { width: 1.2rem; height: 1.2rem; }
.organisation-empty { padding: 3.5rem 1.5rem; color: var(--muted); text-align: center; }
.organisation-empty strong { color: var(--ink); font-size: 1rem; }
.organisation-empty p { margin: .65rem auto 0; font-size: .85rem; }
.organisation-directory-note { display: flex; gap: .6rem; align-items: center; margin: 0; padding: .9rem 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: var(--text-ui-sm); }
.organisation-directory-note img { width: 1rem; height: 1rem; flex: 0 0 auto; }
.officeholder-info { position: relative; display: inline-flex; align-items: center; margin-left: .28rem; vertical-align: -.12em; }
.officeholder-info-icon,
.organisation-name .officeholder-info-icon { width: .9rem; height: .9rem; opacity: .72; }
.officeholder-info[tabindex] { border-radius: 50%; outline: 0; }
.officeholder-info[tabindex]:focus-visible { box-shadow: 0 0 0 3px rgba(18, 87, 255, .22); }
.officeholder-tooltip {
  position: absolute;
  z-index: 20;
  top: calc(100% + .5rem);
  left: 50%;
  width: max-content;
  max-width: min(17rem, calc(100vw - 2rem));
  padding: .55rem .7rem;
  border: 1px solid #d7deef;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(31, 45, 82, .16);
  color: #405070;
  font-size: .7rem;
  font-weight: 520;
  letter-spacing: normal;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -.2rem);
  transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease;
}
.officeholder-info:hover .officeholder-tooltip,
.officeholder-info:focus .officeholder-tooltip,
.organisation-table-row:focus-visible .officeholder-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.organisation-table .organisation-name .officeholder-info { position: static; }
.organisation-table .organisation-name .officeholder-tooltip {
  top: auto;
  right: auto;
  bottom: calc(100% + .5rem);
  left: 0;
  z-index: 40;
  transform: translateY(-.2rem);
}
.organisation-table .organisation-name .officeholder-info:hover .officeholder-tooltip,
.organisation-table .organisation-name .officeholder-info:focus .officeholder-tooltip,
.organisation-table .organisation-table-row:focus-visible .officeholder-tooltip { transform: translateY(0); }
.response-rate-heading { display: inline-flex; align-items: center; }
.organisation-table .response-rate-info .officeholder-tooltip {
  top: calc(100% + .5rem);
  right: 0;
  bottom: auto;
  left: auto;
  text-transform: none;
  transform: translateY(-.2rem);
}
.organisation-table .response-rate-info:hover .officeholder-tooltip,
.organisation-table .response-rate-info:focus .officeholder-tooltip {
  transform: translateY(0);
}

/* Concerns directory */
.concerns-directory-page .topbar { min-height: 5rem; justify-content: flex-end; border-bottom: 1px solid rgba(220, 227, 241, .8); background: rgba(255, 255, 255, .9); }
.concerns-directory-page .topbar-title { display: none; }
.concerns-directory { width: min(92rem, 100%); padding-top: .45rem; }
.concerns-header { margin-bottom: 1rem; }
.concerns-header h1 { margin-bottom: .45rem; font-size: clamp(2rem, 3vw, 2.55rem); line-height: 1.1; letter-spacing: -.045em; }
.concerns-header p { margin: 0; color: var(--muted); font-size: .95rem; }
.concerns-directory-page:not(.unified-search-page) .main-content.concerns-directory,
.reports-directory-page:not(.unified-search-page) .main-content.reports-directory,
.organisations-directory-page:not(.unified-search-page) .main-content.organisations-directory {
  padding-top: clamp(3rem, 5vw, 4.75rem);
}
.directory-page-header {
  margin: 0 0 1.5rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid var(--line);
}
.directory-page-heading {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.directory-page-icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border: 1px solid #d8e0f3;
  border-radius: .9rem;
  background: var(--blue-soft);
}
.directory-page-icon img { width: 1.75rem; height: 1.75rem; opacity: .88; }
.directory-page-copy { min-width: 0; padding-top: .05rem; }
.directory-page-header .directory-page-copy h1 {
  max-width: 56rem;
  margin: 0;
  font-size: clamp(2.35rem, 3.35vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -.05em;
}
.directory-page-header .directory-page-copy p {
  max-width: 59rem;
  margin: .75rem 0 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.62;
}
.directory-page-header .directory-page-copy p + p { margin-top: .45rem; }
.directory-page-header + .concern-search { margin-top: 0; }
.directory-page-header + .organisation-directory-caveat { margin-top: 0; }
.concern-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 3.8rem;
  margin: 1rem 0;
  padding: .3rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .8rem;
  background: var(--surface);
  box-shadow: 0 4px 18px rgba(36, 53, 105, .025);
}
.concern-search > img { width: 1.5rem; height: 1.5rem; opacity: .72; }
.concern-search input[type="search"] { min-width: 0; padding: .75rem .9rem; border: 0; outline: 0; background: transparent; color: var(--ink); }
.concern-search input::placeholder { color: #7582a6; }
.concern-directory-panel { overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.concern-filterbar { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.concern-filter-field { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; min-width: 9.5rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); color: #52638f; }
.concern-filter-field:focus-within { outline: 3px solid rgba(18, 87, 255, .22); outline-offset: 2px; }
.concern-filter-field:nth-of-type(2) { min-width: 13rem; }
.concern-filter-field > img { width: 1.2rem; height: 1.2rem; margin-left: .7rem; color: #52638f; }
.concern-filter-field select,
.concern-filter-field input,
.concern-results-heading select {
  max-width: 15rem;
  min-height: 2.65rem;
  padding: .5rem 2.1rem .5rem .75rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: #304479;
  font-size: .78rem;
}
.concern-filter-field input { width: 100%; min-width: 13rem; padding-right: .75rem; }
.concern-filter-field select:focus-visible,
.concern-filter-field input:focus-visible { outline: 0; }
.concern-clear { margin-left: auto; padding: .7rem .25rem; font-size: .76rem; font-weight: 650; text-decoration: none; }
.concern-results-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 3.8rem; padding: .65rem 1.25rem; border-bottom: 1px solid var(--line); }
.concern-results-heading p { margin: 0; font-size: 1rem; }
.concern-results-heading form { display: flex; align-items: center; gap: .55rem; }
.concern-results-heading select { border: 1px solid var(--line); background: var(--surface); }
.concern-results-heading label { color: var(--muted); font-size: var(--text-ui-sm); }
.concern-results-heading select { min-height: 2.35rem; }
.concern-table { width: 100%; }
.concern-table-header,
.concern-table-row { display: grid; grid-template-columns: minmax(17rem, 2.6fr) minmax(7rem, 1fr) minmax(4.5rem, .65fr) minmax(6.5rem, .8fr) minmax(8.2rem, 1fr) 1.25rem; gap: 1rem; align-items: center; }
.concern-table--all .concern-table-header,
.concern-table--all .concern-table-row { grid-template-columns: minmax(20rem, 3fr) minmax(6.5rem, .8fr) minmax(8.2rem, 1fr) minmax(9rem, 1fr) 1.25rem; }
.concern-table-header { min-height: 3rem; padding: .65rem 1.25rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--text-caption); font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.concern-table-row { min-height: 4.45rem; padding: .72rem 1.25rem; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: background-color 150ms ease; }
.concern-table-row:hover { background: #f8faff; }
.concern-table-row:last-child { border-bottom: 0; }
.concern-name { min-width: 0; overflow-wrap: anywhere; font-size: var(--text-body-sm); font-weight: 690; line-height: 1.35; }
.concern-name small { display: block; margin-top: .28rem; color: var(--muted-soft); font-size: var(--text-caption); font-weight: 520; line-height: 1.35; }
.concern-name .recurrence-context { color: #606a93; }
.concern-name .recurrence-context strong { font-weight: 760; }
.concern-number { color: #40548c; font-size: .86rem; font-variant-numeric: tabular-nums; }
.concern-date { color: #40548c; font-size: .78rem; font-variant-numeric: tabular-nums; }
.concern-trend { min-width: 0; }
.mini-bar-chart { display: flex; width: 6.25rem; height: 2rem; align-items: end; gap: .18rem; padding-bottom: 1px; border-bottom: 1px solid #d9e1f2; }
.mini-bar-chart i { display: block; width: .45rem; height: var(--bar-height); border-radius: 2px 2px 0 0; background: #5c83ff; }
.mini-bar-chart i.is-projected,
.concern-preview-bar.is-projected,
.dashboard-chart-bar.is-projected { background: repeating-linear-gradient(135deg, #5574ed 0 4px, #aab8f4 4px 8px); }
.recurrence-badge { display: inline-block; padding: .42rem .58rem; border-radius: .5rem; background: #f0efff; color: #625dff; font-size: var(--text-caption); font-weight: 660; white-space: nowrap; }
.recurrence-empty { display: inline-block; width: 100%; color: var(--muted-soft); text-align: center; }
.concern-arrow { display: grid; justify-content: end; color: var(--blue); }
.concern-arrow img { width: 1.2rem; height: 1.2rem; color: var(--blue); }
.concern-empty { padding: 3.5rem 1.5rem; color: var(--muted); text-align: center; }
.concern-empty strong { color: var(--ink); font-size: 1rem; }
.concern-empty p { max-width: 38rem; margin: .65rem auto 0; font-size: .85rem; line-height: 1.6; }
.concern-pagination { display: flex; gap: .4rem; align-items: center; justify-content: center; min-height: 3.8rem; padding: .65rem 1rem; border-top: 1px solid var(--line); }
.concern-pagination a,
.concern-pagination span { min-width: 2.15rem; padding: .48rem .65rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--surface); font-size: .76rem; text-align: center; text-decoration: none; }
.concern-pagination span { border-color: #77a0ff; color: var(--blue); }
.concern-pagination .pagination-ellipsis { min-width: 1.8rem; border-color: transparent; color: var(--muted); }
.concern-pagination .pagination-previous,
.concern-pagination .pagination-next { display: inline-flex; gap: .2rem; align-items: center; margin-left: .35rem; border-color: transparent; }
.concern-pagination .pagination-previous { margin: 0 .35rem 0 0; }
.concern-pagination .pagination-previous img,
.concern-pagination .pagination-next img { width: 1rem; height: 1rem; }
.reports-directory .concern-pagination a,
.reports-directory .concern-pagination span { padding: .55rem .7rem; font-size: .875rem; }
.concern-directory-note { max-width: 66rem; margin: 1rem 0 0; color: var(--muted); font-size: var(--text-ui-sm); line-height: 1.55; }
.concern-preview-dialog {
  width: min(46rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  border: 0;
  border-radius: .85rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(2, 15, 55, .3);
}
.concern-preview-dialog.is-occurrence-preview { width: min(54rem, calc(100vw - 2rem)); }
.concern-preview-dialog[open] { animation: modal-surface-enter 320ms cubic-bezier(.2,.75,.25,1) both; }
.concern-preview-dialog::backdrop { background: rgba(28, 43, 84, .58); backdrop-filter: blur(3px); animation: modal-backdrop-enter 320ms ease-out both; }
.concern-preview-inner { position: relative; max-height: calc(100vh - 2rem); overflow-y: auto; overscroll-behavior: contain; padding: 1.75rem 2rem 1.6rem; scrollbar-color: #bdc7e3 transparent; scrollbar-gutter: stable; scrollbar-width: thin; }
.concern-preview-inner::-webkit-scrollbar { width: 6px; }
.concern-preview-inner::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.concern-preview-close { position: absolute; top: 1rem; right: 1.15rem; width: 2.25rem; height: 2.25rem; border: 0; border-radius: 50%; background: transparent; color: #52638f; font-size: 1.55rem; line-height: 1; cursor: pointer; }
.concern-preview-close:hover { background: #f1f4fb; }
.concern-preview-eyebrow { margin: 0 3rem .8rem 0; color: #465b91; font-size: var(--text-caption); font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.concern-preview-dialog h2 { max-width: 40rem; margin: 0 2.5rem 1.4rem 0; font-size: clamp(1.45rem, 3vw, 1.8rem); line-height: 1.22; letter-spacing: -.025em; }
.concern-preview-includes { margin: -.45rem 0 1.35rem; padding-left: .9rem; border-left: 3px solid var(--teal); color: #40548c; font-size: var(--text-body-sm); line-height: 1.6; }
.concern-preview-title-row { display: flex; gap: 1.25rem; align-items: flex-start; justify-content: space-between; }
.concern-preview-title-row h2 { flex: 1 1 auto; }
.concern-preview-title-row .occurrence-report-link[hidden] { display: none; }
.concern-preview-title-row .occurrence-report-link { max-width: none; flex: 0 0 auto; margin: .35rem 2.5rem 1.4rem 0; text-align: right; white-space: nowrap; }
.concern-preview-loading, .concern-preview-error { min-height: 14rem; margin: 0; padding-top: 5rem; color: var(--muted); text-align: center; }
.concern-preview-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 1.35rem; }
.concern-preview-stats div { padding: .2rem 1rem; border-right: 1px solid var(--line); text-align: center; }
.concern-preview-stats div:first-child { padding-left: 0; }
.concern-preview-stats div:last-child { padding-right: 0; border-right: 0; }
.concern-preview-stats dt { color: var(--muted); font-size: var(--text-caption); }
.concern-preview-stats dd { margin: .3rem 0 0; color: var(--ink); font-size: 1rem; font-weight: 740; font-variant-numeric: tabular-nums; }
.concern-preview-chart-section h3, .concern-preview-links h3 { margin: 0; font-size: .82rem; }
.concern-preview-projection-note, .dashboard-projection-note { margin: .35rem 0 0; color: var(--muted); font-size: var(--text-caption); line-height: 1.45; }
.concern-preview-links h3 { color: var(--blue); }
.concern-preview-chart-frame { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: .45rem; margin-top: 1rem; }
.concern-preview-y-axis { display: flex; height: 9rem; flex-direction: column; justify-content: space-between; padding-bottom: 1px; color: var(--muted); font-size: .6875rem; font-variant-numeric: tabular-nums; text-align: right; }
.concern-preview-plot { min-width: 0; }
.concern-preview-chart { display: grid; height: 9rem; grid-template-columns: repeat(var(--bar-count), minmax(2px, 1fr)); gap: .35rem; align-items: end; padding: .65rem .25rem 0; border-bottom: 1px solid #cdd7ee; background-image: linear-gradient(to bottom, #e1e6f1 1px, transparent 1px); background-size: 100% calc(100% / var(--tick-segments)); }
.concern-preview-bar { position: relative; width: min(68%, 2.8rem); min-width: 3px; height: max(2px, var(--bar-height)); justify-self: center; padding: 0; border: 0; border-radius: .28rem .28rem 0 0; background: linear-gradient(180deg, #6783f8 0%, #5574ed 100%); cursor: crosshair; }
.concern-preview-bar:hover, .concern-preview-bar:focus-visible { z-index: 2; background: #075fff; outline: 2px solid #fff; outline-offset: 0; }
.concern-preview-bar:hover::after, .concern-preview-bar:focus-visible::after { position: absolute; right: 50%; bottom: calc(100% + .45rem); width: max-content; max-width: min(14rem, calc(100vw - 4rem)); padding: .38rem .5rem; border-radius: .35rem; background: #10245a; color: #fff; content: attr(data-tooltip); font-size: var(--text-caption); line-height: 1.4; pointer-events: none; transform: translateX(50%); white-space: normal; box-shadow: 0 4px 12px rgba(2,15,55,.2); }
.concern-preview-bar:last-child:hover::after,
.concern-preview-bar:last-child:focus-visible::after { right: 0; transform: none; }
.concern-preview-years { display: grid; grid-template-columns: repeat(var(--bar-count), minmax(0, 1fr)); padding: .45rem 0 0; color: var(--muted); font-size: .6875rem; text-align: center; }
.concern-preview-years span { min-width: 0; }
.concern-preview-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.35rem; }
.concern-preview-links section { position: relative; min-height: 8rem; padding: 1rem; border: 1px solid var(--line); border-radius: .6rem; }
.concern-preview-links ul { display: grid; gap: .65rem; margin: .8rem 0 0; padding: 0; color: #43588e; font-size: var(--text-caption); list-style: none; }
.concern-preview-links li { position: relative; display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); gap: .5rem; align-items: center; border-radius: .25rem; }
.concern-preview-links li > img { width: 1rem; height: 1rem; }
.concern-preview-links li > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.concern-preview-links li[data-tooltip]:hover::after,
.concern-preview-links li[data-tooltip]:focus-visible::after { position: absolute; top: calc(100% + .35rem); left: 1.6rem; z-index: 4; width: max-content; max-width: min(23rem, calc(100vw - 5rem)); padding: .45rem .55rem; border-radius: .4rem; background: #10245a; color: #fff; content: attr(data-tooltip); font-size: .68rem; line-height: 1.45; pointer-events: none; white-space: normal; box-shadow: 0 5px 16px rgba(2,15,55,.24); }
.concern-preview-links section:nth-child(2) li[data-tooltip]::after { right: 0; left: auto; max-width: calc(100% - 1.6rem); }
.concern-preview-links li[data-tooltip]:focus-visible { outline: 2px solid rgba(18,87,255,.3); outline-offset: 2px; }
.concern-preview-empty { color: var(--muted-soft); font-style: italic; }
.concern-preview-overflow { position: absolute; top: .8rem; right: .9rem; color: var(--blue); font-size: var(--text-caption); font-weight: 740; }
.concern-preview-actions { display: grid; grid-template-columns: minmax(9rem, .8fr) minmax(14rem, 1.25fr); gap: .8rem; margin-top: 1.35rem; }
.concern-preview-secondary, .concern-preview-primary { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .65rem; padding: .65rem 1rem; border: 1px solid var(--blue); border-radius: .5rem; font-size: var(--text-ui-sm); font-weight: 720; text-decoration: none; cursor: pointer; }
.concern-preview-secondary { background: #fff; color: var(--blue); }
.concern-preview-primary { border-color: var(--teal); background: var(--teal); color: #fff; }
.concern-preview-primary:hover { background: var(--teal-strong); }
.concern-preview-primary img { width: 1rem; height: 1rem; filter: brightness(0) invert(1); }
.occurrence-preview-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.occurrence-preview-section { padding: 1.15rem 0; border-top: 1px solid var(--line); }
.occurrence-preview-section > h3,
.occurrence-response-heading h3 { margin: 0; color: var(--ink); font-size: .88rem; }
.occurrence-preview-source { margin: -.45rem 0 .85rem; }
.occurrence-preview-source summary { width: max-content; color: var(--blue); font-size: var(--text-caption); font-weight: 720; cursor: pointer; }
.occurrence-preview-source blockquote { margin: .7rem 0 .15rem; padding: .7rem .85rem; border-left: 2px solid #9db2ee; border-radius: 0 .4rem .4rem 0; background: #f8faff; color: #334777; font-size: var(--text-body-sm); line-height: 1.65; }
.occurrence-recipient-list { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.occurrence-recipient-list li { padding: .42rem .62rem; border-radius: 999px; background: #f0f3fb; color: #40558a; font-size: var(--text-caption); font-weight: 650; }
.occurrence-recipient-list li.has-response { background: #dcf5e9; color: #087354; }
.occurrence-recipient-list .concern-preview-empty { padding-left: 0; background: transparent; }
.occurrence-response-section { padding-bottom: 0; }
.occurrence-response-heading { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.occurrence-response-heading p { margin: .3rem 0 0; color: var(--muted); font-size: var(--text-caption); }
.occurrence-report-link { flex: 0 0 auto; margin-top: 0; }
.occurrence-response-list { display: grid; gap: .85rem; margin-top: 1rem; }
.occurrence-response-card { padding: 1rem 1.05rem; border: 1px solid var(--line); border-radius: .65rem; background: #fbfcff; }
.occurrence-response-card header { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.occurrence-response-card header span { display: block; margin-bottom: .2rem; color: var(--muted); font-size: var(--text-caption); font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.occurrence-response-card h4 { margin: 0; font-size: .84rem; line-height: 1.4; }
.occurrence-response-card > .dialog-source-link { margin-top: .65rem; }
.occurrence-response-card h5 { margin: 1rem 0 .55rem; color: #40558a; font-size: var(--text-ui-sm); }
.occurrence-position-list { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.occurrence-position-list li { padding: .75rem .8rem; border: 1px solid #dce4f5; border-radius: .5rem; background: #fff; }
.occurrence-position-list p { margin: 0; color: var(--ink); font-size: var(--text-ui-sm); font-weight: 650; line-height: 1.5; }
.occurrence-position-kind { display: flex; gap: .32rem; align-items: center; margin-top: .28rem; color: #66759b; font-size: var(--text-caption); font-weight: 650; line-height: 1.4; }
.occurrence-position-kind img { width: .82rem; height: .82rem; flex: 0 0 auto; opacity: .82; }
.occurrence-action-list { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.occurrence-action-list li { padding: .75rem .8rem; border-radius: .5rem; background: #f2f5fc; }
.occurrence-action-list p { margin: 0; color: var(--ink); font-size: var(--text-ui-sm); font-weight: 650; line-height: 1.5; }
.occurrence-action-status { display: flex; gap: .32rem; align-items: center; margin-top: .28rem; color: #66759b; font-size: var(--text-caption); font-weight: 650; line-height: 1.4; }
.occurrence-action-status img { width: .82rem; height: .82rem; flex: 0 0 auto; opacity: .82; }
.occurrence-action-source,
.occurrence-position-source { margin-top: .55rem; }
.occurrence-action-source summary,
.occurrence-position-source summary { width: max-content; color: var(--blue); font-size: var(--text-ui-sm); font-weight: 700; cursor: pointer; }
.occurrence-action-source blockquote,
.occurrence-position-source blockquote { margin: .55rem 0 0; padding-left: .7rem; border-left: 2px solid #c3cee8; color: #40548c; font-size: var(--text-body-sm); line-height: 1.65; }
.occurrence-actions-toggle { display: inline-flex; gap: .4rem; align-items: center; margin-top: .75rem; padding: .35rem .15rem; border: 0; background: transparent; color: var(--blue); font-size: var(--text-caption); font-weight: 720; cursor: pointer; }
.occurrence-actions-toggle:hover span { text-decoration: underline; text-underline-offset: .16rem; }
.occurrence-actions-toggle img { width: .85rem; height: .85rem; transform: rotate(90deg); transition: transform 160ms ease; }
.occurrence-actions-toggle.is-expanded img { transform: rotate(-90deg); }
.occurrence-response-empty { margin: .8rem 0 0; color: var(--muted); font-size: var(--text-caption); font-style: italic; line-height: 1.5; }
.occurrence-response-list > .occurrence-response-empty { margin: 0; padding: 1rem; border-radius: .55rem; background: #f7f9fd; }
.occurrence-preview-footer { display: flex; justify-content: flex-end; margin-top: 1rem; }
.occurrence-preview-footer .concern-preview-secondary { min-width: 9rem; }
.concern-preview-active { scrollbar-gutter: auto; }
.concern-preview-open { overflow: hidden; padding-right: var(--preview-scrollbar-width); }

/* Connected-evidence history */
.history-scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; padding: 1.6rem; border: 1px solid #d4dcf4; border-radius: var(--radius-md); background: #f3f6ff; }
.history-scope p { margin: 0 0 .35rem; }
.history-broaden { grid-column: 1 / -1; padding-top: 1rem; border-top: 1px solid #d4dcf4; }
.history-broaden .tag { margin-right: .4rem; text-decoration: none; }
.history-stats { grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); max-width: none; }
.history-stats dd.date-range { font-size: 1.15rem; }
.history-timeline { position: relative; margin-top: 1.8rem; }
.history-timeline::before { position: absolute; top: 0; bottom: 0; left: 9.9rem; width: 1px; background: #b8c4e2; content: ""; }
.history-event { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 2.5rem; padding: 0 0 2.7rem; border: 0; }
.history-date { margin: .35rem 0 0; color: var(--muted); font-size: .82rem; font-weight: 670; text-align: right; }
.history-event-content { position: relative; min-width: 0; padding: 0 0 2rem; border-bottom: 1px solid var(--line); }
.history-event-content::before { position: absolute; top: .3rem; left: -2.95rem; width: .75rem; height: .75rem; border: 3px solid var(--canvas); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--blue); content: ""; }
.history-event-content .response-card { margin-top: 1.5rem; }

/* Homepage */
.overview-page .topbar {
  justify-content: flex-end;
  min-height: 5rem;
  padding: 0 2rem;
  border-bottom-color: rgba(220, 227, 241, .32);
  background: rgba(255, 255, 255, .86);
}
.overview-page .topbar-title { display: none; }
.overview-page .topbar-help { width: 2.6rem; padding: .45rem; justify-content: center; }
.overview-page .topbar-help span { display: none; }
.homepage { width: 100%; max-width: none; padding: 0; }
.overview-page .section-label { font-size: .78rem; }
.homepage-opening { padding: 0 1.75rem 3rem 2.25rem; }
.homepage-primary-grid, .homepage-secondary-grid {
  display: grid;
  gap: 1.35rem;
}
.homepage-primary-grid {
  grid-template-columns: minmax(0, 1.75fr) minmax(0, .95fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(220, 227, 241, .9);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.homepage-secondary-grid { grid-template-columns: minmax(0, 1fr); }
.hero-panel, .featured-investigation, .evidence-preview, .pinned-panel, .updates-panel, .about-pfd-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(220, 227, 241, .9);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.homepage-primary-grid > .hero-panel,
.homepage-primary-grid > .newcomer-panel { border: 0; border-radius: 0; box-shadow: none; }
.homepage-primary-grid > .newcomer-panel { border-left: 1px solid var(--line); }
.hero-panel { height: 26.5rem; }
.hero-copy { position: relative; z-index: 2; padding: 1.75rem 0 0 3.25rem; }
.homepage h1 {
  max-width: 34rem;
  margin: 0 0 .55rem;
  font-size: clamp(2.25rem, 2.6vw, 2.62rem);
  line-height: 1.14;
  letter-spacing: -.045em;
}
.homepage .lede { max-width: 34rem; font-size: 1rem; line-height: 1.75; }
.home-search {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  width: min(100%, 32.5rem);
  min-height: 3.9rem;
  margin: 1.15rem 0 0 -.5rem;
  padding: .35rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .9rem;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 30px rgba(38, 56, 112, .045);
}
.home-search img { width: 1.55rem; height: 1.55rem; opacity: .82; }
.home-search input { min-width: 0; padding: .8rem 1rem; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 1rem; }
.home-search input::placeholder { color: #7280a2; }
.home-search-suggestions { position: relative; z-index: 4; display: flex; width: min(100%, 32.5rem); flex-wrap: wrap; gap: .35rem 0; align-items: center; margin: .7rem 0 0 -.5rem; color: var(--muted); font-size: .8rem; line-height: 1.4; }
.home-search-suggestions span { margin-right: .75rem; }
.home-search-suggestions a { padding: 0 .75rem; border-left: 1px solid var(--line); color: var(--blue); font-weight: 650; text-decoration: none; }
.home-search-suggestions span + a { padding-left: 0; border-left: 0; }
.home-search-suggestions a:hover { text-decoration: underline; text-underline-offset: .16rem; }
.hero-illustration { position: absolute; top: 2.9rem; right: -.45rem; z-index: 1; width: 19rem; height: auto; opacity: .53; }
.hero-illustration,
.featured-abstract,
.evidence-journey img {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.hero-evidence-summary {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  min-height: 4.65rem;
  align-items: center;
  padding: .85rem 2.35rem;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, .96);
}
.home-stats { display: grid; flex: 1 1 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.home-stats div { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .7rem; align-items: center; padding: 0 1.2rem; border-right: 1px solid var(--line); }
.home-stats div:first-child { padding-left: 0; }
.home-stats div:last-child { border-right: 0; }
.home-stats img { width: 1.65rem; height: 1.65rem; grid-column: 1; grid-row: 1 / 3; }
.home-stats dt { grid-column: 2; grid-row: 2; color: var(--muted); font-size: var(--text-ui-sm); line-height: 1.2; }
.home-stats dd { grid-column: 2; grid-row: 1; margin: 0; color: var(--ink); font-size: 1.2rem; font-weight: 760; font-variant-numeric: tabular-nums; line-height: 1.1; }
.summary-status { flex: 0 0 9rem; margin: 0 0 0 1.2rem; color: var(--muted-soft); font-size: var(--text-caption); line-height: 1.35; text-align: right; }
.data-unavailable { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.featured-investigation { height: 26.5rem; padding: 2.4rem 1.9rem; }
.featured-copy { position: relative; z-index: 2; max-width: 28rem; }
.featured-investigation h2 { max-width: 25rem; font-size: clamp(1.4rem, 1.55vw, 1.65rem); line-height: 1.22; }
.featured-investigation p:not(.section-label) { max-width: 25rem; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.72; }
.featured-abstract { position: absolute; right: -3rem; bottom: -4.2rem; width: 84%; max-width: 27rem; height: auto; opacity: .82; }
.homepage-secondary-grid { align-items: stretch; margin-top: 1.35rem; }
.evidence-preview {
  display: flex;
  flex-direction: column;
  min-height: 50.25rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.homepage-secondary-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; min-width: 0; }
.homepage-featured-column { grid-template-columns: minmax(0, 1fr); }
.homepage-primary-grid > .newcomer-panel { height: 26.5rem; min-height: 26.5rem; padding: 1.75rem 2.25rem 2.65rem; }
.homepage-primary-grid > .newcomer-panel .newcomer-links { grid-template-columns: 1fr; }
.homepage-secondary-column > .featured-investigation,
.homepage-secondary-column > .pinned-panel { height: 23.5rem; min-height: 23.5rem; }
.pinned-panel { overflow: hidden; padding: 1.3rem 1.55rem; box-shadow: var(--shadow-soft); }
.updates-panel { min-height: 16.5rem; padding: 1.55rem 1.85rem; box-shadow: var(--shadow-soft); }
.about-pfd-panel { display: flex; min-height: 13.5rem; flex-direction: column; padding: 1.45rem 1.55rem; background: #fbfcff; box-shadow: var(--shadow-soft); }
.about-pfd-heading { display: block; }
.about-pfd-heading h2 { margin: 1rem 0 0; font-size: 1.48rem; line-height: 1.2; letter-spacing: -.025em; }
.newcomer-icon { display: grid; width: 3.45rem; height: 3.45rem; place-items: center; border-radius: 50%; background: #e8edff; }
.newcomer-icon img { width: 1.75rem; height: 1.75rem; filter: brightness(.62) saturate(2.1); }
.about-pfd-panel > p { max-width: 18.5rem; margin: .65rem 0 0; color: var(--muted); font-size: .94rem; line-height: 1.62; }
.about-pfd-button { display: inline-flex; width: 14.4rem; align-items: center; align-self: flex-start; justify-content: space-between; min-height: 2.5rem; margin-top: 1.6rem; padding: .45rem 1rem; border: 1px solid var(--line-strong); border-radius: .55rem; background: #fff; color: var(--ink); cursor: pointer; font: inherit; font-size: .86rem; font-weight: 720; }
.about-pfd-button:hover { border-color: #91a4df; background: #f2f5ff; }
.about-pfd-button span { font-size: 1rem; transition: transform 180ms ease; }
.about-pfd-button:hover span, .about-pfd-button:focus-visible span { transform: translateX(2px); }
.newcomer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .72rem; margin: 1rem 0 0; padding: 0; color: var(--muted); font-size: .82rem; line-height: 1.4; list-style: none; }
.newcomer-links li { display: flex; gap: .4rem; align-items: flex-start; }
.newcomer-links img { width: 1rem; height: 1rem; flex: 0 0 auto; margin-top: .05rem; }
.panel-heading { display: flex; gap: 1.5rem; align-items: flex-start; justify-content: space-between; }
.evidence-preview > .panel-heading {
  align-items: center;
  margin-bottom: .55rem;
  padding: .75rem .35rem 0 .65rem;
}
.panel-heading h2 { margin: 0; font-size: 1.22rem; }
.panel-heading p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.panel-heading > a { flex: 0 0 auto; color: var(--blue); font-size: .875rem; font-weight: 680; text-decoration: none; }
.pinned-heading { align-items: center; padding-bottom: .65rem; border-bottom: 1px solid var(--line); }
.pinned-heading > img { width: 1.35rem; height: 1.35rem; opacity: .82; }
.pinned-empty { display: flex; gap: 1rem; align-items: center; min-height: 7.8rem; padding: .85rem .25rem .1rem; }
.pinned-empty > img { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; opacity: .8; }
.pinned-empty strong { display: block; color: var(--ink); font-size: 1rem; }
.pinned-empty p { max-width: 25rem; margin: .35rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.pinned-empty small { display: block; margin-top: .45rem; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.pinned-signed-out { align-items: flex-start; padding-top: 1rem; }
.pinned-actions { display: flex; gap: .9rem; align-items: center; margin-top: .8rem; }
.pinned-actions a { color: var(--muted); font-size: .875rem; font-weight: 650; text-decoration: none; }
.pinned-actions .pinned-primary { padding: .5rem .7rem; border: 1px solid var(--line-strong); border-radius: .55rem; background: #f5f7fc; color: var(--ink); font-weight: 650; }
.pinned-actions .pinned-primary:hover { border-color: #aeb9d8; background: #eef1f9; }
.pinned-list { height: 8rem; margin: .15rem 0 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #bdc7e3 transparent; scrollbar-gutter: stable; scrollbar-width: thin; list-style: none; }
.pinned-list::-webkit-scrollbar { width: 6px; }
.pinned-list::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.pinned-list li + li { border-top: 1px solid var(--line); }
.pinned-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.pinned-list a { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .8rem; align-items: center; min-width: 0; min-height: 3.25rem; padding: .5rem .2rem; color: var(--ink); text-decoration: none; }
.pinned-list a:hover strong { color: var(--blue); }
.pinned-list img { width: 1.45rem; height: 1.45rem; }
.pinned-list span { display: flex; gap: .7rem; align-items: baseline; justify-content: space-between; min-width: 0; }
.pinned-list strong { overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.pinned-list small { flex: 0 0 auto; color: var(--muted); font-size: .78rem; }
.pinned-remove { margin: 0; }
.pinned-remove button { display: grid; width: 2.25rem; height: 2.25rem; padding: .4rem; place-items: center; border: 0; border-radius: .45rem; background: transparent; cursor: pointer; }
.pinned-remove button:hover { background: #f1f3f9; }
.pinned-remove button:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
.pinned-remove button.is-removed { opacity: .55; }
.pinned-remove img { width: 1.2rem; height: 1.2rem; }
.evidence-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: 2.85rem;
  margin: 0 .2rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .7rem;
  background: rgba(255,255,255,.75);
}
.evidence-tabs button {
  position: relative;
  display: grid;
  min-width: 0;
  padding: 0 .5rem;
  border: 0;
  background: transparent;
  place-items: center;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: .95rem;
}
.evidence-tabs button + button { border-left: 1px solid var(--line); }
.evidence-tabs button:hover { background: #f8f9ff; color: var(--blue); }
.evidence-tabs button:focus-visible { z-index: 1; outline: 2px solid var(--blue); outline-offset: -3px; }
.evidence-tabs [aria-selected="true"] { background: #fff; color: var(--blue); font-weight: 680; }
.evidence-tabs [aria-selected="true"]::after { position: absolute; right: 1rem; bottom: 0; left: 1rem; height: 2px; background: var(--blue); content: ""; }
.evidence-tabs-hint {
  display: flex;
  gap: .5rem;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.35;
}
.evidence-tabs-keys { display: inline-flex; gap: .22rem; }
.evidence-tabs-keys > button {
  display: grid;
  width: 1.35rem;
  height: 1.2rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: .32rem;
  background: #fff;
  color: inherit;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(38, 56, 112, .07);
}
.evidence-tabs-keys > button:hover { border-color: #91a4df; background: #f8f9ff; }
.evidence-tabs-keys img { width: .78rem; height: .78rem; opacity: .72; }
.evidence-tabs-keys .arrow-right { transform: rotate(180deg); }
.evidence-table-shell {
  flex: 1;
  min-height: 44.2rem;
  margin-top: .45rem;
  overflow: hidden;
  border: 1px solid rgba(220, 227, 241, .88);
  border-radius: .9rem;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.evidence-table-head, .recurring-list li {
  display: grid;
  grid-template-columns: minmax(15rem, 2fr) minmax(8rem, 1.15fr) .58fr .9fr;
  gap: 1rem;
  align-items: center;
}
.evidence-table-head { min-height: 3rem; padding: 0 1.2rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--text-ui-sm); font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.recurring-list { --concern-row-height: 4.75rem; max-height: calc(var(--concern-row-height) * 8); margin: 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #bdc7e3 transparent; scrollbar-gutter: stable; scrollbar-width: thin; list-style: none; }
.recurring-list::-webkit-scrollbar { width: 6px; }
.recurring-list::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.recurring-list li { height: var(--concern-row-height); padding: 0 1.2rem; border-bottom: 1px solid var(--line); font-size: .92rem; line-height: 1.4; }
.issue-name { display: -webkit-box; min-width: 0; overflow: hidden; color: var(--ink); font-weight: 690; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.issue-name:hover { color: var(--blue); }
.report-count, .commitment-count { color: var(--muted); font-variant-numeric: tabular-nums; }
.topic-table-head, .topic-list li,
.organisation-preview-table-head, .organisation-preview-list li { grid-template-columns: minmax(15rem, 2fr) minmax(8rem, 1.15fr) .58fr .9fr; }
.concerns-panel-footer { display: flex; gap: 1rem; min-height: 3.2rem; align-items: center; justify-content: space-between; padding: .65rem 1.2rem; }
.card-caveat { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.view-all-concerns { display: inline-flex; flex: 0 0 auto; gap: .25rem; align-items: center; color: var(--blue); font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.view-all-concerns img { width: .9rem; height: .9rem; transition: transform 160ms ease; }
.view-all-concerns:hover { text-decoration: underline; text-underline-offset: .16rem; }
.view-all-concerns:hover img { transform: translateX(2px); }
.evidence-table-empty, .updates-empty { display: flex; gap: 1rem; align-items: center; }
.evidence-table-empty { min-height: 16rem; padding: 2rem 3rem; }
.evidence-placeholder-panel .evidence-table-empty { min-height: 22.55rem; }
.updates-empty { min-height: 13rem; margin-top: 1.25rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evidence-table-empty img, .updates-empty img { width: 2rem; height: 2rem; flex: 0 0 auto; opacity: .72; }
.evidence-table-empty strong, .updates-empty strong { font-size: 1rem; }
.evidence-table-empty p, .updates-empty p { max-width: 34rem; margin: .35rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.evidence-journey { overflow: clip; scroll-margin-top: 5rem; padding: 5rem clamp(2rem, 4.2vw, 4.5rem) 2.6rem; border-top: 1px solid var(--line); background: var(--surface); }
.journey-main { display: grid; grid-template-columns: 25rem minmax(0, 1fr); gap: clamp(2.5rem, 4.5vw, 4.5rem); align-items: center; }
.journey-intro { position: relative; z-index: 2; max-width: 31rem; padding-bottom: 2rem; }
.journey-intro h2 { max-width: 25rem; margin-bottom: 1.45rem; font-size: clamp(2.8rem, 3vw, 3rem); line-height: 1.1; letter-spacing: -.055em; }
.journey-accent { display: block; width: 2.6rem; height: 3px; margin-bottom: 1.8rem; border-radius: 999px; background: var(--teal); }
.journey-intro > p:last-child { max-width: 29rem; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.journey-path { --node-size: clamp(6rem, 11cqw, 9rem); position: relative; min-height: 24rem; container-type: inline-size; }
.journey-backdrop { position: absolute; top: 0; bottom: -1rem; left: -.25rem; width: calc(100% + 3.5rem); max-width: none; height: calc(100% + 1rem); object-fit: cover; object-position: center; pointer-events: none; }
.journey-path ol { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 0; padding: calc((24rem - var(--node-size)) / 2) 0 0; list-style: none; }
.journey-path li { min-width: 0; }
.journey-marker { position: relative; display: grid; width: var(--node-size); height: var(--node-size); margin: 0 auto 1.9rem; place-items: center; border: 5px solid rgba(205,214,255,.78); border-radius: 50%; background: #fff; box-shadow: 0 0 0 7px rgba(222,227,255,.62); }
.journey-marker img { width: clamp(2.4rem, 36%, 3.25rem); height: auto; filter: invert(29%) sepia(99%) saturate(4214%) hue-rotate(224deg) brightness(101%) contrast(101%); }
.journey-marker span { position: absolute; top: 12%; right: 12%; display: grid; width: clamp(2rem, 28%, 2.5rem); aspect-ratio: 1; place-items: center; border: 3px solid #fff; border-radius: 50%; background: var(--blue); color: #fff; font-size: clamp(.75rem, 1.1cqw, .85rem); font-weight: 760; line-height: 1; box-shadow: 0 2px 8px rgba(18,87,255,.18); }
.journey-path strong { display: block; color: var(--ink-strong); font-size: 1rem; line-height: 1.35; }
.journey-path li p { max-width: 14rem; margin: .8rem 0 0; color: var(--muted); font-size: .95rem; line-height: 1.6; }
.trust-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.5rem; border-top: 1px solid var(--line); }
.trust-links button { display: grid; width: 100%; grid-template-columns: auto 1fr auto; gap: 1.1rem; align-items: center; min-height: 5.2rem; padding: .95rem 1.2rem; border: 0; background: transparent; color: var(--ink); cursor: pointer; text-align: left; }
.trust-links button + button { border-left: 1px solid var(--line); }
.trust-links button:hover { color: var(--blue); background: #fafbff; }
.trust-links img { width: 2rem; height: 2rem; filter: invert(29%) sepia(99%) saturate(4214%) hue-rotate(224deg) brightness(101%) contrast(101%); }
.trust-links strong { font-size: 1rem; }
.trust-links b { color: var(--blue); font-weight: 500; }
.homepage-services-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  min-height: 18.5rem;
  margin-top: 2.5rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.homepage-services-proposition,
.homepage-services-audiences { position: relative; overflow: hidden; }
.homepage-services-proposition {
  display: flex;
  align-items: center;
  padding: clamp(1.5rem, 2.1vw, 2.1rem);
  background: var(--ink-strong);
  color: #fff;
}
.homepage-services-copy { position: relative; z-index: 2; min-width: 0; max-width: 36rem; }
.homepage-services-copy .section-label { margin-bottom: .85rem; color: #81ddc7; }
.homepage-services-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.7rem, 2.15vw, 2.3rem);
  line-height: 1.2;
  letter-spacing: -.04em;
}
.homepage-services-copy > p:last-of-type {
  max-width: 19rem;
  margin: 1rem 0 0;
  color: #dce4ff;
  font-size: .92rem;
  line-height: 1.65;
}
.homepage-services-dark-art {
  position: absolute;
  right: -4rem;
  bottom: -3rem;
  width: 66%;
  height: auto;
  opacity: .5;
  filter: saturate(.9) brightness(.8) contrast(.7);
}
.homepage-services-link {
  display: inline-flex;
  gap: .85rem;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  margin-top: 1.35rem;
  padding: .72rem 1.15rem;
  border: 1px solid #fff;
  border-radius: .65rem;
  background: #fff;
  color: var(--blue);
  font-size: .88rem;
  font-weight: 740;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 180ms ease, color 180ms ease, transform 220ms cubic-bezier(.2,.75,.25,1);
}
.homepage-services-link:hover { border-color: #cbd7ff; background: #edf2ff; color: var(--blue-strong); }
.homepage-services-link:hover span,
.homepage-services-link:focus-visible span { transform: translateX(3px); }
.homepage-services-link span { font-size: 1.1rem; transition: transform 220ms cubic-bezier(.2,.75,.25,1); }
.homepage-services-audiences {
  display: flex;
  align-items: center;
  padding: clamp(1.5rem, 2.1vw, 2.1rem);
  background: #fbfcff;
}
.homepage-services-audiences > div { position: relative; z-index: 2; width: 100%; }
.homepage-services-audiences h3 { margin: 0 0 1.25rem; font-size: 1.2rem; }
.homepage-services-audiences ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.homepage-services-audiences li {
  display: flex;
  align-items: center;
  min-height: 4rem;
  padding: .6rem 1rem;
  color: var(--ink-strong);
  font-size: .95rem;
  font-weight: 680;
  line-height: 1.35;
}
.homepage-services-audiences li:first-child { padding-left: 0; }
.homepage-services-audiences li + li { border-left: 1px solid var(--line-strong); }
.homepage-services-audience-art {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 22rem;
  height: auto;
  opacity: .5;
}

/* Homepage motion: intentionally quiet for the primary landing experience. */
.home-search {
  transition: border-color 200ms ease, box-shadow 240ms ease;
}
.home-search:focus-within {
  border-color: #91a4df;
  box-shadow: 0 12px 32px rgba(38, 56, 112, .08), 0 0 0 3px rgba(18, 87, 255, .07);
}
.evidence-tabs button,
.trust-links button,
.trust-links b {
  transition: background-color 200ms ease, color 200ms ease, transform 240ms cubic-bezier(.2,.75,.25,1);
}
.home-tabs-enhanced .evidence-tab-panel:not([hidden]) { animation: evidence-panel-enter 220ms ease-out both; }
@keyframes evidence-panel-enter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.trust-links button:hover b,
.trust-links button:focus-visible b { transform: translateX(3px); }

.home-motion-ready .home-reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: none;
}
.home-motion-ready .home-reveal-art {
  transform: translate(7px, 5px) scale(.988);
}
.home-motion-ready .home-reveal-summary {
  transform: translateY(8px);
}
.home-motion-ready .home-reveal.is-visible {
  opacity: 1;
  transform: translate(0, 0) scale(1);
  transition: opacity 520ms ease, transform 560ms cubic-bezier(.2,.75,.25,1);
  transition-delay: calc(var(--home-reveal-index, 0) * 65ms);
}

.trust-dialog,
.contact-dialog,
.correction-dialog {
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  border: 0;
  border-radius: .8rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(2, 15, 55, .28);
}
.trust-dialog[open],
.contact-dialog[open],
.correction-dialog[open] { animation: modal-surface-enter 320ms cubic-bezier(.2,.75,.25,1) both; }
.trust-dialog[open]::backdrop,
.contact-dialog[open]::backdrop,
.correction-dialog[open]::backdrop {
  background: rgba(15, 31, 73, .62);
  backdrop-filter: blur(3px);
  animation: modal-backdrop-enter 360ms ease-out both;
}
.trust-dialog.is-closing,
.contact-dialog.is-closing,
.correction-dialog.is-closing { animation: modal-surface-exit 220ms ease-in both; }
.trust-dialog.is-closing::backdrop,
.contact-dialog.is-closing::backdrop,
.correction-dialog.is-closing::backdrop { animation: modal-backdrop-exit 240ms ease-in both; }
.trust-dialog-inner { position: relative; overflow-y: auto; padding: 2.2rem; }
.trust-dialog .eyebrow { margin: 0 2.5rem .55rem 0; }
.trust-dialog h2 { margin: 0 2.5rem .8rem 0; font-size: 1.7rem; }
.trust-dialog p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.7; }
.trust-dialog p:not(.eyebrow) + p:not(.eyebrow) { margin-top: .85rem; }
.trust-dialog .modal-close { border: 0; background: transparent; cursor: pointer; }
.trust-dialog-link { display: inline-flex; gap: .65rem; align-items: center; margin-top: 1.5rem; font-size: .88rem; font-weight: 750; text-decoration: none; }
.trust-dialog-link span { font-size: 1.1rem; }
.about-pfd-dialog { width: min(44rem, calc(100vw - 2rem)); }
.about-pfd-dialog .trust-dialog-inner { max-height: min(42rem, calc(100dvh - 2rem)); overscroll-behavior: contain; scrollbar-color: #bdc7e3 transparent; scrollbar-gutter: stable; scrollbar-width: thin; }
.about-pfd-dialog .trust-dialog-inner::-webkit-scrollbar { width: 7px; }
.about-pfd-dialog .trust-dialog-inner::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.about-pfd-dialog section { margin-top: 1.55rem; padding-top: 1.35rem; border-top: 1px solid var(--line); }
.about-pfd-dialog h3 { margin: 0 0 .65rem; font-size: 1.02rem; }
.about-pfd-dialog ul { display: grid; gap: .55rem; margin: .8rem 0 0; padding-left: 1.2rem; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.about-pfd-dialog .about-pfd-caveat { margin-top: 1rem; padding: .85rem 1rem; border-radius: .6rem; background: var(--surface-soft); color: var(--ink); }
.about-pfd-sources { display: grid; gap: .65rem; margin-top: 1.4rem; }
.about-pfd-sources a { display: flex; gap: .75rem; align-items: center; justify-content: space-between; padding: .8rem 0; border-top: 1px solid var(--line); color: var(--blue); font-size: .88rem; font-weight: 720; text-decoration: none; }
.about-pfd-sources a:hover { text-decoration: underline; text-underline-offset: .16rem; }
html.trust-dialog-open {
  overflow: hidden;
  padding-right: var(--trust-dialog-scrollbar-width, 0);
  scrollbar-gutter: auto;
}
body.trust-dialog-open { position: fixed; right: 0; left: 0; width: 100%; overflow: hidden; }
.contact-dialog-inner { position: relative; max-height: calc(100vh - 2rem); overflow-y: auto; padding: 2rem; }
.contact-dialog h2 { margin: 0 2.5rem .55rem 0; font-size: 1.7rem; }
.contact-dialog .modal-close { border: 0; background: transparent; cursor: pointer; }
.contact-dialog-open { overflow: hidden; }
.contact-dialog-form textarea {
  width: 100%;
  min-height: 8.5rem;
  resize: vertical;
  padding: .75rem .8rem;
  border: 1px solid var(--line-strong);
  border-radius: .45rem;
  background: #fff;
  color: var(--ink);
  font: inherit;
  line-height: 1.5;
}
.contact-dialog-form input:focus-visible,
.contact-dialog-form textarea:focus-visible { outline: 2px solid rgba(18, 87, 255, .35); outline-offset: 1px; }
.contact-dialog-form[aria-busy="true"] { opacity: .72; pointer-events: none; }
.contact-field-error { min-height: 0; color: #a41624; font-size: .72rem; line-height: 1.4; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-dialog-success { padding: 1.5rem 0 .25rem; text-align: center; }
.contact-dialog-form[hidden],
.contact-dialog-success[hidden] { display: none; }
.contact-dialog-success img { width: 3.5rem; height: 3.5rem; }
.contact-dialog-success h3 { margin: .8rem 0 .45rem; font-size: 1.25rem; }
.contact-dialog-success p { margin: 0 auto 1.4rem; color: var(--muted); line-height: 1.6; }
.contact-dialog-success .secondary-button { width: 100%; }
.correction-dialog { width: min(29rem, calc(100vw - 2rem)); }
.correction-dialog-inner { position: relative; max-height: calc(100vh - 2rem); overflow-y: auto; padding: 1.35rem; }
.correction-dialog h2 { margin: 0 2.5rem .45rem 0; font-size: 1.45rem; }
.correction-dialog .modal-close { border: 0; background: transparent; cursor: pointer; }
.correction-dialog-open { overflow: hidden; }
.correction-dialog .modal-lede { margin-bottom: 1rem; font-size: .82rem; }
.correction-form { display: grid; gap: .4rem; }
.correction-form[aria-busy="true"] { opacity: .72; pointer-events: none; }
.correction-form > label,
.correction-details > label { margin-top: .45rem; color: var(--ink); font-size: .78rem; font-weight: 720; }
.correction-form > label span { color: var(--muted); font-weight: 500; }
.correction-form input[type="email"],
.correction-form textarea {
  width: 100%;
  padding: .7rem .8rem;
  border: 1px solid var(--line-strong);
  border-radius: .45rem;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.correction-form input[type="email"] { min-height: 2.5rem; }
.correction-form textarea { min-height: 7.2rem; resize: vertical; line-height: 1.5; }
.correction-form input:focus-visible,
.correction-form textarea:focus-visible { outline: 2px solid rgba(18, 87, 255, .35); outline-offset: 1px; }
.correction-scope { display: grid; gap: 0; margin: 0; padding: 0; border: 0; }
.correction-scope legend { width: 100%; margin: 0 0 .5rem; padding: 0; color: var(--ink); font-size: .75rem; font-weight: 720; }
.correction-scope-option { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; align-items: start; margin: 0; padding: .55rem .7rem; border-right: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); cursor: pointer; }
.correction-scope-option:first-of-type { border-top: 1px solid var(--line-strong); border-radius: .65rem .65rem 0 0; }
.correction-scope-option + .correction-scope-option { border-top: 1px solid var(--line); }
.correction-scope-option:last-of-type { border-bottom: 1px solid var(--line-strong); border-radius: 0 0 .65rem .65rem; }
.correction-scope-option:only-of-type { border-radius: .65rem; }
.correction-scope-option input { width: 1.05rem; height: 1.05rem; margin: .15rem 0 0; accent-color: var(--blue); }
.correction-scope-option > span { display: flex; flex-wrap: wrap; gap: .28rem .65rem; align-items: center; min-width: 0; }
.correction-scope-kicker { width: 100%; color: var(--muted); font-size: .7rem; }
.correction-scope-option strong { min-width: 0; overflow-wrap: anywhere; color: var(--ink); font-size: .78rem; }
.correction-scope-option em { padding: .2rem .5rem; border-radius: .35rem; background: #f0eaff; color: #6245b5; font-size: .62rem; font-style: normal; font-weight: 720; }
.correction-scope-option.is-selected { background: #f8faff; }
.correction-details { display: grid; gap: .3rem; margin-top: .45rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.correction-details p,
.correction-field-hint { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.correction-field-error { min-height: 0; color: #a41624; font-size: .72rem; line-height: 1.4; }
.correction-form textarea { height: 7rem; min-height: 7rem; }
.correction-review-note { margin: .45rem 0 0; padding: .55rem .65rem; border-radius: .45rem; background: var(--blue-soft); color: #304b9d; font-size: .66rem; line-height: 1.4; }
.correction-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .25rem; padding-top: .6rem; border-top: 1px solid var(--line); }
.correction-actions .modal-primary { min-width: 8.5rem; min-height: 2.6rem; margin: 0; }
.correction-cancel { padding: .7rem 1rem; border: 0; background: transparent; color: var(--blue); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 720; }
.correction-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.correction-dialog-success { padding: 1.5rem 0 .25rem; text-align: center; }
.correction-form[hidden],
.correction-dialog-success[hidden] { display: none; }
.correction-dialog-success h3 { margin: 0 0 .45rem; font-size: 1.25rem; }
.correction-dialog-success p { margin: 0 auto 1.4rem; color: var(--muted); line-height: 1.6; }
.correction-dialog-success .secondary-button { width: 100%; }
.correction-page-form .correction-scope { margin-bottom: .55rem; }
.correction-page-form .correction-field-hint { margin-bottom: .15rem; }
.correction-page-form textarea { width: 100%; resize: vertical; padding: .75rem .8rem; border: 1px solid var(--line-strong); border-radius: .45rem; font: inherit; }
.contact-page { width: min(42rem, 100%); margin-inline: auto; }
.contact-page h1 { margin-bottom: .65rem; }
.contact-page-card { margin-top: 2rem; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-soft); }
.contact-page-card textarea {
  width: 100%;
  resize: vertical;
  padding: .75rem .8rem;
  border: 1px solid var(--line-strong);
  border-radius: .45rem;
  font: inherit;
}
.contact-page-card .errorlist { margin: 0; padding: 0; color: #a41624; font-size: .74rem; list-style: none; }

@media (max-width: 1180px) {
  :root { --sidebar-width: 14rem; }
  .homepage-primary-grid { grid-template-columns: minmax(0, 1fr); }
  .homepage-primary-grid > .newcomer-panel { border-top: 1px solid var(--line); border-left: 0; }
  .homepage-secondary-column { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .featured-investigation { height: 21rem; }
  .featured-abstract { width: 22rem; }
  .directory-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-submit { align-self: stretch; }
  .directory-row, .directory-row-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-row-main { grid-column: 1 / -1; }
  .organisation-table-header,
  .organisation-table-row { grid-template-columns: minmax(15rem, 2.1fr) minmax(8rem, 1.15fr) minmax(8rem, 1fr) minmax(12rem, 1.3fr) minmax(7rem, .85fr) 1rem; }
  .organisation-table-header > :nth-child(2),
  .organisation-table-row > :nth-child(2) { display: none; }
  .concern-table-header,
  .concern-table-row { grid-template-columns: minmax(15rem, 2.2fr) minmax(5rem, .7fr) minmax(5.5rem, .7fr) minmax(7rem, .9fr) minmax(8.5rem, 1fr) 1rem; }
  .concern-table:not(.concern-table--all) .concern-table-header > :nth-child(2),
  .concern-table:not(.concern-table--all) .concern-table-row > :nth-child(2) { display: none; }
  .concern-table--all .concern-table-header,
  .concern-table--all .concern-table-row { grid-template-columns: minmax(15rem, 2.2fr) minmax(5.5rem, .7fr) minmax(7rem, .9fr) minmax(8.5rem, 1fr) 1rem; }
  .journey-main { grid-template-columns: 1fr; gap: 1.5rem; }
  .journey-intro { max-width: 38rem; padding-bottom: 0; }
  .journey-intro h2 { max-width: 34rem; }
  .journey-path { min-height: 26rem; }
  .journey-backdrop { top: 0; bottom: -1rem; left: -.25rem; width: calc(100% + 3.5rem); }
  .journey-path ol { gap: 1rem; padding-top: calc((26rem - var(--node-size)) / 2); }
}

@media (max-width: 820px) {
  .directory-page-header { padding-bottom: 1.5rem; }
  .directory-page-heading { grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; }
  .directory-page-icon { width: 3rem; height: 3rem; border-radius: .8rem; }
  .directory-page-icon img { width: 1.5rem; height: 1.5rem; }
  .directory-page-header .directory-page-copy h1 { font-size: clamp(2rem, 9vw, 2.45rem); }
  .directory-page-header .directory-page-copy p { font-size: .92rem; }
  .shell { display: block; }
  .app-sidebar { position: sticky; display: block; width: 100%; height: auto; overflow: visible; padding: .8rem 1rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand { min-height: 2.6rem; margin: 0 9.5rem .65rem 0; font-size: 1.1rem; }
  .brand-mark, .brand-mark img { width: 1.55rem; height: 1.8rem; }
  .mobile-header-actions {
    position: absolute;
    top: .8rem;
    right: 1rem;
    display: flex;
    gap: .4rem;
    align-items: center;
  }
  .mobile-contact-trigger {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: .7rem;
    background: var(--surface);
  }
  .mobile-contact-trigger img { width: 1.25rem; height: 1.25rem; }
  .mobile-header-actions .pinned-menu-popover { position: fixed; top: 4rem; right: 1rem; left: 1rem; width: auto; }
  .sidebar-navs { display: flex; gap: .3rem; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  .sidebar-navs::-webkit-scrollbar { display: none; }
  .main-nav { display: flex; flex: 0 0 auto; gap: .3rem; overflow: visible; }
  .main-nav a { min-height: 2.65rem; padding: .55rem .72rem; white-space: nowrap; }
  .main-nav a img { width: 1.15rem; height: 1.15rem; }
  .sidebar-secondary {
    display: flex;
    flex: 0 0 auto;
    gap: .3rem;
    margin: 0 0 0 .35rem;
    padding: 0 0 0 .65rem;
    overflow: visible;
    border-top: 0;
    border-left: 1px solid var(--line-strong);
  }
  .sidebar-secondary a { min-height: 2.65rem; padding: .55rem .72rem; white-space: nowrap; }
  .sidebar-secondary a img { width: 1.15rem; height: 1.15rem; }
  .sidebar-purpose { display: none; }
  .topbar { display: none; }
  .main-content { padding: 3rem 1.25rem 4rem; }
  .concerns-directory, .reports-directory, .organisations-directory { padding-top: 2.2rem; }
  .concerns-header h1, .reports-directory-header h1, .organisations-header h1 { font-size: 2.25rem; }
  .organisation-directory-caveat { align-items: flex-start; }
  .organisation-filter-field { min-width: 0; }
  .organisation-filter-field select { width: 100%; max-width: none; }
  .organisation-results-heading { align-items: flex-start; }
  .organisation-results-heading form { align-items: flex-start; flex-direction: column; }
  .organisation-table-header { display: none; }
  .organisation-table-row { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.15rem 2.7rem 1.15rem 1.15rem; }
  .organisation-name { grid-column: 1 / -1; }
  .organisation-arrow { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); }
  .organisation-activity::before,
  .organisation-responses::before,
  .organisation-evidence::before,
  .organisation-date::before { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .58rem; font-weight: 720; letter-spacing: .045em; text-transform: uppercase; }
  .organisation-activity::before { content: "Report activity"; }
  .organisation-responses::before { content: "Published responses found"; }
  .organisation-evidence::before { content: "Response actions and concerns"; }
  .organisation-date::before { content: "Latest report"; }
  .concern-search { grid-template-columns: auto minmax(0, 1fr); padding-right: .75rem; }
  .concern-filterbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .concern-filter-field,
  .concern-filter-field:nth-of-type(2) { min-width: 0; }
  .concern-filter-field select { width: 100%; max-width: none; }
  .concern-filter-field input { width: 100%; min-width: 0; max-width: none; }
  .concern-clear { margin: 0; align-self: center; text-align: center; }
  .concern-preview-inner { padding: 1.4rem 1.25rem; }
  .concern-preview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 0; }
  .concern-preview-stats div:nth-child(2) { border-right: 0; }
  .occurrence-preview-stats { grid-template-columns: 1fr; gap: .65rem; }
  .occurrence-preview-stats div { padding: .35rem 0; border-right: 0; }
  .concern-preview-title-row { display: block; }
  .concern-preview-title-row .occurrence-report-link { max-width: none; margin: -.55rem 0 1.35rem; text-align: left; }
  .occurrence-response-heading { flex-direction: column; }
  .concern-preview-links, .concern-preview-actions { grid-template-columns: 1fr; }
  .concern-results-heading { align-items: flex-start; }
  .concern-results-heading form { align-items: flex-start; flex-direction: column; }
  .concern-table-header { display: none; }
  .concern-table-row { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.15rem 2.7rem 1.15rem 1.15rem; }
  .concern-table--all .concern-table-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .concern-table:not(.concern-table--all) .concern-table-row > :nth-child(2) { display: none; }
  .concern-name { grid-column: 1 / -1; font-size: .92rem; }
  .concern-number::before,
  .concern-date::before { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .58rem; font-weight: 720; letter-spacing: .045em; text-transform: uppercase; }
  .concern-number:nth-child(3)::before { content: "Reports"; }
  .concern-number:nth-child(4)::before { content: "Organisations"; }
  .concern-table--all .concern-number:nth-child(2)::before { content: "Recipients"; }
  .concern-date::before { content: "Latest report"; }
  .concern-arrow { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); }
  .recurrence-badge { white-space: normal; }
  .legal-layout { grid-template-columns: 1fr; gap: 2.25rem; }
  .legal-contents { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-contents strong { grid-column: 1 / -1; }
  .homepage { padding: 0; }
  .homepage-opening { display: flex; gap: 1rem; flex-direction: column; padding: 1rem 1rem 3.5rem; }
  .homepage-primary-grid, .homepage-secondary-grid, .homepage-secondary-column { display: contents; }
  .homepage-primary-grid > .hero-panel,
  .homepage-primary-grid > .newcomer-panel { border: 1px solid rgba(220, 227, 241, .9); border-radius: 1.2rem; box-shadow: var(--shadow); }
  .hero-panel { order: 1; }
  .about-pfd-panel { order: 2; }
  .evidence-preview { order: 3; }
  .pinned-panel { order: 4; }
  .featured-investigation { order: 5; }
  .hero-panel { height: auto; }
  .newcomer-panel { height: auto; min-height: 0; }
  .hero-copy { padding: 2.2rem 1.5rem 1rem; }
  .homepage h1 { font-size: clamp(2rem, 9vw, 2.35rem); }
  .hero-illustration { display: none; }
  .hero-evidence-summary { position: static; display: block; margin-top: 1rem; padding: 1rem 1.25rem; }
  .home-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .home-stats div { display: flex; flex-direction: column; gap: .2rem; align-items: center; padding: .1rem .25rem; border-right: 1px solid var(--line); text-align: center; }
  .home-stats div:last-child { border-right: 0; }
  .home-stats img { width: 1.55rem; height: 1.55rem; order: -2; }
  .home-stats dt { min-height: 2.6em; font-size: var(--text-caption); }
  .home-stats dd { order: -1; font-size: 1.05rem; white-space: nowrap; }
  .summary-status { display: block; margin: .85rem 0 0; text-align: left; }
  .evidence-journey { scroll-margin-top: 7.5rem; padding: 4rem 1.25rem 2.5rem; }
  .journey-main { grid-template-columns: 1fr; }
  .journey-intro { max-width: 36rem; padding-bottom: 0; }
  .journey-intro h2 { max-width: 34rem; font-size: clamp(2.5rem, 8vw, 3.6rem); }
  .journey-path { min-height: 26rem; }
  .journey-backdrop { inset: 0 -1rem; width: calc(100% + 2rem); }
  .journey-path ol { padding-top: calc((26rem - var(--node-size)) / 2); }
  .trust-links { grid-template-columns: 1fr; }
  .trust-links button + button { border-top: 1px solid var(--line); border-left: 0; }
  .homepage-services-banner { grid-template-columns: 1fr; }
  .homepage-services-proposition,
  .homepage-services-audiences { min-height: 17rem; }
}

@media (max-width: 520px) {
  .organisation-results-heading { display: grid; }
  .organisation-results-heading form { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .organisation-results-heading select { width: 100%; max-width: none; }
  .organisation-table-row { grid-template-columns: 1fr; }
  .organisation-name { grid-column: 1; }
  .concern-filterbar { grid-template-columns: 1fr; }
  .concern-results-heading { display: grid; }
  .concern-results-heading form { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .concern-results-heading select { width: 100%; max-width: none; }
}

@media (max-width: 620px) {
  .site-footer { align-items: flex-start; flex-direction: column; }
  .legal-header { margin-bottom: 2.5rem; }
  .legal-contents { grid-template-columns: 1fr; }
  .main-nav a, .sidebar-secondary a { gap: .45rem; font-size: .78rem; }
  .main-nav a img, .sidebar-secondary a img { display: none; }
  .homepage-primary-grid, .homepage-secondary-grid { gap: 1rem; }
  .hero-panel, .featured-investigation, .pinned-panel, .updates-panel, .about-pfd-panel { border-radius: 1.2rem; }
  .hero-panel { height: 35.5rem; }
  .home-search { grid-template-columns: auto minmax(0, 1fr); margin-left: 0; padding-right: .65rem; }
  .home-search-suggestions { gap: .35rem .75rem; margin-left: 0; }
  .home-search-suggestions span { margin-right: 0; }
  .home-search-suggestions a { padding: 0; border-left: 0; }
  .hero-illustration { width: 16rem; }
  .featured-investigation { height: 27.25rem; padding: 2rem 1.5rem; }
  .homepage-secondary-column > .featured-investigation { height: 27.25rem; min-height: 27.25rem; }
  .featured-abstract { right: -4rem; bottom: -2.7rem; width: 21rem; }
  .updates-panel { padding: 1.45rem; }
  .homepage-secondary-column { grid-template-columns: 1fr; }
  .pinned-panel { padding: 1.35rem; }
  .homepage-secondary-column > .pinned-panel { height: auto; min-height: 13.5rem; }
  .about-pfd-panel { min-height: 0; padding: 1.35rem; }
  .newcomer-links { grid-template-columns: 1fr; gap: .6rem; }
  .pinned-list span { display: block; }
  .pinned-list small { display: block; margin-top: .15rem; }
  .panel-heading { display: block; }
  .pinned-heading { display: flex; }
  .panel-heading > a { display: inline-block; margin-top: .8rem; }
  .evidence-tabs { height: 3.35rem; }
  .evidence-tabs button { padding: 0 .4rem; font-size: .84rem; line-height: 1.25; text-align: center; }
  .evidence-tabs-hint { justify-content: flex-start; margin-top: .6rem; }
  .evidence-table-head { grid-template-columns: minmax(0, 1fr) 3.25rem 4.4rem; gap: .55rem; padding: 0 .85rem; }
  .evidence-table-head span:nth-child(2) { display: none; }
  .evidence-table-head span:nth-child(4) { display: block; }
  .recurring-list li { grid-template-columns: minmax(0, 1fr) 3.25rem 4.4rem; grid-template-rows: minmax(0, auto) 1.65rem; gap: .25rem .55rem; height: auto; min-height: 7.25rem; padding: .75rem .85rem; }
  .recurring-list { --concern-row-height: 7.25rem; }
  .issue-name { -webkit-line-clamp: 4; }
  .recurring-list .issue-name { grid-column: 1; grid-row: 1; }
  .recurring-list .mini-bar-chart { display: flex; width: min(100%, 7.5rem); height: 1.45rem; grid-column: 1; grid-row: 2; }
  .recurring-list .mini-bar-chart i { width: .32rem; }
  .recurring-list .report-count { grid-column: 2; grid-row: 1 / span 2; }
  .recurring-list .commitment-count { display: block; grid-column: 3; grid-row: 1 / span 2; }
  .concerns-panel-footer { align-items: flex-end; flex-direction: column; }
  .evidence-table-empty { min-height: 15rem; padding: 1.5rem; }
  .section-heading, .directory-summary { display: block; }
  .section-count { display: inline-block; }
  .stat-grid, .history-scope, .directory-controls { grid-template-columns: 1fr; }
  .issue-list li, .directory-row { grid-template-columns: 1fr; }
  .count { text-align: left; }
  .history-timeline::before { left: .35rem; }
  .history-event { display: block; padding-left: 2rem; }
  .history-date { margin-bottom: .75rem; text-align: left; }
  .history-event-content::before { left: -1.97rem; }
  .journey-path { min-height: 0; }
  .journey-backdrop { display: none; }
  .journey-path ol { grid-template-columns: 1fr; gap: 2.5rem; padding-top: 2rem; }
  .journey-path li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: 1rem; align-items: center; }
  .journey-marker { grid-column: 1; grid-row: 1 / span 2; width: 4.5rem; height: 4.5rem; margin: 0; border: 1px solid var(--line); box-shadow: none; }
  .journey-marker img { width: 2rem; height: 2rem; }
  .journey-marker span { top: 12%; right: 12%; width: 1.7rem; height: 1.7rem; aspect-ratio: auto; font-size: .75rem; }
  .journey-path strong, .journey-path li p { grid-column: 2; }
  .journey-path li p { margin-top: .35rem; }
  .homepage-services-banner { margin-top: 2rem; border-radius: .9rem; }
  .homepage-services-proposition,
  .homepage-services-audiences { min-height: 0; padding: 2rem 1.5rem; }
  .homepage-services-copy h2 { font-size: 1.75rem; }
  .homepage-services-copy > p:last-of-type { font-size: .88rem; }
  .homepage-services-dark-art { right: -4rem; bottom: -1.75rem; width: 78%; }
  .homepage-services-audiences { padding-bottom: 2.5rem; }
  .homepage-services-audiences ul { grid-template-columns: 1fr; }
  .homepage-services-audiences li { min-height: 3.25rem; padding: .7rem 0; }
  .homepage-services-audiences li + li { border-top: 1px solid var(--line); border-left: 0; }
  .homepage-services-audience-art { right: 0; bottom: 0; width: 18rem; }
  .search-form { display: grid; }
}

/* Unified search: type-first comparison grounded in the public directories. */
.main-content.unified-search { width: min(92rem, 100%); padding-top: .45rem; }
.unified-search-all-page .main-content.unified-search { padding-top: clamp(3rem, 5vw, 4.75rem); }
.unified-search-page .topbar { min-height: 5rem; justify-content: flex-end; border-bottom: 1px solid rgba(220, 227, 241, .8); background: rgba(255, 255, 255, .9); }
.unified-search-page .topbar-title { display: none; }
.unified-search-header h1 { margin: 0 0 1rem; font-size: clamp(2.2rem, 3vw, 2.75rem); line-height: 1.08; letter-spacing: -.045em; }
.unified-search-form { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) auto; gap: .75rem; align-items: center; min-height: 3.75rem; padding: 0 1rem; border: 1px solid var(--line-strong); border-radius: .72rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.unified-search-form:focus-within { outline: 3px solid rgba(18, 87, 255, .18); outline-offset: 1px; }
.unified-search-form > img { width: 1.35rem; height: 1.35rem; opacity: .78; }
.unified-search-form input { width: 100%; min-width: 0; min-height: 3.6rem; padding: .75rem 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 1rem; }
.unified-search-form input::placeholder { color: #7180a7; }
.unified-search-form > a { color: var(--muted); font-size: 1.7rem; line-height: 1; text-decoration: none; }
.unified-search-form > a:hover { color: var(--blue); }

.unified-search-tabs { display: flex; gap: 1.8rem; align-items: end; margin-top: 1.15rem; overflow-x: auto; border-bottom: 1px solid var(--line); }
.unified-search-tabs a { display: inline-flex; gap: .45rem; align-items: center; min-height: 3.25rem; padding: .7rem .2rem .65rem; border-bottom: 3px solid transparent; color: #233765; font-size: .9375rem; font-weight: 720; text-decoration: none; white-space: nowrap; }
.unified-search-tabs a[aria-current="page"] { border-bottom-color: var(--blue); color: var(--blue); }
.unified-search-tabs span { padding: .18rem .45rem; border-radius: 999px; background: #edf1f9; color: #38517f; font-size: .8125rem; font-weight: 750; }
.unified-search-tabs a[aria-current="page"] span { background: var(--blue-soft); color: var(--blue); }
.unified-search > .concern-directory-panel,
.unified-search > .report-directory-panel,
.unified-search > .organisation-directory-panel { margin-top: 1.4rem; }

.unified-search-results { margin-top: 1.4rem; }
.unified-search-results-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; padding: 0 0 1rem; }
.unified-search-results-heading h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.02em; }
.unified-search-results-heading p { margin: .4rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.55; }
.unified-search-results-heading > p { flex: 0 0 auto; margin: 0; font-size: .8125rem; }
.unified-search-columns { display: grid; grid-template-columns: minmax(15rem, .9fr) minmax(25rem, 1.55fr) minmax(15rem, .95fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .4); }
.unified-result-column { display: flex; min-width: 0; min-height: 35rem; flex-direction: column; padding: 1.15rem 1.25rem 1.3rem; }
.unified-result-column + .unified-result-column { border-left: 1px solid var(--line); }
.unified-result-column h3 { margin: 0; font-size: 1.2rem; letter-spacing: -.02em; }
.unified-column-heading { display: flex; gap: .75rem; align-items: baseline; }
.unified-column-heading p { margin: 0; color: var(--muted); font-size: .8125rem; }
.unified-result-column ol { margin: .55rem 0 1.25rem; padding: 0; list-style: none; }
.unified-result-column li { display: grid; grid-template-columns: 1.4rem minmax(0, 1fr) 1rem; gap: .55rem; align-items: start; min-height: 6.7rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.unified-report-results li { min-height: 9.2rem; }
.unified-result-column li > img { width: 1rem; height: 1rem; margin-top: .18rem; }
.unified-result-rank { color: var(--blue); font-size: 1rem; font-weight: 760; line-height: 1.45; }
.unified-result-column li a { color: var(--ink); font-size: 1rem; font-weight: 740; line-height: 1.42; text-decoration: none; }
.unified-report-results li a { color: var(--blue); }
.unified-result-column li a:hover { text-decoration: underline; text-underline-offset: .16rem; }
.unified-result-column li p { margin: .42rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.unified-result-meta { display: flex; flex-wrap: wrap; gap: .2rem .55rem; }
.unified-result-meta span + span::before { margin-right: .55rem; color: #9aa6c3; content: "·"; }
.unified-report-excerpt { color: #36486f !important; }
.unified-report-excerpt strong { color: #38517f; font-weight: 750; }
.unified-report-excerpt mark { padding: .04rem .12rem; background: #fff0a8; color: inherit; }
.unified-result-column li.unified-result-empty { display: block; min-height: 7rem; color: var(--muted); font-size: .9375rem; line-height: 1.55; }
.unified-search-remaining { color: #61729a; font-size: .8125rem; font-weight: 720; }
.unified-search-more { display: inline-flex; gap: .35rem; align-items: center; width: fit-content; margin-top: auto; color: var(--blue); font-size: .9375rem; font-weight: 720; text-decoration: none; }
.unified-search-more img { width: 1rem; height: 1rem; }
.unified-search-more:hover { text-decoration: underline; text-underline-offset: .16rem; }
.unified-search-no-results, .unified-search-prompt { margin-top: 1.5rem; padding: 2rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }
.unified-search-no-results h3, .unified-search-prompt h2 { margin: 0; font-size: 1.35rem; }
.unified-search-no-results p, .unified-search-prompt p { max-width: 48rem; margin: .6rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.6; }

@media (max-width: 72rem) {
  .unified-search-columns { grid-template-columns: minmax(0, 1fr); }
  .unified-result-column { min-height: 0; padding: 1.3rem 1rem; }
  .unified-result-column + .unified-result-column { border-top: 1px solid var(--line); border-left: 0; }
  .unified-result-column li, .unified-report-results li { min-height: 0; }
  .unified-search-more { margin-top: .35rem; }
}

@media (max-width: 820px) {
  .main-content.unified-search { padding-top: 2.2rem; }
  .unified-search-page .topbar-title { display: block; }
  .unified-search-page .topbar { justify-content: space-between; }
}

@media (max-width: 620px) {
  .unified-search-header h1 { font-size: 2.15rem; }
  .unified-search-form { min-height: 3.5rem; padding-inline: .85rem; }
  .unified-search-form input { min-height: 3.35rem; font-size: 1rem; }
  .unified-search-tabs { gap: 1.15rem; }
  .unified-search-tabs a { min-height: 3rem; font-size: .9rem; }
  .unified-search-results-heading { display: grid; gap: .5rem; }
  .unified-search-results-heading > p { font-size: .8125rem; }
  .unified-result-column { padding-inline: .25rem; }
  .unified-result-column li { grid-template-columns: 1.25rem minmax(0, 1fr) .9rem; gap: .45rem; padding: 1rem .15rem; }
  .unified-result-column li a { font-size: 1rem; }
  .unified-result-column li p { font-size: .875rem; }
}

/* Concern response chronology: shared by the Overview preview and full Trace. */
.chronology-panel { overflow: visible; }
.overview-trace-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.45rem 1.7rem;
  border-bottom: 1px solid #dce3ef;
}
.overview-trace-heading > div:first-child h2 { margin: 0; color: #0c2057; font-size: 1.35rem; line-height: 1.2; letter-spacing: -.025em; }
.overview-trace-heading > div:first-child p { margin: .35rem 0 0; color: #687796; font-size: .91rem; line-height: 1.5; }
.overview-trace-heading > a { min-height: 2.55rem; padding: .65rem 1rem; border: 1px solid #0758ff; border-radius: .55rem; background: #0758ff; box-shadow: 0 .3rem .75rem rgba(7,88,255,.16); color: #fff; font-size: .8rem; font-weight: 750; text-decoration: none; }
.overview-trace-heading > a:hover { border-color: #0649d6; background: #0649d6; }
.overview-coverage { display: grid; grid-template-columns: auto auto auto; gap: .5rem; align-items: center; min-width: 11.5rem; }
.overview-coverage strong { color: #0c2057; font-size: 1.55rem; line-height: 1; letter-spacing: -.035em; }
.overview-coverage > span:not(.overview-coverage-help) { color: #52638d; font-size: .69rem; font-weight: 650; line-height: 1.2; }

.response-chronology { --report-divider-space: .9rem; margin: 0; padding: .4rem 1.7rem 1.1rem; list-style: none; }
.chronology-entry { position: relative; display: grid; grid-template-columns: 4.3rem 1.5rem minmax(0, 1fr); }
.chronology-entry::before { position: absolute; top: 0; bottom: 0; left: 5.02rem; width: 2px; background: #dce5f7; content: ""; }
.chronology-entry:first-child::before { top: 2.15rem; }
.chronology-entry:last-child::before { bottom: calc(100% - 2.15rem); }
.chronology-entry > time { display: grid; align-content: start; justify-items: end; padding: 1.42rem .55rem 0 0; color: #52658f; font-variant-numeric: tabular-nums; }
.chronology-entry > time strong { color: #183775; font-size: .88rem; line-height: 1.15; }
.chronology-entry > time span { margin-top: .12rem; font-size: .75rem; }
.chronology-node { position: relative; z-index: 1; width: .78rem; height: .78rem; margin: 1.7rem auto 0; border: 3px solid #fff; border-radius: 50%; background: #1760f4; box-shadow: 0 0 0 2px #1760f4; }
.chronology-content { min-width: 0; padding: 1.2rem 0 1.45rem 1rem; border-bottom: 1px solid #e0e6f0; }
.chronology-entry:not(:last-child) .chronology-content { padding-bottom: calc(1.45rem + var(--report-divider-space)); }
.chronology-entry + .chronology-entry > time { padding-top: calc(1.42rem + var(--report-divider-space)); }
.chronology-entry + .chronology-entry > .chronology-node { margin-top: calc(1.7rem + var(--report-divider-space)); }
.chronology-entry + .chronology-entry > .chronology-content { padding-top: calc(1.2rem + var(--report-divider-space)); }
.chronology-entry:last-child .chronology-content { border-bottom: 0; }
.chronology-report-title { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .75rem; align-items: center; margin-bottom: 1rem; }
.chronology-report-title > span, .trace-report-icon { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 50%; background: #eaf0fd; }
.chronology-report-title img, .trace-report-icon img { width: 1.2rem; height: 1.2rem; }
.chronology-report-title h3 { margin: 0; color: #102459; font-size: 1.02rem; line-height: 1.35; }
.chronology-report-summary-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; line-height: inherit; text-align: left; cursor: pointer; }
.chronology-report-summary-button:hover { color: var(--blue); text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.chronology-report-summary-button:focus-visible { border-radius: .2rem; outline: 2px solid var(--blue); outline-offset: 3px; }
.chronology-report-title p { margin: .18rem 0 0; color: #71809d; font-size: .8rem; }
.chronology-report-meta { display: flex; flex-wrap: wrap; gap: .2rem .55rem; align-items: center; font-variant-numeric: tabular-nums; }
.chronology-report-meta > * + *::before { margin-right: .55rem; color: #9aa6c3; content: "·"; }
.chronology-evidence { display: grid; grid-template-columns: minmax(15rem, .72fr) minmax(26rem, 1.55fr); gap: 2rem; align-items: start; }
.chronology-concern-group { min-width: 0; }
.chronology-concern-group > h4 { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0 0 .58rem; border-bottom: 2px solid #dce6ff; color: #1760f4; font-size: .74rem; font-weight: 820; letter-spacing: .085em; text-transform: uppercase; }
.chronology-concern-group > h4 > strong { display: grid; min-width: 1.55rem; height: 1.55rem; padding: 0 .4rem; place-items: center; border-radius: 99rem; background: #eaf0ff; font-size: .72rem; }
.chronology-concern-list { display: grid; gap: .75rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.chronology-concern-card, .trace-source-card { min-width: 0; padding: 1.2rem 1.3rem; border: 0; border-left: 4px solid #3d68f5; border-radius: 0 .5rem .5rem 0; background: #f4f5f7; box-shadow: 0 .45rem 1.35rem rgba(24,43,86,.045); }
.chronology-concern-card { min-height: 7.75rem; }
.chronology-label { margin: 0 0 .55rem; color: #345fcd; font-size: .69rem; font-weight: 820; letter-spacing: .095em; text-transform: uppercase; }
.chronology-concern-card h4, .chronology-concern-card h5, .trace-source-card h4 { margin: 0; color: #102459; font-size: 1rem; line-height: 1.45; letter-spacing: -.01em; }
.chronology-concern-card blockquote, .trace-source-card blockquote { margin: .8rem 0 0; padding: 0; border: 0; color: #607093; font-size: .9rem; line-height: 1.58; }
.chronology-page { margin: .7rem 0 0; color: #596b92; font-size: .79rem; }
.chronology-other-concerns { margin: 1rem 0 0; padding-top: .85rem; border-top: 1px solid #dce2eb; color: #687796; font-size: .76rem; line-height: 1.5; }
.chronology-other-concerns strong { color: #40527a; }
.chronology-response-groups { display: grid; gap: 1.35rem; min-width: 0; }
.chronology-response-group > h4 { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0 0 .58rem; border-bottom: 2px solid #dce6ff; color: #1760f4; font-size: .74rem; font-weight: 820; letter-spacing: .085em; text-transform: uppercase; }
.chronology-response-group > h4 > span { display: inline-flex; gap: .35rem; align-items: center; }
.chronology-response-group > h4 > strong { display: grid; min-width: 1.55rem; height: 1.55rem; padding: 0 .4rem; place-items: center; border-radius: 99rem; background: #eaf0ff; font-size: .72rem; }
.chronology-response-group > ol { margin: 0; padding: 0; list-style: none; }
.chronology-response-group li { display: grid; grid-template-columns: 2rem minmax(0, 1.45fr) minmax(8rem, .62fr) auto; gap: 1rem; align-items: center; min-height: 5.2rem; padding: .85rem .25rem; border-bottom: 1px solid #dfe5ef; transition: background-color 150ms ease, transform 150ms ease; }
.chronology-response-group li:hover { background: #f5f7fa; transform: translateX(.15rem); }
.chronology-response-group li > p { margin: 0; color: #102459; font-size: .94rem; font-weight: 690; line-height: 1.48; }
.chronology-response-group li > strong { color: #1b2e60; font-size: .82rem; line-height: 1.45; }
.chronology-response-number { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #e9f0ff; color: #1760f4; font-size: .76rem; font-weight: 800; }
.chronology-response-meta { display: grid; gap: .4rem; justify-items: start; color: #687796; font-size: .72rem; }
.chronology-response-group.is-positions > h4 { border-color: #e6dcfa; color: #6e4db6; }
.chronology-response-group.is-positions > h4 > strong, .chronology-response-group.is-positions .chronology-response-number { background: #eee9fa; color: #6e4db6; }
.chronology-response-group.is-positions li { background: #fcfbff; }
.chronology-response-group.is-positions li:hover { background: #f5f1fc; }
.chronology-position-help { position: relative; display: inline-flex; }
.chronology-position-help button { display: grid; width: 1.35rem; height: 1.35rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: help; }
.chronology-position-help button:hover, .chronology-position-help button:focus-visible { background: #e8e0f7; outline: 0; }
.chronology-position-help img { width: .9rem; height: .9rem; }
.chronology-position-help [role="tooltip"] { position: absolute; bottom: calc(100% + .5rem); left: 50%; z-index: 30; width: 17rem; padding: .72rem .8rem; border-radius: .5rem; background: #2e2451; color: #fff; box-shadow: 0 .7rem 1.8rem rgba(20,15,42,.22); font-size: .73rem; font-weight: 560; letter-spacing: 0; line-height: 1.5; opacity: 0; pointer-events: none; text-transform: none; transform: translate(-50%, .25rem); transition: opacity 140ms ease, transform 140ms ease; visibility: hidden; }
.chronology-position-help:hover [role="tooltip"], .chronology-position-help:focus-within [role="tooltip"] { opacity: 1; transform: translate(-50%, 0); visibility: visible; }

/* Full Trace adopts the same chronology, while retaining its filters and accordion. */
.trace-reports { gap: 0; }
.trace-report { overflow: visible; border: 0; border-bottom: 1px solid #dce3ef; }
.trace-report[open] { border-color: #dce3ef; }
.trace-report-header { display: grid; grid-template-columns: 4.3rem 1.5rem minmax(0, 1fr) auto; gap: 0; min-height: 6.3rem; padding: .9rem 0; }
.trace-report-header::before, .trace-report[open] .trace-report-header::before { top: 0; bottom: 0; left: 5.02rem; width: 2px; border-radius: 0; background: #dce5f7; content: ""; }
.trace-report-header > time { display: grid; justify-items: end; align-self: start; padding: .55rem .55rem 0 0; color: #52658f; font-variant-numeric: tabular-nums; }
.trace-report-header > time strong { color: #183775; font-size: .88rem; }
.trace-report-header > time span { margin-top: .12rem; font-size: .75rem; }
.trace-timeline-node { position: relative; z-index: 1; width: .78rem; height: .78rem; align-self: start; justify-self: center; margin-top: .83rem; border: 3px solid #fff; border-radius: 50%; background: #1760f4; box-shadow: 0 0 0 2px #1760f4; }
.trace-report-identity { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .75rem; align-items: center; min-width: 0; padding-left: 1rem; }
.trace-report-header h3 { font-size: 1.02rem; }
.trace-report-header p { margin-top: .22rem; font-size: .8rem; }
.trace-report-actions { padding-left: 1.25rem; }
.trace-report[open] .trace-report-header { border-bottom: 0; }
.trace-report-body { margin-left: 6.8rem; padding: 0 0 1.6rem 1rem; }
.trace-concern-list { padding: 0; }
.trace-concern-row { display: grid; grid-template-columns: minmax(15rem, .72fr) minmax(26rem, 1.55fr); gap: 2rem; min-height: 0; padding: .3rem 0 1.35rem; }
.trace-concern-row:not(:last-child)::before { display: none; }
.trace-source-card { padding: 1.3rem 1.4rem; }
.trace-source-card blockquote { display: block; overflow: visible; -webkit-line-clamp: unset; }
.trace-source-card > p { margin-left: 0; }
.trace-response-groups { align-self: start; }
.trace-report-footnote { display: block; padding: .15rem 0 .4rem; }
.trace-report-footnote p { margin: 0; padding: 0; color: #687796; font-size: .78rem; line-height: 1.55; }
.trace-empty { min-height: 7rem; }

@media (max-width: 72rem) {
  .chronology-evidence, .trace-concern-row { grid-template-columns: minmax(13rem, .7fr) minmax(22rem, 1.4fr); gap: 1.25rem; }
  .chronology-response-group li { grid-template-columns: 1.8rem minmax(0, 1fr) minmax(7rem, .55fr); }
  .chronology-response-group li > .response-status-pill,
  .chronology-response-group li > .position-kind-pill,
  .chronology-response-meta { grid-column: 2 / -1; }
}

@media (max-width: 48rem) {
  .overview-trace-heading { grid-template-columns: 1fr auto; padding: 1.2rem; }
  .overview-trace-heading .overview-coverage { grid-column: 1; grid-row: 2; margin-top: .35rem; }
  .overview-trace-heading > a { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .response-chronology { --report-divider-space: .65rem; padding: .25rem 1rem .8rem; }
  .chronology-entry { grid-template-columns: 3.5rem 1.2rem minmax(0, 1fr); }
  .chronology-entry::before { left: 4.09rem; }
  .chronology-content { padding-left: .7rem; }
  .chronology-evidence, .trace-concern-row { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .chronology-concern-card { min-height: 6.75rem; }
  .chronology-response-group li { grid-template-columns: 1.8rem minmax(0, 1fr); gap: .55rem .75rem; padding: .9rem .2rem; }
  .chronology-response-group li > strong, .chronology-response-group li > .response-status-pill, .chronology-response-group li > .position-kind-pill, .chronology-response-meta { grid-column: 2; }
  .chronology-report-title h3, .trace-report-header h3 { font-size: .96rem; }
  .trace-report-header { grid-template-columns: 3.5rem 1.2rem minmax(0, 1fr); padding: .9rem 0; }
  .trace-report-header::before, .trace-report[open] .trace-report-header::before { left: 4.09rem; }
  .trace-report-actions { grid-column: 3; width: auto; padding: .6rem 0 0 .7rem; }
  .trace-report-identity { padding-left: .7rem; }
  .trace-report-body { margin-left: 4.7rem; padding-left: .7rem; }
  .trace-concern-list { padding: 0; }
  .trace-source-card { grid-column: auto; }
  .trace-response-groups { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .chronology-response-group li, .chronology-position-help [role="tooltip"] { transition: none; }
}

/* Homepage location preview. Shading represents jurisdictions, not events. */
#evidence-panel-locations { display: block; }
#evidence-panel-locations[hidden] { display: none; }
.location-preview {
  display: grid;
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
  grid-template-columns: minmax(0, 1.18fr) minmax(23rem, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: .95rem;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
.location-map-panel {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  padding: .15rem 0 0;
}
.location-panel-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: .15rem .15rem .45rem;
}
.location-panel-heading h3 { margin: 0; font-size: 1.28rem; line-height: 1.2; }
.location-panel-heading .contextual-help-tooltip { left: 0; width: 16rem; transform: translateY(-.25rem); }
.location-panel-heading .contextual-help:hover .contextual-help-tooltip,
.location-panel-heading .contextual-help:focus-within .contextual-help-tooltip { transform: translateY(0); }
.location-map {
  position: relative;
  display: flex;
  min-height: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid #dde3ec;
  border-radius: .7rem;
  background: #e9edf2;
}
.location-map-graphic {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.location-map-layer {
  transform-box: view-box;
}
.location-context-shape {
  fill: #d7dde5;
  stroke: #bcc5d1;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.location-context-shape[data-context-name="Ireland"],
.location-context-shape[data-context-name="Northern Ireland"] { display: none; }
.location-area-shape {
  stroke: #aeb8c7;
  stroke-width: 1.05;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
  transition: fill 140ms ease, filter 140ms ease, stroke 140ms ease;
}
.location-area-shape:hover { filter: brightness(.96); stroke: #7383a0; }
.location-area-shape.is-selected {
  fill: #223868;
  stroke: #fff;
  stroke-width: 2.4;
  filter: drop-shadow(0 2px 3px rgba(21, 36, 72, .2));
}
.location-map-tooltip {
  position: absolute;
  z-index: 4;
  max-width: 12rem;
  padding: .38rem .52rem;
  border: 1px solid #cad3e2;
  border-radius: .36rem;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 .35rem 1rem rgba(27, 41, 73, .14);
  color: var(--ink);
  font-size: .6rem;
  font-weight: 650;
  line-height: 1.3;
  pointer-events: none;
  transform: translate(.65rem, calc(-100% - .55rem));
}
.location-choropleth-legend {
  position: absolute;
  z-index: 2;
  top: 1rem;
  left: 1rem;
  display: grid;
  gap: .45rem;
  min-width: 9.4rem;
  padding: .78rem .82rem;
  border: 1px solid #d3dbe7;
  border-radius: .62rem;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 .55rem 1.4rem rgba(29, 40, 65, .09);
  color: #56647f;
  font-size: .62rem;
  line-height: 1.2;
  pointer-events: none;
}
.location-choropleth-legend strong { margin-bottom: .08rem; color: var(--ink); font-size: .68rem; }
.location-choropleth-legend span { display: flex; gap: .52rem; align-items: center; }
.location-choropleth-legend i,
.location-rank-shade {
  width: .65rem;
  height: .65rem;
  flex: 0 0 auto;
  border: 1px solid rgba(18, 37, 89, .1);
  border-radius: .15rem;
}
.shade-1 { background: #f7f8fb; fill: #f7f8fb; }
.shade-2 { background: #cbd5e6; fill: #cbd5e6; }
.shade-3 { background: #91a6cc; fill: #91a6cc; }
.shade-4 { background: #536fa4; fill: #536fa4; }
.location-map-controls {
  position: absolute;
  z-index: 2;
  bottom: 1rem;
  left: 1rem;
  display: grid;
  overflow: hidden;
  border: 1px solid #d6dfef;
  border-radius: .45rem;
  box-shadow: 0 .35rem 1rem rgba(29, 48, 89, .08);
}
.location-map-controls button {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-top: 1px solid #e0e6f2;
  background: rgba(255, 255, 255, .97);
  color: var(--ink);
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
.location-map-controls button:first-child { border-top: 0; }
.location-map-controls button:hover:not(:disabled),
.location-map-controls button:focus-visible { background: #eef3ff; color: var(--blue); }
.location-map-controls button:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--blue); outline-offset: -2px; }
.location-map-controls button:disabled { color: #aeb8ce; cursor: default; }
.location-detail-panel { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: .75rem; }
.location-selected-card {
  min-height: 14.1rem;
  flex: 0 0 auto;
  padding: 1.35rem 1.35rem 1.05rem;
  border: 1px solid #d7deea;
  border-radius: .7rem;
  background: #fff;
}
.location-selected-card h3 { margin: 0; font-size: 1.48rem; line-height: 1.2; }
.location-selected-total { margin: .85rem 0 .7rem; color: var(--ink); font-size: .86rem; font-weight: 700; }
.location-selected-total strong { margin-right: .32rem; color: #3457b1; font-size: 2.18rem; line-height: 1; }
.location-selected-card > p:not(.location-selected-total, .location-history-note) { margin: 0; max-width: 27rem; color: #354361; font-size: .72rem; line-height: 1.55; }
.location-history-note { display: flex; gap: .45rem; align-items: center; margin: .8rem 0 0; padding-top: .75rem; border-top: 1px solid #e0e5ee; color: var(--muted); font-size: .61rem; }
.location-history-note[hidden] { display: none; }
.location-history-note img { width: .8rem; height: .8rem; }
.location-history-note strong { color: inherit; }
.location-selected-card > a { display: inline-flex; gap: .35rem; align-items: center; margin-top: .95rem; color: var(--blue); font-size: .7rem; font-weight: 750; text-decoration: none; }
.location-selected-card > a:hover { text-decoration: underline; }
.location-selected-card > a img { width: .75rem; height: .75rem; }
.location-ranking { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.location-ranking h4 { margin: 0; padding: .05rem .2rem .5rem; font-size: .9rem; }
.location-ranking-list {
  min-height: 0;
  margin: 0;
  padding: 0 .3rem 0 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  list-style: none;
}
.location-ranking-list::-webkit-scrollbar { width: 6px; }
.location-ranking-list::-webkit-scrollbar-track { background: transparent; }
.location-ranking-list::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.location-ranking-list li { border-top: 1px solid #e3e8f0; }
.location-ranking-list li:first-child { border-top: 0; }
.location-ranking-list button {
  display: grid;
  width: 100%;
  min-height: 2.2rem;
  grid-template-columns: 1.2rem minmax(0, 1fr) .65rem auto;
  gap: .45rem;
  align-items: center;
  padding: .38rem .52rem;
  border: 0;
  border-radius: .35rem;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: .66rem;
  text-align: left;
  cursor: pointer;
}
.location-ranking-list button:hover { background: #f2f4f8; }
.location-ranking-list button.is-selected { background: #e5ebf7; }
.location-ranking-list button:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.location-rank { color: var(--muted); font-variant-numeric: tabular-nums; }
.location-rank-name { overflow: hidden; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.location-rank-shade { display: block; }
.location-rank-count { color: #53658f; font-variant-numeric: tabular-nums; }
.location-coverage { grid-column: 1 / -1; margin: 0; padding: 0 .45rem; color: var(--muted); font-size: .64rem; line-height: 1.35; }
.location-coverage strong { color: #425276; font-weight: 720; }

@media (max-width: 820px) {
  .location-preview { grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr); }
}

@media (max-width: 620px) {
  .location-preview { height: auto; min-height: 0; grid-template-columns: 1fr; grid-template-rows: 25rem 27rem auto; padding: .55rem; }
  .location-map-panel { padding-inline: .1rem; }
  .location-panel-heading h3 { font-size: 1.08rem; }
  .location-map canvas { width: auto; height: 96%; max-width: 92%; }
  .location-choropleth-legend { top: .55rem; left: .55rem; min-width: 8.8rem; padding: .65rem; font-size: .58rem; }
  .location-map-controls { bottom: .55rem; left: .55rem; }
  .location-detail-panel { min-height: 0; }
  .location-coverage { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .home-motion-ready .home-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .home-search,
  .evidence-tabs button,
  .trust-links button,
  .trust-links b { transition: none; }
  .home-tabs-enhanced .evidence-tab-panel:not([hidden]) { animation: none; }
  .trust-links button:hover b,
  .trust-links button:focus-visible b,
  .homepage-services-link:hover span,
  .homepage-services-link:focus-visible span { transform: none; }
}

/* Account and notification journeys */
.account-sign-in, .account-trigger {
  display: inline-grid;
  min-height: 2.6rem;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: .7rem;
  background: var(--surface);
  color: var(--ink);
  font-size: .82rem;
  font-weight: 720;
  text-decoration: none;
}
.account-sign-in { padding: .55rem .9rem; }
.account-trigger { width: 2.6rem; border-radius: 50%; background: #e8ecff; color: #263b85; }
.page-actions { display: flex; float: right; gap: .6rem; margin: 0 0 1rem 1.5rem; }
.pin-control { position: relative; margin: 0; }
.pin-button {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  min-height: 2.8rem;
  padding: .6rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .65rem;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 720;
  text-decoration: none;
}
.pin-button img { width: 1.2rem; height: 1.2rem; }
.pin-button:hover { border-color: var(--blue); color: var(--blue); }
.pin-button.is-pinned { border-color: #9eade0; background: var(--blue-soft); color: var(--blue); }
.pin-button.is-disabled { border-color: #e1e5ef; background: #f3f5f9; color: #9099b0; cursor: not-allowed; filter: grayscale(1); }
.pin-disabled-wrap { position: relative; display: inline-flex; }
.pin-disabled-wrap:hover::after, .pin-disabled-wrap:focus-visible::after { position: absolute; top: calc(100% + .55rem); right: 0; z-index: 30; width: 15rem; padding: .65rem .75rem; border-radius: .55rem; background: var(--ink); color: #fff; content: attr(data-tooltip); font-size: .72rem; font-weight: 600; line-height: 1.45; box-shadow: var(--shadow); }
.subscribe-button {
  display: inline-flex;
  align-items: center;
  min-height: 2.8rem;
  padding: .6rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .65rem;
  background: var(--surface);
  color: var(--ink);
  font-weight: 720;
  text-decoration: none;
}
.subscribe-button:hover { border-color: var(--blue); color: var(--blue); }

/* Unified concern dashboard */
.concern-dashboard-page { width: min(96rem, 100%); padding-top: 2.8rem; }
.concern-breadcrumb { display: flex; gap: .7rem; align-items: center; margin-bottom: 1.5rem; color: var(--muted); font-size: var(--text-ui-sm); }
.concern-breadcrumb a { font-weight: 700; text-decoration: none; }
.concern-dashboard-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2rem; align-items: start; }
.concern-dashboard-header .eyebrow { margin: 0 0 .55rem; }
.concern-dashboard-header h1 { max-width: 58rem; margin: 0; font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.08; letter-spacing: -.045em; }
.concern-dashboard-header .lede { max-width: 52rem; margin: .9rem 0 0; }
.concern-dashboard-actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.concern-dashboard-actions .pin-button { min-width: 5.8rem; justify-content: center; font-size: .82rem; }
.dashboard-action { display: inline-flex; min-height: 2.8rem; align-items: center; gap: .45rem; padding: .6rem 1rem; border: 1px solid var(--line-strong); border-radius: .65rem; background: var(--surface); color: var(--ink); font-size: .82rem; font-weight: 720; text-decoration: none; }
.dashboard-action:hover { border-color: var(--blue); color: var(--blue); }
.dashboard-action img { width: 1.15rem; height: 1.15rem; }
.dashboard-action.is-disabled { border-color: #e1e5ef; background: #f3f5f9; color: #9099b0; cursor: not-allowed; filter: grayscale(1); }
.subscription-disabled-wrap { position: relative; display: inline-flex; }
.subscription-disabled-wrap:hover::after, .subscription-disabled-wrap:focus-visible::after { position: absolute; top: calc(100% + .55rem); left: 50%; z-index: 30; width: max-content; max-width: 12rem; padding: .55rem .7rem; transform: translateX(-50%); border-radius: .5rem; background: var(--ink); color: #fff; content: attr(data-tooltip); font-size: .72rem; font-weight: 600; line-height: 1.35; box-shadow: var(--shadow); }
.subscription-disabled-wrap:hover::before, .subscription-disabled-wrap:focus-visible::before { position: absolute; top: calc(100% + .25rem); left: 50%; z-index: 31; width: .65rem; height: .65rem; transform: translateX(-50%) rotate(45deg); background: var(--ink); content: ""; }
.concern-date-range { grid-column: 2; margin: -.15rem 0 0; color: var(--muted); font-size: var(--text-caption); text-align: right; }
.concern-date-range span { margin: 0 .55rem; color: #9ba6c1; }
.concern-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2rem 0 1.5rem; padding: 1.15rem 0; border: 1px solid var(--line); border-radius: .9rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.concern-hero-stats div { padding: .25rem 2rem; border-right: 1px solid var(--line); text-align: center; }
.concern-hero-stats div:last-child { border-right: 0; }
.concern-hero-stats dd { margin: 0 0 .2rem; color: var(--ink); font-size: 1.55rem; font-weight: 780; font-variant-numeric: tabular-nums; }
.concern-hero-stats dt { color: var(--muted); font-size: var(--text-ui-sm); }
.concern-dashboard-panel { margin-top: 1.25rem; padding: 1.55rem; border: 1px solid var(--line); border-radius: .9rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.concern-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1.5rem; }
.concern-section-heading h2 { margin: 0; font-size: 1.15rem; letter-spacing: -.025em; }
.concern-section-heading p { margin: .35rem 0 0; color: var(--muted); font-size: var(--text-ui-sm); line-height: 1.5; }
.count-badge { display: grid; min-width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: var(--text-caption); font-weight: 760; }
.chart-view-toggle { display: inline-grid; grid-template-columns: repeat(2, 4.6rem); border: 1px solid var(--line); border-radius: .55rem; overflow: hidden; }
.chart-view-toggle button { min-height: 2.25rem; border: 0; background: #fafbfe; color: var(--muted); font-size: var(--text-caption); cursor: pointer; }
.chart-view-toggle button[aria-pressed="true"] { background: var(--surface); color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.dashboard-chart-frame { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; margin-top: 2rem; }
.dashboard-y-axis { display: flex; height: 15rem; flex-direction: column; justify-content: space-between; padding-bottom: 1px; color: var(--muted); font-size: .6875rem; text-align: right; }
.dashboard-plot { min-width: 0; }
.dashboard-chart { display: grid; height: 15rem; grid-template-columns: repeat(var(--bar-count), minmax(1px, 1fr)); gap: 2px; align-items: end; padding: .5rem .5rem 0; border-bottom: 1px solid var(--line-strong); background-image: linear-gradient(to bottom, var(--line) 1px, transparent 1px); background-size: 100% calc(100% / var(--grid-lines)); }
.dashboard-chart-bar { position: relative; width: min(72%, 8rem); min-width: 4px; height: max(2px, var(--bar-height)); justify-self: center; border: 0; border-radius: .32rem .32rem 0 0; background: linear-gradient(180deg, #6783f8 0%, #5574ed 100%); cursor: crosshair; }
.dashboard-chart-bar:hover, .dashboard-chart-bar:focus-visible { z-index: 2; background: var(--blue); outline: 2px solid #fff; }
.dashboard-chart-bar:hover::after, .dashboard-chart-bar:focus-visible::after { position: absolute; right: 50%; bottom: calc(100% + .45rem); width: max-content; max-width: min(15rem, calc(100vw - 4rem)); padding: .4rem .55rem; border-radius: .4rem; background: var(--ink); color: #fff; content: attr(data-tooltip); font-size: var(--text-caption); line-height: 1.4; white-space: normal; transform: translateX(50%); box-shadow: var(--shadow); }
.dashboard-chart-bar:last-child:hover::after,
.dashboard-chart-bar:last-child:focus-visible::after { right: 0; transform: none; }
.dashboard-x-axis { display: grid; grid-template-columns: repeat(var(--bar-count), 1fr); padding-top: .65rem; color: var(--muted); font-size: .6875rem; text-align: center; }
@media (max-width: 51.25rem) {
  .dashboard-x-axis, .concern-preview-years { display: none; }
}
.commitment-groups { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.commitment-group { padding-top: 1.4rem; border-top: 1px solid var(--line); }
.commitment-group:first-child { padding-top: 0; border-top: 0; }
.commitment-group > h3 { display: flex; gap: .65rem; align-items: center; margin: 0 0 .9rem; font-size: .88rem; }
.commitment-group > h3 img { width: 1.25rem; height: 1.25rem; }
.commitment-group > h3 span { display: grid; min-width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: .65rem; }
.commitment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.commitment-list article { padding: 1rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--surface-soft); }
.commitment-card-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.commitment-card-button:hover .commitment-card-text { color: var(--blue); }
.commitment-card-text { display: block; font-size: var(--text-ui-sm); font-weight: 720; line-height: 1.5; }
.commitment-status { display: inline-flex; gap: .4rem; align-items: center; margin: .65rem 0 0; color: var(--muted); font-size: var(--text-caption); font-weight: 680; line-height: 1.35; }
.commitment-status img { width: .95rem; height: .95rem; flex: 0 0 auto; }
.commitment-status.status-completed { color: var(--success); }
.commitment-status.status-planned { color: #76521d; }
.concern-dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(22rem, 1fr); gap: 1.25rem; align-items: start; }
.source-concern-list, .organisation-list { display: grid; margin-top: 1.25rem; }
.source-concern-card { padding: 1.35rem 0; border-top: 1px solid var(--line); }
.source-concern-card:first-child { padding-top: 0; border-top: 0; }
.source-concern-button { margin: 0; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; font: inherit; font-size: .9rem; font-weight: 650; line-height: 1.55; text-align: left; }
.source-concern-button:hover { color: var(--blue); text-decoration: underline; text-underline-offset: .16rem; }
.source-concern-button:focus-visible { border-radius: .2rem; outline: 2px solid var(--blue); outline-offset: 3px; }
.source-concern-meta { display: grid; gap: .2rem; margin-top: .8rem; color: var(--muted); font-size: var(--text-caption); }
.source-concern-meta strong { color: #304579; font-size: var(--text-ui-sm); }
.source-concern-links { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: .85rem; }
.source-concern-links a, .source-concern-links button { padding: 0; border: 0; background: none; color: var(--blue); font-size: var(--text-caption); font-weight: 700; text-decoration: none; cursor: pointer; }
.source-concern-links a { display: inline-flex; gap: .35rem; align-items: center; }
.source-concern-links a img { width: .8rem; height: .8rem; }
.organisation-list a { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr) 1.1rem; gap: .85rem; align-items: center; padding: 1.2rem .25rem; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.organisation-list a:first-child { border-top: 0; }
.organisation-list a:hover strong { color: var(--blue); }
.organisation-list img { width: 1.35rem; height: 1.35rem; }
.organisation-list span { display: grid; gap: .35rem; }
.organisation-list strong { font-size: var(--text-ui-sm); line-height: 1.4; }
.organisation-list small { color: var(--muted); font-size: var(--text-caption); }
.commitments-dialog { width: min(42rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.6rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #bdc7e3 transparent; scrollbar-gutter: stable; scrollbar-width: thin; border: 0; border-radius: 1rem; color: var(--ink); box-shadow: 0 22px 70px rgba(6,20,73,.25); }
.commitments-dialog::-webkit-scrollbar { width: 6px; }
.commitments-dialog::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.commitments-dialog::backdrop { background: rgba(5, 18, 58, .48); backdrop-filter: blur(3px); }
.commitments-dialog h2 { margin: .25rem 2rem 1.25rem 0; font-size: 1.25rem; }
.commitments-dialog ul { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.commitments-dialog li { display: grid; grid-template-columns: 1.4rem minmax(0, 1fr); gap: .8rem; padding: .9rem; border-radius: .65rem; background: var(--surface-soft); }
.commitments-dialog li img { width: 1.25rem; height: 1.25rem; }
.commitments-dialog li div { display: grid; gap: .35rem; }
.commitments-dialog li strong { font-size: var(--text-ui-sm); line-height: 1.45; }
.commitments-dialog li span { color: var(--muted); font-size: var(--text-caption); }
.commitment-detail-dialog { width: min(38rem, calc(100vw - 2rem)); }
.report-summary-dialog { width: min(42rem, calc(100vw - 2rem)); }
.report-summary-dialog > .eyebrow { color: var(--blue); }
.report-summary-dialog h2 { color: #102459; font-size: clamp(1.3rem, 3vw, 1.65rem); line-height: 1.25; }
.report-summary-panel { padding: 1.2rem 1.3rem; border-color: #cbd6f2; background: #f8faff; }
.report-summary-panel p { font-size: 1rem; line-height: 1.72; }
.report-summary-panel .report-summary-unavailable { color: var(--muted); font-style: italic; }
.commitment-transparency-note { margin: -.35rem 1.5rem 1.15rem 0; color: var(--muted); font-size: var(--text-ui-sm); line-height: 1.6; }
.commitment-text-panel { margin-top: .8rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface-soft); }
.commitment-text-panel.is-source { border-color: #cbd6f2; background: #fff; }
.commitment-text-panel h3 { margin: 0 0 .55rem; color: var(--blue); font-size: var(--text-caption); font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.commitment-text-panel p, .commitment-detail-dialog .commitment-text-panel blockquote { margin: 0; color: var(--ink); font-size: var(--text-body-sm); line-height: 1.65; }
.commitment-detail-dialog .commitment-text-panel blockquote { font-weight: 650; }
.commitment-detail-dialog .commitment-text-panel .concern-context-quote,
.dialog-concern-record .concern-context-quote { font-weight: 480; white-space: pre-line; }
.concern-context-quote .concern-source-support { color: #102459; font-weight: 800; }
.commitment-detail-meta { display: flex; flex-direction: column; gap: .35rem; margin: 0; color: var(--muted); font-size: var(--text-caption); }
.commitment-detail-meta strong { color: var(--ink); font-size: var(--text-ui-sm); }
.dialog-source-link { display: inline-flex; gap: .4rem; align-items: center; margin-top: 1.15rem; color: var(--blue); font-size: var(--text-ui-sm); font-weight: 720; text-decoration: none; }
.dialog-source-link:hover { text-decoration: underline; text-underline-offset: .16rem; }
.dialog-source-link img { width: .9rem; height: .9rem; }
.dashboard-empty { margin: 1.25rem 0 0; color: var(--muted); font-size: .78rem; }

/* Recurring concern refresh */
.concern-dashboard-refresh { max-width: 91rem; }
.refresh-concern-header { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 1.7rem; align-items: start; padding-top: .65rem; }
.refresh-concern-heading { width: 100%; max-width: 66rem; padding-top: 1.35rem; }
.refresh-concern-heading .eyebrow { position: relative; margin: 0 0 1.05rem; padding-left: 1.5rem; color: var(--blue); font-size: .86rem; line-height: 1.3; letter-spacing: .105em; }
.refresh-concern-heading .eyebrow::before { position: absolute; inset: -.2rem auto -.2rem 0; width: 4px; border-radius: 99rem; background: var(--blue); content: ""; }
.refresh-concern-heading h1 { max-width: 66rem; margin: 0; font-size: clamp(2.75rem, 3.35vw, 3.65rem); line-height: 1.08; letter-spacing: -.045em; }
.refresh-concern-header .concern-dashboard-actions { position: absolute; top: .65rem; right: 0; padding-top: .05rem; }
.refresh-concern-header > .concern-date-range { grid-column: 1 / -1; margin: -.15rem 0 0; color: #5d6c8d; font-size: .96rem; line-height: 1.5; text-align: left; }
.concern-view-tabs { display: flex; gap: 2.15rem; margin: 1.55rem 0 0; overflow-x: auto; border-bottom: 1px solid #dce2ee; scrollbar-width: none; }
.concern-view-tabs::-webkit-scrollbar { display: none; }
.concern-view-tabs a { display: inline-flex; flex: 0 0 auto; gap: .48rem; align-items: center; min-height: 2.15rem; padding: .15rem .05rem 0; border-bottom: 3px solid transparent; color: #67728a; font-size: .82rem; font-weight: 720; text-decoration: none; }
.concern-view-tabs a:hover { color: var(--blue); }
.concern-view-tabs a.is-active { border-bottom-color: var(--blue); color: var(--ink); }
.concern-view-tabs a span, .response-toggle a span { display: inline-grid; min-width: 1.5rem; height: 1.5rem; padding: 0 .35rem; place-items: center; border-radius: 99rem; background: #edf1f9; color: #5e6981; font-size: .67rem; }
.concern-view-tabs a.is-active span, .response-toggle a.is-active span { background: #e4eaff; color: var(--blue); }
.concern-tab-panel { padding-top: .7rem; }
.concern-section-kicker { margin: 0 0 .45rem; color: var(--blue); font-size: .7rem; font-weight: 780; letter-spacing: .095em; text-transform: uppercase; }
.concern-scope-card, .refresh-panel { padding: 1.7rem 1.85rem; border: 1px solid #dce3f0; border-radius: .9rem; background: #fff; box-shadow: 0 8px 28px rgba(23,42,92,.045); }
.concern-scope-card { position: relative; overflow: hidden; }
.concern-scope-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--blue); content: ""; }
.concern-scope-card h2, .refresh-panel-heading h2, .tab-introduction h2, .overview-next-steps h2 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.7rem); letter-spacing: -.035em; }
.scope-inclusion { display: flex; gap: .75rem; align-items: flex-start; max-width: 64rem; margin: 1rem 0 0; color: #243451; font-size: .94rem; line-height: 1.65; }
.scope-inclusion img { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; margin-top: .15rem; }
.scope-exclusions { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid #e4e8f1; }
.scope-exclusions h3 { margin: 0; color: #5c687f; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.scope-exclusions ul { display: grid; gap: .45rem; margin: .7rem 0 0; padding-left: 1.15rem; color: #55627a; font-size: .86rem; line-height: 1.55; }
.scope-placeholder { display: flex; gap: 1.15rem; align-items: center; margin-top: 1.1rem; padding: 1.15rem 0 .25rem; border-top: 1px solid #e1e6f0; }
.scope-icon, .stat-icon, .response-hero-icon { display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e8eeff; }
.scope-icon { width: 3rem; height: 3rem; }
.scope-icon img { width: 1.4rem; height: 1.4rem; }
.scope-placeholder h3 { margin: 0; font-size: .96rem; }
.scope-placeholder p { max-width: 55rem; margin: .35rem 0 0; color: #657088; font-size: .82rem; line-height: 1.55; }
.refresh-hero-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.15rem 0; border: 1px solid #dce3f0; border-radius: .9rem; background: #f8faff; box-shadow: 0 8px 28px rgba(23,42,92,.035); }
.refresh-hero-stats > div { display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: 1rem; align-items: center; padding: 1.35rem 1.5rem; border-right: 1px solid #dce3f0; }
.refresh-hero-stats div:last-child { border-right: 0; }
.refresh-hero-stats dt, .refresh-hero-stats dd, .refresh-hero-stats p { grid-column: 2; }
.refresh-hero-stats .stat-icon { grid-row: 1 / 4; width: 3rem; height: 3rem; }
.stat-icon img { width: 1.45rem; height: 1.45rem; }
.refresh-hero-stats dt, .response-hero-stats dt { color: #626e85; font-size: .73rem; font-weight: 740; letter-spacing: .02em; }
.refresh-hero-stats dd, .response-hero-stats dd { margin: .4rem 0 .15rem; color: #172a55; font-size: 2rem; font-weight: 790; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.refresh-hero-stats dd.is-date { font-size: 1.5rem; }
.refresh-hero-stats p, .response-hero-stats p { margin: 0; color: #7b8599; font-size: .71rem; line-height: 1.4; }
.refresh-panel { margin-top: 1.15rem; }
.refresh-panel-heading p:last-child { margin: .4rem 0 0; color: var(--muted); font-size: .82rem; }
.overview-next-steps { display: grid; grid-template-columns: minmax(14rem, .65fr) minmax(0, 1.35fr); gap: 2rem; margin-top: 1.15rem; padding: 1.7rem 1.85rem; border-radius: .9rem; background: #122350; color: #fff; }
.overview-next-steps .concern-section-kicker { color: #9eb1ff; }
.overview-next-steps h2 { color: #fff; }
.overview-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.overview-route-grid a { display: grid; gap: .45rem; padding: 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: .7rem; background: rgba(255,255,255,.06); color: #fff; text-decoration: none; }
.overview-route-grid a:hover { border-color: #91a6ff; background: rgba(255,255,255,.1); }
.overview-route-grid strong { font-size: .9rem; }
.overview-route-grid span { color: #cbd4e9; font-size: .75rem; line-height: 1.5; }
.overview-route-grid em { margin-top: .2rem; color: #aebdff; font-size: .72rem; font-style: normal; font-weight: 740; }
.overview-summary-band { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border: 1px solid #d4deee; border-radius: .9rem; background: #fff; box-shadow: 0 10px 32px rgba(23,42,92,.045); }
.overview-summary-band::before { display: none; }
.overview-summary-band .concern-section-kicker { margin-bottom: .55rem; font-size: .82rem; }
.overview-analysis-grid .concern-section-kicker { font-size: .72rem; }
.overview-scope-summary { display: grid; grid-template-columns: minmax(0, 1.58fr); min-width: 0; padding: 1.7rem 2.05rem 1.8rem; }
.overview-scope-summary.has-exclusions { grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 1fr); gap: 2.1rem; }
.overview-scope-main { min-width: 0; }
.overview-scope-summary h2 { margin: 0; color: #0b2055; font-size: clamp(1.45rem, 1.8vw, 1.75rem); line-height: 1.2; letter-spacing: -.035em; }
.overview-scope-summary .scope-placeholder { gap: .65rem; margin-top: .4rem; padding: .38rem .7rem; border: 1px solid #e1e6f0; border-radius: .4rem; background: #fbfcff; }
.overview-scope-summary .scope-icon { width: 1.75rem; height: 1.75rem; }
.overview-scope-summary .scope-icon img { width: 1rem; height: 1rem; }
.overview-scope-summary .scope-placeholder h3 { font-size: .8rem; }
.overview-scope-summary .scope-placeholder p { margin-top: .15rem; font-size: .72rem; line-height: 1.35; }
.overview-scope-summary .scope-inclusion { gap: .85rem; max-width: 68rem; margin-top: .9rem; color: #22355f; font-size: .96rem; line-height: 1.62; }
.overview-scope-summary .scope-inclusion img { width: 1.55rem; height: 1.55rem; margin-top: .08rem; }
.overview-scope-summary .scope-exclusions { margin: 0; padding: .15rem 0 .05rem 1.9rem; border-top: 0; border-left: 1px solid #d9e1ee; }
.overview-scope-summary .scope-exclusions h3 { color: #42516e; font-size: .8rem; letter-spacing: .055em; }
.overview-scope-summary .scope-exclusions ul { gap: .62rem; margin-top: .72rem; padding-left: 1.1rem; color: #23365f; font-size: .9rem; line-height: 1.5; }
.overview-summary-band .refresh-hero-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; overflow: hidden; border: 0; border-top: 1px solid #d7e0ef; border-radius: 0; background: #fafcff; box-shadow: inset 0 1px 0 rgba(255,255,255,.75); }
.overview-summary-band .refresh-hero-stats > div { display: grid; grid-template-columns: 3rem minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: .85rem; align-content: center; min-height: 9.25rem; padding: 1.3rem 1.5rem; border-right: 1px solid #d7e0ef; }
.overview-summary-band .refresh-hero-stats .stat-icon { grid-column: 1; grid-row: 1 / 4; width: 3rem; height: 3rem; background: #eaf0ff; }
.overview-summary-band .stat-icon img { width: 1.35rem; height: 1.35rem; }
.overview-summary-band .refresh-hero-stats dt { grid-column: 2; grid-row: 2; margin-top: .18rem; color: #0758ff; font-size: .85rem; font-weight: 760; letter-spacing: 0; }
.overview-summary-band .refresh-hero-stats dd { grid-column: 2; grid-row: 1; margin: 0; color: #081d55; font-size: 2.05rem; line-height: 1; letter-spacing: -.045em; }
.overview-summary-band .refresh-hero-stats dd.is-date { font-size: 1.5rem; line-height: 1.12; }
.overview-summary-band .refresh-hero-stats p { grid-column: 2; grid-row: 3; margin-top: .42rem; color: #63728f; font-size: .75rem; line-height: 1.42; }
.overview-analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.overview-analysis-grid .refresh-panel { min-width: 0; min-height: 26.75rem; margin-top: 1rem; padding: 1.65rem 1.75rem 1.5rem; border-radius: .9rem; box-shadow: 0 8px 28px rgba(23,42,92,.045); }
.overview-analysis-grid .concern-section-kicker { margin-bottom: .65rem; font-size: .76rem; }
.overview-analysis-grid .refresh-panel-heading h2, .overview-recipient-heading h2 { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; clip-path: none; color: #0b2055; font-size: clamp(1.4rem, 1.75vw, 1.65rem); line-height: 1.16; letter-spacing: -.035em; white-space: normal; }
.overview-analysis-grid .refresh-panel-heading p:last-child, .recipient-chart-description { margin: .65rem 0 0; color: #64718b; font-size: .95rem; line-height: 1.5; }
.overview-analysis-grid .dashboard-chart-frame { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .85rem; margin-top: 1.55rem; }
.overview-analysis-grid .dashboard-y-axis, .overview-analysis-grid .dashboard-chart { height: 15.5rem; }
.overview-analysis-grid .dashboard-y-axis, .overview-analysis-grid .dashboard-x-axis { font-size: .86rem; }
.overview-analysis-grid .dashboard-chart { padding-right: .25rem; padding-left: .25rem; }
.overview-analysis-grid .dashboard-chart-bar { width: min(64%, 2.85rem); background: #5875ef; }
.overview-analysis-grid .dashboard-chart-bar.is-projected { background: repeating-linear-gradient(135deg, #5574ed 0 4px, #aab8f4 4px 8px); }
.overview-recipient-heading { display: flex; gap: 1.5rem; align-items: end; justify-content: space-between; }
.recipient-chart-toggle { display: inline-flex; flex: 0 0 auto; border-bottom: 1px solid #dbe2ef; }
.recipient-chart-toggle button { min-height: 2.45rem; padding: 0 1rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #66738f; font-size: .92rem; font-weight: 700; cursor: pointer; }
.recipient-chart-toggle button:hover { color: var(--blue); }
.recipient-chart-toggle button[aria-pressed="true"] { border-bottom-color: var(--blue); color: #122b65; }
.recipient-chart-toggle button:focus-visible { border-radius: .2rem; outline: 2px solid var(--blue); outline-offset: 2px; }
.recipient-chart {
  display: grid;
  gap: 1.35rem;
  max-height: 18.25rem;
  margin-top: 1.85rem;
  padding-right: .75rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.recipient-chart::-webkit-scrollbar { width: 6px; }
.recipient-chart::-webkit-scrollbar-track { background: transparent; }
.recipient-chart::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.recipient-chart:focus-visible { border-radius: .35rem; outline: 2px solid var(--blue); outline-offset: 4px; }
.recipient-chart[hidden] { display: none; }
.recipient-bar { display: grid; grid-template-columns: minmax(12rem, 18rem) minmax(5rem, 1fr) 2rem; gap: 1rem; align-items: center; min-height: 1.85rem; }
.recipient-bar-label { color: #1a315f; font-size: .9rem; font-weight: 680; line-height: 1.35; }
.recipient-bar-track { display: block; height: .68rem; overflow: hidden; border-radius: .18rem; background: #eef1f7; }
.recipient-bar-track > span { display: block; width: var(--recipient-bar-width); height: 100%; border-radius: inherit; background: #5875ef; transition: width 260ms cubic-bezier(.22, 1, .36, 1), background-color 160ms ease; }
.recipient-bar.is-unavailable .recipient-bar-track > span { background: #9ca6b8; }
.recipient-bar strong { color: #213664; font-size: .95rem; font-variant-numeric: tabular-nums; }
.topic-analysis-grid { grid-template-columns: minmax(22rem, .82fr) minmax(34rem, 1.18fr); grid-template-areas: "timeline recurring" "recipients recurring"; align-items: stretch; }
.topic-analysis-grid > .concern-timeline { grid-area: timeline; }
.topic-analysis-grid > .overview-recipient-panel { grid-area: recipients; }
.topic-analysis-grid > .topic-recurring-panel { grid-area: recurring; }
.topic-recurring-panel { display: flex; flex-direction: column; min-height: 0 !important; }
.topic-recurring-chart { grid-template-columns: 1fr; grid-auto-rows: max-content; align-content: start; flex: 1 1 auto; min-height: 0; gap: 1.8rem; max-height: 32rem; padding-right: .75rem; overflow-y: auto; scrollbar-gutter: stable; }
/* Only the left-hand panels contribute to the desktop grid's height. */
@media (min-width: 72.001rem) {
  .topic-recurring-panel { contain: size; }
  .topic-recurring-chart { max-height: none; }
}
.topic-recurring-bar { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: .65rem 1rem; color: inherit; text-decoration: none; }
.topic-recurring-bar .recipient-bar-label { grid-column: 1 / -1; grid-row: 1; font-size: .95rem; }
.topic-recurring-bar .recipient-bar-track { grid-column: 1; grid-row: 2; }
.topic-recurring-bar strong { grid-column: 2; grid-row: 2; min-width: 7.6rem; text-align: right; white-space: nowrap; }
.topic-recurring-bar:hover .recipient-bar-label,
.topic-recurring-bar:focus-visible .recipient-bar-label { color: #3156d3; text-decoration: underline; }
.recipient-chart-empty { margin: 1.5rem 0; color: var(--muted); font-size: .82rem; }
.overview-trace-preview { margin-top: .7rem; overflow: hidden; border: 1px solid #dce3f0; border-radius: .72rem; background: #fff; box-shadow: 0 6px 22px rgba(23,42,92,.035); }
.overview-trace-heading { display: grid; grid-template-columns: 19rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .5rem 1.25rem; }
.overview-trace-heading > div:nth-child(2) { align-self: center; }
.overview-trace-heading h2 { margin: 0; color: #102459; font-size: 1.25rem; letter-spacing: -.03em; }
.overview-trace-heading > div:nth-child(2) > p { margin: .18rem 0 0; color: #64718b; font-size: .76rem; line-height: 1.45; }
.overview-trace-heading > a { display: inline-flex; min-height: 2rem; align-items: center; padding: .4rem .65rem; border: 1px solid #cbd6e9; border-radius: .4rem; color: #173a83; font-size: .66rem; font-weight: 730; text-decoration: none; }
.overview-trace-heading > a:hover { border-color: var(--blue); color: var(--blue); }
.overview-coverage { position: relative; display: grid; grid-template-columns: auto 1.5rem; grid-template-rows: auto auto; gap: 0 .35rem; align-items: start; justify-content: start; }
.overview-coverage > strong { color: #071a50; font-size: 1.75rem; line-height: 1; letter-spacing: -.05em; }
.overview-coverage > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; color: #334a7c; font-size: .62rem; font-weight: 690; line-height: 1.1; }
.overview-coverage-help { position: relative; grid-column: 2; grid-row: 1; align-self: start; }
.overview-coverage-help button { display: grid; width: 1.5rem; height: 1.5rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: help; }
.overview-coverage-help button:hover, .overview-coverage-help button:focus-visible { background: #eaf0ff; outline: 0; }
.overview-coverage-help img { width: .9rem; height: .9rem; }
.overview-coverage-help [role="tooltip"] { position: absolute; bottom: calc(100% + .5rem); left: 50%; z-index: 25; width: 16rem; padding: .7rem .78rem; border-radius: .42rem; background: #102459; color: #fff; box-shadow: 0 .65rem 1.8rem rgba(12,29,73,.18); font-size: .78rem; font-weight: 560; line-height: 1.5; opacity: 0; pointer-events: none; transform: translate(-50%, .25rem); transition: opacity 140ms ease, transform 140ms ease; visibility: hidden; }
.overview-coverage-help:hover [role="tooltip"], .overview-coverage-help:focus-within [role="tooltip"] { opacity: 1; transform: translate(-50%, 0); visibility: visible; }
.overview-trace-columns { display: grid; grid-template-columns: 2rem 10rem 14rem 5.75rem minmax(0, 1fr); gap: .75rem; padding: .35rem 1.25rem; border-top: 1px solid #e1e6f0; border-bottom: 1px solid #e1e6f0; color: #1f55bb; font-size: .62rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.overview-trace-columns span:first-child { grid-column: 2; }
.overview-trace-columns span:nth-child(2) { grid-column: 3; }
.overview-trace-columns span:last-child { grid-column: 5; }
.overview-trace-list { margin: 0; padding: 0 1.25rem; list-style: none; }
.overview-trace-row { --overview-branch-reach: 5.1rem; display: grid; grid-template-columns: 2rem 10rem 14rem 5.75rem minmax(0, 1fr); gap: .75rem; align-items: stretch; padding: .3rem 0; border-bottom: 1px solid #e1e6f0; }
.overview-trace-row:last-child { border-bottom: 0; }
.overview-trace-number { display: grid; align-self: start; width: 1.4rem; height: 1.4rem; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-size: .68rem; font-weight: 760; }
.overview-preview-report { align-self: center; min-width: 0; }
.overview-preview-report > strong { display: block; color: #13295b; font-size: .8rem; line-height: 1.35; }
.overview-preview-report > p { display: flex; flex-wrap: wrap; gap: .3rem .5rem; margin: .25rem 0 0; color: #64718b; font-size: .7rem; line-height: 1.35; }
.overview-preview-report > p span::before { margin-right: .55rem; color: #9ba7bf; content: "•"; }
.overview-preview-source { position: relative; display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: .55rem; align-items: center; min-width: 0; padding: .45rem .65rem; border-radius: .35rem; background: #f5f5f3; transition: background-color 160ms ease, box-shadow 160ms ease; }
.overview-preview-source::after { position: absolute; top: calc(50% - .18rem); right: -.18rem; width: .36rem; height: .36rem; border-radius: 50%; background: #0758ff; content: ""; }
.overview-trace-row:hover .overview-preview-source { background: #f0f1f3; box-shadow: 0 .35rem 1rem rgba(30,46,88,.05); }
.overview-preview-source > span { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 50%; background: #e9efff; }
.overview-preview-source img { width: .9rem; height: .9rem; }
.overview-preview-source strong { color: #102459; font-size: .8rem; line-height: 1.4; }
.overview-preview-connector { position: relative; }
.overview-preview-connector svg { position: absolute; top: 0; bottom: 0; left: -.75rem; width: 6.25rem; height: 100%; overflow: visible; }
.overview-preview-connector path { fill: none; stroke: #0758ff; stroke-linecap: round; stroke-width: 1; vector-effect: non-scaling-stroke; }
.overview-preview-actions { position: relative; display: grid; min-width: 0; }
.overview-preview-actions:has(> article:nth-child(2)) { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.overview-preview-actions::before { display: none; }
.overview-preview-actions article { position: relative; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(8rem, .78fr) 8.5rem; gap: .65rem; align-items: center; min-height: 2.75rem; padding: .3rem .45rem; border-bottom: 1px solid #e1e6f0; transition: background-color 160ms ease; }
.overview-preview-actions article:hover { background: #f5f7fa; }
.overview-preview-actions article:last-child { border-bottom: 0; }
.overview-preview-actions article::after { position: absolute; top: calc(50% - .17rem); left: -1.18rem; width: .35rem; height: .35rem; border-radius: 50%; background: #0758ff; content: ""; }
.overview-preview-actions article > p { margin: 0; color: #102459; font-size: .7rem; font-weight: 680; line-height: 1.2; }
.overview-preview-actions article > strong { color: #233866; font-size: .7rem; line-height: 1.35; }
.overview-preview-actions .response-status-pill { justify-self: start; padding: .25rem .45rem; font-size: .58rem; white-space: nowrap; }
.overview-trace-empty { display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem; border-top: 1px solid #e1e6f0; color: #64718b; font-size: .82rem; }
.overview-trace-empty p { margin: 0; }
.overview-trace-empty a { color: var(--blue); font-weight: 700; text-decoration: none; }
.tab-introduction { display: flex; gap: 2rem; align-items: end; justify-content: space-between; padding-bottom: 1.45rem; }
.tab-introduction > div { max-width: 50rem; }
.tab-introduction p:last-child { margin: .55rem 0 0; color: #68748b; font-size: .88rem; line-height: 1.6; }
.record-total { flex: 0 0 auto; padding: .45rem .75rem; border-radius: 99rem; background: #edf1f9; color: #56627b; font-size: .74rem; font-weight: 720; }
.mobile-response-context, .evidence-mobile-filter-toggle, .concern-mobile-menu, .breadcrumb-mobile-label { display: none; }
.evidence-filter-bar { display: grid; grid-template-columns: minmax(15rem, 1.5fr) repeat(3, minmax(9rem, .75fr)) minmax(8rem, .6fr) auto; gap: .65rem; align-items: end; padding: 1rem; border: 1px solid #dce3f0; border-radius: .8rem .8rem 0 0; background: #f7f9fd; }
.evidence-filter-bar label { display: grid; gap: .35rem; color: #5d687e; font-size: .66rem; font-weight: 740; }
.evidence-filter-bar select, .evidence-filter-bar input { width: 100%; min-height: 2.6rem; padding: .6rem .72rem; border: 1px solid #cfd7e6; border-radius: .5rem; background: #fff; color: var(--ink); font: inherit; font-size: .76rem; }
.evidence-filter-bar button { min-height: 2.6rem; padding: .6rem 1rem; border: 1px solid var(--blue); border-radius: .5rem; background: var(--blue); color: #fff; font-size: .75rem; font-weight: 740; cursor: pointer; }
.evidence-search { position: relative; }
.evidence-search img { position: absolute; bottom: .73rem; left: .7rem; width: 1rem; height: 1rem; }
.evidence-search input { padding-left: 2.1rem; }
.evidence-records, .response-records { border: 1px solid #dce3f0; border-top: 0; border-radius: 0 0 .8rem .8rem; overflow: hidden; background: #fff; }
.evidence-table-head, .evidence-record { display: grid; grid-template-columns: 1.05fr 1.2fr 1.6fr .85fr 7rem; gap: 1.1rem; }
.evidence-table-head, .response-table-head { padding: .75rem 1rem; background: #eef2f8; color: #68738a; font-size: .63rem; font-weight: 780; letter-spacing: .055em; text-transform: uppercase; }
.evidence-record { padding: 1.15rem 1rem; border-top: 1px solid #e2e7f0; font-size: .76rem; }
.evidence-record:first-of-type { border-top: 0; }
.evidence-record > div, .response-record > div { min-width: 0; }
.evidence-report-cell, .evidence-response-cell, .response-from, .response-source { display: flex; flex-direction: column; gap: .3rem; }
.evidence-report-cell strong, .response-from strong { color: #26385f; line-height: 1.4; }
.evidence-report-cell span, .evidence-response-cell span, .response-from span, .response-source > span { color: #778198; font-size: .68rem; line-height: 1.4; }
.evidence-summary-cell p, .response-statement p { margin: 0; color: #233251; font-weight: 650; line-height: 1.55; }
.evidence-source-cell { position: relative; padding-left: 1.4rem; }
.evidence-source-cell blockquote { margin: 0; color: #536078; font-size: .72rem; line-height: 1.55; }
.evidence-quote-icon { position: absolute; top: .05rem; left: 0; width: .95rem; height: .95rem; opacity: .62; }
.page-reference { display: inline-flex; margin-top: .55rem; padding: .25rem .45rem; border-radius: .35rem; background: #eef2f8; color: #59657d; font-size: .64rem; font-weight: 730; }
.evidence-response-cell { display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: .45rem; align-content: start; }
.evidence-response-cell strong { display: block; color: #334979; font-size: .72rem; }
.evidence-response-cell small { display: block; margin-top: .28rem; color: #778198; font-size: .65rem; line-height: 1.4; }
.evidence-state-icon { width: 1rem; height: 1rem; margin-top: .05rem; }
.muted-status { color: #8a93a5 !important; }
.evidence-link-cell a, .response-source a { display: inline-flex; gap: .3rem; align-items: center; color: var(--blue); font-size: .69rem; font-weight: 740; text-decoration: none; }
.evidence-link-cell img, .response-source a img { width: .72rem; height: .72rem; }
.response-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 1rem; border: 1px solid #dce3f0; border-radius: .85rem; background: #fff; }
.response-hero-stats > div { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); column-gap: 1.1rem; align-items: center; padding: 1.35rem 1.5rem; border-right: 1px solid #dce3f0; }
.response-hero-stats div:last-child { border-right: 0; }
.response-hero-stats dt, .response-hero-stats dd, .response-hero-stats p { grid-column: 2; }
.response-hero-icon { grid-row: 1 / 4; width: 3.5rem; height: 3.5rem; }
.response-hero-icon img { width: 1.75rem; height: 1.75rem; }
.info-tip { position: relative; display: inline-grid; width: 1.05rem; height: 1.05rem; margin-left: .2rem; padding: 0; place-items: center; border: 0; background: transparent; cursor: help; vertical-align: middle; }
.info-tip > img { width: 1rem; height: 1rem; }
.info-tip:hover::after, .info-tip:focus-visible::after { position: absolute; bottom: calc(100% + .5rem); left: 50%; z-index: 20; width: 17rem; padding: .65rem .75rem; border-radius: .5rem; background: var(--ink); color: #fff; content: attr(data-tooltip); font-size: .69rem; font-weight: 600; line-height: 1.45; text-align: left; transform: translateX(-50%); box-shadow: var(--shadow); }
.response-status-snapshot { display: grid; grid-template-columns: minmax(15rem, .9fr) minmax(0, 2fr); align-items: stretch; overflow: hidden; border: 1px solid #dce3f0; border-radius: .85rem; background: #fff; color: var(--ink); }
.response-status-copy { padding: 1.25rem 1.45rem; background: #f7f9fd; }
.response-status-copy h3 { margin: 0; font-size: 1.05rem; }
.response-status-copy > p:last-child { margin: .45rem 0 0; color: #68748b; font-size: .73rem; line-height: 1.5; }
.response-status-snapshot .concern-section-kicker { color: var(--blue); }
.response-status-snapshot dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.response-status-snapshot dl div { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); align-content: center; column-gap: .55rem; padding: 1rem 1.15rem; border-left: 1px solid #dce3f0; }
.response-status-snapshot dl img { grid-row: 1 / 3; width: 1.05rem; height: 1.05rem; margin-top: .08rem; }
.response-status-snapshot dt, .response-status-snapshot dd { grid-column: 2; }
.response-status-snapshot dt { color: #667189; font-size: .7rem; }
.response-status-snapshot dd { margin: .3rem 0 0; color: #172a55; font-size: 1.55rem; font-weight: 790; }
.response-status-snapshot .is-complete dd { color: #087f78; }
.response-status-snapshot .is-progress dd { color: #1459e8; }
.response-status-snapshot .is-planned dd { color: #7631df; }
.response-caveat { display: flex; gap: 1rem; align-items: center; margin: .9rem 0 1.5rem; min-height: 4.15rem; padding: 1rem 1.25rem; border: 1px solid #e9b94d; border-radius: .7rem; background: #fffaf0; color: #55250e; font-size: .84rem; line-height: 1.55; }
.response-caveat img { width: 1.65rem; height: 1.65rem; flex: 0 0 auto; filter: sepia(1) saturate(2.2) hue-rotate(340deg) brightness(.62); }
.response-record-heading { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.response-record-heading > p { margin: 0; color: #6c778e; font-size: .75rem; }
.response-toggle { display: inline-flex; padding: .22rem; border-radius: .62rem; background: #e9edf5; }
.response-toggle a { display: inline-flex; gap: .4rem; align-items: center; min-height: 2.25rem; padding: .45rem .8rem; border-radius: .45rem; color: #657087; font-size: .74rem; font-weight: 740; text-decoration: none; }
.response-toggle a.is-active { background: #fff; color: #1e315d; box-shadow: 0 2px 8px rgba(25,42,85,.1); }
.response-records { border-top: 1px solid #dce3f0; border-radius: .8rem; }
.response-table-head, .response-record { display: grid; grid-template-columns: 1.6fr 1fr 1fr .78fr 9.3rem; gap: 1rem; }
.response-record { padding: 1.15rem 1rem; border-top: 1px solid #e2e7f0; font-size: .75rem; }
.response-record:first-of-type { border-top: 0; }
.response-status-pill, .position-kind-pill { display: inline-flex; max-width: 11rem; padding: .35rem .55rem; border-radius: 99rem; background: #edf1f8; color: #536078; font-size: .64rem; font-weight: 720; line-height: 1.35; }
.response-status-pill.status-completed { background: #e8f6ef; color: #246745; }
.response-status-pill.status-in_progress { background: #eaf0ff; color: #2f55aa; }
.response-status-pill.status-planned { background: #fff4dc; color: #79591b; }
.response-concern-link button { display: inline-flex; gap: .4rem; align-items: center; padding: .5rem .6rem; border: 1px solid #cbd5e6; border-radius: .48rem; background: #fff; color: #243b78; font: inherit; font-size: .68rem; font-weight: 740; cursor: pointer; }
.response-concern-link button:hover { border-color: var(--blue); color: var(--blue); }
.response-concern-link img { width: 1rem; height: 1rem; }
.response-source-concern-dialog { width: min(39rem, calc(100vw - 2rem)); }
.dialog-concern-record { margin-top: .9rem; padding: 1rem; border: 1px solid #dce3f0; border-radius: .7rem; background: #fafbfe; }
.dialog-concern-record h3 { margin: 0; font-size: .9rem; line-height: 1.5; }
.dialog-concern-record blockquote { margin: .75rem 0; padding-left: .8rem; border-left: 3px solid #9bace0; color: #4e5c76; font-size: .78rem; line-height: 1.6; }
.dialog-concern-record > p { display: flex; gap: .5rem; justify-content: space-between; margin: 0; color: #6c778d; font-size: .69rem; }
.dialog-concern-record > p strong { color: #334360; }
.method-panel { max-width: none; margin: 0; }
.method-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.6rem 1.5rem; border: 1px solid #dce3f0; border-radius: .9rem; list-style: none; background: #fff; }
.method-steps li { position: relative; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: .9rem; padding: 0 1.2rem; border-left: 1px solid #e1e6ef; }
.method-steps li:first-child { padding-left: 0; border-left: 0; }
.method-steps li:last-child { padding-right: 0; }
.method-steps li > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: #e7ecff; color: var(--blue); font-size: .76rem; font-weight: 800; }
.method-steps h3 { margin: 0; font-size: .95rem; }
.method-steps p { margin: .4rem 0 0; color: #667188; font-size: .8rem; line-height: 1.6; }
.method-direct-note { display: flex; gap: .7rem; align-items: center; margin: .75rem 0 0; padding: .8rem 1rem; border: 1px solid #dce3f0; border-radius: .7rem; background: #f7f9fd; color: #52617d; font-size: .76rem; line-height: 1.5; }
.method-direct-note img { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.method-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin-top: .9rem; }
.method-principles section { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .85rem; padding: 1.25rem 1.4rem; border: 1px solid #e0e5ef; border-radius: .8rem; background: #f7f9fd; }
.principle-icon { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 50%; background: #e8eeff; }
.principle-icon img { width: 1.2rem; height: 1.2rem; }
.method-principles h3 { margin: 0; font-size: .88rem; }
.method-principles ul { display: grid; gap: .5rem; margin: .7rem 0 0; padding-left: 1rem; color: #637087; font-size: .76rem; line-height: 1.5; }
.method-link { display: inline-flex; gap: .4rem; align-items: center; margin-top: 1.2rem; color: var(--blue); font-size: .8rem; font-weight: 750; text-decoration: none; }
.method-link img { width: .9rem; height: .9rem; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Concern-to-action trace */
.concern-dashboard-body .page-frame { position: relative; background: #fbfcff; }
.concern-dashboard-refresh { width: 100%; padding: .9rem .5rem 4rem 1.55rem; }
.trace-panel { --trace-branch-reach: 2.125rem; padding-top: .65rem; }
.trace-introduction h2 { margin: 0; color: #071a50; font-size: 1.82rem; line-height: 1.15; letter-spacing: -.035em; }
.trace-introduction p { margin: .5rem 0 0; color: #52638f; font-size: .92rem; line-height: 1.55; }
.trace-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.3rem 0 1.15rem; background: transparent; }
.trace-hero-stats > div { display: grid; grid-template-columns: 3.65rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 1.1rem; align-content: center; min-height: 6.15rem; padding: 1rem 1.7rem; border-right: 1px solid #dbe2ef; }
.trace-hero-stats > div:last-child { border-right: 0; }
.trace-stat-icon { display: grid; grid-row: 1 / 3; width: 3.55rem; height: 3.55rem; place-items: center; border-radius: 50%; background: #eaf0ff; }
.trace-stat-icon img { width: 1.75rem; height: 1.75rem; }
.trace-hero-stats dt { grid-column: 2; color: #52638f; font-size: .78rem; line-height: 1.35; }
.trace-hero-stats dd { grid-column: 2; grid-row: 1; margin: 0 0 .18rem; color: #071a50; font-size: 1.62rem; font-weight: 790; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.trace-filter-bar { display: grid; grid-template-columns: minmax(18rem, 1.2fr) minmax(10rem, .5fr) minmax(11rem, .55fr); gap: 3.4rem; align-items: end; margin: 0 0 1rem; }
.trace-filter-bar label { display: grid; gap: .35rem; color: #47577d; font-size: .69rem; font-weight: 710; }
.trace-filter-bar input, .trace-filter-bar select { width: 100%; min-height: 2.85rem; padding: .65rem .85rem; border: 1px solid #ccd6e8; border-radius: .48rem; background: #fff; color: #0c2156; font-size: .82rem; }
.trace-search { position: relative; }
.trace-search img { position: absolute; bottom: .86rem; left: .8rem; width: 1rem; height: 1rem; }
.trace-search input { padding-left: 2.55rem; }
.trace-position-control { display: flex; gap: .5rem; align-items: center; width: fit-content; margin: 0 0 .9rem; }
.trace-position-switch { display: inline-flex; gap: .6rem; align-items: center; color: #34466f; font-size: .76rem; font-weight: 710; cursor: pointer; }
.trace-position-switch input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.trace-switch-track { position: relative; display: inline-flex; width: 2.15rem; height: 1.2rem; flex: 0 0 auto; align-items: center; padding: .13rem; border-radius: 99rem; background: #cbd4e4; transition: background-color 160ms ease; }
.trace-switch-track span { width: .94rem; height: .94rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20,38,79,.22); transition: transform 180ms ease; }
.trace-position-switch input:checked + .trace-switch-track { background: #0758ff; }
.trace-position-switch input:checked + .trace-switch-track span { transform: translateX(.95rem); }
.trace-position-switch input:focus-visible + .trace-switch-track { outline: 2px solid #0758ff; outline-offset: 3px; }
.trace-position-help { position: relative; display: inline-flex; }
.trace-position-help button { display: grid; width: 1.55rem; height: 1.55rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: help; }
.trace-position-help button:hover, .trace-position-help button:focus-visible { background: #eaf0ff; outline: 0; }
.trace-position-help button img { width: 1rem; height: 1rem; }
.trace-position-help [role="tooltip"] { position: absolute; bottom: calc(100% + .55rem); left: 50%; z-index: 25; width: 17rem; padding: .7rem .78rem; border: 1px solid #cbd5e7; border-radius: .48rem; background: #102459; color: #fff; box-shadow: 0 .65rem 1.8rem rgba(12,29,73,.18); font-size: .72rem; font-weight: 560; line-height: 1.5; opacity: 0; pointer-events: none; transform: translate(-50%, .25rem); transition: opacity 140ms ease, transform 140ms ease; visibility: hidden; }
.trace-position-help [role="tooltip"]::after { position: absolute; top: 100%; left: 50%; border: .34rem solid transparent; border-top-color: #102459; content: ""; transform: translateX(-50%); }
.trace-position-help:hover [role="tooltip"], .trace-position-help:focus-within [role="tooltip"] { opacity: 1; transform: translate(-50%, 0); visibility: visible; }
.trace-reports { display: grid; gap: .8rem; }
.trace-report { overflow: hidden; border-top: 1px solid #d6deec; border-bottom: 1px solid #d6deec; background: transparent; scroll-margin-top: 1rem; transition: border-color 160ms ease, background-color 160ms ease; }
.trace-report[open] { border-color: #c6d2e5; }
.trace-report.is-animating .trace-report-body { overflow: hidden; will-change: height, opacity, transform; }
.trace-report-header { position: relative; display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; min-height: 5.2rem; padding: .9rem .65rem .9rem 1.55rem; background: transparent; cursor: pointer; list-style: none; }
.trace-report[open] .trace-report-header::before { position: absolute; top: .45rem; bottom: .45rem; left: .08rem; width: 3px; border-radius: 99rem; background: #0758ff; content: ""; }
.trace-report-header::-webkit-details-marker { display: none; }
.trace-report-header::marker { content: ""; }
.trace-report-header:focus-visible { outline: 2px solid #0758ff; outline-offset: -2px; }
.trace-report:not([open]) .trace-report-header:hover { background: #f4f7fc; }
.trace-report[open] .trace-report-header { border-bottom: 1px solid #e0e6f0; }
.trace-report-header h3 { margin: 0; color: #071a50; font-size: .94rem; line-height: 1.35; letter-spacing: -.012em; }
.trace-report-header p { display: flex; gap: .75rem; margin: .32rem 0 0; color: #697797; font-size: .73rem; }
.trace-report-header p span::before { margin-right: .75rem; color: #9aa6bf; content: "•"; }
.trace-report-actions { display: flex; gap: 1rem; align-items: center; flex: 0 0 auto; }
.trace-report-header a { display: inline-flex; gap: .45rem; align-items: center; flex: 0 0 auto; color: #0758ff; font-size: .76rem; font-weight: 700; text-decoration: none; }
.trace-report-header a img { width: .85rem; height: .85rem; }
.trace-disclosure { display: inline-flex; gap: .4rem; align-items: center; color: #244480; font-size: .73rem; font-weight: 720; white-space: nowrap; transition: color 160ms ease; }
.trace-report-header:hover .trace-disclosure { color: #0758ff; }
.trace-disclosure img { width: .85rem; height: .85rem; transition: transform 180ms ease; }
.trace-collapse-copy { display: none; }
.trace-report[open] .trace-expand-copy { display: none; }
.trace-report[open] .trace-collapse-copy { display: inline; }
.trace-report[open] .trace-disclosure img { transform: rotate(180deg); }
.trace-column-headings { display: grid; grid-template-columns: 2.35rem minmax(15rem, 21.25rem) 2.75rem minmax(29rem, 1fr); gap: .75rem; min-height: 3.15rem; align-items: center; padding: 0 .45rem; color: #19469c; font-size: .65rem; font-weight: 790; letter-spacing: .105em; text-transform: uppercase; }
.trace-column-headings span:first-child { grid-column: 2; }
.trace-column-headings span:last-child { grid-column: 4; align-self: stretch; display: flex; align-items: center; border-bottom: 1px solid #dce3ee; }
.trace-concern-list { margin: 0; padding: 0 .45rem .85rem; list-style: none; }
.trace-concern-row { position: relative; display: grid; grid-template-columns: 2.35rem minmax(15rem, 21.25rem) 2.75rem minmax(29rem, 1fr); gap: .75rem; align-items: stretch; min-height: 9.1rem; padding-bottom: .85rem; }
.trace-concern-row:last-child { padding-bottom: 0; }
.trace-concern-row:not(:last-child)::before { position: absolute; top: 1.7rem; bottom: -.05rem; left: 1.15rem; width: 1px; background: #0758ff; content: ""; }
.trace-sequence { position: relative; z-index: 1; display: grid; align-self: start; width: 1.85rem; height: 1.85rem; margin-top: .1rem; place-items: center; border: 1.5px solid #0758ff; border-radius: 50%; background: #0758ff; color: #fff; font-size: .76rem; font-weight: 760; }
.trace-source-card { min-width: 0; padding: 1.1rem 1.05rem 1.1rem 1.2rem; border: 0; border-left: 4px solid #0758ff; border-radius: 0 .42rem .42rem 0; background: #f6f6f5; box-shadow: 0 .35rem 1.1rem rgba(30,46,88,.035); transition: background-color 160ms ease, box-shadow 160ms ease; }
.trace-source-card header { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .65rem; align-items: start; }
.trace-document-icon { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #eaf0ff; }
.trace-document-icon img { width: 1.05rem; height: 1.05rem; }
.trace-source-card h4 { margin: .12rem 0 0; color: #102459; font-size: .96rem; line-height: 1.45; }
.trace-source-card blockquote { display: -webkit-box; margin: .78rem 0 .7rem 2.65rem; padding: 0; overflow: hidden; border: 0; color: #607093; font-size: .84rem; line-height: 1.58; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.trace-source-card > p { margin: 0 0 0 2.65rem; color: #52638f; font-size: .76rem; }
.trace-connector { position: relative; align-self: stretch; }
.trace-connector::before { position: absolute; top: 50%; right: 50%; left: -.76rem; height: 1px; background: #0758ff; content: ""; }
.trace-response-stack { position: relative; display: grid; gap: 0; min-width: 0; }
.trace-response-stack::before { position: absolute; top: 3.9rem; bottom: 3.9rem; left: calc(-1 * var(--trace-branch-reach)); width: 1px; background: #0758ff; content: ""; }
.trace-response-stack:has(> :only-child)::before { display: none; }
.trace-response-card { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(7.25rem, .62fr) minmax(7.75rem, .62fr); gap: .8rem 1rem; align-items: center; min-height: 6.35rem; padding: 1.05rem 1.05rem; border: 0; border-bottom: 1px solid #dce3ee; border-radius: 0; background: transparent; transition: background-color 160ms ease, box-shadow 160ms ease; }
.trace-response-card:first-child { border-top: 1px solid #dce3ee; }
.trace-response-card:hover { background: #f1f4f8; box-shadow: inset 3px 0 0 #9db5ea; }
.trace-response-card.is-position { background: #faf9ff; box-shadow: inset 3px 0 0 #8771c8; }
.trace-response-card.is-position:hover { background: #f3f0fb; box-shadow: inset 3px 0 0 #6f55bb; }
.trace-concern-row:has(.trace-response-card:hover) .trace-source-card { background: #f1f2f4; box-shadow: 0 .45rem 1.25rem rgba(30,46,88,.065); }
.trace-response-card::before, .trace-empty::before { position: absolute; top: 50%; left: calc(-1 * var(--trace-branch-reach)); width: var(--trace-branch-reach); height: 1px; background: #0758ff; content: ""; }
.trace-response-stack > :first-child:not(:last-child)::before { top: 50%; height: .72rem; background: transparent; border-top: 1px solid #0758ff; border-left: 1px solid #0758ff; border-radius: .72rem 0 0; }
.trace-response-stack > :last-child:not(:first-child)::before { top: calc(50% - .72rem); height: .72rem; background: transparent; border-bottom: 1px solid #0758ff; border-left: 1px solid #0758ff; border-radius: 0 0 0 .72rem; }
.trace-response-card::after, .trace-empty::after { position: absolute; top: calc(50% - .2rem); left: -.2rem; width: .42rem; height: .42rem; border-radius: 50%; background: #0758ff; content: ""; }
.trace-response-card.is-position::after { background: #7053bd; }
.trace-response-statement { display: grid; grid-template-columns: 1.9rem minmax(0, 1fr); gap: .62rem; align-items: start; }
.trace-position-icon { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #ece8f8; }
.trace-position-icon img { width: 1rem; height: 1rem; }
.trace-response-copy { margin: 0; color: #102459; font-size: .94rem; font-weight: 700; line-height: 1.5; }
.trace-respondent strong { display: block; color: #102459; font-size: .8rem; line-height: 1.45; }
.trace-response-meta { display: grid; gap: .5rem; justify-items: start; color: #52638f; font-size: .72rem; }
.trace-response-meta .response-status-pill { white-space: normal; line-height: 1.25; }
.trace-response-meta .position-kind-pill { background: #ece8f8; color: #59458e; }
.trace-empty { position: relative; display: flex; gap: 1.1rem; align-items: center; min-height: 8.85rem; padding: 1.15rem 1.8rem; border: 1px dashed #b8c6e0; border-radius: .48rem; background: #fcfdff; color: #1d3369; }
.trace-empty-icon { display: grid; width: 3rem; height: 3rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #eef2f8; }
.trace-empty-icon img { width: 1.45rem; height: 1.45rem; opacity: .65; }
.trace-empty strong { font-size: .86rem; }
.trace-empty p { margin: .35rem 0 0; color: #68789c; font-size: .72rem; line-height: 1.5; }
.trace-report-footnote { display: grid; grid-template-columns: 2.35rem minmax(15rem, 21.25rem) 2.75rem minmax(29rem, 1fr); gap: .75rem; padding: .25rem .45rem 1.15rem; }
.trace-report-footnote p { grid-column: 2 / -1; margin: 0; padding-left: .1rem; color: #697797; font-size: .7rem; line-height: 1.55; }
.trace-report-footnote p strong { color: #40527c; }
.trace-no-results { padding: 3rem; border: 1px dashed #c7d2e6; border-radius: .6rem; text-align: center; }

@media (prefers-reduced-motion: reduce) {
  .trace-report, .trace-source-card, .trace-response-card, .trace-disclosure img, .recipient-bar-track > span, .overview-coverage-help [role="tooltip"], .overview-preview-source, .overview-preview-actions article { animation: none; transition: none; }
}

@media (max-width: 84rem) {
  .overview-scope-summary.has-exclusions { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .overview-scope-summary .scope-exclusions { padding: 1.4rem 0 0; border-top: 1px solid #d9e1ee; border-left: 0; }
  .overview-summary-band .refresh-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-summary-band .refresh-hero-stats > div { border-bottom: 1px solid #d7e0ef; }
  .overview-summary-band .refresh-hero-stats > div:nth-child(even) { border-right: 0; }
  .overview-summary-band .refresh-hero-stats > div:nth-last-child(-n + 2) { border-bottom: 0; }
}

@media (max-width: 72rem) {
  .concern-dashboard-body .footer-main { grid-template-columns: 1fr; gap: 2rem; }
  .overview-summary-band { grid-template-columns: 1fr; }
  .overview-scope-summary { border-right: 0; }
  .overview-scope-summary.has-exclusions { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .overview-scope-summary .scope-exclusions { padding: 1.4rem 0 0; border-top: 1px solid #d9e1ee; border-left: 0; }
  .overview-summary-band .refresh-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-summary-band .refresh-hero-stats > div { grid-template-columns: 3rem minmax(0, 1fr); column-gap: .8rem; padding-right: 1.5rem; padding-left: 1.5rem; border-bottom: 1px solid #d7e0ef; }
  .overview-summary-band .refresh-hero-stats > div:nth-child(even) { border-right: 0; }
  .overview-summary-band .refresh-hero-stats > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .overview-summary-band .refresh-hero-stats .stat-icon { width: 3rem; height: 3rem; }
  .overview-analysis-grid { grid-template-columns: 1fr; }
  .topic-analysis-grid { grid-template-areas: "timeline" "recurring" "recipients"; }
  .overview-trace-heading { grid-template-columns: 13rem minmax(0, 1fr) auto; }
  .overview-trace-columns, .overview-trace-row { grid-template-columns: 2rem minmax(8rem, .58fr) minmax(11rem, .8fr) 2.5rem minmax(20rem, 1.4fr); gap: .6rem; }
  .overview-preview-actions::before { left: -3.1rem; }
  .overview-preview-actions article { grid-template-columns: minmax(0, 1fr) minmax(7rem, .48fr); }
  .overview-preview-actions .response-status-pill { grid-column: 1 / -1; }
  .overview-preview-actions article::before { left: -3.1rem; width: 3.1rem; }
  .overview-preview-connector svg { left: -.6rem; width: calc(100% + .2rem); }
  .trace-panel { --trace-branch-reach: 1.85rem; }
  .refresh-concern-header .concern-dashboard-actions { position: static; justify-content: flex-start; }
  .trace-filter-bar { gap: 1rem; }
  .trace-column-headings, .trace-concern-row, .trace-report-footnote { grid-template-columns: 2.15rem minmax(13rem, 18rem) 2.5rem minmax(21rem, 1fr); gap: .6rem; }
  .trace-response-card { grid-template-columns: minmax(13rem, 1fr) minmax(8rem, .55fr); }
  .trace-response-meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
  .evidence-filter-bar { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .evidence-search { grid-column: span 2; }
  .evidence-table-head, .evidence-record { grid-template-columns: .9fr 1.1fr 1.35fr .75fr 6.5rem; gap: .75rem; }
  .response-table-head, .response-record { grid-template-columns: 1.35fr .9fr .9fr .75fr 8.5rem; gap: .75rem; }
}

@media (max-width: 48rem) {
  .concern-dashboard-body .page-frame { background: #fbfcff; }
  .concern-dashboard-body .concern-breadcrumb { position: static; margin-bottom: 2rem; }
  .concern-dashboard-body .breadcrumb-desktop-label, .concern-dashboard-body .breadcrumb-current, .concern-dashboard-body .breadcrumb-separator { display: none; }
  .concern-dashboard-body .breadcrumb-mobile-label { display: inline-flex; gap: .65rem; align-items: center; color: #40517d; font-size: 1rem; font-weight: 650; }
  .concern-dashboard-body .breadcrumb-mobile-label img { width: 1.1rem; height: 1.1rem; }
  .concern-dashboard-body .concern-breadcrumb { margin-bottom: 2rem; }
  .concern-dashboard-refresh { padding: 1.4rem 1.8rem 4rem; }
  .refresh-concern-header { gap: 1.25rem; padding-top: 0; }
  .refresh-concern-heading .eyebrow { margin-bottom: .8rem; padding-left: 1rem; font-size: .78rem; }
  .refresh-concern-heading .eyebrow::before { width: 3px; }
  .refresh-concern-heading h1 { font-size: clamp(2.25rem, 10vw, 3rem); line-height: 1.04; }
  .refresh-concern-header > .concern-date-range { margin-top: 0; font-size: .88rem; line-height: 1.55; }
  .concern-dashboard-body .concern-dashboard-actions { display: none; }
  .concern-view-tabs { gap: 1.25rem; margin-top: 2rem; }
  .concern-view-tabs a span { display: none; }
  .concern-tab-panel { padding-top: 1.25rem; }
  .trace-panel { padding-top: 1.2rem; }
  .trace-introduction h2 { font-size: 1.55rem; }
  .trace-introduction p { font-size: .84rem; }
  .trace-hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trace-hero-stats { overflow: hidden; border: 1px solid #d5deed; border-radius: .65rem; background: #fff; }
  .trace-hero-stats > div { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: .3rem; justify-items: center; min-height: 6.5rem; padding: .75rem .35rem; border-bottom: 0; text-align: center; }
  .trace-stat-icon { grid-column: 1; grid-row: 1; width: 2.4rem; height: 2.4rem; }
  .trace-stat-icon img { width: 1.15rem; height: 1.15rem; }
  .trace-hero-stats dd { grid-column: 1; grid-row: 2; margin: 0; font-size: 1.35rem; }
  .trace-hero-stats dt { grid-column: 1; grid-row: 3; font-size: .66rem; }
  .trace-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .trace-search { grid-column: 1 / -1; }
  .trace-position-control { margin-bottom: 1rem; }
  .trace-position-help [role="tooltip"] { right: -1rem; left: auto; width: min(16rem, calc(100vw - 3.6rem)); transform: translateY(.25rem); }
  .trace-position-help [role="tooltip"]::after { right: 1.35rem; left: auto; transform: none; }
  .trace-position-help:hover [role="tooltip"], .trace-position-help:focus-within [role="tooltip"] { transform: translateY(0); }
  .trace-report-header { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .trace-report-actions { width: 100%; justify-content: space-between; }
  .trace-report-header a { align-self: center; }
  .trace-disclosure { min-height: 2.35rem; padding: .5rem .65rem; }
  .trace-column-headings { display: none; }
  .trace-concern-list { padding: 1rem; }
  .trace-concern-row { grid-template-columns: 2rem minmax(0, 1fr); gap: .65rem; padding-bottom: 1.25rem; }
  .trace-concern-row:not(:last-child)::before { left: .92rem; }
  .trace-sequence { width: 1.85rem; height: 1.85rem; }
  .trace-source-card { grid-column: 2; }
  .trace-connector { display: none; }
  .trace-response-stack { grid-column: 2; }
  .trace-response-stack::before, .trace-response-card::before, .trace-response-card::after, .trace-empty::before, .trace-empty::after { display: none; }
  .trace-response-card { grid-template-columns: 1fr; gap: .75rem; min-height: 0; }
  .trace-response-meta { grid-column: 1; align-items: flex-start; flex-direction: column; }
  .trace-empty { min-height: 7rem; padding: 1rem; }
  .trace-report-footnote { display: block; padding: 0 1rem 1rem 3.65rem; }
  .concern-scope-card, .refresh-panel { padding: 1.25rem; }
  .overview-summary-band { margin-right: -1.8rem; margin-left: -1.8rem; border-right: 0; border-left: 0; border-radius: 0; }
  .overview-summary-band::before { width: 3px; }
  .overview-scope-summary, .overview-scope-summary.has-exclusions { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding: 1.8rem; }
  .overview-scope-summary .scope-inclusion { font-size: .98rem; }
  .overview-scope-summary .scope-exclusions { padding: 1.35rem 0 0; border-top: 1px solid #d9e1ee; border-left: 0; }
  .overview-summary-band .refresh-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 1.45rem; }
  .overview-summary-band .refresh-hero-stats > div { grid-template-columns: 2.75rem minmax(0, 1fr); min-width: 0; min-height: 8.5rem; padding: 1.25rem .6rem; border-right: 0; border-bottom: 1px solid #dce3f0; }
  .overview-summary-band .refresh-hero-stats > div:nth-child(odd) { padding-right: .8rem; border-right: 1px solid #dce3f0; }
  .overview-summary-band .refresh-hero-stats > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .overview-summary-band .refresh-hero-stats .stat-icon { width: 2.75rem; height: 2.75rem; }
  .overview-summary-band .refresh-hero-stats dd { font-size: 1.65rem; }
  .overview-summary-band .refresh-hero-stats dd.is-date { font-size: 1.18rem; }
  .overview-summary-band .refresh-hero-stats dt { font-size: .8rem; }
  .overview-summary-band .refresh-hero-stats p { font-size: .72rem; }
  .overview-analysis-grid { gap: 0; }
  .overview-analysis-grid .refresh-panel { min-height: 0; margin-top: .85rem; padding: 1.45rem 1.35rem; }
  .overview-analysis-grid .refresh-panel-heading h2, .overview-recipient-heading h2 { font-size: 1.4rem; }
  .overview-analysis-grid .dashboard-y-axis, .overview-analysis-grid .dashboard-chart { height: 14rem; }
  .overview-analysis-grid .dashboard-x-axis { display: grid; padding-top: .55rem; font-size: .62rem; }
  .overview-analysis-grid .dashboard-x-axis span:nth-child(odd) { visibility: hidden; }
  .overview-recipient-heading { align-items: stretch; flex-direction: column; gap: .8rem; }
  .recipient-chart-toggle { align-self: flex-start; }
  .recipient-chart-toggle button { min-height: 2.35rem; }
  .recipient-chart { gap: .9rem; }
  .recipient-bar { grid-template-columns: minmax(0, 1fr) 1.5rem; gap: .35rem .65rem; }
  .recipient-bar-label { grid-column: 1 / -1; font-size: .82rem; }
  .recipient-bar-track { grid-column: 1; }
  .topic-recurring-bar { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; gap: .5rem; }
  .topic-recurring-bar .recipient-bar-track { grid-column: 1; grid-row: 2; }
  .topic-recurring-bar strong { grid-column: 1; grid-row: 3; min-width: 0; text-align: left; }
  .overview-trace-preview { margin-right: -1.8rem; margin-left: -1.8rem; border-right: 0; border-left: 0; border-radius: 0; }
  .overview-trace-heading { grid-template-columns: 1fr auto; gap: .9rem; padding: 1.15rem 1.8rem; }
  .overview-coverage { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr) 1.5rem; padding-bottom: .85rem; border-bottom: 1px solid #e1e6f0; }
  .overview-coverage > span:nth-child(2) br { display: none; }
  .overview-coverage-help [role="tooltip"] { right: 0; left: auto; transform: translateY(.25rem); }
  .overview-coverage-help:hover [role="tooltip"], .overview-coverage-help:focus-within [role="tooltip"] { transform: translateY(0); }
  .overview-trace-heading > div:nth-child(2) { min-width: 0; }
  .overview-trace-heading > a { align-self: center; padding: .5rem .65rem; }
  .overview-trace-columns { display: none; }
  .overview-trace-list { padding: 0 1.8rem; }
  .overview-trace-row { grid-template-columns: 1.8rem minmax(0, 1fr); gap: .55rem .7rem; padding: 1rem 0; }
  .overview-trace-number { grid-row: 1 / 4; width: 1.55rem; height: 1.55rem; }
  .overview-preview-report, .overview-preview-source, .overview-preview-actions { grid-column: 2; }
  .overview-preview-report { padding-bottom: .25rem; }
  .overview-preview-source { padding: .75rem; }
  .overview-preview-connector, .overview-preview-source::after, .overview-preview-actions::before, .overview-preview-actions article::before, .overview-preview-actions article::after { display: none; }
  .overview-preview-actions article { grid-template-columns: 1fr; gap: .45rem; padding: .75rem .1rem; }
  .overview-preview-actions article > strong { color: #52638f; }
  .overview-preview-actions .response-status-pill { grid-column: auto; }
  .overview-trace-empty { align-items: flex-start; flex-direction: column; padding: 1.25rem 1.8rem; }
  .refresh-hero-stats { grid-template-columns: 1fr; border-radius: 0; border-right: 0; border-left: 0; background: #fff; }
  .refresh-hero-stats > div { grid-template-columns: 3rem minmax(0, 1fr); padding: 1rem .35rem; border-right: 0; border-bottom: 1px solid #dce3f0; }
  .refresh-hero-stats > div:last-child { border-bottom: 0; }
  .refresh-hero-stats dd { font-size: 1.55rem; }
  .refresh-hero-stats dd.is-date { font-size: 1.25rem; }
  .overview-next-steps { grid-template-columns: 1fr; padding: 1.3rem; }
  .overview-route-grid { grid-template-columns: 1fr; }
  .tab-introduction { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .mobile-response-context { display: block; margin: 1.35rem 0 .25rem; }
  .mobile-response-context .eyebrow { margin: 0 0 .55rem; color: #087f78; }
  .mobile-response-context h2 { margin: 0; color: var(--ink); font-size: clamp(1.75rem, 8.5vw, 2.4rem); line-height: 1.08; letter-spacing: -.045em; }
  .evidence-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-search { grid-column: 1 / -1; }
  .evidence-mobile-filter-toggle { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) 1rem; grid-column: 1 / -1; gap: .65rem; align-items: center; width: 100%; min-height: 2.8rem; padding: .65rem .8rem; border: 1px solid #cfd7e6 !important; background: #fff !important; color: #243b78 !important; text-align: left; }
  .evidence-mobile-filter-toggle img { width: 1.15rem; height: 1.15rem; }
  .evidence-mobile-filter-toggle .filter-chevron { width: .8rem; height: .8rem; transition: transform 150ms ease; }
  .evidence-mobile-filter-toggle[aria-expanded="true"] .filter-chevron { transform: rotate(180deg); }
  .evidence-filter-bar > label:not(.evidence-search), .evidence-filter-bar > button[type="submit"] { display: none; }
  .evidence-filter-bar.is-open > label:not(.evidence-search) { display: grid; }
  .evidence-filter-bar.is-open > button[type="submit"] { display: block; grid-column: 1 / -1; }
  .evidence-table-head, .response-table-head { display: none; }
  .evidence-records { overflow: visible; border: 0; border-radius: 0; background: transparent; }
  .evidence-record { grid-template-columns: minmax(6.7rem, .72fr) minmax(0, 1.28fr); gap: .9rem 1rem; padding: 1.2rem; border: 1px solid #dce3f0; border-radius: .8rem; }
  .evidence-record + .evidence-record { margin-top: .85rem; }
  .evidence-report-cell { grid-row: 1 / 5; padding-right: 1rem; border-right: 1px solid #dce3f0; }
  .evidence-summary-cell, .evidence-source-cell, .evidence-response-cell, .evidence-link-cell { grid-column: 2; }
  .evidence-source-cell, .evidence-response-cell { padding-top: .85rem; border-top: 1px solid #e2e7f0; }
  .response-record { display: grid; grid-template-columns: 1fr; gap: .85rem; padding: 1.2rem; }
  .evidence-record > div::before, .response-record > div[data-label]::before { display: block; margin-bottom: .35rem; color: #8891a3; content: attr(data-label); font-size: .61rem; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
  .evidence-link-cell a { justify-content: center; min-height: 2.5rem; border: 1px solid #cdd6e7; border-radius: .5rem; }
  .response-hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .response-hero-stats > div { grid-template-columns: 1fr; gap: .28rem; justify-items: center; padding: .9rem .45rem; text-align: center; }
  .response-hero-stats > div:last-child { border-right: 0; }
  .response-hero-stats dt, .response-hero-stats dd, .response-hero-stats p { grid-column: 1; }
  .response-hero-stats dd { margin: .15rem 0 0; font-size: 1.6rem; }
  .response-hero-stats p { display: none; }
  .response-hero-icon { grid-row: auto; width: 2.4rem; height: 2.4rem; }
  .response-hero-icon img { width: 1.2rem; height: 1.2rem; }
  .response-status-snapshot { grid-template-columns: 1fr; padding: 1.2rem; }
  .response-status-snapshot { padding: 0; }
  .response-status-snapshot dl { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .response-status-snapshot dl div { grid-template-columns: 1fr; gap: .25rem; justify-items: center; padding: .8rem .3rem; border-top: 1px solid #dce3f0; text-align: center; }
  .response-status-snapshot dl img { grid-row: auto; width: .9rem; height: .9rem; margin: 0; }
  .response-status-snapshot dt, .response-status-snapshot dd { grid-column: 1; }
  .response-status-snapshot dt { font-size: .61rem; line-height: 1.25; }
  .response-status-snapshot dd { margin: 0; font-size: 1.25rem; }
  .response-caveat { align-items: flex-start; min-height: 0; padding: 1rem; font-size: .82rem; }
  .response-record-heading { align-items: flex-start; flex-direction: column; }
  .response-record .response-statement { order: 2; }
  .response-record .response-from { order: 3; }
  .response-record > div[data-label="Status at response"], .response-record > div[data-label="Position type"] { order: 1; }
  .response-record .response-source { order: 4; }
  .response-record .response-concern-link { order: 5; }
  .response-concern-link button { width: 100%; min-height: 2.6rem; justify-content: center; }
  .method-steps { grid-template-columns: 1fr; padding: 1.25rem; }
  .method-steps li { padding: 0 0 1.35rem; border-left: 0; }
  .method-steps li:last-child { padding-bottom: 0; }
  .method-steps li > span { position: relative; z-index: 1; }
  .method-principles { grid-template-columns: 1fr; }
  .dialog-concern-record > p { align-items: flex-start; flex-direction: column; }
}
.pin-toast { position: absolute; right: 0; bottom: calc(100% + .8rem); z-index: 60; width: max-content; padding: .7rem .9rem; border: 1px solid #c8d3f2; border-radius: .65rem; background: #f4f7ff; color: #263d7a; font-size: .72rem; font-weight: 720; box-shadow: 0 10px 28px rgba(36,53,105,.14); }
@media (max-width: 70rem) {
  .concern-dashboard-header { grid-template-columns: 1fr; }
  .concern-dashboard-actions { justify-content: flex-start; }
  .concern-date-range { grid-column: 1; text-align: left; }
  .concern-dashboard-columns { grid-template-columns: 1fr; }
  .concern-organisations { min-height: 0; }
}
@media (max-width: 44rem) {
  .concern-hero-stats, .commitment-list { grid-template-columns: 1fr; }
  .concern-hero-stats div { padding: 1rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .concern-hero-stats div:last-child { border-bottom: 0; }
  .concern-section-heading { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .dashboard-chart { gap: 1px; }
  .concern-dashboard-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .concern-dashboard-actions > * { width: 100%; }
  .dashboard-action, .pin-button { justify-content: center; }
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  overflow-y: auto;
  padding: 2rem 1rem;
  place-items: center;
  background: rgba(15, 31, 73, .62);
  backdrop-filter: blur(3px);
  animation: modal-backdrop-enter 360ms ease-out both;
}
.account-modal, .subscription-modal {
  position: relative;
  width: min(31rem, calc(100vw - 2rem));
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  padding: 2rem;
  border-radius: .7rem;
  background: var(--surface);
  box-shadow: 0 24px 70px rgba(2, 15, 55, .28);
  animation: modal-surface-enter 320ms cubic-bezier(.2,.75,.25,1) both;
}
.modal-backdrop.is-closing { animation: modal-backdrop-exit 240ms ease-in both; }
.modal-backdrop.is-closing > .account-modal,
.modal-backdrop.is-closing > .subscription-modal { animation: modal-surface-exit 220ms ease-in both; }
.modal-backdrop-no-intro { animation: none; }
.modal-backdrop-no-intro > .account-modal:not(.account-modal-forward):not(.account-modal-back) { animation: none; }
.account-modal-forward { width: min(39rem, calc(100vw - 2rem)); animation: account-panel-forward .18s ease-out both; }
.account-modal-back { animation: account-panel-back .18s ease-out both; }
@keyframes modal-backdrop-enter {
  from { background: rgba(15, 31, 73, 0); backdrop-filter: blur(0); }
  to { background: rgba(15, 31, 73, .62); backdrop-filter: blur(3px); }
}
@keyframes modal-backdrop-exit {
  from { background: rgba(15, 31, 73, .62); backdrop-filter: blur(3px); }
  to { background: rgba(15, 31, 73, 0); backdrop-filter: blur(0); }
}
@keyframes modal-surface-enter {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes modal-surface-exit {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(6px) scale(.99); }
}
@keyframes account-panel-forward {
  from { opacity: .72; transform: translateX(1rem) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes account-panel-back {
  from { opacity: .72; transform: translateX(-1rem) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
.subscription-modal { width: min(39rem, calc(100vw - 2rem)); }
.account-modal h2, .subscription-modal h2 { margin-bottom: .6rem; font-size: 1.7rem; }
.modal-close {
  position: absolute;
  top: 1rem;
  right: 1.15rem;
  color: #304b9d;
  font-size: 1.8rem;
  line-height: 1;
  text-decoration: none;
}
.account-back {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  margin: -.55rem 0 .55rem -.65rem;
  place-items: center;
  border-radius: 50%;
  color: #304b9d;
}
.account-back:hover { background: var(--blue-soft); }
.account-back img { width: 1.5rem; height: 1.5rem; }
.onboarding-step { margin: 0 0 .35rem; color: var(--blue); font-size: .75rem; font-weight: 760; text-transform: uppercase; letter-spacing: .08em; }
.modal-lede { margin: 0 0 1.35rem; color: var(--muted); line-height: 1.55; }
.modal-form { display: grid; gap: .55rem; }
.modal-form label { margin-top: .45rem; color: var(--ink); font-size: .78rem; font-weight: 720; }
.modal-form label span { color: var(--muted); font-weight: 500; }
.modal-form input, .modal-form select {
  width: 100%;
  min-height: 3rem;
  padding: .7rem .8rem;
  border: 1px solid var(--line-strong);
  border-radius: .45rem;
  background: #fff;
  color: var(--ink);
}
.modal-primary, .danger-button, .secondary-button {
  display: inline-grid;
  min-height: 3rem;
  padding: .7rem 1rem;
  place-items: center;
  border: 0;
  border-radius: .45rem;
  font-weight: 750;
  cursor: pointer;
  text-decoration: none;
}
.modal-primary { margin-top: .6rem; background: var(--teal); color: #fff; }
.modal-primary:hover { background: var(--teal-strong); }
.modal-primary.is-loading,
.modal-primary.is-loading:hover,
.modal-primary:disabled {
  display: inline-flex;
  gap: .6rem;
  align-items: center;
  justify-content: center;
  background: #4aaba2;
  color: #fff;
  cursor: wait;
}
.modal-primary.is-loading::before {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  border: 2px solid rgba(255, 255, 255, .45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: account-submit-spin .7s linear infinite;
  content: "";
}
@keyframes account-submit-spin { to { transform: rotate(360deg); } }
.button-link { display: grid; }
.secondary-button { border: 1px solid var(--line-strong); background: #fff; color: var(--ink); }
.danger-button { background: #be1e2d; color: #fff; }
.modal-switch { margin: 1.3rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .82rem; text-align: center; }
.check-row { display: grid !important; grid-template-columns: auto 1fr; gap: .55rem; align-items: start; }
.check-row input { width: 1rem; min-height: 1rem; margin-top: .15rem; }
.mail-symbol { margin: 1rem 0; color: #3652aa; font-size: 4rem; text-align: center; }
.modal-note, .danger-note, .capacity-note, .form-message {
  padding: .8rem .95rem;
  border-radius: .45rem;
  background: var(--blue-soft);
  color: #243d8d;
  font-size: .82rem;
  line-height: 1.5;
}
.danger-note, .form-message.error { background: #fff0f0; color: #a41624; }
.form-message.success { background: var(--teal-soft); color: var(--teal); }
.account-tabs { display: flex; gap: 1rem; margin: 1rem 0 1.2rem; border-bottom: 1px solid var(--line); }
.account-tabs a { padding: .65rem .25rem; color: var(--muted); font-size: .78rem; text-decoration: none; }
.account-tabs a[aria-current="page"] { border-bottom: 2px solid var(--blue); color: var(--blue); }
.account-value { margin: 0; padding: .6rem 0; font-weight: 650; }
.account-actions, .modal-buttons { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin-top: 1rem; }
.link-button { padding: 0; border: 0; background: none; color: var(--blue); cursor: pointer; font: inherit; }
.danger-link { color: #ba1525 !important; }
.preference-form { display: grid; }
.preference-form p, .preference-form label { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .8rem 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
.preference-form strong { color: var(--muted); font-size: .7rem; }
.preference-form .preference-choice { align-items: center; padding: 1rem 0; cursor: pointer; }
.preference-choice > span { display: grid; gap: .25rem; line-height: 1.4; }
.preference-form .preference-choice strong { color: var(--ink); font-size: .86rem; }
.preference-choice small { max-width: 23rem; color: var(--muted); font-size: .76rem; }
.preference-choice input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; accent-color: var(--teal); }
.account-submenu-heading .eyebrow { margin-bottom: .35rem; }
.subscription-target { display: grid; gap: .4rem; margin: 1rem 0 1.3rem; padding: 1rem; border: 1px solid var(--line-strong); border-radius: .55rem; }
.subscription-target .tag { width: max-content; }
.subscription-target span:last-child { color: var(--muted); font-size: .8rem; }
.subscription-modal h3 { margin-top: 1.2rem; font-size: 1rem; }
.notification-list { margin: 2rem 0; padding: 0; list-style: none; }
.notification-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, auto) auto; gap: 1rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.notification-list h2 { margin: .4rem 0 .2rem; font-size: 1.05rem; }
.notification-list p { margin: 0; color: var(--muted); font-size: .8rem; }
.notification-list select { min-height: 2.7rem; padding: .5rem; border: 1px solid var(--line-strong); border-radius: .45rem; background: #fff; }
.notification-actions { display: flex; gap: .8rem; }
.bulk-notification-actions { display: flex; justify-content: space-between; gap: 1rem; }
.bulk-notification-actions form { display: flex; gap: .7rem; }
.bulk-notification-actions button { padding: .65rem .8rem; border: 1px solid var(--line-strong); border-radius: .45rem; background: #fff; cursor: pointer; }
.notification-empty { margin-top: 1.5rem; }
.account-modal .notification-list { margin: .5rem 0 1.25rem; }
.account-modal .notification-list li { grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; padding: 1rem 0; }
.account-modal .notification-list .notification-actions { grid-column: 1 / -1; }
.account-modal .notification-list select { width: 11rem; }
.account-modal .bulk-notification-actions { align-items: flex-start; }
.account-modal .bulk-notification-actions form:first-child { flex-wrap: wrap; }

@media (max-width: 700px) {
  .modal-backdrop { padding: 1rem; }
  .account-modal, .subscription-modal { width: calc(100vw - 2rem); max-height: calc(100vh - 2rem); padding: 1.45rem; }
  .trust-dialog-inner, .contact-dialog-inner, .correction-dialog-inner { padding: 1.6rem; }
  .notification-list li { grid-template-columns: 1fr; }
  .bulk-notification-actions, .bulk-notification-actions form { display: grid; }
  .page-actions { float: none; margin: 0 0 1.25rem; }
  .account-modal .notification-list li { grid-template-columns: 1fr; }
  .account-modal .notification-list .notification-actions { grid-column: 1; }
  .account-modal .notification-list select { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .trust-dialog[open],
  .trust-dialog[open]::backdrop,
  .trust-dialog.is-closing,
  .trust-dialog.is-closing::backdrop,
  .contact-dialog[open],
  .contact-dialog[open]::backdrop,
  .contact-dialog.is-closing,
  .contact-dialog.is-closing::backdrop,
  .correction-dialog[open],
  .correction-dialog[open]::backdrop,
  .correction-dialog.is-closing,
  .correction-dialog.is-closing::backdrop,
  .response-stats-dialog[open],
  .response-stats-dialog[open]::backdrop,
  .modal-backdrop,
  .modal-backdrop.is-closing,
  .modal-backdrop > .account-modal,
  .modal-backdrop > .subscription-modal,
  .account-modal-forward,
  .account-modal-back,
  .modal-primary.is-loading::before { animation: none; }
}

/* Methodology documentation */
.methodology-page .topbar { display: none; }
.methodology-page .page-frame { background: var(--surface); }
.methodology-main { width: 100%; max-width: none; padding: 0; }
.methodology-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 21.5rem;
  min-height: 100vh;
}
.methodology-article {
  min-width: 0;
  padding: 2.25rem clamp(2rem, 4vw, 4.5rem) 6rem 2.25rem;
}
.methodology-article > * { max-width: 39rem; }
.methodology-breadcrumbs { margin-bottom: 2.2rem; font-size: .9rem; }
.methodology-breadcrumbs a { text-decoration: none; }
.methodology-breadcrumbs span[aria-hidden="true"] { color: var(--line-strong); }
.methodology-article > .eyebrow { margin-bottom: 1.05rem; font-size: .76rem; }
.methodology-article > h1 {
  margin-bottom: 1.05rem;
  font-size: clamp(2.7rem, 4vw, 3.25rem);
  line-height: 1.05;
}
.methodology-prose { color: var(--ink); font-size: 1rem; line-height: 1.5; }
.methodology-prose > p:first-child { font-size: 1.02rem; }
.methodology-prose p { margin: 0 0 .85rem; }
.methodology-prose h2 {
  margin: 2.25rem 0 .65rem;
  font-size: 1.72rem;
  line-height: 1.18;
  scroll-margin-top: 1.5rem;
}
.methodology-prose h3 {
  margin: 1.2rem 0 .55rem;
  font-size: 1.05rem;
  line-height: 1.35;
  scroll-margin-top: 1.5rem;
}
.methodology-prose ul,
.methodology-prose ol { margin: .55rem 0 1.15rem; padding-left: 1.75rem; }
.methodology-prose li { margin: .35rem 0; padding-left: .15rem; }
.methodology-prose strong { color: var(--ink-strong); }
.methodology-prose .pfd-service-comparison {
  width: min(58rem, calc(100vw - 29rem));
  max-width: none;
  margin: 1.5rem 0 2rem;
}
.methodology-prose .pfd-service-comparison a { display: block; }
.methodology-prose .pfd-service-comparison img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  background: #f8fafd;
}
.methodology-prose .pfd-service-comparison figcaption {
  margin-top: .65rem;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.55;
}
.methodology-guide {
  margin: 1rem 0 1.9rem;
  padding: .9rem 1rem;
  border: 1px solid #1d9c95;
  border-radius: .38rem;
  background: #fff;
}
.methodology-guide p { margin: 0; }
.methodology-prose blockquote { margin: 1.25rem 0; }
.methodology-callout {
  padding: .85rem 1.05rem;
  border: 1px solid var(--line-strong);
  border-radius: .38rem;
  background: var(--surface-soft);
  color: var(--ink);
}
.methodology-callout p { margin: 0; }
.methodology-callout-label {
  display: flex;
  gap: .45rem;
  align-items: center;
  margin-bottom: .45rem;
}
.methodology-callout-label + br { display: none; }
.methodology-callout-label img { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.methodology-callout-label strong {
  font-size: .78rem;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.methodology-callout.quality-check { border-color: #71bba8; background: #f3faf7; }
.methodology-callout.quality-check .methodology-callout-label strong { color: var(--teal); }
.methodology-callout.technical-note { border-color: #8da4ed; background: #f5f7ff; }
.methodology-callout.technical-note .methodology-callout-label strong { color: #364fb5; }
.methodology-callout.interpret-with-care { border-color: #d6a762; background: #fff9ef; }
.methodology-callout.interpret-with-care .methodology-callout-label strong { color: var(--amber); }
.methodology-callout.example { border-color: var(--line-strong); background: #f7f9fc; }
.methodology-callout.current-status { border-color: #d4d9e3; background: #f3f4f6; color: #44516f; }
.methodology-callout.current-status .methodology-callout-label strong { color: #526078; }
.methodology-prose h2#read-more + ul,
.methodology-prose h2#read-next + ul { padding-left: 1.15rem; }
.methodology-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 2.6rem 1.85rem 3rem;
  border-left: 1px solid var(--line);
  background: rgba(255, 255, 255, .96);
}
.methodology-sidebar > h2 { margin: 0 0 .6rem; font-size: 1.15rem; letter-spacing: -.02em; }
.methodology-sidebar > p { margin: 0 0 1.65rem; color: var(--ink); font-size: .85rem; line-height: 1.45; }
.methodology-navigation { display: grid; }
.methodology-navigation a {
  display: flex;
  gap: .75rem;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-size: .82rem;
  line-height: 1.35;
  text-decoration: none;
}
.methodology-navigation a:hover { background: #fafbff; }
.methodology-navigation a[aria-current="page"] {
  border-left: 4px solid var(--blue);
  border-radius: .22rem;
  background: var(--blue-soft);
  color: var(--ink);
  font-weight: 720;
}
.methodology-navigation small { flex: 0 0 auto; color: var(--blue); font-size: .68rem; font-weight: 500; }
.methodology-meta { margin: 1rem 0 0; padding-top: .9rem; border-top: 1px solid #9ba8c2; }
.methodology-meta div { margin-top: 1rem; }
.methodology-meta dt { color: var(--ink); font-size: .75rem; font-weight: 720; }
.methodology-meta dd { margin: .45rem 0 0; color: var(--ink); font-size: .8rem; }
.methodology-correction { display: inline-block; margin-top: 1rem; font-size: .8rem; text-decoration: none; }
.methodology-mobile-menu { display: none; }

.methodology-package-link {
  max-width: 39rem;
  margin-top: 2.5rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid #9eb0dd;
  border-radius: .6rem;
  background: var(--blue-soft);
}
.methodology-package-link strong { color: var(--ink-strong); }
.methodology-package-link p { margin: .45rem 0 .75rem; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.methodology-package-link a { font-size: .85rem; font-weight: 720; text-decoration: none; }

@media (max-width: 1080px) {
  .methodology-layout { display: block; }
  .methodology-article { padding-right: 2.85rem; }
  .methodology-article > * { max-width: 42rem; }
  .methodology-sidebar { display: none; }
  .methodology-mobile-menu {
    display: block;
    margin: 0 0 2rem;
    border: 1px solid var(--line);
    border-radius: .75rem;
    background: var(--surface);
  }
  .methodology-mobile-menu summary { padding: .9rem 1rem; color: var(--ink); font-weight: 720; cursor: pointer; }
  .methodology-mobile-menu .methodology-navigation { padding: 0 .65rem .65rem; }
  .methodology-mobile-menu .methodology-navigation a { min-height: 3.25rem; }
}

/* Independent PFD Toolkit Python package */
.python-package-main { max-width: 76rem; padding-top: 3.25rem; }
.package-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 4.5rem);
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(135deg, #f8faff 0%, #eef2ff 58%, #e8f6f3 100%);
}
.package-hero h1 { margin: .5rem 0 1.2rem; font-size: clamp(3rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.06em; }
.package-lede { max-width: 42rem; margin: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.package-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.package-button { display: inline-flex; gap: .6rem; align-items: center; min-height: 3rem; padding: .7rem 1rem; border: 1px solid #9eb0dd; border-radius: .5rem; background: #fff; color: var(--ink); font-size: .82rem; font-weight: 720; text-decoration: none; }
.package-button:hover { border-color: var(--blue); color: var(--blue); }
.package-button-primary { border-color: var(--blue); background: var(--blue); color: #fff; }
.package-button-primary:hover { background: var(--blue-strong); color: #fff; }
.package-install { display: grid; gap: .75rem; padding: 1.5rem; border-radius: .75rem; background: #071744; box-shadow: 0 18px 45px rgba(6, 20, 73, .16); color: #fff; }
.package-install span { color: #aebce8; font-size: .7rem; font-weight: 720; letter-spacing: .07em; text-transform: uppercase; }
.package-install code { overflow-x: auto; color: #fff; font-size: 1rem; white-space: nowrap; }
.package-separation { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2rem; margin: 1.25rem 0 4.5rem; padding: 1.25rem 1.5rem; border-left: 4px solid var(--teal); background: #f0faf7; }
.package-separation strong { color: var(--teal-strong); font-size: .86rem; }
.package-separation p { margin: 0; color: var(--ink); font-size: .86rem; line-height: 1.65; }
.package-capabilities, .package-resources { margin-top: 4rem; }
.package-capabilities > div:first-child { max-width: 38rem; }
.package-capabilities h2, .package-resources h2 { margin: .45rem 0 1.8rem; font-size: clamp(2rem, 4vw, 3rem); }
.package-capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.package-capability-grid article { padding: 1.5rem 1.3rem 1.7rem; }
.package-capability-grid article + article { border-left: 1px solid var(--line); }
.package-capability-grid span { color: var(--blue); font-size: .7rem; font-weight: 760; }
.package-capability-grid h3 { margin: 1.4rem 0 .5rem; font-size: 1rem; }
.package-capability-grid p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.65; }
.package-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.package-resource-grid a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem 1rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: .6rem; color: var(--ink); text-decoration: none; }
.package-resource-grid a:hover { border-color: var(--blue); background: var(--blue-soft); }
.package-resource-grid strong { font-size: .95rem; }
.package-resource-grid span { color: var(--muted); font-size: .76rem; }
.package-resource-grid b { grid-row: 1 / 3; grid-column: 2; align-self: center; color: var(--blue); }

.package-docs-page .topbar { display: none; }
.package-docs-page .page-frame { background: var(--surface); }
.package-docs-notice { display: grid; gap: .25rem; margin-bottom: 1.75rem; padding: .85rem 1rem; border-left: 4px solid var(--teal); background: #f0faf7; font-size: .78rem; line-height: 1.5; }
.package-docs-notice strong { color: var(--teal-strong); }
.package-docs-notice span { color: var(--ink); }
.package-docs-prose > h1:first-child { margin: 0 0 1.15rem; font-size: clamp(2.55rem, 4vw, 3.2rem); line-height: 1.08; }
.package-docs-prose img { max-width: 100%; height: auto; border-radius: .5rem; }
.package-docs-prose pre { overflow-x: auto; margin: 1rem 0 1.4rem; padding: 1rem; border-radius: .45rem; background: #071744; color: #eef3ff; font-size: .82rem; line-height: 1.55; }
.package-docs-prose code { font-size: .88em; }
.package-docs-prose :not(pre) > code { padding: .12rem .32rem; border-radius: .25rem; background: #edf1fb; color: #172b68; }
.package-docs-prose table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .76rem; }
.package-docs-prose th, .package-docs-prose td { min-width: 8rem; padding: .55rem .7rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.package-docs-prose blockquote { padding: .8rem 1rem; border-left: 4px solid #8da4ed; background: #f5f7ff; }
.package-docs-prose blockquote p:last-child { margin-bottom: 0; }
.package-doc-admonition { margin: 1.25rem 0; padding: .85rem 1rem; border-left: 4px solid #8da4ed; background: #f5f7ff; }
.package-doc-admonition > p:first-child { margin-bottom: .55rem; color: var(--ink-strong); }
.package-doc-admonition > :last-child { margin-bottom: 0; }
.package-doc-admonition.warning, .package-doc-admonition.important { border-color: #d6a762; background: #fff9ef; }
.package-docs-navigation h3 { margin: 1.25rem 0 .3rem; color: var(--muted); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.package-docs-navigation h3:first-child { margin-top: 0; }
.package-docs-navigation a { min-height: 2.7rem; padding-block: .45rem; }
.package-docs-source { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .78rem; }
.package-docs-repository { display: inline-block; margin-top: 1.4rem; font-size: .8rem; font-weight: 720; text-decoration: none; }

@media (max-width: 900px) {
  .package-hero { grid-template-columns: 1fr; }
  .package-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-capability-grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .package-capability-grid article:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .python-package-main { padding-top: 1.25rem; }
  .package-hero { padding: 1.75rem 1.25rem; }
  .package-separation { grid-template-columns: 1fr; gap: .5rem; }
  .package-capability-grid, .package-resource-grid { grid-template-columns: 1fr; }
  .package-capability-grid article + article { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 620px) {
  .methodology-article { padding: 1.5rem 1.1rem 4rem; }
  .methodology-breadcrumbs { margin-bottom: 1.4rem; }
  .methodology-article > h1 { font-size: clamp(2.25rem, 11vw, 3rem); }
  .methodology-prose { font-size: .96rem; line-height: 1.58; }
  .methodology-prose h2 { font-size: 1.5rem; }
  .methodology-navigation a { padding-inline: .75rem; }
  .methodology-prose .pfd-service-comparison { width: 100%; }
  .methodology-navigation small { display: none; }
}

/* Commissioned research and monitoring */
.services-page .topbar {
  justify-content: flex-end;
  min-height: 4.5rem;
  border-bottom-color: transparent;
  background: rgba(248, 250, 253, .92);
}
.services-page .topbar-title { display: none; }
.services-main {
  display: grid;
  width: min(73rem, 100%);
  gap: 1rem;
  padding: 0 1.75rem 3rem;
}
.services-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.services-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(220, 227, 241, .94);
  border-radius: .75rem;
  background: var(--surface);
  box-shadow: 0 5px 20px rgba(36, 53, 105, .035);
}
.services-panel h2 { margin: 0; font-size: 1rem; line-height: 1.3; letter-spacing: -.025em; }
.services-panel svg { fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.services-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .88fr); min-height: 26.5rem; }
.services-hero-copy { position: relative; z-index: 3; padding: 2.6rem 1rem 2.25rem 2.75rem; }
.services-hero .section-label { margin-bottom: 1rem; font-size: .65rem; }
.services-hero h1 { margin-bottom: 1.1rem; font-size: clamp(2.45rem, 3.35vw, 3.15rem); line-height: 1.12; }
.services-hero-copy > p:not(.section-label):not(.services-assurance) { max-width: 35rem; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.9; }
.services-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.services-button {
  display: inline-flex;
  min-height: 2.85rem;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .7rem 1.15rem;
  border: 1px solid transparent;
  border-radius: .45rem;
  font-size: .76rem;
  font-weight: 720;
  text-decoration: none;
  cursor: pointer;
}
.services-button-primary { background: var(--teal); color: #fff; box-shadow: 0 7px 18px rgba(0, 108, 99, .13); }
.services-button-primary:hover { background: var(--teal-strong); }
.services-button-secondary { border-color: #9eb0dd; background: #fff; color: var(--ink); }
.services-button-secondary:hover { border-color: var(--blue); color: var(--blue); }
.services-assurance { display: flex; gap: .55rem; align-items: center; margin: 1.6rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.services-assurance svg { width: 1.3rem; height: 1.3rem; flex: 0 0 auto; color: var(--blue); }
.services-hero-art { position: absolute; top: 1.85rem; right: 2.7rem; z-index: 1; width: min(38%, 25rem); height: auto; mix-blend-mode: multiply; }
.services-motif { position: absolute; right: -1.2rem; bottom: 0; z-index: 2; width: 8.7rem; height: 15.5rem; opacity: .7; background: radial-gradient(circle at 0 25%, transparent 0 39%, #dcece5 40% 69%, transparent 70%), radial-gradient(circle at 100% 75%, transparent 0 39%, #cde2d9 40% 69%, transparent 70%); }
.services-motif::after { position: absolute; top: 45%; right: 1.1rem; width: 2.8rem; height: 4rem; background-image: radial-gradient(#8fcfbd 1px, transparent 1px); background-size: 7px 7px; content: ""; }

.services-offers { padding: 1.45rem 1.15rem 1rem; }
.services-offers > h2, .services-process > h2, .commission-standards > h2, .services-enquiry > h2 { margin: 0 0 1.15rem .2rem; }
.offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.offer-card { display: flex; min-height: 24rem; flex-direction: column; padding: 1.55rem 1.4rem 1.25rem; border: 1px solid var(--line); border-radius: .65rem; background: #fff; }
.offer-icon { width: 3.75rem; height: 3.75rem; margin-bottom: 1.25rem; padding: .7rem; border: 1px solid #dfe4fa; border-radius: .6rem; color: #5e64ed; background: linear-gradient(145deg, #fff 50%, #f0f1ff); }
.offer-card:nth-child(2) .offer-icon { border: 0; border-radius: 50%; background: #f1f2ff; }
.offer-card h3 { margin: 0 0 .7rem; font-size: 1.1rem; }
.offer-card > p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.75; }
.offer-card .offer-includes { margin-top: auto; padding-top: 1.2rem; color: #526bb1; }
.offer-includes i { padding: 0 .28rem; color: #8d9ac5; font-style: normal; }
.offer-card .offer-time { display: flex; gap: .45rem; align-items: center; margin-top: 1rem; }
.offer-time svg { width: 1rem; height: 1rem; color: var(--blue); }
.offer-card > a { margin-top: 1.15rem; font-size: .74rem; font-weight: 720; text-decoration: none; }
.offer-card > a span { margin-left: .45rem; }
.scope-callout { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 1rem; align-items: center; margin-top: .9rem; padding: .85rem 1.2rem; border: 1px solid #9dadf2; border-radius: .5rem; color: var(--ink); }
.scope-callout > svg { width: 2rem; height: 2rem; color: #4f5ef0; }
.scope-callout strong { display: block; margin-bottom: .25rem; font-size: .84rem; }
.scope-callout p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.6; }

.services-process { scroll-margin-top: 5rem; padding: 1.5rem 1.4rem 1.15rem; }
.services-process ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem; margin: .7rem 1.1rem 1rem; padding: 0; list-style: none; }
.services-process li { position: relative; text-align: center; }
.services-process li:not(:last-child)::after { position: absolute; top: 1.05rem; left: calc(50% + 2rem); width: calc(100% - 1rem); color: var(--blue); font-size: 1.4rem; content: "→"; }
.services-process li > span { display: grid; width: 2.2rem; height: 2.2rem; margin: 0 auto .6rem; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--ink); font-size: .82rem; font-weight: 760; }
.services-process li strong { font-size: .7rem; line-height: 1.42; }
.services-process > p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.6; }

.services-audiences { display: grid; gap: 1rem; }
.audience-row { display: grid; grid-template-columns: 19rem minmax(0, 1fr); min-height: 20rem; padding: 1.75rem 1.4rem; }
.audience-intro { position: relative; z-index: 3; }
.audience-intro .section-label { margin-bottom: 1rem; font-size: .62rem; }
.audience-intro h2 { max-width: 19rem; margin-bottom: .8rem; font-size: 1.35rem; line-height: 1.32; }
.audience-intro > p:not(.section-label):not(.services-assurance) { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.72; }
.audience-intro .services-assurance { margin-top: 1.15rem; }
.audience-intro .services-button { margin-top: 1rem; }
.audience-benefits { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; align-items: stretch; padding-left: 1.25rem; }
.audience-benefits > div { display: flex; min-width: 0; flex-direction: column; padding: 1.25rem .95rem; border: 1px solid var(--line); border-radius: .6rem; background: rgba(255, 255, 255, .94); }
.audience-benefits svg { width: 2.8rem; height: 2.8rem; margin-bottom: 1.25rem; color: #5761ef; }
.audience-benefits strong { min-height: 2.8rem; font-size: .73rem; line-height: 1.42; }
.audience-benefits p { margin: .65rem 0 0; color: var(--muted); font-size: .62rem; line-height: 1.68; }
.audience-row > .services-motif { width: 8rem; height: 14rem; opacity: .68; }
.audience-research { grid-template-columns: 19rem minmax(0, 1fr) 13rem; }
.research-cohort-art { align-self: center; width: 14rem; max-width: none; height: auto; mix-blend-mode: multiply; }
.audience-boundary { grid-column: 1 / -1; display: flex; gap: .55rem; align-items: center; margin: 1.1rem 0 -.55rem; color: var(--muted); font-size: .64rem; }
.audience-boundary svg { width: 1.1rem; height: 1.1rem; color: var(--blue); }

.commission-standards { padding: 1.45rem 1.35rem 1.25rem; }
.commission-standards > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.commission-standards article { display: grid; grid-template-columns: 2.6rem 1fr; gap: .7rem; }
.commission-standards article > svg { width: 2.4rem; height: 2.4rem; color: #5360ec; }
.commission-standards article p { margin: 0; }
.commission-standards article strong { display: block; margin-bottom: .35rem; font-size: .7rem; line-height: 1.4; }
.commission-standards article span { display: block; color: var(--muted); font-size: .61rem; line-height: 1.65; }
.commission-standards > p { margin: 1.3rem 0 0; color: var(--muted); font-size: .66rem; }

.services-enquiry { scroll-margin-top: 5rem; padding: 1.35rem 1.4rem 1.25rem; }
.services-enquiry form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1.1rem; }
.enquiry-field { display: grid; gap: .25rem; }
.enquiry-field label { color: var(--ink); font-size: .61rem; font-weight: 720; }
.enquiry-field label span { color: var(--muted); font-weight: 500; }
.enquiry-field input { width: 100%; min-height: 2.2rem; padding: .48rem .7rem; border: 1px solid var(--line); border-radius: .4rem; color: var(--ink); font-size: .68rem; outline: 0; }
.enquiry-field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(18,87,255,.1); }
.enquiry-field input::placeholder { color: #8290b1; }
.enquiry-field input[aria-invalid="true"] { border-color: #c92a2a; }
.enquiry-output { grid-column: 1 / -1; }
.field-error { color: #a41624; font-size: .62rem; }
.enquiry-submit { grid-column: 1 / -1; display: flex; gap: 1.1rem; align-items: center; margin-top: .2rem; }
.enquiry-submit .services-button { border: 0; }
.enquiry-submit p { margin: 0; color: var(--muted); font-size: .66rem; }
.services-notice { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 80; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; width: min(28rem, calc(100vw - 2rem)); padding: 1rem 1rem 1rem 1.1rem; border: 1px solid transparent; border-radius: .75rem; background: #fff; box-shadow: 0 18px 48px rgba(15, 31, 73, .2); opacity: 0; transform: translateY(.75rem); transition: opacity 180ms ease, transform 220ms ease; }
.services-notice[hidden] { display: none; }
.services-notice.is-visible { opacity: 1; transform: translateY(0); }
.services-notice-success { border-color: #b9ddcf; background: #f1faf6; color: #126558; }
.services-notice-error { border-color: #efc1c5; background: #fff6f6; color: #951c28; }
.services-notice-copy { display: grid; gap: .3rem; }
.services-notice-copy strong { font-size: .9rem; line-height: 1.35; }
.services-notice-copy span { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.services-notice > button { align-self: start; width: 1.75rem; height: 1.75rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: currentColor; cursor: pointer; font-size: 1.35rem; line-height: 1; }
.services-notice > button:hover { background: rgba(15, 31, 73, .07); }

@media (max-width: 1120px) {
  .services-hero { grid-template-columns: minmax(0, 1fr) 15rem; }
  .services-hero-art { right: .5rem; width: 18rem; }
  .audience-row, .audience-research { grid-template-columns: 15rem minmax(0, 1fr); }
  .audience-benefits { gap: .45rem; padding-left: .6rem; }
  .audience-benefits > div { padding-inline: .72rem; }
  .research-cohort-art { display: none; }
}

@media (max-width: 820px) {
  .services-page .topbar { min-height: 1rem; padding: 0; }
  .services-main { gap: .8rem; padding: 1rem; }
  .services-hero { display: block; min-height: 34rem; }
  .services-hero-copy { padding: 2rem 1.35rem; }
  .services-hero h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .services-hero-art { top: auto; right: 50%; bottom: .25rem; width: 19rem; transform: translateX(50%); opacity: .36; }
  .services-hero .services-motif { display: none; }
  .offer-grid { grid-template-columns: 1fr; }
  .offer-card { min-height: 20rem; }
  .services-process ol { grid-template-columns: 1fr; gap: .75rem; margin-inline: 0; }
  .services-process li { display: grid; grid-template-columns: 2.2rem 1fr; gap: .8rem; align-items: center; text-align: left; }
  .services-process li > span { margin: 0; }
  .services-process li strong br { display: none; }
  .services-process li:not(:last-child)::after { display: none; }
  .audience-row, .audience-research { grid-template-columns: 1fr; gap: 1.5rem; }
  .audience-benefits { grid-template-columns: 1fr; padding-left: 0; }
  .audience-benefits > div { display: grid; grid-template-columns: 3rem 1fr; column-gap: .8rem; }
  .audience-benefits svg { grid-row: 1 / span 2; margin: 0; }
  .audience-benefits strong { min-height: 0; }
  .audience-benefits p { grid-column: 2; }
  .audience-row > .services-motif { display: none; }
  .commission-standards > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .services-actions, .services-button { width: 100%; }
  .scope-callout { grid-template-columns: 2rem minmax(0, 1fr); align-items: start; }
  .commission-standards > div, .services-enquiry form { grid-template-columns: 1fr; }
  .enquiry-output, .enquiry-submit { grid-column: 1; }
  .enquiry-submit { display: grid; }
}

/* Services readability redesign */
.services-page .main-nav a,
.services-page .sidebar-secondary a { font-size: .98rem; }
.services-main {
  display: block;
  width: 100%;
  max-width: none;
  padding: 0 0 5rem;
  background: #fff;
}
.services-main > section { scroll-margin-top: 5rem; }
.services-surface,
.services-offers,
.services-process,
.services-audiences,
.commission-standards,
.services-enquiry {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.services-main .section-label {
  margin-bottom: .9rem;
  color: var(--teal);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .075em;
}
.services-section-heading { max-width: 44rem; margin-bottom: 3rem; }
.services-section-heading h2,
.process-heading h2,
.enquiry-intro h2 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.12;
  letter-spacing: -.045em;
}
.services-section-heading > p:last-child,
.enquiry-intro > p:last-child {
  max-width: 42rem;
  margin: 1rem 0 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.72;
}

.services-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(24rem, .8fr);
  min-height: 36rem;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.services-hero-copy { padding: 6rem 1rem 6rem clamp(2rem, 5vw, 6rem); }
.services-hero h1 {
  max-width: 50rem;
  margin-bottom: 1.35rem;
  font-size: clamp(3.4rem, 4.3vw, 4.5rem);
  line-height: 1.02;
}
.services-hero-copy > p:not(.section-label):not(.services-assurance) {
  max-width: 45rem;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.75;
}
.services-actions { margin-top: 2rem; }
.services-button {
  min-height: 3.25rem;
  padding: .85rem 1.35rem;
  border-radius: .55rem;
  font-size: .94rem;
}
.services-assurance { margin-top: 1.65rem; font-size: .88rem; }
.services-assurance img { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; }
.services-hero-art {
  top: 50%;
  right: clamp(2rem, 5vw, 5rem);
  width: min(34%, 31rem);
  height: auto;
  opacity: .9;
  filter: contrast(1.12) saturate(1.08);
  transform: translateY(-51%);
  mix-blend-mode: multiply;
  animation: services-art-settle 900ms cubic-bezier(.2,.8,.2,1) both;
}
.services-hero .services-motif { width: 11rem; height: 19rem; opacity: .55; }

.services-offers { padding: 5.5rem clamp(2rem, 5vw, 6rem) 4rem; }
.offer-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.offer-item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 30rem;
  padding: 0 clamp(1rem, 1.7vw, 2rem);
  transition: background-color 240ms ease, transform 320ms cubic-bezier(.2,.75,.25,1);
}
.offer-item::before {
  position: absolute;
  top: -.8rem;
  right: clamp(1rem, 1.7vw, 2rem);
  left: clamp(1rem, 1.7vw, 2rem);
  height: 2px;
  border-radius: 999px;
  background: var(--teal);
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transform-origin: left;
  transition: opacity 220ms ease, transform 320ms cubic-bezier(.2,.75,.25,1);
}
.offer-item:first-child::before { left: 0; }
.offer-item:last-child::before { right: 0; }
.offer-item:first-child { padding-left: 0; }
.offer-item:last-child { padding-right: 0; }
.offer-item + .offer-item { border-left: 1px solid var(--line); }
.service-icon {
  width: 3.4rem;
  height: 3.4rem;
  margin-bottom: 1.55rem;
  padding: .72rem;
  border-radius: 50%;
  background: #f0f2ff;
  transition: background-color 240ms ease, box-shadow 240ms ease, transform 320ms cubic-bezier(.2,.75,.25,1);
}
.offer-item h3 { min-height: 3.4rem; margin: 0 0 .8rem; font-size: 1.3rem; line-height: 1.3; }
.offer-item > .offer-summary { min-height: 8.2rem; max-width: 23rem; margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.68; }
.offer-item ul { display: grid; gap: .65rem; margin: 1.6rem 0; padding: 0; list-style: none; }
.offer-item li { position: relative; padding-left: 1.45rem; color: #324978; font-size: .96rem; line-height: 1.45; }
.offer-item li::before { position: absolute; top: .35rem; left: 0; width: .58rem; height: .58rem; border: 2px solid var(--blue); border-radius: 50%; content: ""; }
.offer-item > a { margin-top: auto; color: var(--blue); font-size: .94rem; font-weight: 720; text-decoration: none; }
.offer-item > a span,
.services-button span[aria-hidden="true"] { display: inline-block; transition: transform 220ms ease; }
.offer-item:hover,
.offer-item:focus-within { transform: translateY(-6px); }
.offer-item:hover::before,
.offer-item:focus-within::before { opacity: 1; transform: scaleX(1); }
.offer-item:hover .service-icon,
.offer-item:focus-within .service-icon {
  background: #e5f4ef;
  box-shadow: 0 10px 24px rgba(0, 108, 99, .12);
  transform: translateY(-4px) rotate(-3deg);
}
.offer-item > a:hover span,
.offer-item > a:focus-visible span,
.services-button:hover span[aria-hidden="true"],
.services-button:focus-visible span[aria-hidden="true"] { transform: translateX(4px); }
.scope-callout {
  display: flex;
  max-width: 58rem;
  gap: 1rem;
  align-items: flex-start;
  margin: 3rem 0 0;
  padding: 1.1rem 0 0;
  border: 0;
  border-top: 1px solid var(--line);
}
.scope-callout > img { width: 1.7rem; height: 1.7rem; flex: 0 0 auto; }
.scope-callout p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.scope-callout strong { display: inline; color: var(--ink); font-size: inherit; }

.services-process {
  display: grid;
  grid-template-columns: minmax(15rem, .7fr) minmax(0, 2fr);
  gap: 3.5rem;
  padding: 4.5rem clamp(2rem, 5vw, 6rem);
  background: #f4f6ff;
}
.process-heading h2 { max-width: 22rem; font-size: clamp(1.8rem, 2.5vw, 2.55rem); }
.services-process ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.4rem; margin: 0; }
.services-process li { position: relative; text-align: left; }
.services-process li:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 1.2rem;
  left: 2.5rem;
  width: calc(100% + 1.4rem);
  height: 2px;
  background: #9cace7;
  content: "";
  transform-origin: left;
}
.services-process li > span {
  position: relative;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 0 1rem;
  background: #425cdb;
  color: #fff;
  font-size: .9rem;
  box-shadow: 0 0 0 7px #f4f6ff;
}
.services-process li strong { display: block; min-height: 2.8rem; font-size: .98rem; line-height: 1.4; }
.services-process li p { margin: .65rem 0 0; color: var(--muted); font-size: .92rem; line-height: 1.55; }

.services-audiences { padding: 6rem clamp(2rem, 5vw, 6rem); }
.audience-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.35rem; }
.audience-tabs button {
  display: flex;
  min-height: 4.4rem;
  gap: .8rem;
  align-items: center;
  justify-content: center;
  padding: .85rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .65rem;
  background: #fff;
  color: #31416e;
  font-size: .98rem;
  font-weight: 680;
  cursor: pointer;
}
.audience-tabs button { transition: border-color 200ms ease, box-shadow 240ms ease, color 200ms ease, transform 240ms cubic-bezier(.2,.75,.25,1); }
.audience-tabs button:hover { border-color: #9babdf; color: var(--blue); transform: translateY(-2px); }
.audience-tabs button[aria-selected="true"] { border-color: var(--blue); background: #f8f9ff; color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.audience-tabs img { width: 1.6rem; height: 1.6rem; }
.audience-stage { border: 1px solid var(--line); border-radius: 1rem; background: #fafbff; }
.audience-panel { display: grid; grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.18fr); min-height: 34rem; }
.services-enhanced .audience-panel:not(.is-active) { display: none; }
.audience-panel.is-active { animation: audience-enter 420ms cubic-bezier(.2,.75,.25,1) both; }
.audience-art { position: relative; display: grid; overflow: hidden; padding: 3rem; place-items: center; }
.audience-art::after { position: absolute; bottom: -5rem; left: -4rem; width: 15rem; height: 15rem; border-radius: 50%; background: #dcece5; opacity: .8; content: ""; }
.audience-art img { position: relative; z-index: 1; width: min(100%, 27rem); height: auto; mix-blend-mode: multiply; }
.audience-copy { align-self: center; max-width: 41rem; padding: 4rem clamp(2rem, 5vw, 5rem) 4rem 1.5rem; }
.audience-copy h3 { margin: 0 0 1rem; font-size: clamp(2rem, 3vw, 3.15rem); line-height: 1.08; letter-spacing: -.045em; }
.audience-copy > p { max-width: 39rem; margin: 0; color: var(--muted); font-size: 1.02rem; line-height: 1.7; }
.audience-copy ul { display: grid; gap: 1.15rem; margin: 2rem 0; padding: 0; list-style: none; }
.audience-copy li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .9rem; align-items: start; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.audience-copy li img { width: 2.5rem; height: 2.5rem; padding: .55rem; border-radius: 50%; background: #f0f2ff; }
.audience-copy li strong { display: block; margin-bottom: .15rem; color: var(--ink); font-size: .98rem; }

.commission-standards { padding: 5.5rem clamp(2rem, 5vw, 6rem); background: #f8f9fd; }
.commission-standards > .services-section-heading { display: block; }
.standards-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.standards-rail article { display: block; padding: 0 clamp(1rem, 2.5vw, 2.4rem); }
.standards-rail article:first-child { padding-left: 0; }
.standards-rail article:last-child { padding-right: 0; }
.standards-rail article + article { border-left: 1px solid var(--line); }
.standards-rail img { width: 2.8rem; height: 2.8rem; margin-bottom: 1.1rem; padding: .55rem; border-radius: 50%; background: #eef1ff; }
.standards-rail h3 { margin: 0 0 .55rem; font-size: 1rem; line-height: 1.35; }
.standards-rail p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.6; }
.standards-boundary { margin: 2.8rem 0 0; color: var(--muted); font-size: .9rem; }

.services-enquiry { display: grid; grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); gap: 4rem; padding: 6rem clamp(2rem, 5vw, 6rem); background: #f3f5ff; }
.enquiry-intro { max-width: 31rem; }
.services-enquiry form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1.35rem; align-content: start; }
.services-enquiry form[aria-busy="true"] { opacity: .72; }
.services-enquiry button:disabled { cursor: wait; }
.enquiry-field { gap: .42rem; }
.enquiry-field label { font-size: .88rem; }
.enquiry-field input,
.enquiry-field textarea { width: 100%; padding: .75rem .9rem; border: 1px solid #bcc8e6; border-radius: .48rem; background: #fff; color: var(--ink); font: inherit; font-size: .98rem; outline: 0; }
.enquiry-field input { min-height: 3.2rem; }
.enquiry-field textarea { min-height: 7.5rem; line-height: 1.55; resize: vertical; }
.enquiry-field input:focus,
.enquiry-field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(18,87,255,.1); }
.enquiry-field input::placeholder,
.enquiry-field textarea::placeholder { color: #7382a5; }
.enquiry-field input[aria-invalid="true"],
.enquiry-field textarea[aria-invalid="true"] { border-color: #c92a2a; }
.enquiry-question,
.enquiry-output { grid-column: 1 / -1; }
.enquiry-submit { margin-top: .35rem; }
.enquiry-submit p { display: flex; gap: .5rem; align-items: center; color: var(--muted); font-size: .82rem; }
.enquiry-submit p img { width: 1.2rem; height: 1.2rem; }

@keyframes services-art-settle {
  from { opacity: 0; transform: translateY(-47%); }
  to { opacity: .9; transform: translateY(-51%); }
}
@keyframes audience-enter {
  from { opacity: 0; transform: translateY(14px) scale(.995); }
  to { opacity: 1; transform: translateY(0); }
}
.services-motion-ready .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: none;
}
.services-motion-ready .offer-item.reveal { transform: translateY(32px) scale(.985); }
.services-motion-ready .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.75,.25,1);
  transition-delay: calc(var(--reveal-index, 0) * 85ms);
}
.services-motion-ready .reveal.reveal-complete { transition-delay: 0ms; }
.services-motion-ready .offer-item.reveal.is-visible:hover,
.services-motion-ready .offer-item.reveal.is-visible:focus-within { transform: translateY(-6px); }
.services-motion-ready .offer-item.reveal:not(.is-visible) .service-icon { transform: translateY(10px) scale(.84); transition: none; }
.services-motion-ready .offer-item.reveal.is-visible .service-icon {
  transition: background-color 240ms ease, box-shadow 240ms ease, transform 320ms cubic-bezier(.2,.75,.25,1);
  transition-delay: calc((var(--reveal-index, 0) * 85ms) + 170ms);
}
.services-motion-ready .offer-item.reveal-complete .service-icon { transition-delay: 0ms; }
.services-motion-ready .services-process li:not(:last-child)::after {
  transform: scaleX(0);
  transition: none;
}
.services-motion-ready .services-process li.is-visible:not(:last-child)::after {
  transform: scaleX(1);
  transition: transform 520ms cubic-bezier(.2,.75,.25,1) calc((var(--reveal-index, 0) * 85ms) + 280ms);
}

@media (max-width: 1100px) {
  .services-hero { grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr); }
  .services-hero-copy { padding: 4.5rem 2.5rem; }
  .services-hero h1 { font-size: clamp(3rem, 6vw, 4.4rem); }
  .services-hero-art { right: 1.25rem; width: 21rem; }
  .offer-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offer-item { min-height: 28rem; padding: 2.5rem; }
  .offer-item:nth-child(odd) { padding-left: 0; border-left: 0; }
  .offer-item:nth-child(even) { padding-right: 0; border-left: 1px solid var(--line); }
  .offer-item:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .offer-item > .offer-summary { min-height: 6.5rem; }
  .services-process { grid-template-columns: 1fr; gap: 2.5rem; }
  .process-heading h2 { max-width: 37rem; }
}

@media (max-width: 900px) {
  .services-page .main-nav a { font-size: .86rem; }
  .services-hero { display: block; min-height: 43rem; }
  .services-hero-copy { position: relative; z-index: 3; padding: 3.5rem 2rem 16rem; }
  .services-hero-art { top: auto; right: 50%; bottom: -1rem; width: 22rem; transform: translateX(50%); opacity: .48; animation: none; }
  .services-hero .services-motif { display: none; }
  .offer-rail { grid-template-columns: 1fr; }
  .offer-item,
  .offer-item:nth-child(odd),
  .offer-item:nth-child(even) { min-height: 0; padding: 2.2rem 0; border-left: 0; }
  .offer-item + .offer-item { border-top: 1px solid var(--line); }
  .offer-item h3,
  .offer-item > .offer-summary { min-height: 0; }
  .services-process ol { grid-template-columns: 1fr; gap: 1.25rem; }
  .services-process li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: 1rem; }
  .services-process li > span { grid-row: 1 / span 2; }
  .services-process li strong { min-height: 0; }
  .services-process li p { grid-column: 2; }
  .services-process li:not(:last-child)::after { display: none; }
  .audience-tabs { grid-template-columns: 1fr; }
  .audience-tabs button { justify-content: flex-start; }
  .audience-panel { grid-template-columns: 1fr; }
  .audience-art { min-height: 19rem; padding: 1.5rem; }
  .audience-art img { width: min(80%, 21rem); }
  .audience-copy { padding: 2.5rem 1.5rem 3rem; }
  .standards-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 0; }
  .standards-rail article:nth-child(3) { padding-left: 0; border-left: 0; }
  .services-enquiry { grid-template-columns: 1fr; gap: 2.5rem; }
  .services-notice { right: 1rem; bottom: 1rem; }
}

@media (max-width: 620px) {
  .services-page .topbar { min-height: 1rem; }
  .services-main .section-label { font-size: .8rem; }
  .services-section-heading h2,
  .process-heading h2,
  .enquiry-intro h2 { font-size: 2rem; }
  .services-hero { min-height: 39rem; }
  .services-hero-copy { padding: 2.5rem 1.25rem 14rem; }
  .services-hero h1 { font-size: clamp(2.5rem, 12vw, 3.15rem); }
  .services-hero-copy > p:not(.section-label):not(.services-assurance) { font-size: 1rem; }
  .services-actions { display: grid; }
  .services-actions .services-button { width: 100%; }
  .services-hero-art { width: 19rem; opacity: .4; }
  .services-offers,
  .services-audiences,
  .commission-standards,
  .services-enquiry { padding: 4rem 1.25rem; }
  .services-process { padding: 4rem 1.25rem; }
  .services-section-heading { margin-bottom: 2.2rem; }
  .service-icon { width: 3rem; height: 3rem; }
  .audience-art { min-height: 15rem; }
  .audience-copy h3 { font-size: 2rem; }
  .standards-rail { grid-template-columns: 1fr; gap: 0; }
  .standards-rail article { padding: 1.5rem 0; }
  .standards-rail article + article { border-top: 1px solid var(--line); border-left: 0; }
  .services-enquiry form { grid-template-columns: 1fr; }
  .enquiry-question, .enquiry-output, .enquiry-submit { grid-column: 1; }
  .enquiry-submit { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  .services-hero-art,
  .audience-panel.is-active { animation: none; }
  .services-motion-ready .reveal { opacity: 1; transform: none; transition: none; }
  .offer-item,
  .offer-item::before,
  .service-icon,
  .offer-item > a span,
  .services-button span,
  .audience-tabs button,
  .services-process li::after { transition: none !important; }
  .offer-item:hover,
  .offer-item:focus-within,
  .offer-item:hover .service-icon,
  .offer-item:focus-within .service-icon,
  .audience-tabs button:hover,
  .offer-item > a:hover span,
  .offer-item > a:focus-visible span,
  .services-button:hover span,
  .services-button:focus-visible span { transform: none; }
}

@media print {
  .services-motion-ready .reveal { opacity: 1 !important; transform: none !important; }
  .audience-panel { display: grid !important; break-inside: avoid; }
}

/* Report detail production sizing. The reference image is a layout guide, not a
   pixel-density or outer-window specification. */
.report-page { background: var(--canvas); }
.report-page .shell {
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  min-height: 100vh;
  margin: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}
.report-page .app-sidebar {
  width: auto;
  height: 100vh;
  min-height: 0;
  padding: 1.5rem 1.25rem 1.4rem;
  background: rgba(255, 255, 255, .97);
}
.report-page .brand {
  display: flex;
  gap: .8rem;
  min-height: 3.1rem;
  margin: 0 .7rem 2.15rem;
  padding: 0;
  font-size: 1.55rem;
  line-height: normal;
  text-align: left;
}
.report-page .brand-mark { display: grid; }
.report-page .main-nav,
.report-page .sidebar-secondary { gap: .5rem; }
.report-page .main-nav a,
.report-page .sidebar-secondary a {
  display: flex;
  gap: .9rem;
  min-height: 3.55rem;
  padding: .75rem .9rem;
  border-radius: .9rem;
  font-size: .94rem;
  font-weight: 560;
  justify-items: normal;
  text-align: left;
}
.report-page .main-nav a img,
.report-page .sidebar-secondary a img { width: 1.55rem; height: 1.55rem; }
.report-page .main-nav a[aria-current="page"] { box-shadow: none; }
.report-page .main-nav a:nth-child(2) { display: flex; }
.report-page .sidebar-secondary {
  margin-top: 1.4rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
}
.report-page .sidebar-secondary a:first-child { display: flex; }
.report-page .sidebar-purpose { display: grid; }
.report-page .topbar,
.report-page .site-footer { display: flex; }
.report-page .page-frame { min-height: 100vh; background: transparent; }
.report-page .report-dashboard-page {
  width: min(92rem, 100%);
  max-width: none;
  margin-inline: auto;
  padding: 3rem clamp(2rem, 4vw, 4.5rem) 5rem;
}
.report-page .concern-breadcrumb {
  gap: .65rem;
  margin: 0 0 1.75rem;
  font-size: .82rem;
}
.report-dashboard-header {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 2rem;
  align-items: center;
}
.report-dashboard-identity h1 {
  font-size: clamp(2.15rem, 3vw, 3rem);
  line-height: 1.08;
}
.report-header-meta {
  gap: .55rem 0;
  margin-top: 1rem;
  font-size: .84rem;
}
.report-header-meta > * + *::before { height: 1rem; margin-inline: 1rem; }
.report-original-link { gap: .4rem; font-size: .84rem; }
.report-original-link img { width: .9rem; }
.report-dashboard-actions { gap: .75rem; }
.report-dashboard-actions .dashboard-action {
  min-height: 2.85rem;
  padding: .65rem 1rem;
  border-radius: .45rem;
  font-size: .84rem;
}
.report-dashboard-actions .dashboard-action img { width: 1.1rem; height: 1.1rem; }
.report-review-note { margin-top: 1rem; font-size: .75rem; }
.report-recipient-coverage {
  margin-top: 1.75rem;
  padding: 1.35rem 1.5rem 1.45rem;
  border-radius: .75rem;
}
.report-coverage-heading h2,
.report-ledger-heading h2 { font-size: 1.15rem; }
.report-coverage-grid { gap: 1.5rem; margin-top: 1.25rem; }
.report-coverage-recipient h3 {
  min-height: 2.7rem;
  font-size: .9rem;
  line-height: 1.45;
}
.report-response-state { gap: .5rem; margin-top: .65rem; font-size: .78rem; }
.report-response-state span { width: .95rem; height: .95rem; }
.report-coverage-counts { margin-top: .85rem; font-size: .76rem; }
.report-recipient-position { font-size: .78rem; line-height: 1.55; }
.report-evidence-ledger { margin-top: 2rem; }
.report-ledger-heading p { margin-top: .45rem; font-size: .78rem; line-height: 1.5; }
.report-ledger-tools {
  display: grid;
  grid-template-columns: auto auto minmax(25rem, 1fr) auto;
  gap: .65rem;
  margin-top: 1.25rem;
}
.report-ledger-tools select,
.report-status-filters button {
  min-height: 2.65rem;
  border-radius: .45rem;
  font-size: .78rem;
}
.report-ledger-tools select { width: auto; min-width: 9.5rem; padding: .6rem 2rem .6rem .75rem; }
.report-ledger-tools > label:first-child select,
.report-ledger-tools > label:nth-child(2) select { width: auto; }
.report-status-filters { gap: .45rem; }
.report-status-filters > span,
.report-sort-label { font-size: .76rem; }
.report-status-filters button { padding: .55rem .65rem; font-size: .72rem; }
.report-status-filters button img { width: 1rem; height: 1rem; }
.report-sort-label { gap: .55rem; margin-left: 0; white-space: nowrap; }
.report-sort-label select { width: auto; min-width: 8rem; }
.report-ledger-columns,
.report-ledger-concern-head,
.report-ledger-action-button {
  grid-template-columns: minmax(22rem, 1.3fr) minmax(13rem, 1fr) minmax(12rem, .75fr);
  gap: 1rem;
}
.report-ledger-columns {
  margin-top: .9rem;
  padding: .7rem .8rem;
  font-size: .7rem;
  font-weight: 680;
}
.report-ledger-concern-head {
  grid-template-columns: 2rem minmax(20rem, 1.3fr) minmax(13rem, 1fr) minmax(12rem, .75fr);
  gap: .75rem;
  min-height: 4rem;
  padding: .65rem .8rem;
  font-size: .78rem;
}
.report-concern-button { font-size: .88rem; line-height: 1.4; }
.report-concern-source { margin-top: .4rem; font-size: .7rem; }
.report-concern-source blockquote { font-size: .78rem; line-height: 1.55; }
.report-ledger-actions { margin-left: 1.6rem; }
.report-ledger-action-button {
  min-height: 3.65rem;
  padding: .65rem .8rem .65rem 1.8rem;
  font-size: .78rem;
}
.report-action-connector { width: 1.15rem; height: 1.85rem; }
.report-action-copy { line-height: 1.45; }
.report-unlinked-heading { padding: 1rem .8rem; }
.report-unlinked-heading h3 { font-size: .95rem; }
.report-unlinked-heading p { font-size: .75rem; }
.report-ledger-empty { font-size: .85rem; }
.report-provenance-line {
  gap: .5rem .85rem;
  margin: 1.25rem .5rem 0;
  font-size: .72rem;
  line-height: 1.5;
}
.report-provenance-line img { width: 1rem; }

@media (max-width: 90rem) {
  .report-ledger-tools { grid-template-columns: auto auto 1fr; }
  .report-status-filters { grid-column: 1 / -1; grid-row: 2; }
  .report-sort-label { grid-column: 3; grid-row: 1; justify-self: end; }
  .report-ledger-columns,
  .report-ledger-action-button { grid-template-columns: minmax(18rem, 1.2fr) minmax(11rem, .9fr) minmax(11rem, .75fr); }
  .report-ledger-concern-head { grid-template-columns: 2rem minmax(16rem, 1.2fr) minmax(11rem, .9fr) minmax(11rem, .75fr); }
}
@media (max-width: 70rem) {
  .report-page .report-dashboard-page { padding-inline: 2rem; }
  .report-dashboard-header { grid-template-columns: 1fr; }
  .report-dashboard-actions { justify-content: flex-start; }
  .report-coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-ledger-columns { display: none; }
  .report-ledger-concern-head { grid-template-columns: 2rem minmax(0, 1fr) auto; }
  .report-ledger-concern-head > span:last-child { grid-column: 2; }
  .report-ledger-action-button { grid-template-columns: minmax(0, 1fr) auto; }
  .report-action-recipient { grid-column: 1; }
  .report-ledger-action-button .commitment-status { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 48rem) {
  .report-page .shell { display: block; }
  .report-page .app-sidebar { display: none; }
  .report-page .topbar { display: flex; }
  .report-page .report-dashboard-page { padding: 2rem 1.25rem 3rem; }
  .report-header-meta { display: grid; gap: .5rem; }
  .report-header-meta > * + *::before { display: none; }
  .report-dashboard-actions { display: grid; }
  .report-ledger-tools { grid-template-columns: 1fr 1fr; }
  .report-ledger-tools > label:not(.report-sort-label) { width: auto; min-width: 0; }
  .report-ledger-tools > label:first-child select,
  .report-ledger-tools > label:nth-child(2) select { width: 100%; min-width: 0; }
  .report-status-filters { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-column: 1 / -1; }
  .report-status-filters > span { grid-column: 1 / -1; }
  .report-status-filters button { min-width: 0; white-space: normal; }
  .report-sort-label { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
  .report-sort-label select { width: auto; min-width: 9rem; }
}
@media (max-width: 34rem) {
  .report-coverage-grid { grid-template-columns: 1fr; }
  .report-status-filters button { font-size: .72rem; }
}

/* Report detail follows the boxed concern-dashboard visual system. */
.report-page .report-recipient-coverage,
.report-page .report-evidence-ledger {
  margin-top: 1.25rem;
  padding: 1.55rem;
  border: 1px solid var(--line);
  border-radius: .9rem;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.report-page .report-coverage-heading h2,
.report-page .report-ledger-heading h2 { margin: 0; }
.report-page .report-coverage-grid {
  gap: .8rem;
  margin-top: 1.25rem;
}
.report-page .report-coverage-recipient {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: .7rem;
  background: var(--surface-soft);
}
.report-page .report-coverage-recipient h3 { min-height: 0; }
.report-page .report-ledger-columns {
  display: none;
}
.report-page .report-ledger-list {
  display: grid;
  gap: .85rem;
  margin-top: 1rem;
}
.report-page .report-ledger-concern {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .7rem;
  background: var(--surface-soft);
}
.report-page .report-ledger-concern-head {
  grid-template-columns: 2rem minmax(0, 1fr) minmax(12rem, 18rem);
  background: var(--surface);
}
.individual-concern-icon {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: #fff3e8;
  color: #a94319;
}
.individual-concern-icon img { width: 1.05rem; height: 1.05rem; }
.report-page .report-ledger-actions { margin-left: 0; }
.report-page .report-ledger-action { border-top: 1px solid var(--line); }
.report-page .report-ledger-action > .report-ledger-action-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 19rem);
  grid-template-areas: "copy status";
  gap: 1.25rem;
  align-items: center;
  min-height: 4.4rem;
  padding: .8rem 1rem;
  border-left: 3px solid #8acdc5;
}
.report-page .report-action-copy { grid-area: copy; font-size: var(--text-body-sm); }
.report-page .report-action-recipient { display: none; }
.report-page .report-action-connector { display: none; }
.report-page .report-ledger-action-button .commitment-status,
.report-page .report-position-kind {
  grid-area: status;
  justify-self: end;
  margin: 0;
  padding: .35rem .55rem;
  border-radius: .45rem;
  background: var(--surface-soft);
  white-space: normal;
}
.report-page .report-position-kind {
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  color: var(--muted);
  font-size: .67rem;
  font-weight: 680;
  line-height: 1.35;
}
.report-page .report-position-kind img { width: .95rem; height: .95rem; flex: 0 0 auto; }
.report-page .report-ledger-position > .report-ledger-position-button {
  border-left-color: #a9b5d4;
}
.report-page .report-unlinked-actions {
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .7rem;
  background: var(--surface-soft);
}
.report-page .report-unlinked-heading { background: var(--surface); }

.report-page .report-respondent-groups {
  display: grid;
  gap: .75rem;
  padding: .75rem;
  border-top: 1px solid var(--line);
}
.report-page .report-respondent-group {
  overflow: hidden;
  border: 1px solid #d5ddec;
  border-radius: .65rem;
  background: var(--surface);
}
.report-page .report-respondent-group-heading {
  display: grid;
  grid-template-columns: 1.3rem minmax(0, 1fr);
  gap: .65rem;
  align-items: center;
  padding: .7rem .9rem;
  border-bottom: 1px solid var(--line);
  background: #f8faff;
}
.report-page .report-respondent-group-heading > img {
  width: 1.15rem;
  height: 1.15rem;
  opacity: .82;
}
.report-page .report-respondent-group-heading h3 {
  margin: 0;
  font-size: .78rem;
  line-height: 1.4;
}
.report-page .report-respondent-group-heading h3 a {
  color: var(--ink);
  text-decoration: none;
}
.report-page .report-respondent-group-heading h3 a:hover { color: var(--blue); }
.report-page .report-respondent-group-heading p {
  margin: .12rem 0 0;
  color: var(--muted);
  font-size: .66rem;
}
.report-page .report-respondent-group .report-ledger-action:first-child { border-top: 0; }
.report-page .report-ledger-action > .report-ledger-action-button { background: #fff; }
.report-page .report-ledger-position > .report-ledger-position-button { background: #f2f5fb; }
.report-page .report-ledger-action > .report-ledger-action-button:hover { background: #f8fbff; }
.report-page .report-ledger-position > .report-ledger-position-button:hover { background: #eaf0fa; }
.report-page .report-action-copy {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
}
.report-page .report-action-copy > span { min-width: 0; }
.report-page .report-evidence-type-icon {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  margin-top: .08rem;
}
.report-page .report-evidence-type-label {
  display: block;
  margin-bottom: .2rem;
  color: #087f78;
  font-size: .61rem;
  font-weight: 780;
  letter-spacing: .045em;
  line-height: 1.2;
  text-transform: uppercase;
}
.report-page .report-ledger-position .report-evidence-type-label { color: #52638f; }
.report-page .report-unlinked-respondent-groups {
  padding: .75rem;
  border-top: 1px solid var(--line);
}

@media (max-width: 44rem) {
  .report-page .report-respondent-groups { padding: .55rem; }
  .report-page .report-respondent-group-heading { padding: .65rem .75rem; }
  .report-page .report-action-copy { gap: .5rem; }
}

.report-page .report-disclosure-tools {
  display: flex;
  gap: .55rem;
  justify-content: flex-end;
  margin-top: .9rem;
}
.report-page .report-disclosure-tools button {
  min-height: 2.15rem;
  padding: .4rem .7rem;
  border: 1px solid var(--line-strong);
  border-radius: .5rem;
  background: var(--surface);
  color: var(--blue);
  font: inherit;
  font-size: .69rem;
  font-weight: 720;
  cursor: pointer;
}
.report-page .report-disclosure-tools button:hover:not(:disabled) { background: var(--blue-soft); }
.report-page .report-disclosure-tools button:disabled {
  color: #9aa4ba;
  cursor: default;
  opacity: .65;
}
.report-page .report-concern-toggle {
  display: flex;
  width: 100%;
  grid-column: 3;
  gap: .65rem;
  align-items: center;
  justify-content: space-between;
  padding: .35rem 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.report-page .report-concern-toggle > span { display: grid; gap: .16rem; }
.report-page .report-concern-toggle strong {
  font-size: .72rem;
  font-weight: 760;
}
.report-page .report-concern-toggle small {
  color: var(--muted);
  font-size: .64rem;
  font-weight: 600;
}
.report-page .report-concern-toggle img {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  transition: transform 160ms ease;
}
.report-page .report-concern-toggle[aria-expanded="true"] img { transform: rotate(180deg); }
.report-page .report-concern-toggle:hover strong { text-decoration: underline; text-underline-offset: .15rem; }
.report-page .report-ledger-concern-head[data-report-concern-bar] { cursor: pointer; }
.report-page .report-ledger-concern-head[data-report-concern-bar]:hover { background: #f8faff; }
.report-page .report-ledger-concern-head[data-report-concern-bar]:has(.report-concern-button:hover) { background: var(--surface); }
.report-page .report-concern-empty-state {
  grid-column: 3;
  justify-self: end;
  text-align: right;
}
.report-page .report-concern-content[hidden] { display: none; }
.report-page .report-ledger-concern.is-expanded .report-ledger-concern-head {
  border-bottom: 1px solid var(--line);
}
.report-page .report-ledger-concern.is-expanded .report-respondent-groups { border-top: 0; }

@media (max-width: 70rem) {
  .report-page .report-ledger-concern-head {
    grid-template-columns: 2rem minmax(0, 1fr) minmax(11rem, 16rem);
  }
  .report-page .report-concern-toggle,
  .report-page .report-concern-empty-state { grid-column: 3; }
  .report-page .report-ledger-concern-head > .report-concern-empty-state {
    grid-column: 3;
    justify-self: end;
    text-align: right;
  }
  .report-page .report-ledger-action > .report-ledger-action-button {
    grid-template-columns: minmax(0, 1fr) minmax(11rem, 16rem);
  }
}

/* Shared restrained motion for concern, recipient and report detail pages. */
/* Keep data marks at their true animation origin before deferred controllers
   run. Axes, labels, grid lines and layout remain visible and stable. */
:is(.chart-motion-booting, .chart-motion-pending) :is(
  .dashboard-chart-bar,
  .mini-bar-chart i
) {
  opacity: 0;
  pointer-events: none;
  transform: scaleY(0);
  transform-origin: center bottom;
}
:is(.chart-motion-booting, .chart-motion-pending) :is(
  .recipient-bar-track > span,
  .recipient-topic-measure > i,
  .response-rate-fill,
  .response-status-segment,
  .response-topic-fill,
  .recipient-group-bar i,
  .topic-share-track i,
  .action-topic-bar i
) {
  opacity: 0;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
}
:is(.chart-motion-booting, .chart-motion-pending) .activity-line,
:is(.chart-motion-booting, .chart-motion-pending) .activity-month {
  opacity: 0;
}
:is(.chart-motion-booting, .chart-motion-pending) .activity-report-bars rect {
  opacity: 0;
  transform: scaleY(0);
  transform-box: fill-box;
  transform-origin: center bottom;
}

.detail-motion-ready .detail-motion-item {
  opacity: .72;
  transform: translateY(4px);
  transition:
    opacity 300ms ease-out calc(var(--detail-reveal-order, 0) * 28ms),
    transform 300ms ease-out calc(var(--detail-reveal-order, 0) * 28ms);
}
.detail-motion-ready .detail-motion-item.is-detail-visible {
  opacity: 1;
  transform: none;
}
.detail-motion-ready .is-detail-data-entering :is(
  .recipient-bar,
  .recipient-topic-row:not([hidden]),
  .response-topic-row,
  .response-status-row,
  .report-summary-recipients a,
  .refresh-hero-stats > div
) {
  animation: detail-row-in 260ms ease-out both;
  animation-delay: calc(50ms + var(--detail-row-order, 0) * 22ms);
}
.detail-motion-ready .is-detail-data-entering .dashboard-chart-bar {
  animation: detail-bar-grow-y 360ms ease-out both;
  animation-delay: calc(70ms + var(--detail-bar-order, 0) * 18ms);
  transform-origin: center bottom;
}
.detail-motion-ready .is-detail-data-entering :is(
  .recipient-bar-track > span,
  .recipient-topic-measure i,
  .response-rate-fill,
  .response-status-segment,
  .response-topic-fill
) {
  animation: detail-bar-grow-x 380ms ease-out both;
  animation-delay: calc(80ms + var(--detail-row-order, 0) * 22ms);
  transform-origin: left center;
}
.detail-motion-ready .is-detail-content-entering > :not(dialog) {
  animation: detail-content-in 260ms ease-out both;
  animation-delay: calc(var(--detail-content-order, 0) * 22ms);
}
.detail-motion-ready dialog[open] {
  animation: detail-dialog-in 200ms ease-out both;
}
.detail-motion-ready dialog[open]::backdrop {
  animation: detail-backdrop-in 180ms ease-out both;
}

@keyframes detail-row-in {
  from { opacity: .68; transform: translateY(2px); }
  to { opacity: 1; transform: none; }
}
@keyframes detail-bar-grow-y {
  from { opacity: 0; transform: scaleY(0); }
  to { opacity: 1; transform: scaleY(1); }
}
@keyframes detail-bar-grow-x {
  from { opacity: 0; transform: scaleX(0); }
  to { opacity: 1; transform: scaleX(1); }
}
@keyframes detail-content-in {
  from { opacity: .65; transform: translateY(2px); }
  to { opacity: 1; transform: none; }
}
@keyframes detail-dialog-in {
  from { opacity: .55; transform: translateY(5px) scale(.995); }
  to { opacity: 1; transform: none; }
}
@keyframes detail-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .detail-motion-ready .detail-motion-item,
  .detail-motion-ready .detail-motion-item *,
  .detail-motion-ready dialog,
  .detail-motion-ready dialog::backdrop {
    animation-duration: .001ms !important;
    animation-delay: 0ms !important;
    transition-duration: .001ms !important;
  }
}
@media (max-width: 44rem) {
  .report-page .report-disclosure-tools { justify-content: flex-start; }
  .report-page .report-concern-toggle { grid-column: 2; }
}
@media (max-width: 44rem) {
  .report-page .report-recipient-coverage,
  .report-page .report-evidence-ledger { padding: 1.1rem; }
  .report-page .report-ledger-concern-head {
    grid-template-columns: 2rem minmax(0, 1fr);
  }
  .report-page .report-ledger-concern-head > a,
  .report-page .report-ledger-concern-head > span:last-child,
  .report-page .report-concern-empty-state {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }

  .report-page .report-ledger-action > .report-ledger-action-button {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "status";
    gap: .65rem;
  }
  .report-page .report-ledger-action-button .commitment-status,
  .report-page .report-position-kind {
    justify-self: start;
  }
}

.concern-directory-intro {
  max-width: 54rem;
  margin: -.25rem 0 1.25rem;
  color: var(--muted);
  line-height: 1.6;
}

/* Organisation detail: report-led concern and response ledger. */
.organisation-dashboard-page {
  width: min(96rem, 100%);
  padding-top: 2.8rem;
}
.organisation-dashboard-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 2rem;
  align-items: center;
}
.organisation-dashboard-identity {
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}
.organisation-mark {
  display: grid;
  width: 3.4rem;
  height: 3.4rem;
  place-items: center;
  border-radius: .85rem;
  background: var(--blue-soft);
}
.organisation-mark img { width: 2rem; height: 2rem; }
.organisation-dashboard-header h1 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.organisation-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1.4rem;
  margin: .65rem 0 0;
  color: var(--muted);
  font-size: .82rem;
}
.organisation-meta span + span::before {
  margin-right: 1.1rem;
  color: #a2acc1;
  content: "•";
}
.organisation-dashboard-actions .pin-control,
.organisation-dashboard-actions > a { margin: 0; }
.organisation-dashboard-actions .pin-button {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  gap: .45rem;
  padding: .6rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: .65rem;
  background: var(--surface);
  color: var(--ink);
  font-size: .82rem;
  font-weight: 720;
}
.organisation-evidence-caveat {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  gap: .7rem;
  align-items: start;
  margin-top: 1.5rem;
  padding: .8rem 1rem;
  border: 1px solid #d7e0f5;
  border-radius: .65rem;
  background: #f4f7ff;
  color: #294073;
}
.organisation-evidence-caveat img { width: 1.15rem; height: 1.15rem; }
.organisation-evidence-caveat p { margin: 0; font-size: .74rem; line-height: 1.55; }
.organisation-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(20rem, .85fr);
  gap: 1.25rem;
  align-items: stretch;
  margin-top: 1.25rem;
}
.organisation-chart-panel { min-width: 0; margin-top: 0; }
.organisation-chart-frame { margin-top: 1.5rem; }
.organisation-chart-frame .dashboard-y-axis,
.organisation-chart-frame .dashboard-chart { height: 18rem; }
.organisation-chart-frame .dashboard-x-axis {
  grid-template-columns: repeat(var(--bar-count), minmax(0, 1fr));
  overflow: hidden;
  font-size: .58rem;
}
.organisation-chart-frame .dashboard-chart {
  grid-template-columns: repeat(var(--bar-count), minmax(1px, 1fr));
  gap: 1px;
}
.organisation-stats-card {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .9rem;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.organisation-hero-stats {
  display: grid;
  height: 100%;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0;
}
.organisation-hero-stats div {
  display: grid;
  min-height: 6.65rem;
  align-content: center;
  padding: 1.25rem;
  border-right: 0;
  border-bottom: 1px solid var(--line);
}
.organisation-hero-stats div:last-child { border-bottom: 0; }
.organisation-hero-stats dd { font-size: 1.85rem; }
.organisation-hero-stats dt { max-width: 9rem; margin-inline: auto; line-height: 1.45; }
.organisation-response-stats-trigger {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 1rem;
  min-height: 4.7rem;
  align-items: center;
  gap: .8rem;
  margin: 0;
  padding: .8rem 1.15rem;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: #f7f9ff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}
.organisation-response-stats-trigger:hover { background: var(--blue-soft); color: var(--blue); }
.organisation-response-stats-trigger:focus-visible { outline: 3px solid rgba(18, 87, 255, .22); outline-offset: 2px; }
.organisation-response-stats-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid #d7e0ff; border-radius: .7rem; background: var(--surface); }
.organisation-response-stats-icon img { width: 1.25rem; height: 1.25rem; }
.organisation-response-stats-copy { display: grid; gap: .2rem; }
.organisation-response-stats-copy strong { color: inherit; font-size: .76rem; font-weight: 760; }
.organisation-response-stats-copy small { color: var(--muted); font-size: .62rem; line-height: 1.35; }
.organisation-response-stats-arrow { width: .9rem; height: .9rem; transition: transform 160ms ease; }
.organisation-response-stats-trigger:hover .organisation-response-stats-arrow { transform: translateX(.15rem); }

.response-stats-dialog {
  width: min(68rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 1.35rem;
  overflow-y: auto;
  border: 1px solid var(--line-strong);
  border-radius: 1rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 26px 80px rgba(6, 20, 73, .28);
}
.response-stats-dialog[open] { animation: modal-surface-enter 260ms cubic-bezier(.2,.75,.25,1) both; }
.response-stats-dialog::backdrop {
  background: rgba(10, 24, 64, .54);
  backdrop-filter: blur(2px);
  animation: modal-backdrop-enter 280ms ease-out both;
}
.response-stats-close { padding: 0; border: 0; background: transparent; cursor: pointer; }
.response-stats-header {
  display: flex;
  gap: 1.5rem;
  align-items: end;
  justify-content: space-between;
  padding: 0 .1rem .9rem;
}
.response-stats-header h2 { margin: 0; font-size: 1.45rem; letter-spacing: -.025em; }
.response-stats-header p { margin: .35rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.response-stats-context { max-width: 23rem; text-align: right; }
.response-stats-section {
  margin-top: .65rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
.response-stats-section h3 { margin: 0; font-size: .82rem; }
.response-rate-stat {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: 1.5rem;
  align-items: center;
}
.response-stats-section-heading { display: grid; gap: .45rem; }
.response-stats-section-heading strong { font-size: 2.25rem; line-height: 1; font-variant-numeric: tabular-nums; }
.response-rate-visual { min-width: 0; padding: 1.3rem .35rem .1rem; }
.response-rate-track {
  position: relative;
  height: .68rem;
  border-radius: 999px;
  background: #e8ecf5;
}
.response-rate-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--response-rate);
  border-radius: inherit;
  background: var(--blue);
}
.response-rate-value {
  position: absolute;
  top: 50%;
  left: min(var(--response-rate), calc(100% - 2.4rem));
  padding-left: .55rem;
  font-size: .72rem;
  font-weight: 780;
  line-height: 1;
  transform: translateY(-50%);
  font-variant-numeric: tabular-nums;
}
.response-rate-benchmark {
  position: absolute;
  top: -.15rem;
  bottom: -.95rem;
  left: var(--benchmark-rate);
  width: 1px;
  background: #68779e;
}
.response-rate-benchmark span {
  position: absolute;
  top: 1.25rem;
  left: .45rem;
  color: var(--muted);
  font-size: .62rem;
  white-space: nowrap;
}
.response-rate-scale { display: flex; justify-content: space-between; margin-top: 1.5rem; color: var(--muted); font-size: .6rem; }
.response-status-chart { display: grid; gap: .8rem; margin-top: 1rem; }
.response-status-row { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1rem; align-items: center; }
.response-status-row > span { color: var(--muted); font-size: .68rem; }
.response-status-bar { display: flex; height: 1.55rem; overflow: hidden; border-radius: .2rem; background: #eef1f7; }
.response-status-segment {
  display: grid;
  width: var(--status-share);
  min-width: 0;
  place-items: center;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, .8);
  color: #fff;
  font-size: .66rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.response-status-segment:last-child { border-right: 0; }
.status-completed { --status-color: #5ab85f; }
.status-in_progress { --status-color: #3f5ff3; }
.status-planned { --status-color: #a9c2fb; }
.status-unclear { --status-color: #cbd2df; }
.status-partially_completed { --status-color: #b391e7; }
.response-status-segment { background: var(--status-color); }
.response-status-segment.status-planned,
.response-status-segment.status-unclear { color: var(--ink); }
.response-status-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  margin: .85rem 0 0;
  padding: 0;
  color: var(--muted);
  font-size: .62rem;
  list-style: none;
}
.response-status-legend li { display: inline-flex; gap: .4rem; align-items: center; }
.response-status-legend li > span { width: .62rem; height: .62rem; background: var(--status-color); }
.response-status-disclaimer { margin: .65rem 0 0; color: var(--muted); font-size: .62rem; line-height: 1.5; }
.response-action-type-scroll {
  max-height: 7rem;
  margin-top: 1rem;
  padding-right: .55rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.response-action-type-scroll::-webkit-scrollbar { width: 6px; }
.response-action-type-scroll::-webkit-scrollbar-thumb { border-radius: 999px; background: #bdc7e3; }
.response-action-type-scroll:focus-visible { border-radius: .25rem; outline: 2px solid var(--blue); outline-offset: 3px; }
.response-action-type-chart { display: grid; gap: .55rem; }
.response-action-type-scroll .response-topic-label { color: var(--muted); font-size: .68rem; }
.response-action-type-scroll .response-topic-track { height: .55rem; }
.response-action-type-scroll .response-topic-measure strong { font-size: .64rem; }
.response-action-type-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  margin: .85rem 0 0;
  padding: 0;
  color: var(--muted);
  font-size: .62rem;
  list-style: none;
}
.response-action-type-legend li { display: inline-flex; gap: .4rem; align-items: center; }
.response-action-type-legend li > span { width: .7rem; height: .55rem; background: var(--blue); }
.response-action-type-legend .is-comparison > span { border: 1px solid #8ca5f8; background: #cbd7fd; }
.response-action-type-disclaimer { margin: .65rem 0 0; color: var(--muted); font-size: .62rem; line-height: 1.5; }
.organisation-topic-comparison { margin-top: 1.25rem; padding: 0; overflow: hidden; }
.organisation-topic-heading { padding: 1.35rem 1.4rem; border-bottom: 1px solid var(--line); }
.organisation-topic-chart { display: grid; gap: .8rem; padding: 1.2rem 1.4rem; }
.response-topic-columns,
.response-topic-row {
  display: grid;
  grid-template-columns: minmax(14rem, 1.1fr) minmax(10rem, 1fr) minmax(10rem, 1fr);
  gap: 1rem;
  align-items: center;
}
.organisation-topic-chart .response-topic-row[hidden] { display: none; }
.response-topic-columns { color: var(--muted); font-size: .66rem; font-weight: 700; }
.response-topic-label { color: var(--ink); font-size: .76rem; line-height: 1.35; }
.response-topic-measure { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; gap: .45rem; align-items: center; }
.response-topic-track { height: .7rem; overflow: hidden; border-radius: 999px; background: #edf0f6; }
.response-topic-fill { display: block; width: var(--topic-share); height: 100%; border-radius: inherit; background: var(--blue); }
.response-topic-measure.is-comparison .response-topic-track { border: 1px solid #8ca5f8; background: transparent; }
.response-topic-measure.is-comparison .response-topic-fill { background: #cbd7fd; }
.response-topic-measure strong { font-size: .68rem; font-variant-numeric: tabular-nums; }
.organisation-topic-footer { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: .9rem 1.4rem; border-top: 1px solid var(--line); background: #fafbfe; }
.organisation-topic-footer p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.organisation-topic-footer button { display: inline-flex; flex: 0 0 auto; gap: .4rem; align-items: center; padding: .45rem .65rem; border: 0; background: transparent; color: var(--blue); font: inherit; font-size: .7rem; font-weight: 740; cursor: pointer; }
.organisation-topic-footer button:hover { text-decoration: underline; text-underline-offset: .15rem; }
.organisation-topic-footer button:focus-visible { border-radius: .35rem; outline: 3px solid rgba(18, 87, 255, .22); }
.organisation-topic-footer button img { width: .85rem; height: .85rem; transition: transform 160ms ease; }
.organisation-topic-footer button[aria-expanded="true"] img { transform: rotate(180deg); }
.organisation-topic-empty { padding: 1.2rem 1.4rem; }
.response-stats-empty { margin: .8rem 0 0; color: var(--muted); font-size: .7rem; }
.organisation-ledger { min-width: 0; padding: 0; overflow: hidden; }
.organisation-ledger-heading { padding: 1.35rem 1.4rem; border-bottom: 1px solid var(--line); }
.organisation-report-list { display: grid; }
.organisation-report { border-bottom: 1px solid var(--line); }
.organisation-report:last-child { border-bottom: 0; }
.organisation-report-toggle {
  display: grid;
  width: 100%;
  grid-template-columns: 1.2rem minmax(17rem, 1.7fr) minmax(8.5rem, .7fr) minmax(5.5rem, .45fr);
  gap: .85rem;
  align-items: center;
  min-height: 4.5rem;
  padding: .75rem 1.15rem;
  border: 0;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.organisation-report-toggle:hover { background: #f8faff; }
.organisation-report-toggle > img {
  width: 1rem;
  height: 1rem;
  transition: transform 160ms ease;
}
.organisation-report-toggle[aria-expanded="true"] > img { transform: rotate(180deg); }
.organisation-report-title { display: grid; gap: .3rem; min-width: 0; }
.organisation-report-title strong { color: var(--blue); font-size: .78rem; line-height: 1.35; }
.organisation-report-title small { color: var(--muted); font-size: .65rem; }
.organisation-response-state {
  justify-self: start;
  padding: .35rem .55rem;
  border-radius: .4rem;
  background: #eef1f7;
  color: #53617f;
  font-size: .64rem;
  font-weight: 720;
}
.organisation-response-state.is-present { background: #e1f5e9; color: #147748; }
.organisation-report-count { color: var(--muted); font-size: .7rem; }
.organisation-report-content { border-top: 1px solid var(--line); background: #f8faff; }
.organisation-report-content[hidden],
.organisation-concern-response[hidden] { display: none; }
.organisation-concern-list { margin: 0; padding: .8rem; list-style: none; }
.organisation-concern {
  overflow: hidden;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: var(--surface);
}
.organisation-concern:first-child { border-radius: .65rem .65rem 0 0; }
.organisation-concern:last-child { border-bottom: 1px solid var(--line); border-radius: 0 0 .65rem .65rem; }
.organisation-concern:only-child { border-radius: .65rem; }
.organisation-concern-head {
  display: grid;
  grid-template-columns: 2rem minmax(14rem, 1fr) minmax(10rem, .65fr);
  gap: .75rem;
  align-items: center;
  min-height: 4rem;
  padding: .65rem .8rem;
}
.organisation-primary-concern-list { padding: .8rem; background: #f8faff; }
.organisation-primary-concern-list .organisation-concern-head { min-height: 5.25rem; }
.organisation-concern-head[data-organisation-concern-bar] { cursor: pointer; }
.organisation-concern-head[data-organisation-concern-bar]:hover { background: #f8faff; }
.organisation-concern-head[data-organisation-concern-bar]:has(.report-concern-button:hover) { background: var(--surface); }
.organisation-page .organisation-concern-head .report-concern-button {
  font-size: 1.05rem;
  line-height: 1.42;
}
.organisation-concern-summary { min-width: 0; }
.organisation-concern-source {
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .8rem;
  margin: .38rem 0 0;
  color: var(--muted);
  font-size: var(--text-caption);
  line-height: 1.4;
}
.organisation-concern-source a {
  overflow: hidden;
  color: var(--blue);
  font-weight: 680;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.organisation-concern-source a:hover { text-decoration: underline; text-underline-offset: .12rem; }
.organisation-concern-source span + span::before {
  margin-right: .8rem;
  color: #a2acc1;
  content: "•";
}
.organisation-concern.is-expanded .organisation-concern-head { background: #fbfcff; }
.organisation-recurring-link {
  display: block;
  margin-top: .3rem;
  color: var(--muted);
  font-size: var(--text-caption);
  text-decoration: none;
}
.organisation-recurring-link:hover { color: var(--blue); }
.organisation-concern-toggle {
  display: flex;
  width: 100%;
  gap: .6rem;
  align-items: center;
  justify-content: space-between;
  padding: .35rem 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.organisation-concern-toggle > span { display: grid; gap: .15rem; }
.organisation-concern-toggle strong { font-size: var(--text-body-sm); }
.organisation-concern-toggle small { color: var(--muted); font-size: var(--text-caption); }
.organisation-concern-toggle img { width: 1rem; height: 1rem; transition: transform 160ms ease; }
.organisation-concern-toggle[aria-expanded="true"] img { transform: rotate(180deg); }
.organisation-no-evidence { color: var(--muted); font-size: var(--text-caption); }
.organisation-concern-response { border-top: 1px solid var(--line); background: #f7f9fd; }
.organisation-response-owner {
  margin: 0;
  padding: .65rem 1rem;
  border-bottom: 1px solid var(--line);
  background: #f2f5fb;
  color: var(--muted);
  font-size: var(--text-ui-sm);
}
.organisation-response-owner strong { color: var(--ink); }
.organisation-page .report-ledger-actions { margin-left: 0; }
.organisation-page .report-ledger-action:first-child { border-top: 0; }
.organisation-page .report-ledger-action-button {
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(14rem, max-content);
  min-height: 3.65rem;
  padding: .65rem .8rem .65rem 2.6rem;
  border: 0;
  background: #fff;
  font-size: var(--text-ui-sm);
}
.organisation-page .report-action-copy { display: flex; gap: .7rem; align-items: flex-start; font-size: var(--text-body-sm); line-height: 1.45; }
.organisation-page .report-action-copy > span { min-width: 0; }
.organisation-page .report-evidence-type-icon { width: 1.15rem; height: 1.15rem; }
.organisation-page .report-evidence-type-label {
  display: block;
  margin-bottom: .2rem;
  color: var(--teal);
  font-size: var(--text-caption);
  font-weight: 780;
  letter-spacing: .045em;
  line-height: 1.2;
  text-transform: uppercase;
}
.organisation-page .report-ledger-position .report-evidence-type-label { color: var(--muted); }
.organisation-page .report-action-recipient { display: none; }
.organisation-page .report-ledger-action > .report-ledger-action-button { background: #fff; }
.organisation-page .report-ledger-position > .report-ledger-position-button { background: #f2f5fb; }
.organisation-page .report-ledger-action > .report-ledger-action-button:hover { background: #f8fbff; }
.organisation-page .report-ledger-position > .report-ledger-position-button:hover { background: #eaf0fa; }
.organisation-page .report-action-copy { grid-column: 1; grid-row: 1; }
.organisation-page .commitment-status,
.organisation-page .report-position-kind { grid-column: 2; grid-row: 1; justify-self: start; margin: 0; font-size: var(--text-caption); white-space: nowrap; }
.organisation-page .report-position-kind { display: inline-flex; gap: .4rem; align-items: center; color: var(--muted); font-weight: 680; }
.organisation-page .report-position-kind img { width: .95rem; height: .95rem; }
.concern-occurrence-ledger { padding-inline: .75rem; }
.concern-occurrence-ledger > .concern-section-heading { padding: .8rem; }
.concern-occurrence-ledger .organisation-concern-head { min-height: 5.25rem; }
.concern-occurrence-ledger .organisation-concern-head .report-concern-button { font-size: 1.05rem; line-height: 1.42; }
.concern-occurrence-ledger .report-ledger-actions { margin-left: 0; }
.concern-occurrence-ledger .report-ledger-action:first-child { border-top: 0; }
.concern-occurrence-ledger .report-ledger-action-button {
  display: grid;
  grid-template-columns: minmax(28rem, 2fr) minmax(12rem, .75fr) minmax(18rem, max-content);
  grid-template-areas: "copy recipient status";
  min-height: 3.65rem;
  padding: .65rem .8rem .65rem 2.6rem;
  border: 0;
  background: #fff;
  font-size: var(--text-ui-sm);
}
.concern-occurrence-ledger .report-ledger-action-button:hover { background: #f8fbff; }
.concern-occurrence-ledger .report-action-copy { display: flex; grid-area: copy; gap: .7rem; align-items: flex-start; font-size: var(--text-body-sm); line-height: 1.45; }
.concern-occurrence-ledger .report-action-copy > span { min-width: 0; }
.concern-occurrence-ledger .report-evidence-type-icon { width: 1.15rem; height: 1.15rem; }
.concern-occurrence-ledger .report-evidence-type-label {
  display: block;
  margin-bottom: .2rem;
  color: var(--teal);
  font-size: var(--text-caption);
  font-weight: 780;
  letter-spacing: .045em;
  line-height: 1.2;
  text-transform: uppercase;
}
.concern-occurrence-ledger .report-action-recipient { grid-area: recipient; font-size: var(--text-caption); }
.concern-occurrence-ledger .report-ledger-action-button .commitment-status { grid-area: status; margin: 0; white-space: nowrap; }
.concern-occurrence-ledger .organisation-no-evidence { padding: .35rem 0; text-align: left; }
.organisation-other-evidence { margin: 0 .8rem .8rem; border: 1px solid var(--line); border-radius: .65rem; background: #fff; overflow: hidden; }
.organisation-other-evidence > h3 { margin: 0; padding: .8rem .9rem 0; font-size: var(--text-ui-sm); }
.organisation-other-evidence > p { margin: .25rem 0 .7rem; padding: 0 .9rem; color: var(--muted); font-size: var(--text-caption); }
.organisation-report-footer { display: flex; flex-wrap: wrap; gap: 1rem; padding: .8rem 1rem; border-top: 1px solid var(--line); background: #fff; }
.organisation-report-footer a { display: inline-flex; gap: .35rem; align-items: center; font-size: var(--text-caption); font-weight: 720; text-decoration: none; }
.organisation-report-footer img { width: .85rem; height: .85rem; }
.organisation-provenance { margin-top: 1.25rem; font-size: var(--text-caption); }

@media (max-width: 82rem) {
  .organisation-overview-grid { grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .9fr); }
}
@media (max-width: 70rem) {
  .concern-occurrence-ledger .report-ledger-action-button {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "copy status" "recipient status";
  }
}
@media (max-width: 62rem) {
  .organisation-dashboard-header { grid-template-columns: 1fr; }
  .organisation-dashboard-actions { justify-content: flex-start; }
  .organisation-overview-grid { grid-template-columns: 1fr; }
  .organisation-hero-stats div { min-height: 7rem; }
  .response-stats-header { display: grid; }
  .response-stats-context { text-align: left; }
  .organisation-report-toggle { grid-template-columns: 1.2rem minmax(0, 1fr) auto; }
  .organisation-response-state { grid-column: 2; }
  .organisation-report-count { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 48rem) {
  .organisation-dashboard-page { padding: 2rem 1.25rem 3rem; }
  .organisation-dashboard-identity { grid-template-columns: 2.8rem minmax(0, 1fr); }
  .organisation-mark { width: 2.8rem; height: 2.8rem; }
  .organisation-mark img { width: 1.65rem; height: 1.65rem; }
  .response-stats-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); padding: .75rem; }
  .response-stats-header { padding: .25rem .35rem .75rem; }
  .response-stats-header h2 { padding-right: 2rem; font-size: 1.2rem; }
  .response-stats-section { padding: .9rem; }
  .response-rate-stat { grid-template-columns: 1fr; gap: .4rem; }
  .response-rate-visual { padding-top: 1rem; }
  .response-status-row { grid-template-columns: 1fr; gap: .35rem; }
  .response-status-segment.status-unclear > span,
  .response-status-segment.status-partially_completed > span { display: none; }
  .response-topic-columns { grid-template-columns: minmax(0, 1fr) minmax(5.25rem, .75fr) minmax(5.25rem, .75fr); gap: .65rem; }
  .response-topic-columns span:first-child { color: transparent; }
  .response-topic-row { grid-template-columns: 1fr minmax(0, 1fr) minmax(0, 1fr); gap: .35rem .65rem; }
  .response-topic-label { grid-column: 1 / -1; }
  .organisation-topic-footer { display: grid; }
  .organisation-topic-footer button { justify-self: start; padding-left: 0; }
  .organisation-ledger-heading { padding: 1.1rem; }
  .organisation-concern-head { grid-template-columns: 2rem minmax(0, 1fr); }
  .organisation-concern-toggle, .organisation-no-evidence { grid-column: 2; }
  .concern-occurrence-ledger .report-ledger-action-button { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "recipient" "status"; gap: .45rem; }
  .concern-occurrence-ledger .report-action-recipient { grid-column: 1; margin-left: 1.85rem; }
  .concern-occurrence-ledger .report-ledger-action-button .commitment-status { grid-column: 1; grid-row: auto; margin-left: 1.85rem; white-space: normal; }
  .organisation-page .report-ledger-action-button { grid-template-columns: minmax(0, 1fr); gap: .45rem; }
  .organisation-page .commitment-status,
  .organisation-page .report-position-kind { grid-column: 1; grid-row: auto; margin-left: 1.85rem; white-space: normal; }
}
@media (max-width: 34rem) {
  .organisation-dashboard-actions { grid-template-columns: 1fr; }
  .organisation-meta { display: grid; gap: .3rem; }
  .organisation-meta span + span::before { display: none; }
  .organisation-report-toggle { grid-template-columns: 1rem minmax(0, 1fr); }
  .organisation-response-state, .organisation-report-count { grid-column: 2; grid-row: auto; }
  .organisation-chart-panel { overflow-x: auto; }
  .organisation-chart-frame { min-width: 32rem; }
}

/* Compact, source-qualified status markers for response actions. */
.action-status-marker {
  position: relative;
  display: inline-grid;
  width: 1.9rem;
  height: 1.9rem;
  flex: 0 0 1.9rem;
  place-items: center;
  margin-top: -.05rem;
  border-radius: 50%;
  background: #eef1f6;
  cursor: help;
}
.action-status-marker img { width: 1.05rem; height: 1.05rem; }
.action-status-marker.status-completed { background: #e5f5eb; }
.action-status-marker.status-in_progress { background: #edf0ff; }
.action-status-marker.status-planned { background: #fff3dc; }
.action-status-marker.status-partially_completed { background: #f2eafe; }
.action-status-marker.status-unclear,
.action-status-marker.status-not_stated { background: #eef1f6; }
.action-status-tooltip {
  position: absolute;
  right: auto;
  bottom: calc(100% + .55rem);
  left: 50%;
  z-index: 40;
  width: max-content;
  max-width: min(18rem, calc(100vw - 6rem));
  padding: .5rem .65rem;
  border-radius: .5rem;
  background: var(--ink);
  color: #fff;
  font-size: var(--text-caption);
  font-weight: 650;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translate(-1rem, .2rem);
  visibility: hidden;
  white-space: normal;
  box-shadow: var(--shadow);
  transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease;
}
.action-status-tooltip::before {
  position: absolute;
  top: 100%;
  left: .7rem;
  border: .35rem solid transparent;
  border-top-color: var(--ink);
  content: "";
}
.action-status-marker:hover .action-status-tooltip,
.action-status-marker.is-tooltip-open .action-status-tooltip,
.commitment-card-button:focus-visible .action-status-tooltip {
  opacity: 1;
  transform: translate(-1rem, 0);
  visibility: visible;
}
.commitment-card-button:focus-visible .action-status-marker {
  outline: 2px solid rgba(18, 87, 255, .35);
  outline-offset: 2px;
}
.report-ledger-action:has(.action-status-marker) { position: relative; }
.report-ledger-action:has(.action-status-marker:hover),
.report-ledger-action:has(.action-status-marker.is-tooltip-open),
.report-ledger-action:has(.commitment-card-button:focus-visible) { z-index: 45; }
.report-page .report-respondent-group,
.report-page .report-ledger-concern.is-expanded,
.organisation-concern.is-expanded { overflow: visible; }

.report-page .report-ledger-action:not(.report-ledger-position) > .report-ledger-action-button {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "copy";
}
.organisation-page .report-ledger-action:not(.report-ledger-position) > .report-ledger-action-button {
  grid-template-columns: minmax(0, 1fr);
}
.concern-occurrence-ledger .report-ledger-action-button {
  grid-template-columns: minmax(28rem, 2fr) minmax(12rem, .75fr);
  grid-template-areas: "copy recipient";
}

@media (max-width: 70rem) {
  .concern-occurrence-ledger .report-ledger-action-button {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "recipient";
  }
}

@media (max-width: 48rem) {
  .action-status-tooltip {
    max-width: min(13rem, calc(100vw - 6.5rem));
    font-size: .68rem;
  }
  .concern-occurrence-ledger .report-ledger-action-button {
    grid-template-areas: "copy" "recipient";
  }
  .concern-occurrence-ledger .report-action-recipient { margin-left: 2.6rem; }
}

/* Keep concern and recipient response evidence aligned with the report ledger. */
.concern-occurrence-ledger .report-respondent-groups {
  display: grid;
  gap: .75rem;
  padding: .75rem;
}
.concern-occurrence-ledger .report-respondent-group,
.organisation-page .organisation-single-response-actions {
  overflow: hidden;
  border: 1px solid #d5ddec;
  border-radius: .65rem;
  background: var(--surface);
}
.concern-occurrence-ledger .report-respondent-group-heading {
  display: grid;
  grid-template-columns: 1.3rem minmax(0, 1fr);
  gap: .65rem;
  align-items: center;
  padding: .7rem .9rem;
  border-bottom: 1px solid var(--line);
  background: #f8faff;
}
.concern-occurrence-ledger .report-respondent-group-heading > img {
  width: 1.15rem;
  height: 1.15rem;
  opacity: .82;
}
.concern-occurrence-ledger .report-respondent-group-heading h3 {
  margin: 0;
  font-size: .78rem;
  line-height: 1.4;
}
.concern-occurrence-ledger .report-respondent-group-heading h3 a {
  color: var(--ink);
  text-decoration: none;
}
.concern-occurrence-ledger .report-respondent-group-heading h3 a:hover { color: var(--blue); }
.concern-occurrence-ledger .report-respondent-group-heading p {
  margin: .12rem 0 0;
  color: var(--muted);
  font-size: .66rem;
}
.organisation-page .organisation-single-response-actions { margin: .75rem; }
.concern-occurrence-ledger .report-ledger-action,
.organisation-page .organisation-single-response-actions .report-ledger-action {
  border-top: 1px solid var(--line);
}
.concern-occurrence-ledger .report-ledger-action:first-child,
.organisation-page .organisation-single-response-actions .report-ledger-action:first-child {
  border-top: 0;
}
.concern-occurrence-ledger .report-ledger-action-button,
.organisation-page .organisation-single-response-actions .report-ledger-action-button {
  min-height: 4.4rem;
  padding: .8rem 1rem;
  border-left: 3px solid #8acdc5;
}
.concern-occurrence-ledger .report-ledger-action-button {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "copy";
}
.concern-occurrence-ledger .report-action-connector,
.organisation-page .organisation-single-response-actions .report-action-connector { display: none; }
.organisation-page .organisation-single-response-actions .report-ledger-position-button {
  border-left-color: #a9b5d4;
}
.concern-occurrence-ledger .report-ledger-action-button:hover,
.organisation-page .organisation-single-response-actions .report-ledger-action-button:hover {
  background: #f8fbff;
}
.organisation-page .organisation-single-response-actions .report-ledger-position-button:hover {
  background: #eaf0fa;
}
.concern-occurrence-ledger .report-respondent-group:has(.action-status-marker:hover),
.concern-occurrence-ledger .report-respondent-group:has(.action-status-marker.is-tooltip-open),
.concern-occurrence-ledger .report-respondent-group:has(.commitment-card-button:focus-visible),
.organisation-page .organisation-single-response-actions:has(.action-status-marker:hover),
.organisation-page .organisation-single-response-actions:has(.action-status-marker.is-tooltip-open),
.organisation-page .organisation-single-response-actions:has(.commitment-card-button:focus-visible) {
  overflow: visible;
}

@media (max-width: 48rem) {
  .concern-occurrence-ledger .report-respondent-groups { padding: .55rem; }
  .concern-occurrence-ledger .report-respondent-group-heading { padding: .65rem .75rem; }
  .organisation-page .organisation-single-response-actions { margin: .55rem; }
}

/* Use the report ledger's exact concern and disclosure scale on related dashboards. */
.organisation-primary-concern-list {
  display: grid;
  gap: .85rem;
}
.organisation-primary-concern-list .organisation-concern,
.organisation-primary-concern-list .organisation-concern:first-child,
.organisation-primary-concern-list .organisation-concern:last-child,
.organisation-primary-concern-list .organisation-concern:only-child {
  border: 1px solid var(--line);
  border-radius: .7rem;
}
.organisation-primary-concern-list .organisation-concern-head,
.concern-occurrence-ledger .organisation-concern-head {
  grid-template-columns: 2rem minmax(0, 1fr) minmax(12rem, 18rem);
  gap: .75rem;
  min-height: 4rem;
  padding: .65rem .8rem;
  font-size: .78rem;
}
.organisation-page .organisation-concern-head .report-concern-button,
.concern-occurrence-ledger .organisation-concern-head .report-concern-button {
  font-size: .88rem;
  line-height: 1.4;
}
.organisation-primary-concern-list .organisation-concern-source {
  margin-top: .4rem;
  font-size: .7rem;
}
.organisation-primary-concern-list .organisation-concern-toggle {
  gap: .65rem;
  padding: .35rem 0;
}
.organisation-primary-concern-list .organisation-concern-toggle strong {
  font-size: .72rem;
  font-weight: 760;
}
.organisation-primary-concern-list .organisation-concern-toggle small {
  font-size: .64rem;
  font-weight: 600;
}
.organisation-primary-concern-list .organisation-concern-toggle img {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}
.concern-occurrence-ledger .report-evidence-type-label,
.organisation-page .organisation-single-response-actions .report-evidence-type-label {
  font-size: .61rem;
}
.organisation-page .organisation-single-response-actions .report-position-kind {
  font-size: .67rem;
}

@media (max-width: 70rem) {
  .organisation-primary-concern-list .organisation-concern-head,
  .concern-occurrence-ledger .organisation-concern-head {
    grid-template-columns: 2rem minmax(0, 1fr) minmax(11rem, 16rem);
  }
}

@media (max-width: 48rem) {
  .organisation-primary-concern-list .organisation-concern-head,
  .concern-occurrence-ledger .organisation-concern-head {
    grid-template-columns: 2rem minmax(0, 1fr);
  }
  .organisation-primary-concern-list .organisation-concern-toggle,
  .organisation-primary-concern-list .organisation-no-evidence {
    grid-column: 2;
  }
}

/* 2026 homepage refresh: evidence-led dashboard and editorial continuation. */
.overview-page .homepage-opening { padding: 2.75rem clamp(1.5rem, 3vw, 3rem) 4.5rem; }
.overview-page .homepage-primary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 19rem);
  gap: clamp(2.5rem, 4vw, 4.5rem);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.overview-page .hero-panel,
.overview-page .homepage-primary-grid > .newcomer-panel {
  height: auto;
  min-height: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.overview-page .hero-copy { padding: 0; }
.overview-page .homepage h1 {
  max-width: 47rem;
  margin-bottom: .8rem;
  font-size: clamp(3.25rem, 4.65vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -.058em;
}
.overview-page .homepage .lede { max-width: 43rem; margin: 0; font-size: 1rem; line-height: 1.65; }
.overview-page .home-search {
  width: min(100%, 40rem);
  min-height: 3.75rem;
  margin: 1.45rem 0 0;
  border-radius: .68rem;
  box-shadow: 0 8px 24px rgba(38, 56, 112, .035);
}
.overview-page .home-search-suggestions { width: min(100%, 43rem); gap: .45rem; margin: .75rem 0 0; }
.overview-page .home-search-suggestions span { margin-right: .15rem; }
.overview-page .home-search-suggestions a,
.overview-page .home-search-suggestions span + a {
  padding: .36rem .68rem;
  border: 1px solid #d7e0ff;
  border-radius: 999px;
  background: #f5f7ff;
  color: var(--blue);
  font-size: .76rem;
  font-weight: 690;
  line-height: 1;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}
.overview-page .home-search-suggestions a:hover { border-color: #aebeff; background: #edf2ff; text-decoration: none; transform: translateY(-1px); }
.overview-page .hero-evidence-summary {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.2rem;
  min-height: 0;
  align-items: end;
  margin-top: 1.55rem;
  padding: 1rem 0 0;
  border-top: 1px solid var(--line);
  background: transparent;
}
.overview-page .home-stats { max-width: 40rem; }
.overview-page .home-stats div { padding: 0 1.35rem; }
.overview-page .home-stats div:first-child { padding-left: 0; }
.overview-page .summary-status { flex: none; margin: 0 0 .15rem; font-size: .7rem; white-space: nowrap; }
.overview-page .homepage-primary-grid > .newcomer-panel {
  align-self: stretch;
  justify-content: center;
  padding: 1.1rem 0 1rem 2rem;
  border-left: 1px solid var(--line);
}
.overview-page .about-pfd-heading h2 { margin: 0; font-size: 1.08rem; letter-spacing: -.02em; }
.overview-page .about-pfd-panel > p { max-width: 17rem; margin-top: .85rem; font-size: .82rem; line-height: 1.65; }
.overview-page .about-pfd-button {
  width: auto;
  min-height: 0;
  margin-top: 1rem;
  padding: .45rem 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font-size: .79rem;
  gap: .75rem;
}
.overview-page .about-pfd-button:hover { background: transparent; color: var(--blue-strong); }
.overview-page .homepage-secondary-grid { gap: 1.4rem; margin-top: 3rem; }
.overview-page .evidence-preview { min-height: 0; border: 0; background: transparent; }
.overview-page .evidence-preview > .evidence-heading { margin-bottom: .85rem; padding: 0; }
.overview-page .evidence-heading h2 { font-size: 1.3rem; }
.evidence-dashboard { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(22rem, .9fr); gap: .9rem; }
.activity-chart,
.ranking-panel {
  min-width: 0;
  min-height: 27rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.activity-chart { position: relative; display: flex; flex-direction: column; padding: 1.2rem 1.25rem .9rem; }
.activity-chart-heading,
.ranking-heading { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.activity-chart h3,
.ranking-panel h3,
.evidence-explore h3 { margin: 0; font-size: 1rem; line-height: 1.35; letter-spacing: -.018em; }
.activity-chart-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .72rem; }
.activity-range { display: inline-flex; padding: .18rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface-soft); }
.activity-range button {
  min-height: 1.9rem;
  padding: .25rem .55rem;
  border: 0;
  border-radius: .34rem;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: .67rem;
  font-weight: 700;
}
.activity-range button[aria-pressed="true"] { background: #fff; color: var(--blue); box-shadow: 0 1px 5px rgba(30, 48, 100, .11); }
.activity-range button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.activity-legend { display: flex; gap: 1rem; align-items: center; margin-top: 1rem; color: var(--muted); font-size: .68rem; }
.activity-legend span { display: inline-flex; gap: .38rem; align-items: center; }
.activity-legend i { display: block; width: .72rem; height: .18rem; border-radius: 999px; }
.activity-legend .concern-key { background: var(--blue); }
.activity-legend .report-key { height: .42rem; border-radius: .08rem; background: #bac8eb; }
.activity-readout { min-height: 1.35rem; margin: .55rem 0 0; color: #38538f; font-size: .68rem; font-weight: 620; }
.activity-plot { position: relative; height: 15rem; margin-top: .35rem; padding-top: .5rem; }
.chart-grid-line { position: absolute; right: 0; left: 0; height: 1px; background: #e8edf7; }
.chart-grid-line-one { top: 25%; }
.chart-grid-line-two { top: 50%; }
.chart-grid-line-three { top: 75%; }
.activity-columns {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(var(--visible-months, 12), minmax(1.15rem, 1fr));
  gap: clamp(.2rem, .55vw, .55rem);
  align-items: stretch;
}
.activity-month {
  position: relative;
  display: grid;
  min-width: 0;
  height: 100%;
  grid-template-rows: minmax(0, 1fr) 2.1rem;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
}
.activity-month[hidden] { display: none; }
.activity-bars { display: flex; gap: 2px; align-items: end; justify-content: center; min-height: 0; padding: .3rem .1rem 0; }
.activity-bar { display: block; width: min(.55rem, 42%); min-height: 2px; height: max(2px, var(--bar-height)); transform-origin: bottom; transition: height 220ms ease, opacity 160ms ease; }
.activity-bar-reports { border-radius: .12rem .12rem 0 0; background: #c4d0ed; }
.activity-bar-concerns { border-radius: .12rem .12rem 0 0; background: var(--blue); }
.activity-month:hover .activity-bar,
.activity-month:focus-visible .activity-bar { opacity: .72; }
.activity-month:focus-visible::after { position: absolute; inset: .1rem; border: 2px solid rgba(18, 87, 255, .42); border-radius: .35rem; content: ""; }
.activity-month-label { align-self: start; padding-top: .45rem; border-top: 1px solid var(--line); font-size: .58rem; line-height: 1.15; text-align: center; }
.activity-month-label small { display: block; margin-top: .15rem; color: var(--muted-soft); font-size: .56rem; }
.activity-tooltip {
  position: absolute;
  bottom: calc(100% - 1rem);
  left: 50%;
  z-index: 5;
  display: none;
  width: 8.5rem;
  padding: .55rem .62rem;
  border: 1px solid var(--line);
  border-radius: .45rem;
  background: #fff;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
  text-align: left;
  transform: translateX(-50%);
  box-shadow: 0 8px 24px rgba(28, 46, 96, .13);
}
.activity-tooltip strong,
.activity-tooltip span { display: block; }
.activity-tooltip strong { margin-bottom: .18rem; color: var(--ink); }
.activity-month:hover .activity-tooltip,
.activity-month:focus-visible .activity-tooltip { display: block; }
.activity-link,
.ranking-heading a { display: inline-flex; gap: .35rem; align-items: center; color: var(--blue); font-size: .7rem; font-weight: 700; text-decoration: none; }
.activity-link { width: fit-content; margin-top: auto; }
.activity-link img,
.ranking-heading img { width: .72rem; height: .72rem; }
.ranking-panel { padding: 1.2rem 1rem .6rem; }
.ranking-heading { padding: 0 .2rem .8rem; }
.ranking-table-head,
.ranking-list a { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) minmax(4.25rem, .58fr) 3.1rem 3.1rem 1rem; gap: .55rem; align-items: center; }
.ranking-table-head {
  grid-template-columns: minmax(0, 1fr) 3.1rem 3.1rem 1rem;
  min-height: 2.1rem;
  padding: 0 .45rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .6rem;
  font-weight: 730;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.ranking-list { margin: 0; padding: 0; list-style: none; }
.ranking-list li + li { border-top: 1px solid var(--line); }
.ranking-list a { min-height: 3.75rem; padding: .45rem; color: var(--ink); text-decoration: none; }
.ranking-list a:hover { background: #fafbff; color: var(--blue); }
.ranking-number { color: var(--muted); font-size: .68rem; }
.ranking-name { display: -webkit-box; overflow: hidden; font-size: .7rem; font-weight: 690; line-height: 1.32; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ranking-list .mini-bar-chart { width: 4.25rem; height: 1.55rem; }
.ranking-list .mini-bar-chart i { width: .23rem; }
.ranking-list .report-count,
.ranking-list .commitment-count { font-size: .7rem; }
.ranking-arrow { width: .75rem; height: .75rem; opacity: .7; }
.evidence-explore { margin-top: .9rem; padding: 1rem 1.05rem .85rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow-soft); }
.evidence-explore > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: .75rem; }
.evidence-explore a { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr) auto; gap: .65rem; min-width: 0; align-items: start; padding: .7rem .85rem; color: var(--ink); text-decoration: none; }
.evidence-explore a + a { border-left: 1px solid var(--line); }
.evidence-explore a:hover { background: #fafbff; color: var(--blue); }
.evidence-explore img { width: 1.35rem; height: 1.35rem; margin-top: .1rem; }
.evidence-explore span { display: grid; gap: .25rem; }
.evidence-explore strong { font-size: .76rem; }
.evidence-explore small { color: var(--muted); font-size: .6rem; line-height: 1.45; }
.evidence-explore b { color: var(--blue); font-size: .75rem; font-weight: 500; }
.overview-page .homepage-secondary-column { gap: .9rem; }
.overview-page .homepage-secondary-column > .featured-investigation,
.overview-page .homepage-secondary-column > .pinned-panel { height: 21rem; min-height: 21rem; border-radius: .8rem; box-shadow: var(--shadow-soft); }
.overview-page .featured-investigation { padding: 2rem; }
.overview-page .homepage-closing { padding: 4.5rem clamp(2rem, 4.2vw, 4.5rem) 2rem; border-top: 1px solid var(--line); background: #fff; }
.overview-page .journey-main { grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); gap: 3rem; padding: 2rem 2rem 1rem; border: 1px solid var(--line); border-radius: .85rem .85rem 0 0; }
.overview-page .journey-intro h2 { font-size: clamp(2.35rem, 3vw, 3.2rem); }
.overview-page .journey-path { min-height: 21rem; }
.overview-page .journey-backdrop { display: none; }
.overview-page .journey-path::before { position: absolute; top: 8.1rem; right: 8%; left: 8%; height: 1px; background: #7fa2ff; content: ""; }
.overview-page .journey-path ol { padding-top: 4.5rem; }
.overview-page .journey-marker { width: 5.8rem; height: 5.8rem; margin-bottom: 1.35rem; border-width: 1px; box-shadow: 0 0 0 6px rgba(230, 235, 255, .75); }
.overview-page .journey-marker img { width: 2.2rem; }
.overview-page .journey-marker span { width: 1.8rem; border-width: 2px; font-size: .7rem; }
.overview-page .homepage-closing .homepage-services-banner { margin-top: 0; border-radius: .85rem; }
.overview-page .homepage-closing .trust-links { margin-top: 1rem; border: 1px solid var(--line); border-radius: .75rem; }
.overview-page .homepage-closing .trust-links button { min-height: 3.6rem; gap: .7rem; padding: .7rem 1rem; }
.overview-page .homepage-closing .trust-links img { width: 1.25rem; height: 1.25rem; }
.overview-page .homepage-closing .trust-links strong { font-size: .82rem; }
.overview-page .homepage-closing .trust-links b { font-size: .8rem; }

.site-footer { display: block; width: 100%; padding: 0; border-top: 1px solid var(--line); background: #f4f7fc; color: var(--muted); }
.footer-main,
.footer-bottom { width: min(88rem, 100%); margin-inline: auto; padding-inline: clamp(1.5rem, 4vw, 4.5rem); }
.footer-main { display: grid; grid-template-columns: minmax(16rem, 1.3fr) minmax(20rem, .7fr); gap: 4rem; padding-top: 2.75rem; padding-bottom: 2.5rem; }
.footer-brand > a { display: inline-flex; gap: .65rem; align-items: center; color: var(--ink); text-decoration: none; }
.footer-brand img { width: 2rem; height: 2.25rem; object-fit: contain; }
.footer-brand strong { font-size: 1.12rem; letter-spacing: -.025em; }
.footer-brand p { max-width: 30rem; margin: .9rem 0 0; font-size: .82rem; line-height: 1.65; }
.footer-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.footer-navigation div { display: grid; align-content: start; gap: .65rem; }
.footer-navigation strong { margin-bottom: .15rem; color: var(--ink); font-size: .72rem; letter-spacing: .045em; text-transform: uppercase; }
.site-footer .footer-navigation a { font-size: .78rem; font-weight: 600; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1.1rem; padding-bottom: 1.35rem; border-top: 1px solid var(--line); font-size: .72rem; }
.footer-bottom nav { display: flex; gap: 1.2rem; }

@media (max-width: 1120px) {
  .overview-page .homepage-primary-grid { grid-template-columns: minmax(0, 1fr) 16rem; gap: 2rem; }
  .overview-page .homepage h1 { font-size: clamp(3rem, 5.6vw, 4rem); }
  .evidence-dashboard { grid-template-columns: 1fr; }
  .activity-chart,
  .ranking-panel { min-height: 25rem; }
  .evidence-explore > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evidence-explore a:nth-child(4) { border-left: 0; }
  .evidence-explore a:nth-child(n+4) { border-top: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .overview-page .homepage-opening { padding: 2.35rem 1rem 3.5rem; }
  .overview-page .homepage-closing { padding: 3rem 1rem 1.5rem; }
  .overview-page .homepage-primary-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
  .overview-page .homepage-primary-grid > .hero-panel,
  .overview-page .homepage-primary-grid > .newcomer-panel { border: 0; border-radius: 0; box-shadow: none; }
  .overview-page .homepage h1 { font-size: clamp(2.65rem, 11vw, 3.5rem); }
  .overview-page .homepage-primary-grid > .newcomer-panel { padding: 1.3rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .overview-page .about-pfd-panel > p { max-width: 34rem; }
  .overview-page .hero-evidence-summary { grid-template-columns: 1fr; }
  .overview-page .summary-status { text-align: left; }
  .overview-page .homepage-secondary-grid { display: grid; margin-top: 2rem; }
  .overview-page .evidence-preview,
  .overview-page .pinned-panel,
  .overview-page .featured-investigation { order: initial; }
  .evidence-explore > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-explore a:nth-child(3),
  .evidence-explore a:nth-child(5) { border-left: 0; }
  .evidence-explore a:nth-child(n+3) { border-top: 1px solid var(--line); }
  .evidence-explore a:nth-child(4) { border-left: 1px solid var(--line); }
  .overview-page .homepage-secondary-column { display: grid; grid-template-columns: 1fr; }
  .overview-page .homepage-secondary-column > .featured-investigation,
  .overview-page .homepage-secondary-column > .pinned-panel { height: auto; min-height: 17rem; }
  .overview-page .journey-main { grid-template-columns: 1fr; padding: 1.4rem; }
  .overview-page .journey-path::before { display: none; }
  .overview-page .journey-path ol { padding-top: 1.5rem; }
  .footer-main { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 620px) {
  .overview-page .home-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .overview-page .home-stats div { padding: 0 .55rem; }
  .overview-page .home-stats img { width: 1.25rem; height: 1.25rem; }
  .overview-page .home-stats dd { font-size: 1rem; }
  .overview-page .home-stats dt { font-size: .62rem; }
  .activity-chart { padding-inline: .85rem; }
  .activity-chart-heading { display: grid; }
  .activity-range { width: fit-content; }
  .activity-plot { height: 13rem; }
  .activity-month-label { font-size: .52rem; }
  .ranking-table-head,
  .ranking-list a { grid-template-columns: 1.15rem minmax(0, 1fr) 2.8rem 2.8rem .75rem; }
  .ranking-table-head { grid-template-columns: minmax(0, 1fr) 2.8rem 2.8rem .75rem; }
  .ranking-list .mini-bar-chart { display: none; }
  .evidence-explore > div { grid-template-columns: 1fr; }
  .evidence-explore a + a,
  .evidence-explore a:nth-child(4) { border-top: 1px solid var(--line); border-left: 0; }
  .footer-main { padding-top: 2.1rem; padding-bottom: 1.8rem; }
  .footer-navigation { gap: 1.25rem; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

/* Homepage chart and type refinement. */
.overview-page .homepage .lede { font-size: 1.08rem; }
.overview-page .home-search-suggestions > span { font-size: .82rem; }
.overview-page .home-stats dd { font-size: 1.35rem; }
.overview-page .home-stats dt { font-size: .78rem; }
.overview-page .summary-status { font-size: .78rem; }
.overview-page .about-pfd-heading h2 { font-size: 1.28rem; }
.overview-page .about-pfd-panel > p { font-size: .94rem; }
.overview-page .about-pfd-button { font-size: .88rem; }
.overview-page .evidence-heading h2 { font-size: 1.55rem; }
.activity-chart,
.ranking-panel { min-height: 27rem; }
.activity-chart { padding: 1.55rem 1.7rem 1.25rem; }
.activity-chart h3,
.ranking-panel h3 { font-size: 1.25rem; }
.activity-chart-heading p { margin-top: .4rem; font-size: .86rem; }
.activity-range button { min-height: 2.15rem; padding-inline: .72rem; font-size: .78rem; }
.activity-legend { justify-content: center; margin-top: .85rem; font-size: .78rem; }
.activity-legend i { width: 1.2rem; height: .2rem; }
.activity-readout { min-height: 1.5rem; margin-top: .7rem; font-size: .82rem; }
.activity-chart-visual {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  grid-template-rows: 14rem 2.65rem;
  column-gap: .8rem;
  margin-top: .35rem;
}
.activity-y-axis { position: relative; grid-column: 1; grid-row: 1; }
.activity-y-axis span {
  position: absolute;
  top: var(--tick-y);
  right: 0;
  color: #6879a6;
  font-size: .76rem;
  font-variant-numeric: tabular-nums;
  transform: translateY(-50%);
}
.activity-plot {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
.activity-line-chart,
.activity-points,
.activity-report-points { position: absolute; inset: 0; width: 100%; height: 100%; }
.activity-line-chart { z-index: 0; }
.activity-report-points { z-index: 1; pointer-events: none; }
.activity-points { z-index: 2; pointer-events: none; }
.activity-report-points:has(.activity-report-point:hover),
.activity-report-points:focus-within { z-index: 3; }
.activity-grid line { stroke: #dfe6f4; stroke-width: 1; vector-effect: non-scaling-stroke; }
.activity-report-bars rect {
  fill: #a8b6d7;
  opacity: .86;
  transform-box: fill-box;
  transform-origin: center bottom;
}
.activity-report-bars rect.is-projected {
  fill: #eef1fa;
  stroke: #8799c7;
  stroke-width: 1.5;
  stroke-dasharray: 4 3;
  opacity: 1;
  vector-effect: non-scaling-stroke;
}
.activity-line {
  fill: none;
  stroke: #506fe9;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}
.activity-line-projected { stroke-dasharray: 7 6; }
.activity-markers circle {
  fill: #506fe9;
  stroke: #fff;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}
.activity-markers circle.is-projected {
  fill: #aebcf8;
  stroke: #fff;
  stroke-width: 1.5;
}
.activity-markers { display: none; }
.activity-month {
  position: absolute;
  top: var(--point-y);
  left: var(--point-x);
  display: block;
  width: var(--point-size, 2rem);
  height: var(--point-size, 2rem);
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  outline: 0;
  background: transparent;
  color: var(--muted);
  cursor: crosshair;
  pointer-events: auto;
  transform: translate(-50%, -50%);
}
.activity-month[hidden] { display: none; }
.activity-month::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--marker-size, .56rem);
  height: var(--marker-size, .56rem);
  border: 1.5px solid #fff;
  border-radius: 50%;
  background: #506fe9;
  content: "";
  pointer-events: none;
  transform: translate(-50%, -50%);
}
.activity-month[data-projected="true"]::before { background: #aebcf8; }
.activity-month::after {
  position: absolute;
  inset: 27%;
  border-radius: 50%;
  background: transparent;
  content: "";
  transition: background-color 140ms ease, box-shadow 140ms ease;
}
.activity-month:hover::after,
.activity-month:focus-visible::after {
  background: #506fe9;
  box-shadow: 0 0 0 5px rgba(80, 111, 233, .16);
}
.activity-tooltip {
  bottom: calc(100% + .45rem);
  width: 10.5rem;
  padding: .7rem .78rem;
  border-radius: .55rem;
  font-size: .76rem;
  line-height: 1.5;
}
.activity-tooltip .projection-note {
  margin-top: .3rem;
  padding-top: .3rem;
  border-top: 1px solid var(--line);
  color: #6879a6;
  font-size: .68rem;
}
.activity-report-point {
  position: absolute;
  top: var(--report-y);
  bottom: var(--report-bottom);
  left: var(--point-x);
  width: var(--report-hit-width, 1rem);
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  cursor: crosshair;
  pointer-events: auto;
  transform: translateX(-50%);
}
.activity-report-point::after {
  position: absolute;
  inset: 0;
  border-radius: .2rem .2rem 0 0;
  background: transparent;
  content: "";
  transition: background-color 140ms ease, box-shadow 140ms ease;
}
.activity-report-point:hover::after,
.activity-report-point:focus-visible::after {
  background: rgba(80, 111, 233, .18);
  box-shadow: 0 0 0 2px rgba(80, 111, 233, .12);
}
.activity-report-point .activity-tooltip { top: auto; bottom: calc(100% + .45rem); }
.activity-report-point:hover .activity-tooltip,
.activity-report-point:focus-visible .activity-tooltip { display: block; }
.activity-report-point:first-child .activity-tooltip { left: -.1rem; transform: none; }
.activity-report-point:last-child .activity-tooltip { right: -.1rem; left: auto; transform: none; }
.activity-x-axis {
  position: relative;
  grid-column: 2;
  grid-row: 2;
  border-top: 1px solid #dfe6f4;
}
.activity-x-axis span {
  position: absolute;
  top: .6rem;
  left: var(--tick-x);
  color: #6879a6;
  font-size: .68rem;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}
.activity-x-axis span b,
.activity-x-axis span small { display: block; font: inherit; }
.activity-x-axis span:first-child { transform: none; }
.activity-x-axis span:last-child { transform: translateX(-100%); }
.activity-link,
.ranking-heading a { font-size: .82rem; }
.ranking-panel { padding: 1.55rem 1.35rem .8rem; }
.ranking-heading { padding-bottom: 1rem; }
.ranking-table-head {
  min-height: 2.6rem;
  font-size: .75rem;
}
.ranking-list a { min-height: 4.45rem; }
.ranking-number { font-size: .78rem; }
.ranking-name { font-size: .88rem; line-height: 1.38; }
.ranking-list .report-count,
.ranking-list .commitment-count { font-size: .82rem; }
.ranking-arrow { width: .9rem; height: .9rem; }
.evidence-explore { padding: 1.25rem 1.3rem 1.1rem; }
.evidence-explore h3 { font-size: 1.15rem; }
.evidence-explore > div { gap: .7rem; }
.evidence-explore a {
  min-height: 8.4rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: .55rem;
  background: #fff;
}
.evidence-explore a + a { border-left: 1px solid var(--line); }
.evidence-explore strong { font-size: .9rem; }
.evidence-explore small { font-size: .78rem; line-height: 1.5; }
.evidence-explore b { font-size: .9rem; }
.footer-brand p { font-size: .88rem; }
.site-footer .footer-navigation a { font-size: .84rem; }
.footer-bottom { font-size: .78rem; }

@media (max-width: 620px) {
  .overview-page .homepage .lede { font-size: 1rem; }
  .overview-page .home-stats dd { font-size: 1.08rem; }
  .overview-page .home-stats dt { font-size: .7rem; }
  .activity-chart,
  .ranking-panel { min-height: 0; }
  .activity-chart { padding: 1.2rem 1rem; }
  .activity-chart-visual { grid-template-columns: 2.35rem minmax(0, 1fr); grid-template-rows: 14rem 2.65rem; column-gap: .45rem; }
  .activity-y-axis span,
  .activity-x-axis span { font-size: .65rem; }
  .activity-tooltip { width: 9.25rem; }
  .ranking-panel { padding: 1.25rem .85rem .65rem; }
  .ranking-name { font-size: .82rem; }
  .ranking-list .report-count,
  .ranking-list .commitment-count { font-size: .76rem; }
  .evidence-explore strong { font-size: .88rem; }
  .evidence-explore small { font-size: .75rem; }
  .evidence-explore a { min-height: 0; }
}

/* Homepage fidelity pass: long-range evidence, complete rankings and cards. */
.evidence-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.activity-chart,
.ranking-panel { height: auto; min-height: 26.5rem; overflow: visible; }
.activity-chart { padding: 1.35rem 1.35rem 1rem; }
.activity-chart-heading { align-items: center; }
.panel-title-with-help { display: flex; gap: .45rem; align-items: center; min-width: 0; }
.contextual-help { position: relative; display: inline-flex; flex: 0 0 auto; }
.contextual-help > button {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  padding: .1rem;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: help;
}
.contextual-help > button:hover { background: #eef2ff; }
.contextual-help > button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.contextual-help > button img { width: 1rem; height: 1rem; opacity: .82; }
.contextual-help-tooltip {
  position: absolute;
  top: calc(100% + .55rem);
  left: 50%;
  z-index: 30;
  width: 17rem;
  padding: .7rem .8rem;
  border: 1px solid var(--line);
  border-radius: .55rem;
  background: #fff;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.5;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -.25rem);
  transition: opacity 140ms ease, transform 140ms ease;
  box-shadow: 0 10px 28px rgba(26, 43, 93, .14);
}
.contextual-help:hover .contextual-help-tooltip,
.contextual-help:focus-within .contextual-help-tooltip { opacity: 1; transform: translate(-50%, 0); }
.activity-range { display: grid; grid-template-columns: repeat(4, auto); white-space: nowrap; }
.activity-range button { min-height: 2.1rem; padding-inline: .55rem; font-size: .72rem; }
.activity-chart-visual { grid-template-rows: 13.5rem 2.2rem; margin-top: 1.35rem; }
.activity-x-axis span { top: .65rem; font-size: .72rem; }
.activity-tooltip { z-index: 40; }
.activity-month:first-child .activity-tooltip { left: -.1rem; transform: none; }
.activity-month:last-child .activity-tooltip { right: -.1rem; left: auto; transform: none; }
.activity-legend { margin-top: .75rem; }
.activity-link { margin-top: .75rem; }

.ranking-panel { padding: 1.35rem 1.15rem .8rem; }
.ranking-heading { align-items: center; min-height: 2.35rem; padding: 0 .15rem .8rem; }
.ranking-table-head,
.ranking-list a {
  grid-template-columns: 1.15rem minmax(8.25rem, .86fr) 4.5rem 3.5rem 4.5rem .85rem;
  gap: .5rem;
}
.ranking-table-head { grid-template-columns: 1.15rem minmax(8.25rem, .86fr) 4.5rem 3.5rem 4.5rem .85rem; }
.ranking-head-concern { grid-column: 1 / 3; }
.ranking-head-trend { grid-column: 3; }
.ranking-head-reports { grid-column: 4; }
.ranking-head-actions { grid-column: 5; }
.ranking-head-trend,
.ranking-head-reports,
.ranking-head-actions,
.ranking-list .report-count,
.ranking-list .commitment-count { justify-self: center; text-align: center; }
.ranking-list a { min-height: 3.9rem; padding: .42rem; }
.ranking-name {
  display: block;
  overflow: visible;
  font-size: .8rem;
  line-height: 1.3;
  -webkit-box-orient: initial;
  -webkit-line-clamp: unset;
}
.ranking-list .mini-bar-chart { width: 4rem; justify-self: center; align-self: center; }

.evidence-explore { padding: 1.15rem 1.2rem 1.2rem; }
.evidence-explore > div { gap: .75rem; margin-top: .85rem; }
.evidence-explore a.evidence-explore-card {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  gap: .75rem;
  align-items: stretch;
  padding: 1rem 1.05rem;
  border: 1px solid var(--line);
  border-radius: .5rem;
  background: #fff;
  color: var(--ink);
}
.evidence-explore a.evidence-explore-card + a.evidence-explore-card { border-left: 1px solid var(--line); }
.evidence-explore a.evidence-explore-card:hover {
  border-color: #b6c4e8;
  background: #fbfcff;
  color: var(--ink);
  box-shadow: 0 8px 22px rgba(28, 47, 99, .07);
  transform: translateY(-1px);
}
.explore-card-title { display: flex; gap: .65rem; align-items: center; }
.evidence-explore .explore-card-title img { width: 1.4rem; height: 1.4rem; margin: 0; }
.evidence-explore .explore-card-title strong { font-size: .9rem; }
.evidence-explore a.evidence-explore-card > small {
  display: block;
  flex: 1 1 auto;
  color: var(--muted);
  font-size: .83rem;
  line-height: 1.55;
}
.evidence-explore .explore-card-link { display: inline-flex; grid-template-columns: none; gap: .45rem; align-items: center; color: var(--blue); font-size: .8rem; font-weight: 700; }
.evidence-explore .explore-card-link img { width: .75rem; height: .75rem; margin: 0; transition: transform 150ms ease; }
.evidence-explore a:hover .explore-card-link img { transform: translateX(2px); }

.overview-page .homepage-secondary-column > .featured-investigation,
.overview-page .homepage-secondary-column > .pinned-panel { height: 22rem; min-height: 22rem; }
.overview-page .pinned-panel { padding: 1.25rem 1.4rem; }
.overview-page .pinned-heading { padding-bottom: .85rem; }
.overview-page .pinned-empty { gap: 1.15rem; align-items: flex-start; padding: 1.4rem .2rem .1rem; }
.overview-page .pinned-empty > img { width: 2.8rem; height: 2.8rem; }
.overview-page .pinned-empty strong { font-size: 1.02rem; }
.overview-page .pinned-empty p { margin-top: .45rem; font-size: .92rem; line-height: 1.55; }
.overview-page .pinned-actions { margin-top: 1.1rem; }

.footer-main { grid-template-columns: minmax(16rem, 1fr) minmax(31rem, 1.15fr); }
.footer-navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.footer-credit { margin-top: 1.3rem !important; font-size: .78rem !important; }
.footer-navigation button {
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  font-size: .84rem;
  font-weight: 600;
  cursor: pointer;
}
.footer-navigation button:hover { text-decoration: underline; }

@media (max-width: 1120px) {
  .evidence-dashboard { grid-template-columns: 1fr; }
  .activity-chart,
  .ranking-panel { min-height: 28rem; }
  .evidence-explore a.evidence-explore-card:nth-child(n) { border: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .activity-chart-heading { display: grid; align-items: start; }
  .activity-range { width: 100%; grid-template-columns: repeat(4, 1fr); }
  .contextual-help-tooltip { width: min(17rem, calc(100vw - 3rem)); }
  .activity-chart-heading .contextual-help-tooltip { right: -.25rem; left: auto; transform: translateY(-.25rem); }
  .activity-chart-heading .contextual-help:hover .contextual-help-tooltip,
  .activity-chart-heading .contextual-help:focus-within .contextual-help-tooltip { transform: translateY(0); }
  .overview-page .homepage-secondary-column > .featured-investigation,
  .overview-page .homepage-secondary-column > .pinned-panel { height: auto; min-height: 20rem; }
  .evidence-explore a.evidence-explore-card:nth-child(n) { border: 1px solid var(--line); }
  .footer-main { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .activity-range { grid-template-columns: repeat(2, 1fr); }
  .activity-chart-visual { grid-template-rows: 13rem 2.2rem; }
  .ranking-table-head,
  .ranking-list a { grid-template-columns: 1.1rem minmax(0, 1fr) 2.7rem 3rem .75rem; }
  .ranking-table-head { grid-template-columns: 1.1rem minmax(0, 1fr) 2.7rem 3rem .75rem; }
  .ranking-head-trend { display: none; }
  .ranking-head-concern { grid-column: 1 / 3; }
  .ranking-head-reports { grid-column: 3; }
  .ranking-head-actions { grid-column: 4; }
  .ranking-name { font-size: .82rem; }
  .evidence-explore a.evidence-explore-card { min-height: 9rem; }
  .footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Temporarily hidden; retain the summary markup and data for an easy restore. */
.overview-page .hero-evidence-summary { display: none; }

/* Homepage evidence preview tabs. */
.overview-page .evidence-preview > .evidence-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.overview-page .evidence-heading p {
  margin: 0;
  color: var(--muted);
  font-size: .76rem;
  white-space: nowrap;
}
.evidence-switcher {
  --homepage-preview-content-height: 40rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface-soft);
  box-shadow: var(--shadow-soft);
}
.homepage-preview-tabs {
  display: grid;
  overflow-x: auto;
  overflow-y: hidden;
  grid-template-columns: repeat(5, minmax(10.5rem, 1fr));
  background: var(--surface);
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.homepage-preview-tabs::-webkit-scrollbar { display: none; width: 0; height: 0; }
.homepage-preview-tab {
  display: grid;
  min-width: 0;
  min-height: 5.2rem;
  grid-template-columns: 1.65rem minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  padding: .9rem 1rem;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  text-align: left;
  box-shadow: inset 0 -1px 0 var(--line);
}
.homepage-preview-tab:last-child { border-right: 0; }
.homepage-preview-tab img { width: 1.55rem; height: 1.55rem; }
.homepage-preview-tab span { display: grid; gap: .28rem; min-width: 0; }
.homepage-preview-tab strong { font-size: .9rem; line-height: 1.2; }
.homepage-preview-tab small { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.homepage-preview-tab.is-active {
  position: relative;
  z-index: 1;
  border-right-color: var(--ink);
  background: var(--ink);
  color: #fff;
  box-shadow: none;
}
.homepage-preview-tab.is-active img { filter: brightness(0) invert(1); }
.homepage-preview-tab.is-active small { color: rgba(255, 255, 255, .78); }
.homepage-preview-tab:focus-visible { position: relative; z-index: 2; outline: 3px solid rgba(18, 87, 255, .42); outline-offset: -3px; }
.homepage-preview-tab:disabled { opacity: 1; cursor: not-allowed; }

.evidence-switcher .evidence-dashboard {
  position: relative;
  padding: 1.05rem .85rem .85rem;
  background: var(--surface-soft);
  box-shadow: inset 0 1px 0 var(--line);
}
.evidence-switcher .evidence-dashboard::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: var(--homepage-preview-pointer-left, 10%);
  width: 1.15rem;
  height: .65rem;
  background: var(--ink);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}
.evidence-switcher .activity-chart,
.evidence-switcher .ranking-panel { box-shadow: none; }
.evidence-switcher .activity-chart,
.evidence-switcher .ranking-panel {
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
}
.evidence-switcher .activity-chart-visual { grid-template-rows: 25.5rem 2.2rem; }
.evidence-switcher .ranking-panel { display: flex; flex-direction: column; }
.evidence-switcher .ranking-list {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.evidence-switcher .ranking-list::-webkit-scrollbar { width: 6px; }
.evidence-switcher .ranking-list::-webkit-scrollbar-track { background: transparent; }
.evidence-switcher .ranking-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #bdc7e3;
}

@media (max-width: 820px) {
  .overview-page .evidence-preview > .evidence-heading { align-items: flex-start; }
  .homepage-preview-tabs { grid-template-columns: repeat(5, 10.75rem); }
  .evidence-switcher .evidence-dashboard { padding: .9rem .7rem .7rem; }
}

@media (max-width: 620px) {
  .evidence-switcher { --homepage-preview-content-height: 34rem; }
  .overview-page .evidence-preview > .evidence-heading { display: grid; gap: .35rem; }
  .homepage-preview-tab { min-height: 4.85rem; padding: .75rem .85rem; }
  .evidence-switcher .evidence-dashboard { padding: .8rem .55rem .55rem; }
  .evidence-switcher .activity-chart-visual { grid-template-rows: 16rem 2.2rem; }
}

/* Homepage recipient preview. */
.evidence-dashboard[hidden] { display: none; }
.homepage-preview-tab:not(:disabled) { cursor: pointer; }
.homepage-preview-loading,
.homepage-preview-error {
  display: flex;
  min-height: var(--homepage-preview-content-height);
  grid-column: 1 / -1;
  gap: .8rem;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: .86rem;
}
.homepage-preview-spinner {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid #cbd3e9;
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: homepage-preview-spin 700ms linear infinite;
}
@keyframes homepage-preview-spin { to { transform: rotate(360deg); } }
.homepage-preview-error { flex-direction: column; }
.homepage-preview-error button {
  padding: .55rem .9rem;
  border: 1px solid var(--line-strong);
  border-radius: .45rem;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.recipient-groups-panel,
.recipient-ranking-panel {
  display: flex;
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
  min-width: 0;
  flex-direction: column;
  padding: 1.35rem 1.2rem .9rem;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
#evidence-panel-recipients { grid-template-columns: minmax(21rem, .95fr) minmax(34rem, 1.45fr); }
.recipient-panel-heading {
  display: flex;
  min-height: 2.35rem;
  flex: 0 0 auto;
  gap: .8rem;
  align-items: center;
  justify-content: space-between;
  padding: 0 .15rem .85rem;
}
.recipient-panel-heading h3 { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.recipient-panel-heading > a,
.recipient-panel-link {
  display: inline-flex;
  flex: 0 0 auto;
  gap: .35rem;
  align-items: center;
  color: var(--blue);
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
}
.recipient-panel-heading > a img,
.recipient-panel-link img { width: .8rem; height: .8rem; }
.recipient-panel-heading > a:hover,
.recipient-panel-link:hover { text-decoration: underline; }
.recipient-filter-clear {
  padding: .2rem 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: .73rem;
  font-weight: 700;
  cursor: pointer;
}
.recipient-filter-clear:disabled { color: #b8c0d2; cursor: default; }
.recipient-filter-clear:not(:disabled):hover { text-decoration: underline; }
.recipient-filter-clear:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

.recipient-group-list,
.recipient-ranking-list {
  min-height: 0;
  margin: 0;
  padding: 0 .35rem 0 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  list-style: none;
}
.recipient-group-list { display: flex; flex: 1 1 auto; flex-direction: column; }
.recipient-group-list::-webkit-scrollbar,
.recipient-ranking-list::-webkit-scrollbar { width: 6px; }
.recipient-group-list::-webkit-scrollbar-track,
.recipient-ranking-list::-webkit-scrollbar-track { background: transparent; }
.recipient-group-list::-webkit-scrollbar-thumb,
.recipient-ranking-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #bdc7e3;
}
.recipient-group-list li {
  flex: 0 0 auto;
  min-height: 3.6rem;
  border-top: 1px solid #e8ecf5;
}
.recipient-group-list li:first-child { border-top: 0; }
.recipient-group-button {
  display: grid;
  width: 100%;
  min-height: 3.6rem;
  grid-template-columns: minmax(0, 1fr) minmax(3.5rem, .65fr) 2.5rem;
  gap: .45rem;
  align-items: center;
  padding: .58rem .3rem;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.recipient-group-button:hover { background: #f5f7ff; }
.recipient-group-button[aria-pressed="true"] {
  border-radius: .45rem 0 0 .45rem;
  background: #e8ebf1;
  clip-path: polygon(0 0, calc(100% - .55rem) 0, 100% 50%, calc(100% - .55rem) 100%, 0 100%);
}
.recipient-group-button:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px var(--blue); }
.recipient-group-copy { display: grid; min-width: 0; gap: .18rem; }
.recipient-group-copy strong { color: var(--ink); font-size: .84rem; line-height: 1.25; }
.recipient-group-copy small { color: var(--muted); font-size: .68rem; line-height: 1.35; }
.recipient-group-bar { display: block; height: .42rem; overflow: hidden; border-radius: 999px; background: #edf0f8; }
.recipient-group-bar i { display: block; width: var(--bar-width); height: 100%; border-radius: inherit; background: #6079e8; }
.recipient-group-count { justify-self: end; color: var(--ink); font-size: .8rem; font-weight: 700; }
.recipient-panel-link { margin: .85rem .2rem 0; }

.recipient-ranking-panel { padding-right: 1.05rem; }
.recipient-ranking-panel.is-loading { opacity: .52; pointer-events: none; }
.recipient-ranking-heading { padding-right: .25rem; }
.recipient-ranking-title-block { display: grid; min-width: 0; gap: .35rem; }
.recipient-filter-context { display: flex; gap: .35rem; align-items: baseline; margin: 0; color: var(--muted); font-size: .7rem; }
.recipient-filter-context strong { color: var(--ink); font-size: .73rem; }
.recipient-ranking-table-head,
.recipient-ranking-list a {
  display: grid;
  grid-template-columns: 1.15rem minmax(8rem, 1fr) 5rem 4rem 4.3rem 5.4rem .75rem;
  gap: .42rem;
  align-items: center;
}
.recipient-ranking-table-head {
  min-height: 2rem;
  padding: 0 .48rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.recipient-heading-name { grid-column: 1 / 3; text-align: left; }
.recipient-heading-trend { grid-column: 3; }
.recipient-ranking-list { flex: 1 1 auto; }
.recipient-ranking-list li { border-bottom: 1px solid #e8ecf5; }
.recipient-ranking-list a {
  min-height: 3.45rem;
  padding: .4rem .45rem;
  color: var(--ink);
  text-decoration: none;
}
.recipient-ranking-list a:hover { background: #f7f9ff; }
.recipient-ranking-number { color: var(--muted); font-size: .72rem; font-weight: 700; }
.recipient-ranking-name { display: grid; min-width: 0; gap: .12rem; }
.recipient-ranking-name strong { overflow: hidden; font-size: .78rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.recipient-ranking-name small { overflow: hidden; color: var(--muted); font-size: .65rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.recipient-ranking-list .mini-bar-chart { width: 4.5rem; justify-self: center; }
.recipient-metric { justify-self: center; color: var(--ink); font-size: .74rem; font-weight: 700; }
.recipient-ranking-arrow { width: .7rem; height: .7rem; }
.recipient-ranking-panel .contextual-help-tooltip { left: 0; transform: translateY(-.25rem); }
.recipient-ranking-panel .contextual-help:hover .contextual-help-tooltip,
.recipient-ranking-panel .contextual-help:focus-within .contextual-help-tooltip { transform: translateY(0); }

/* Homepage topic comparison table. */
#evidence-panel-topics { display: block; }
#evidence-panel-topics[hidden] { display: none; }
.topic-table-panel {
  display: flex;
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
  min-width: 0;
  flex-direction: column;
  padding: 1.35rem 1.25rem .95rem;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
.topic-table-heading {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 .15rem 1rem;
}
.topic-table-heading h3 { margin: 0; font-size: 1.3rem; line-height: 1.2; }
.topic-table-heading p { margin: .32rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.topic-table-heading .contextual-help-tooltip { left: 0; width: 15rem; transform: translateY(-.25rem); }
.topic-table-heading .contextual-help:hover .contextual-help-tooltip,
.topic-table-heading .contextual-help:focus-within .contextual-help-tooltip { transform: translateY(0); }
.topic-table-scroll {
  position: relative;
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  scrollbar-color: #aeb9d4 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.topic-table-scroll:focus-visible { outline: 3px solid rgba(18, 87, 255, .2); outline-offset: 2px; }
.topic-table-scroll::-webkit-scrollbar { width: 7px; height: 7px; }
.topic-table-scroll::-webkit-scrollbar-track { background: transparent; }
.topic-table-scroll::-webkit-scrollbar-thumb { border-radius: 999px; background: #aeb9d4; }
.topic-table {
  width: 100%;
  min-width: 55rem;
  border-spacing: 0;
  border-collapse: separate;
  table-layout: fixed;
}
.topic-table th,
.topic-table td { text-align: left; vertical-align: middle; }
.topic-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: .7rem .65rem;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: #4d5f8d;
  font-size: .74rem;
  font-weight: 720;
  letter-spacing: -.005em;
  text-align: left;
}
.topic-table thead th:nth-child(1) { width: 2.25rem; padding-right: .2rem; }
.topic-table thead th:nth-child(2) { width: 43%; }
.topic-table thead th:nth-child(3) { width: 7.5rem; }
.topic-table thead th:nth-child(4) { width: 15rem; }
.topic-table thead th:nth-child(5) { width: 9.5rem; }
.topic-table tbody th,
.topic-table tbody td {
  padding: .72rem .65rem;
  border-bottom: 1px solid #e7ecf6;
  background: #fff;
  transition: background-color 150ms ease;
}
.topic-table tbody th { font-weight: inherit; text-align: left; }
.topic-table tbody tr:last-child th,
.topic-table tbody tr:last-child td { border-bottom: 0; }
.topic-table tbody tr:hover th,
.topic-table tbody tr:hover td { background: #f7f9ff; }
.topic-table-rank { padding-right: .2rem !important; color: #65749a; font-size: .72rem; font-weight: 700; text-align: center; }
.topic-table-name { display: grid; min-width: 0; gap: .2rem; color: var(--ink); text-decoration: none; }
.topic-table-name strong { font-size: .94rem; line-height: 1.25; letter-spacing: -.012em; }
.topic-table-name small { overflow: hidden; color: #5c6c95; font-size: .75rem; font-weight: 450; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.topic-table-name:hover strong { color: var(--blue); text-decoration: underline; text-underline-offset: .17rem; }
.topic-table-name:focus-visible { border-radius: .2rem; outline-offset: 4px; }
.topic-table-reports { font-variant-numeric: tabular-nums; }
.topic-table-reports strong { display: block; color: var(--ink); font-size: 1.1rem; line-height: 1.05; }
.topic-table-reports small { display: block; margin-top: .12rem; color: var(--muted); font-size: .7rem; line-height: 1.2; }
.topic-table-share { display: grid; grid-template-columns: minmax(5rem, 1fr) 2.9rem; gap: .65rem; align-items: center; font-variant-numeric: tabular-nums; }
.topic-table-share strong { color: var(--ink); font-size: .82rem; }
.topic-share-track { display: block; height: .28rem; overflow: hidden; border-radius: 999px; background: #e8edf7; }
.topic-share-track i { display: block; width: var(--topic-share); height: 100%; border-radius: inherit; background: #4169ed; }
.topic-table-pattern .mini-bar-chart { width: 7rem; height: 1.55rem; gap: 2px; }
.topic-table-pattern .mini-bar-chart i { background: #4169ed; }
.topic-table-link {
  display: inline-flex;
  width: fit-content;
  flex: 0 0 auto;
  gap: .35rem;
  align-items: center;
  margin: .8rem .18rem 0;
  color: var(--blue);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}
.topic-table-link:hover { text-decoration: underline; }
.topic-table-link img { width: .8rem; height: .8rem; }

/* Homepage actions preview. The spotlight rotates recent published examples;
   action-topic filtering remains deliberately quiet and direct. */
#evidence-panel-actions {
  grid-template-columns: minmax(22rem, .72fr) minmax(34rem, 1.28fr);
}
.action-topics-panel,
.action-spotlight-panel {
  display: flex;
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
.action-topics-panel { padding: 1.35rem 1.25rem .95rem; }
.action-spotlight-panel { padding: 1.35rem 1.35rem .85rem; }
.action-panel-heading {
  display: flex;
  min-height: 2.5rem;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  padding: 0 .1rem .8rem;
}
.action-panel-heading h3,
.action-spotlight-heading h3 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.2;
  letter-spacing: -.018em;
}
.action-panel-heading .contextual-help-tooltip {
  left: 0;
  width: 16rem;
  transform: translateY(-.25rem);
}
.action-panel-heading .contextual-help:hover .contextual-help-tooltip,
.action-panel-heading .contextual-help:focus-within .contextual-help-tooltip {
  transform: translateY(0);
}
.action-topic-clear {
  flex: 0 0 auto;
  padding: .12rem .1rem;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: .76rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .16rem;
  cursor: pointer;
}
.action-topic-clear:disabled { color: #a6afc3; cursor: default; text-decoration: none; }
.action-topic-list {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.action-topic-list li {
  position: relative;
  display: flex;
  min-height: 3.85rem;
  flex: 1 1 0;
  border-top: 1px solid #e8ecf5;
}
.action-topic-list li:first-child { border-top: 0; }
.action-topic-list li::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -.58rem;
  width: 1.15rem;
  height: 1.15rem;
  background: #f1f4fa;
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) rotate(45deg);
  transition: opacity 150ms ease;
}
.action-topic-list li.is-selected::after { opacity: 1; }
.action-topic-list li > button {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  min-height: inherit;
  grid-template-columns: 1.2rem minmax(0, 1fr) 3.4rem;
  gap: .55rem;
  align-items: center;
  margin: 0 -.55rem;
  padding: 0 .55rem;
  border: 0;
  border-radius: .38rem;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 150ms ease;
}
.action-topic-list li > button:hover { background: #f7f9fd; }
.action-topic-list li > button:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.action-topic-list li.is-selected > button { background: #f1f4fa; }
.action-topic-rank {
  color: #60709b;
  font-size: .76rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.action-topic-copy { display: grid; min-width: 0; gap: .48rem; }
.action-topic-copy strong {
  color: var(--ink);
  font-size: .82rem;
  line-height: 1.3;
}
.action-topic-bar {
  display: block;
  height: .38rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e9edf7;
}
.action-topic-bar i {
  display: block;
  width: var(--bar-width);
  height: 100%;
  border-radius: inherit;
  background: #4f72ee;
}
.action-topic-count {
  justify-self: end;
  color: var(--ink);
  font-size: .82rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.action-panel-link {
  display: inline-flex;
  width: fit-content;
  gap: .35rem;
  align-items: center;
  margin: .8rem .15rem 0;
  color: var(--blue);
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}
.action-panel-link:hover { text-decoration: underline; }
.action-panel-link img { width: .8rem; height: .8rem; }

.action-spotlight-heading {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: .18rem;
}
.action-spotlight-heading > div:first-child { display: grid; gap: .18rem; }
.action-spotlight-heading p {
  margin: 0;
  color: #66759b;
  font-size: .82rem;
  line-height: 1.4;
}
.action-spotlight-stage {
  position: relative;
  display: flex;
  height: auto;
  min-height: 15rem;
  flex: 1 1 15rem;
  flex-direction: column;
  margin-top: 1.55rem;
  overflow: hidden;
  background: #f2f5fa;
  transition: background-color 240ms ease;
}
.action-spotlight-example {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-rows: 4.2rem auto 7.85rem auto;
  align-content: center;
  padding: 1rem 1.4rem;
}
.action-spotlight-organisation,
.action-spotlight-connector,
.action-spotlight-copy { max-width: 43rem; margin: 0; }
.action-spotlight-organisation {
  display: flex;
  height: 4.2rem;
  align-items: flex-end;
  overflow: hidden;
  color: var(--blue);
  font-size: clamp(1.4rem, 1.8vw, 1.65rem);
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.018em;
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translateX(0);
  transition:
    opacity 180ms ease 140ms,
    clip-path 440ms cubic-bezier(.22, 1, .36, 1) 140ms,
    transform 440ms cubic-bezier(.22, 1, .36, 1) 140ms;
}
.action-spotlight-connector {
  margin-top: .18rem;
  color: #60709a;
  font-size: 1rem;
  font-weight: 550;
  line-height: 1.35;
}
.action-spotlight-copy {
  margin-top: .58rem;
  align-self: start;
  display: -webkit-box;
  overflow: hidden;
  color: var(--ink);
  font-family: Manrope, Lato, "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.45rem, 1.85vw, 1.72rem);
  font-stretch: normal;
  font-weight: 480;
  line-height: 1.34;
  letter-spacing: -.018em;
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translateY(0);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  transition:
    opacity 180ms ease 290ms,
    clip-path 540ms cubic-bezier(.22, 1, .36, 1) 290ms,
    transform 540ms cubic-bezier(.22, 1, .36, 1) 290ms;
}
.action-spotlight-metadata {
  display: flex;
  flex: 0 0 auto;
  gap: 0;
  align-items: center;
  padding: .72rem 0 0;
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translateX(0);
  transition:
    opacity 170ms ease 450ms,
    clip-path 380ms cubic-bezier(.22, 1, .36, 1) 450ms,
    transform 380ms cubic-bezier(.22, 1, .36, 1) 450ms;
}
.action-metadata-tag {
  display: inline-grid;
  min-width: 0;
  grid-template-columns: 1rem minmax(0, auto);
  gap: .48rem;
  align-items: center;
  color: #53648f;
}
.action-metadata-tag + .action-metadata-tag {
  margin-left: .9rem;
  padding-left: .9rem;
  border-left: 1px solid #ced7e7;
}
.action-metadata-tag > img { width: 1rem; height: 1rem; }
.action-metadata-tag > span { display: grid; gap: .05rem; }
.action-metadata-tag strong {
  color: var(--ink);
  font-size: .76rem;
  font-weight: 720;
  line-height: 1.25;
}
.action-metadata-tag small {
  color: #65749a;
  font-size: .64rem;
  line-height: 1.25;
}
.action-spotlight-stage.is-pending .action-spotlight-organisation,
.action-spotlight-stage.is-entering .action-spotlight-organisation {
  opacity: .15;
  clip-path: inset(0 100% 0 0);
  transform: translateX(-.45rem);
}
.action-spotlight-stage.is-action-initialising,
.action-spotlight-stage.is-action-initialising * {
  animation: none !important;
  transition: none !important;
}
.action-spotlight-stage.is-pending .action-spotlight-copy,
.action-spotlight-stage.is-entering .action-spotlight-copy {
  opacity: .12;
  clip-path: inset(0 0 100% 0);
  transform: translateY(.7rem);
}
.action-spotlight-stage.is-pending .action-spotlight-metadata,
.action-spotlight-stage.is-entering .action-spotlight-metadata {
  opacity: .15;
  clip-path: inset(0 100% 0 0);
  transform: translateX(-.35rem);
}
.action-spotlight-stage.is-leaving { background: #eef2f9; }
.action-spotlight-stage.is-leaving .action-spotlight-organisation,
.action-spotlight-stage.is-leaving .action-spotlight-copy,
.action-spotlight-stage.is-leaving .action-spotlight-metadata {
  opacity: 0;
  clip-path: inset(0 0 0 100%);
  transform: translateX(.45rem);
  transition-delay: 0ms;
  transition-duration: 220ms;
}
.action-spotlight-concern {
  display: grid;
  height: 5.35rem;
  min-height: 5.35rem;
  flex: 0 0 5.35rem;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: .7rem;
  align-items: start;
  padding: .8rem 1.4rem;
  border-bottom: 1px solid var(--line);
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translateY(0);
  transition:
    opacity 170ms ease 40ms,
    clip-path 400ms cubic-bezier(.22, 1, .36, 1) 40ms,
    transform 400ms cubic-bezier(.22, 1, .36, 1) 40ms;
}
.action-spotlight-concern[hidden] { display: none; }
.action-spotlight-concern.is-pending,
.action-spotlight-concern.is-entering {
  opacity: 0;
  clip-path: inset(100% 0 0 0);
  transform: translateY(.35rem);
}
.action-spotlight-concern.is-leaving {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  transform: translateY(-.2rem);
  transition-delay: 0ms;
  transition-duration: 180ms;
}
.action-spotlight-concern > img { width: 1.05rem; height: 1.05rem; margin-top: .2rem; }
.action-spotlight-concern > span { display: grid; min-width: 0; gap: .2rem; }
.action-spotlight-concern small {
  color: #65749a;
  font-size: .62rem;
  font-weight: 750;
  letter-spacing: .065em;
  line-height: 1.2;
  text-transform: uppercase;
}
.action-spotlight-concern strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 640;
  line-height: 1.38;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.action-spotlight-footer {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: minmax(10rem, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
  min-height: 3.8rem;
  margin-top: auto;
}
.action-spotlight-topic {
  overflow: hidden;
  color: #5f6f98;
  font-size: .78rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-spotlight-link {
  display: inline-flex;
  gap: .38rem;
  align-items: center;
  color: var(--blue);
  font-size: .82rem;
  font-weight: 720;
  text-decoration: none;
}
.action-spotlight-link:hover { text-decoration: underline; text-underline-offset: .18rem; }
.action-spotlight-link img { width: .78rem; height: .78rem; }
.action-spotlight-controls { display: flex; gap: .48rem; align-items: center; color: #5d6d96; font-size: .78rem; font-variant-numeric: tabular-nums; }
.action-spotlight-controls > button {
  display: inline-flex;
  min-width: 1.8rem;
  width: 1.8rem;
  height: 1.8rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
  transition: color 150ms ease, opacity 150ms ease, transform 150ms ease;
}
.action-spotlight-controls > button:hover { color: var(--blue); transform: translateY(-1px); }
.action-spotlight-controls > button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.action-spotlight-controls > button:disabled { opacity: .4; cursor: default; }
.action-spotlight-controls img { width: .9rem; height: .9rem; }
.action-spotlight-pause { min-width: 1.8rem; }
.action-spotlight-pause img { width: .72rem; height: .72rem; }
.action-spotlight-progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 2px;
  overflow: hidden;
  background: rgba(36, 87, 255, .24);
}
.action-spotlight-progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
}
.action-spotlight-progress i.is-running { animation: action-spotlight-progress 10s linear forwards; }
.action-spotlight-progress i.is-paused { animation-play-state: paused; }
.action-spotlight-empty { margin: auto; }
@keyframes action-spotlight-progress { to { transform: scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
  .action-spotlight-organisation,
  .action-spotlight-copy,
  .action-spotlight-metadata,
  .action-spotlight-concern { transition: none; }
  .action-spotlight-stage.is-pending .action-spotlight-organisation,
  .action-spotlight-stage.is-entering .action-spotlight-organisation,
  .action-spotlight-stage.is-pending .action-spotlight-copy,
  .action-spotlight-stage.is-entering .action-spotlight-copy,
  .action-spotlight-stage.is-pending .action-spotlight-metadata,
  .action-spotlight-stage.is-entering .action-spotlight-metadata,
  .action-spotlight-concern.is-pending,
  .action-spotlight-concern.is-entering {
    opacity: 1;
    clip-path: none;
    transform: none;
  }
  .action-spotlight-progress { display: none; }
  .action-spotlight-panel.prefers-reduced-motion .action-spotlight-pause { display: none; }
}

@media (max-width: 1120px) {
  #evidence-panel-recipients { grid-template-columns: 1fr; }
  #evidence-panel-actions { grid-template-columns: 1fr; }
  .recipient-groups-panel,
  .recipient-ranking-panel,
  .action-topics-panel,
  .action-spotlight-panel { height: 34rem; min-height: 34rem; }
  .action-spotlight-panel { height: 40rem; min-height: 40rem; }
}

@media (max-width: 620px) {
  .topic-table-panel { height: 32rem; min-height: 32rem; padding: 1.15rem .8rem .75rem; }
  .topic-table-heading { padding-bottom: .75rem; }
  .topic-table-heading h3 { font-size: 1.12rem; }
  .topic-table-heading p { font-size: .72rem; }
  .topic-table { min-width: 42rem; }
  .topic-table thead th:nth-child(1) { width: 1.9rem; }
  .topic-table thead th:nth-child(2) { width: 15rem; }
  .topic-table tbody th,
  .topic-table tbody td { padding-block: .62rem; }
  .topic-table-link { margin-top: .65rem; }
  .recipient-groups-panel,
  .recipient-ranking-panel { height: 32rem; min-height: 32rem; padding: 1.15rem .8rem .7rem; }
  .recipient-panel-heading { align-items: flex-start; }
  .recipient-panel-heading h3 { font-size: 1.08rem; }
  .recipient-ranking-heading { display: grid; grid-template-columns: 1fr; gap: .45rem; padding-bottom: .75rem; }
  .recipient-ranking-heading > a { justify-self: start; }
  .recipient-ranking-heading .panel-title-with-help { align-items: flex-start; }
  .recipient-ranking-heading .contextual-help > button { margin-top: .05rem; }
  .recipient-group-button { grid-template-columns: minmax(0, 1fr) 2.7rem; gap: .55rem; }
  .recipient-group-bar { display: none; }
  .recipient-ranking-table-head,
  .recipient-ranking-list .mini-bar-chart { display: none; }
  .recipient-ranking-list a {
    min-height: 5.2rem;
    grid-template-columns: 1rem repeat(3, minmax(0, 1fr)) .65rem;
    grid-template-rows: auto auto;
    gap: .45rem .25rem;
    align-items: center;
  }
  .recipient-ranking-number { grid-column: 1; grid-row: 1; }
  .recipient-ranking-name { grid-column: 2 / 5; grid-row: 1; }
  .recipient-ranking-arrow { grid-column: 5; grid-row: 1; }
  .recipient-ranking-name strong { font-size: .76rem; }
  .recipient-ranking-name small { font-size: .62rem; }
  .recipient-metric { display: grid; gap: .12rem; justify-self: start; font-size: .7rem; }
  .recipient-metric::before { color: var(--muted); font-size: .54rem; font-weight: 700; text-transform: uppercase; }
  .recipient-report-count { grid-column: 2; grid-row: 2; }
  .recipient-response-count { grid-column: 3; grid-row: 2; }
  .recipient-action-count { grid-column: 4; grid-row: 2; }
  .recipient-report-count::before { content: "Reports"; }
  .recipient-response-count::before { content: "Responses"; }
  .recipient-action-count::before { content: "Actions"; }
  .action-topics-panel,
  .action-spotlight-panel { height: 32rem; min-height: 32rem; padding: 1.1rem .8rem .7rem; }
  .action-spotlight-panel { height: 44rem; min-height: 44rem; }
  .action-panel-heading h3,
  .action-spotlight-heading h3 { font-size: 1.05rem; }
  .action-topic-list li { min-height: 3.35rem; }
  .action-topic-copy strong,
  .action-topic-count { font-size: .76rem; }
  .action-panel-heading .contextual-help-tooltip {
    right: 0;
    left: auto;
    width: min(16rem, calc(100vw - 4rem));
    transform: translateY(-.25rem);
  }
  .action-panel-heading .contextual-help:hover .contextual-help-tooltip,
  .action-panel-heading .contextual-help:focus-within .contextual-help-tooltip {
    transform: translateY(0);
  }
  .action-spotlight-heading { gap: .55rem; }
  .action-spotlight-heading .action-spotlight-controls { gap: .3rem; }
  .action-spotlight-stage { height: auto; min-height: 18rem; flex: 1 1 18rem; margin-top: 1rem; }
  .action-spotlight-example { grid-template-rows: 3.25rem auto 9.5rem auto; padding: .65rem .85rem; }
  .action-spotlight-organisation { height: 3.25rem; font-size: 1.22rem; }
  .action-spotlight-connector { font-size: .94rem; }
  .action-spotlight-copy { font-size: 1.25rem; line-height: 1.34; -webkit-line-clamp: 5; }
  .action-spotlight-metadata { flex-wrap: wrap; gap: .55rem; padding: .65rem 0 0; }
  .action-metadata-tag + .action-metadata-tag { margin-left: 0; padding-left: .65rem; }
  .action-spotlight-concern { height: 5rem; min-height: 5rem; flex-basis: 5rem; padding: .65rem .85rem; }
  .action-spotlight-concern strong { font-size: .82rem; }
  .action-spotlight-footer {
    grid-template-columns: 1fr auto;
    gap: .55rem;
    min-height: 5.6rem;
  }
  .action-spotlight-topic { grid-column: 1 / -1; white-space: normal; }
  .action-spotlight-link { font-size: .78rem; }
  .action-spotlight-controls { justify-self: end; }
}

/* Homepage preview typography: keep headings dominant while making supporting
   evidence comfortably readable at normal desktop viewing distances. */
.homepage-preview-tab strong { font-size: .95rem; }
.homepage-preview-tab small { font-size: .8rem; line-height: 1.4; }

.evidence-switcher .activity-range button { font-size: .78rem; }
.evidence-switcher .activity-y-axis span { font-size: .8rem; }
.evidence-switcher .activity-x-axis span { font-size: .75rem; }
.evidence-switcher .activity-legend { font-size: .82rem; }
.evidence-switcher .activity-link,
.evidence-switcher .ranking-heading a { font-size: .84rem; }
.evidence-switcher .ranking-table-head { font-size: .78rem; }
.evidence-switcher .ranking-number { font-size: .8rem; }
.evidence-switcher .ranking-name { font-size: .85rem; line-height: 1.35; }
.evidence-switcher .ranking-list .report-count,
.evidence-switcher .ranking-list .commitment-count { font-size: .84rem; }

.recipient-group-copy strong { font-size: .875rem; }
.recipient-group-copy small { font-size: .78rem; line-height: 1.4; }
.recipient-group-count { font-size: .85rem; }
.recipient-panel-link,
.recipient-panel-heading > a { font-size: .82rem; }
.recipient-ranking-table-head { font-size: .72rem; line-height: 1.2; }
.recipient-ranking-number { font-size: .76rem; }
.recipient-ranking-name strong { font-size: .825rem; }
.recipient-ranking-name small { font-size: .73rem; line-height: 1.3; }
.recipient-metric { font-size: .8rem; }

.topic-table-heading p { font-size: .85rem; }
.topic-table thead th { font-size: .78rem; }
.topic-table-rank { font-size: .76rem; }
.topic-table-name small { font-size: .79rem; }
.topic-table-reports small { font-size: .75rem; }
.topic-table-link { font-size: .82rem; }

.location-choropleth-legend { font-size: .73rem; line-height: 1.3; }
.location-choropleth-legend strong { font-size: .78rem; }
.location-selected-card > p:not(.location-selected-total, .location-history-note) { font-size: .81rem; }
.location-history-note { font-size: .73rem; line-height: 1.35; }
.location-selected-card > a { font-size: .8rem; }
.location-ranking h4 { font-size: .98rem; }
.location-ranking-list button { min-height: 2.45rem; font-size: .78rem; }
.location-coverage { font-size: .73rem; }
.location-map-tooltip { font-size: .72rem; }

@media (max-width: 620px) {
  .homepage-preview-tab strong { font-size: .9rem; }
  .homepage-preview-tab small { font-size: .74rem; }
  .evidence-switcher .activity-y-axis span,
  .evidence-switcher .activity-x-axis span { font-size: .7rem; }
  .evidence-switcher .ranking-name { font-size: .84rem; }
  .recipient-ranking-name strong { font-size: .82rem; }
  .recipient-ranking-name small { font-size: .7rem; }
  .recipient-metric { font-size: .75rem; }
  .recipient-metric::before { font-size: .6rem; }
  .topic-table-heading p { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-preview-spinner { animation-duration: 1400ms; }
}

/* Homepage mobile refinement: surface evidence sooner and keep the preview
   readable without turning the first screen into a miniature desktop table. */
@media (max-width: 620px) {
  .overview-page .homepage-opening { padding-top: 1.45rem; }
  .overview-page .homepage-primary-grid { gap: .85rem; }
  .overview-page .homepage h1 {
    margin-bottom: .55rem;
    font-size: clamp(2.35rem, 10.5vw, 2.8rem);
    line-height: 1.01;
  }
  .overview-page .homepage .lede { font-size: .94rem; line-height: 1.5; }
  .overview-page .home-search { min-height: 3.35rem; margin-top: 1rem; }
  .overview-page .home-search-suggestions { gap: .35rem; margin-top: .55rem; }
  .overview-page .home-search-suggestions a,
  .overview-page .home-search-suggestions span + a { padding: .42rem .7rem; }
  .overview-page .homepage-primary-grid > .newcomer-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .25rem .75rem;
    align-items: center;
    padding-top: .8rem;
  }
  .overview-page .about-pfd-heading { grid-column: 1; grid-row: 1; }
  .overview-page .about-pfd-heading h2 { font-size: 1.08rem; }
  .overview-page .about-pfd-panel > p {
    max-width: none;
    grid-column: 1 / -1;
    grid-row: 2;
    margin: .2rem 0 0;
    font-size: .84rem;
    line-height: 1.45;
  }
  .overview-page .about-pfd-button {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: .35rem 0;
    font-size: .76rem;
  }
  .overview-page .homepage-secondary-grid { margin-top: 1.35rem; }

  .homepage-preview-tabs {
    gap: .35rem;
    grid-template-columns: repeat(5, max-content);
    padding: .45rem;
  }
  .homepage-preview-tab {
    min-height: 2.8rem;
    grid-template-columns: 1.1rem max-content;
    gap: .45rem;
    padding: .5rem .7rem;
    border: 1px solid var(--line);
    border-radius: .5rem;
    box-shadow: none;
  }
  .homepage-preview-tab:last-child { border-right: 1px solid var(--line); }
  .homepage-preview-tab img { width: 1.1rem; height: 1.1rem; }
  .homepage-preview-tab span { display: block; }
  .homepage-preview-tab strong { font-size: .8rem; white-space: nowrap; }
  .homepage-preview-tab small { display: none; }
  .homepage-preview-tab.is-active { border-color: var(--ink); }
  .evidence-switcher .evidence-dashboard::before { display: none; }

  .evidence-switcher #evidence-panel-concerns {
    gap: .65rem;
    padding: .65rem;
  }
  .evidence-switcher #evidence-panel-concerns .activity-chart,
  .evidence-switcher #evidence-panel-concerns .ranking-panel {
    height: auto;
    min-height: 0;
  }
  .evidence-switcher #evidence-panel-concerns .activity-chart { padding: 1rem .8rem .85rem; }
  .evidence-switcher #evidence-panel-concerns .activity-range { grid-template-columns: repeat(4, 1fr); }
  .evidence-switcher #evidence-panel-concerns .activity-range button { padding-inline: .25rem; }
  .evidence-switcher #evidence-panel-concerns .activity-chart-visual { grid-template-rows: 11.5rem 2.2rem; }
  .evidence-switcher #evidence-panel-concerns .ranking-panel { padding: 1rem .75rem .65rem; }
  .evidence-switcher #evidence-panel-concerns .ranking-list { overflow: visible; }
  .evidence-switcher #evidence-panel-concerns .ranking-list li:nth-child(n+6) { display: none; }
  .evidence-switcher #evidence-panel-concerns .ranking-table-head,
  .evidence-switcher #evidence-panel-concerns .ranking-list a {
    grid-template-columns: 1.1rem minmax(0, 1fr) 3rem .75rem;
  }
  .evidence-switcher #evidence-panel-concerns .ranking-head-concern { grid-column: 1 / 3; }
  .evidence-switcher #evidence-panel-concerns .ranking-head-reports { grid-column: 3; }
  .evidence-switcher #evidence-panel-concerns .ranking-head-actions,
  .evidence-switcher #evidence-panel-concerns .ranking-list .commitment-count { display: none; }
  .evidence-switcher #evidence-panel-concerns .ranking-list a { min-height: 4rem; }
}

/* Cascade guard: this redesign intentionally supersedes the legacy Trace grid
   declared earlier in the dashboard stylesheet. */
.overview-trace-heading { grid-template-columns: minmax(0, 1fr) auto auto; gap: 1.5rem; padding: 1.45rem 1.7rem; }
.overview-trace-heading > div:first-child h2 { font-size: 1.35rem; }
.overview-trace-heading > a { display: inline-flex; min-height: 2.55rem; align-items: center; padding: .65rem 1rem; border: 1px solid #0758ff; border-radius: .55rem; background: #0758ff; box-shadow: 0 .3rem .75rem rgba(7,88,255,.16); color: #fff; font-size: .8rem; }
.overview-trace-heading > a:hover { border-color: #0649d6; background: #0649d6; color: #fff; }
.overview-coverage { grid-template-columns: auto auto auto; min-width: 11.5rem; padding: 0; border: 0; }
.trace-report { overflow: visible; border: 0; border-bottom: 1px solid #dce3ef; background: transparent; }
.trace-report[open] { border-color: #dce3ef; }
.trace-report-header { display: grid; grid-template-columns: 4.3rem 1.5rem minmax(0, 1fr) auto; gap: 0; align-items: center; min-height: 6.3rem; padding: .9rem 0; }
.trace-report-header::before, .trace-report[open] .trace-report-header::before { top: 0; bottom: 0; left: 5.02rem; width: 2px; border-radius: 0; background: #dce5f7; content: ""; }
.trace-report[open] .trace-report-header { border-bottom: 0; }
.trace-report-header > time { display: grid; justify-items: end; align-self: start; padding: .55rem .55rem 0 0; }
.trace-report-header > time strong { color: #183775; font-size: .88rem; }
.trace-report-header > time span { color: #52658f; font-size: .75rem; }
.trace-report-identity { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .75rem; align-items: center; min-width: 0; padding-left: 1rem; }
.trace-report-header h3 { font-size: 1.02rem; }
.trace-report-header p { margin-top: .22rem; font-size: .8rem; }
.trace-report-actions { width: auto; padding-left: 1.25rem; }
.trace-report-body { margin-left: 6.8rem; padding: 0 0 1.6rem 1rem; }
.trace-concern-list { padding: 0; }
.trace-concern-row { display: grid; grid-template-columns: minmax(15rem, .72fr) minmax(26rem, 1.55fr); gap: 2rem; min-height: 0; padding: .3rem 0 1.35rem; }
.trace-concern-row:not(:last-child)::before { display: none; }
.trace-source-card { grid-column: auto; padding: 1.3rem 1.4rem; border: 0; border-left: 4px solid #3d68f5; border-radius: 0 .5rem .5rem 0; background: #f4f5f7; }
.trace-source-card h4 { margin: 0; font-size: 1rem; line-height: 1.45; }
.trace-source-card blockquote { display: block; margin: .8rem 0 0; overflow: visible; font-size: .9rem; line-height: 1.58; -webkit-line-clamp: unset; }
.trace-source-card > p { margin-left: 0; }
.trace-response-groups { grid-column: auto; }
.trace-report-footnote { display: block; padding: .15rem 0 .4rem; }
.trace-report-footnote p { margin: 0; padding: 0; font-size: .78rem; }

@media (max-width: 72rem) {
  .overview-trace-heading { grid-template-columns: minmax(0, 1fr) auto auto; }
  .trace-concern-row { grid-template-columns: minmax(13rem, .7fr) minmax(22rem, 1.4fr); gap: 1.25rem; }
}

@media (max-width: 48rem) {
  .overview-trace-heading { grid-template-columns: 1fr auto; padding: 1.2rem; }
  .overview-trace-heading .overview-coverage { grid-column: 1; grid-row: 2; }
  .overview-trace-heading > a { grid-column: 2; grid-row: 1 / 3; }
  .trace-report-header { display: grid; grid-template-columns: 3.5rem 1.2rem minmax(0, 1fr); gap: 0; align-items: center; padding: .9rem 0; }
  .trace-report-header::before, .trace-report[open] .trace-report-header::before { left: 4.09rem; }
  .trace-report-actions { grid-column: 3; width: auto; padding: .6rem 0 0 .7rem; }
  .trace-report-identity { padding-left: .7rem; }
  .trace-report-body { margin-left: 4.7rem; padding-left: .7rem; }
  .trace-concern-list { padding: 0; }
  .trace-concern-row { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-bottom: 1.35rem; }
  .chronology-position-help [role="tooltip"] { right: 0; left: auto; width: min(17rem, calc(100vw - 3.5rem)); transform: translateY(.25rem); }
  .chronology-position-help:hover [role="tooltip"], .chronology-position-help:focus-within [role="tooltip"] { transform: translateY(0); }
}

@media (max-width: 34rem) {
  .overview-summary-band .refresh-hero-stats { grid-template-columns: minmax(0, 1fr); padding: 0 1.8rem; }
  .overview-summary-band .refresh-hero-stats > div,
  .overview-summary-band .refresh-hero-stats > div:nth-child(odd) { min-height: 7.75rem; padding: 1.2rem 0; border-right: 0; border-bottom: 1px solid #dce3f0; }
  .overview-summary-band .refresh-hero-stats > div:nth-last-child(-n + 2) { border-bottom: 1px solid #dce3f0; }
  .overview-summary-band .refresh-hero-stats > div:last-child { border-bottom: 0; }
}

/* Recipient detail uses the recurring-concern page as its shared frame. */
.organisation-dashboard-page.concern-dashboard-refresh {
  width: 100%;
  max-width: 91rem;
  padding: .9rem .5rem 4rem 1.55rem;
}
.recipient-refresh-header .refresh-concern-heading h1 { max-width: 58rem; }
.recipient-refresh-header .officeholder-info { margin-left: .45rem; vertical-align: .12em; }
.recipient-scope-summary { padding-bottom: 1.55rem; }
.recipient-record-description { max-width: 70rem; margin: .85rem 0 0; color: #31446f; font-size: .96rem; line-height: 1.62; }
.recipient-evidence-note { display: flex; gap: .65rem; align-items: flex-start; max-width: 70rem; margin-top: 1rem; padding: .72rem .85rem; border: 1px solid #d9e2f3; border-radius: .5rem; background: #f7f9ff; color: #52638d; }
.recipient-evidence-note img { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; margin-top: .08rem; }
.recipient-evidence-note p { margin: 0; font-size: .76rem; line-height: 1.52; }
.recipient-topic-heading { display: flex; gap: 1.25rem; align-items: flex-start; justify-content: space-between; }
.recipient-topic-heading h2 { margin: 0; color: #0b2055; font-size: clamp(1.4rem, 1.75vw, 1.65rem); line-height: 1.16; letter-spacing: -.035em; }
.recipient-pattern-button { display: inline-flex; flex: 0 0 auto; gap: .55rem; align-items: center; min-height: 2.7rem; padding: .5rem .7rem; border: 1px solid #ccd8ed; border-radius: .55rem; background: #f8faff; color: #173a83; font: inherit; text-align: left; cursor: pointer; }
.recipient-pattern-button:hover { border-color: #0758ff; background: #eef3ff; }
.recipient-pattern-button > img { width: 1.15rem; height: 1.15rem; }
.recipient-pattern-button > span { display: grid; gap: .08rem; }
.recipient-pattern-button strong { font-size: .7rem; }
.recipient-pattern-button small { color: #6b7893; font-size: .59rem; }
.recipient-topic-chart { display: grid; gap: 1.05rem; max-height: 17rem; margin-top: 1.4rem; padding-right: .55rem; overflow-y: auto; scrollbar-color: #bdc7e3 transparent; scrollbar-width: thin; }
.recipient-topic-chart [hidden] { display: none; }
.recipient-topic-row { display: grid; grid-template-columns: minmax(8rem, 13rem) minmax(0, 1fr); gap: 1rem; align-items: center; }
.recipient-topic-row > span { color: #1a315f; font-size: .78rem; font-weight: 680; line-height: 1.3; }
.recipient-topic-bars { display: grid; gap: .4rem; }
.recipient-topic-measure { display: grid; grid-template-columns: minmax(0, 1fr) 2.7rem; gap: .55rem; align-items: center; }
.recipient-topic-measure > i { display: block; width: var(--topic-share); height: .55rem; min-width: 2px; border-radius: .16rem; background: #5875ef; }
.recipient-topic-measure.is-comparison > i { border: 1px solid #8ca5f8; background: #cbd7fd; }
.recipient-topic-measure strong { color: #40517b; font-size: .68rem; font-variant-numeric: tabular-nums; }
.recipient-topic-legend { display: flex; flex-wrap: wrap; gap: .65rem 1rem; align-items: center; margin-top: 1.15rem; padding-top: .85rem; border-top: 1px solid #e1e6ef; color: #66738f; font-size: .65rem; }
.recipient-topic-legend > span { display: inline-flex; gap: .4rem; align-items: center; }
.recipient-topic-legend i { display: block; width: .8rem; height: .5rem; background: #5875ef; }
.recipient-topic-legend .is-comparison i { border: 1px solid #8ca5f8; background: #cbd7fd; }
.recipient-topic-legend button { display: inline-flex; gap: .3rem; align-items: center; margin-left: auto; padding: .35rem; border: 0; background: transparent; color: #0758ff; font: inherit; font-weight: 720; cursor: pointer; }
.recipient-topic-legend button img { width: .8rem; height: .8rem; }
.recipient-topic-empty-state { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-content: center; min-height: 15rem; margin-top: 1rem; }
.recipient-topic-empty-state > div { display: grid; gap: .35rem; align-content: center; min-height: 7.5rem; padding: 1.2rem; border: 1px solid #dce3f0; border-radius: .7rem; background: #f8faff; }
.recipient-topic-empty-state strong { color: #102459; font-size: 2rem; letter-spacing: -.04em; }
.recipient-topic-empty-state span { color: #53658e; font-size: .76rem; font-weight: 680; }
.recipient-topic-empty-state p { grid-column: 1 / -1; margin: 0; color: #6b7893; font-size: .7rem; text-align: center; }
.recipient-response-groups .chronology-response-group li { grid-template-columns: 2rem minmax(0, 1fr) auto; }
.recipient-response-groups .chronology-response-meta { grid-column: 3; }
.recipient-recurring-link { display: inline-flex; margin-top: .7rem; color: #4d60a0; font-size: .7rem; font-weight: 700; text-decoration: none; }
.recipient-recurring-link:hover { color: #0758ff; text-decoration: underline; text-underline-offset: .13rem; }
.recipient-records-panel .concern-pagination { border-top: 1px solid #dce3ef; }

@media (max-width: 62rem) {
  .recipient-refresh-header .concern-dashboard-actions { position: static; grid-row: 3; justify-content: flex-start; }
  .recipient-refresh-header > .concern-date-range { margin-top: -.5rem; }
}
@media (max-width: 48rem) {
  .organisation-dashboard-page.concern-dashboard-refresh { padding: 1rem 1rem 3rem; }
  .recipient-topic-heading { display: grid; }
  .recipient-pattern-button { justify-self: start; }
  .recipient-topic-row { grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr); gap: .7rem; }
  .recipient-response-groups .chronology-response-group li { grid-template-columns: 1.8rem minmax(0, 1fr); }
  .recipient-response-groups .chronology-response-meta { grid-column: 2; }
}
@media (max-width: 34rem) {
  .recipient-refresh-header .refresh-concern-heading h1 { font-size: 2.15rem; }
  .recipient-scope-summary { padding: 1.3rem; }
  .recipient-topic-row { grid-template-columns: 1fr; }
  .recipient-topic-bars { padding-left: .15rem; }
  .recipient-topic-empty-state { grid-template-columns: 1fr; }
  .recipient-topic-empty-state p { grid-column: 1; }
  .organisation-page .organisation-chart-frame { min-width: 0; }
}

/* Unified concern page: overview, full evidence record and method in one flow. */
.concern-dashboard-sections { display: grid; gap: 1.35rem; margin-top: 2.35rem; }
.concern-records-panel { position: relative; z-index: 2; margin-top: .75rem; overflow: visible; }
#trace { scroll-margin-top: 6.5rem; }
.concern-records-panel .overview-trace-heading { position: relative; z-index: 5; border-radius: .72rem .72rem 0 0; background: #fff; }
.concern-records-panel .overview-trace-heading { grid-template-columns: minmax(0, 1fr) auto; padding: 1.7rem 1.85rem; }
.concern-records-panel .overview-trace-heading > div:first-child h2 { font-size: 1.55rem; }
.concern-records-panel .overview-coverage { min-width: 15rem; gap: .65rem; }
.concern-records-panel .overview-coverage strong { font-size: 2.55rem; }
.concern-records-panel .overview-coverage > span:not(.overview-coverage-help) { font-size: .79rem; line-height: 1.3; }
.chronology-source-button,
.chronology-response-disclosure {
  display: inline-flex;
  min-height: 2.15rem;
  align-items: center;
  margin-top: .95rem;
  padding: .45rem 0;
  border: 0;
  background: transparent;
  color: #0758ff;
  font: inherit;
  font-size: .8rem;
  font-weight: 760;
  cursor: pointer;
  text-underline-offset: .18rem;
}
.chronology-source-button:hover,
.chronology-response-disclosure:hover { text-decoration: underline; }
.chronology-source-button:focus-visible,
.chronology-response-disclosure:focus-visible { border-radius: .25rem; outline: 2px solid #0758ff; outline-offset: 2px; }
.chronology-response-disclosure { margin-top: .6rem; }
.chronology-response-disclosure.is-position { color: #6e4db6; }
[data-source-surface] { position: relative; cursor: pointer; }
.chronology-concern-card[data-source-surface] { transition: background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
.chronology-concern-card[data-source-surface]:hover { background: #f0f3f8; box-shadow: 0 .55rem 1.5rem rgba(24,43,86,.08); transform: translateY(-1px); }
[data-source-surface] .chronology-source-button {
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 1px;
  min-height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
[data-source-surface]:has(.chronology-source-button:focus-visible) { outline: 2px solid #0758ff; outline-offset: 3px; }
.chronology-response-group .response-status-pill,
.chronology-response-group .position-kind-pill { gap: .28rem; align-items: center; padding: .4rem .48rem .4rem .7rem; font-size: .72rem; }
.chronology-response-group.is-positions .position-kind-pill { background: #eee9fa; color: #5f4797; }
.chronology-heading-help,
.chronology-status-help { position: relative; display: inline-flex; flex: 0 0 auto; }
.chronology-heading-help button,
.chronology-status-help button { display: grid; width: 1.35rem; height: 1.35rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: help; }
.chronology-heading-help button:hover,
.chronology-heading-help button:focus-visible,
.chronology-status-help button:hover,
.chronology-status-help button:focus-visible { background: #e7edfc; outline: 0; }
.chronology-heading-help.is-position-help button:hover,
.chronology-heading-help.is-position-help button:focus-visible { background: #e8e0f7; }
.chronology-status-help.is-position-kind-help button:hover,
.chronology-status-help.is-position-kind-help button:focus-visible { background: #e8e0f7; }
.chronology-heading-help img,
.chronology-status-help img { width: .9rem; height: .9rem; }
.chronology-heading-help [role="tooltip"],
.chronology-status-help [role="tooltip"] { position: absolute; right: 0; bottom: calc(100% + .5rem); left: auto; z-index: 70; width: 18rem; max-width: calc(100vw - 2rem); padding: .78rem .85rem; border-radius: .52rem; background: #102a5c; color: #fff; box-shadow: 0 .75rem 2rem rgba(12,29,73,.24); font-size: .75rem; font-weight: 560; letter-spacing: 0; line-height: 1.5; opacity: 0; pointer-events: none; text-transform: none; transform: translateY(.25rem); transition: opacity 140ms ease, transform 140ms ease; visibility: hidden; }
.chronology-heading-help.is-position-help [role="tooltip"] { background: #2e2451; }
.chronology-status-help.is-position-kind-help [role="tooltip"] { background: #2e2451; }
.chronology-heading-help:hover [role="tooltip"],
.chronology-heading-help:focus-within [role="tooltip"],
.chronology-status-help:hover [role="tooltip"],
.chronology-status-help:focus-within [role="tooltip"] { opacity: 1; transform: translateY(0); visibility: visible; }
.chronology-status-help button { width: 1.15rem; height: 1.15rem; }
.chronology-status-help img { width: .8rem; height: .8rem; }
.overview-coverage-help [role="tooltip"] { right: 0; left: auto; z-index: 80; max-width: calc(100vw - 2rem); transform: translateY(.25rem); }
.overview-coverage-help:hover [role="tooltip"],
.overview-coverage-help:focus-within [role="tooltip"] { transform: translateY(0); }
.chronology-additional-responses[hidden] { display: none !important; }
.chronology-additional-responses.is-disclosure-animating {
  overflow: hidden;
  will-change: height, opacity, transform;
  transition: height 240ms cubic-bezier(.22, 1, .36, 1), opacity 170ms ease, transform 220ms cubic-bezier(.22, 1, .36, 1);
}
.chronology-empty-response { min-height: 7rem; padding: 1.35rem 1.45rem; border: 1px dashed #cbd5e7; border-radius: .65rem; background: #fbfcff; }
.chronology-empty-response strong { color: #273a69; font-size: .92rem; }
.chronology-empty-response p { margin: .35rem 0 0; color: #697795; font-size: .8rem; line-height: 1.5; }
.chronology-source-dialog { width: min(42rem, calc(100vw - 2rem)); }

@media (max-width: 48rem) {
  .concern-dashboard-sections { gap: 1rem; margin-top: 2rem; }
  .concern-records-panel .overview-trace-heading { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.35rem 1.2rem; }
  .concern-records-panel .overview-trace-heading > div:first-child h2 { font-size: 1.35rem; }
  .concern-records-panel .overview-coverage { grid-column: 1; grid-row: auto; min-width: 0; margin-top: 0; }
  .concern-records-panel .overview-coverage strong { font-size: 2.1rem; }
  .chronology-heading-help [role="tooltip"],
  .chronology-status-help [role="tooltip"] { right: 0; left: auto; width: min(15rem, calc(100vw - 2rem)); transform: translateY(.25rem); }
  .chronology-heading-help:hover [role="tooltip"],
  .chronology-heading-help:focus-within [role="tooltip"],
  .chronology-status-help:hover [role="tooltip"],
  .chronology-status-help:focus-within [role="tooltip"] { transform: translateY(0); }
  .overview-coverage-help [role="tooltip"] { top: calc(100% + .45rem); right: auto; bottom: auto; left: 0; transform: translateY(-.2rem); }
  .overview-coverage-help:hover [role="tooltip"],
  .overview-coverage-help:focus-within [role="tooltip"] { transform: translateY(0); }
}

/* Report-level concern-to-response relationship tracing. The hub is always
   visible; paths and emphasis are drawn only while an item is hovered or focused. */
.concern-records-panel .overview-coverage {
  grid-template-columns: 1.2rem auto auto auto;
  min-width: 16.5rem;
}
.concern-records-panel > .overview-trace-heading {
  grid-template-columns: minmax(0, 1fr);
  padding: 1.8rem 1.7rem 1.65rem;
}
.concern-records-panel > .overview-trace-heading > div:first-child p {
  margin-top: .55rem;
}
.concern-records-panel > .response-chronology {
  padding-top: .5rem;
}
.overview-coverage-link { width: 1.15rem; height: 1.15rem; }
.concern-records-panel .overview-coverage-help {
  grid-column: auto;
  grid-row: auto;
  align-self: center;
}
.chronology-report-summary[data-connection-trace] {
  position: relative;
  grid-template-columns: minmax(15rem, .75fr) 9.25rem minmax(26rem, 1.55fr);
  gap: .25rem;
  isolation: isolate;
}
.chronology-entry.has-connection-trace {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  border-bottom: 1px solid #e0e6f0;
}
.chronology-entry.has-connection-trace::before { content: none; }
.chronology-entry.has-connection-trace:last-child { border-bottom: 0; }
.chronology-entry.has-connection-trace > .chronology-content { grid-row: 1; }
.chronology-entry.has-connection-trace > .chronology-content,
.chronology-entry.has-connection-trace:not(:last-child) > .chronology-content {
  padding: 1.2rem 1.05rem 0;
  border-bottom: 0;
}
.chronology-entry.has-connection-trace > .chronology-evidence {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  grid-row: 2;
  width: auto;
  margin: 1.75rem 1.05rem 0;
  padding-bottom: 2.8rem;
  background: #fff;
}
.chronology-entry.has-connection-trace:not(:last-child) > .chronology-evidence {
  padding-bottom: calc(2.8rem + var(--report-divider-space));
}
.chronology-report-summary[data-connection-trace] > .chronology-concern-group { grid-column: 1; }
.chronology-report-summary[data-connection-trace] > .chronology-response-groups { grid-column: 3; }
.chronology-connection-hub {
  position: relative;
  z-index: 4;
  display: grid;
  grid-column: 2;
  width: 3rem;
  height: 3rem;
  align-self: center;
  justify-self: center;
  place-items: center;
  border: 1px solid #dce6fb;
  border-radius: 50%;
  background: #edf3ff;
  box-shadow: 0 .45rem 1.2rem rgba(23,96,244,.1);
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}
.chronology-connection-hub img { width: 1.35rem; height: 1.35rem; }
.chronology-connection-hub [role="tooltip"] {
  position: absolute;
  bottom: calc(100% + .65rem);
  left: 50%;
  z-index: 10;
  width: 12rem;
  padding: .55rem .65rem;
  border-radius: .5rem;
  background: #17316b;
  box-shadow: 0 .7rem 1.7rem rgba(15,32,71,.2);
  color: #fff;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transform: translate(-50%, .25rem);
  transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
  visibility: hidden;
}
.chronology-connection-hub:hover [role="tooltip"],
.chronology-connection-hub:focus [role="tooltip"] {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}
.chronology-connection-hub:focus-visible { outline: 2px solid #1760f4; outline-offset: 3px; }
.chronology-connection-layer {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.chronology-connection-layer path {
  fill: none;
  stroke: #9bb8fb;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}
.chronology-report-summary[data-connection-trace] [data-trace-kind] {
  position: relative;
  z-index: 2;
  transition: opacity 140ms ease, background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}
.chronology-report-summary[data-connection-trace].is-tracing [data-trace-kind] { opacity: .42; }
.chronology-report-summary[data-connection-trace].is-tracing [data-trace-kind].is-trace-source,
.chronology-report-summary[data-connection-trace].is-tracing [data-trace-kind].is-trace-linked { opacity: 1; }
.chronology-report-summary[data-connection-trace].is-tracing .chronology-connection-hub {
  border-color: #a9c0fb;
  background: #e7efff;
  box-shadow: 0 .45rem 1.2rem rgba(23,96,244,.16);
}
.chronology-report-summary[data-connection-trace].is-position-tracing .chronology-connection-layer path { stroke: #b59de8; }
.chronology-report-summary[data-connection-trace].is-position-tracing .chronology-connection-hub {
  border-color: #cbbced;
  background: #f0ebfb;
}
.chronology-report-summary[data-connection-trace] .chronology-concern-list { gap: .9rem; margin-top: 2.05rem; }
.chronology-report-summary[data-connection-trace] .chronology-concern-card {
  display: grid;
  min-height: 9rem;
  padding: 1.25rem 1.4rem;
  align-content: center;
  border: 1px solid #dce6f8;
  border-left: 4px solid #3d68f5;
  background: #f7f9fd;
  box-shadow: 0 .5rem 1.5rem rgba(24,43,86,.05);
}
.chronology-report-summary[data-connection-trace] .chronology-concern-card h5 {
  font-weight: 680;
  line-height: 1.48;
}
.chronology-report-summary[data-connection-trace] .chronology-response-group > ol {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
.chronology-report-summary[data-connection-trace] .chronology-response-group li {
  grid-template-columns: minmax(0, 1.45fr) minmax(8rem, .62fr) auto;
  min-height: 7.25rem;
  padding: 1rem 1.35rem;
  border: 1px solid #dce4f2;
  border-left: 4px solid #3d68f5;
  border-radius: 0 .55rem .55rem 0;
  background: #fff;
  box-shadow: 0 .45rem 1.5rem rgba(24,43,86,.04);
}
.chronology-report-summary[data-connection-trace] .chronology-response-group li > p {
  font-weight: 660;
  line-height: 1.45;
}
.chronology-report-summary[data-connection-trace] .chronology-response-group li:hover { background: #f4f7fd; transform: none; }
.chronology-report-summary[data-connection-trace] .chronology-response-group li.is-trace-source,
.chronology-report-summary[data-connection-trace] .chronology-response-group li.is-trace-linked,
.chronology-report-summary[data-connection-trace] .chronology-concern-card.is-trace-source,
.chronology-report-summary[data-connection-trace] .chronology-concern-card.is-trace-linked {
  border-color: #a9c0fb;
  background: #f5f8ff;
  box-shadow: 0 .6rem 1.65rem rgba(23,68,157,.09);
}
.chronology-report-summary[data-connection-trace] .chronology-response-group.is-positions li { border-left-color: #8a6bc5; }
.chronology-report-summary[data-connection-trace] .chronology-response-group.is-positions li.is-trace-source,
.chronology-report-summary[data-connection-trace] .chronology-response-group.is-positions li.is-trace-linked { border-color: #cbbced; background: #f5f1fc; }
.chronology-report-summary[data-connection-trace] .chronology-response-group > ol.is-dense { gap: .85rem; margin-top: 1.15rem; }
.chronology-report-summary[data-connection-trace] .chronology-response-group > ol.is-dense li { min-height: 6.9rem; padding: .9rem 1.25rem; }

@media (max-width: 72rem) and (min-width: 48.01rem) {
  .chronology-report-summary[data-connection-trace] {
    grid-template-columns: minmax(13rem, .7fr) 4.75rem minmax(22rem, 1.4fr);
    gap: .25rem;
  }
  .chronology-report-summary[data-connection-trace] .chronology-response-group li { grid-template-columns: minmax(0, 1fr) minmax(7rem, .55fr); }
  .chronology-report-summary[data-connection-trace] .chronology-response-group li > .chronology-response-meta { grid-column: 1 / -1; }
}

@media (max-width: 48rem) {
  .concern-records-panel .overview-coverage { grid-template-columns: 1.15rem auto auto auto; min-width: 0; }
  .concern-records-panel > .overview-trace-heading { padding: 1.2rem; }
  .concern-records-panel > .overview-trace-heading > div:first-child p { margin-top: .35rem; }
  .concern-records-panel > .response-chronology { padding-top: .25rem; }
  .chronology-report-summary[data-connection-trace] { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .chronology-entry.has-connection-trace > .chronology-evidence {
    margin: 1.3rem 0 0;
    padding-bottom: 2rem;
  }
  .chronology-entry.has-connection-trace:not(:last-child) > .chronology-evidence {
    padding-bottom: calc(2rem + var(--report-divider-space));
  }
  .chronology-report-summary[data-connection-trace] > .chronology-concern-group,
  .chronology-report-summary[data-connection-trace] > .chronology-response-groups { grid-column: 1; }
  .chronology-report-summary[data-connection-trace] .chronology-concern-list,
  .chronology-report-summary[data-connection-trace] .chronology-response-group > ol { margin-top: 1rem; }
  .chronology-connection-hub,
  .chronology-connection-layer { display: none; }
  .chronology-report-summary[data-connection-trace] .chronology-response-group li { grid-template-columns: minmax(0, 1fr); gap: .55rem; }
  .chronology-report-summary[data-connection-trace] .chronology-response-group li > strong,
  .chronology-report-summary[data-connection-trace] .chronology-response-group li > .chronology-response-meta { grid-column: 1; }
  .chronology-report-summary[data-connection-trace] .chronology-concern-card,
  .chronology-report-summary[data-connection-trace] .chronology-response-group li { min-height: 0; padding: 1.1rem 1.15rem; }
}

/* A report is one evidence record, so it shares the concern/recipient frame
   without borrowing their multi-report chronology. */
.report-dashboard-page.report-dashboard-refresh {
  width: 100%;
  max-width: 91rem;
  padding: .9rem .5rem 4rem 1.55rem;
}
.report-refresh-header .refresh-concern-heading h1 { max-width: 59rem; }
.report-record-description {
  max-width: 70rem;
  margin: .85rem 0 0;
  color: #31446f;
  font-size: .96rem;
  line-height: 1.62;
}
.report-summary-topics { margin-top: 1rem; }
.report-summary-source {
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  margin-top: 1.05rem;
  color: #0758ff;
  font-size: .8rem;
  font-weight: 750;
  text-decoration: none;
}
.report-summary-source:hover { text-decoration: underline; text-underline-offset: .16rem; }
.report-summary-source img { width: .9rem; height: .9rem; }
.report-summary-recipients {
  padding: 1.2rem 2.05rem 1.35rem;
  border-top: 1px solid #d7e0ef;
  background: #fff;
}
.report-summary-recipients h3 {
  margin: 0 0 .75rem;
  color: #42516e;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.report-summary-recipients > div { display: flex; flex-wrap: wrap; gap: .55rem; }
.report-summary-recipients a {
  display: inline-flex;
  gap: .7rem;
  align-items: center;
  padding: .55rem .7rem;
  border: 1px solid #d9e2f1;
  border-radius: .5rem;
  background: #f8faff;
  color: #173264;
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
}
.report-summary-recipients a:hover { border-color: #9db5ec; background: #f2f6ff; }
.report-summary-recipients strong {
  color: #78849d;
  font-size: .64rem;
  font-weight: 700;
}
.report-summary-recipients strong::before {
  display: inline-block;
  width: .45rem;
  height: .45rem;
  margin-right: .3rem;
  border-radius: 50%;
  background: #aab3c5;
  content: "";
}
.report-summary-recipients strong.is-present { color: #087f78; }
.report-summary-recipients strong.is-present::before { background: #18aa9d; }

.report-concern-action-panel { margin-top: .75rem; }
.report-concern-action-panel .overview-trace-heading {
  grid-template-columns: minmax(0, 1fr);
  padding: 1.7rem 1.85rem;
}
.report-concern-action-list { margin: 0; padding: 0 1.85rem .45rem; list-style: none; }
.report-concern-action-row {
  padding: 1.45rem 0 1.55rem;
  border-bottom: 1px solid #dfe5ef;
}
.report-concern-action-row:last-child { border-bottom: 0; }
.report-connection-tracker { margin: 1.75rem 1.85rem 0; padding-bottom: 1.8rem; }
.chronology-report-summary[data-connection-trace] .recipient-response-groups .chronology-response-group li {
  grid-template-columns: minmax(0, 1fr) auto;
}
.chronology-report-summary[data-connection-trace] .recipient-response-groups .chronology-response-meta { grid-column: 2; }
.recipient-records-panel .chronology-report-summary[data-connection-trace] .chronology-concern-list {
  gap: .45rem;
  margin-top: 1.15rem;
}
.recipient-records-panel .chronology-report-summary[data-connection-trace] .chronology-concern-list .chronology-concern-card {
  min-height: 3.6rem;
  padding: .5rem 1.15rem;
}
.recipient-records-panel .chronology-report-summary[data-connection-trace] .chronology-concern-list .chronology-concern-card h5 {
  font-size: 1rem;
  line-height: 1.35;
}
.recipient-records-panel .chronology-report-summary[data-connection-trace] .chronology-response-group > ol {
  gap: .55rem;
  margin-top: 1.15rem;
}
.recipient-records-panel .chronology-report-summary[data-connection-trace] .recipient-response-groups .chronology-response-group li {
  min-height: 4.8rem;
  padding: .65rem 1rem;
}
.report-connection-tracker .report-recipient-response-groups .chronology-response-group li {
  grid-template-columns: minmax(0, 1.45fr) minmax(8rem, .62fr) auto;
}
.report-chronology-evidence { grid-template-columns: minmax(15rem, .72fr) minmax(26rem, 1.55fr); }
.report-recipient-response-groups .chronology-response-group li { grid-template-columns: 2rem minmax(0, 1.45fr) minmax(8rem, .62fr) auto; }
.report-response-recipient { color: #1b2e60; text-decoration: none; }
.report-response-recipient:hover { color: #0758ff; text-decoration: underline; text-underline-offset: .15rem; }
.report-unlinked-responses { margin: .35rem 1.85rem 1.7rem; padding: 1.35rem 0 0 33.6%; border-top: 1px solid #dfe5ef; }
.report-unlinked-responses > header { margin-bottom: 1.1rem; }
.report-unlinked-responses > header h3 { margin: 0; color: #102459; font-size: 1rem; }
.report-unlinked-responses > header p { margin: .3rem 0 0; color: #687796; font-size: .8rem; line-height: 1.5; }

.report-full-text-panel { margin-top: .75rem; padding: 0; overflow: hidden; }
.report-full-text-heading {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  padding: 1.45rem 1.85rem;
}
.report-full-text-heading h2 { margin: 0; color: #0b2055; font-size: 1.55rem; letter-spacing: -.03em; }
.report-full-text-heading p:last-child { max-width: 58rem; margin: .35rem 0 0; color: #687796; font-size: .88rem; line-height: 1.5; }
.report-full-text-actions { display: flex; flex: 0 0 auto; gap: .65rem; align-items: center; }
.report-full-text-actions button,
.report-full-text-actions a {
  display: inline-flex;
  gap: .42rem;
  align-items: center;
  min-height: 2.55rem;
  padding: .6rem .8rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: #173a83;
  font-size: .875rem;
  font-weight: 740;
  text-decoration: none;
}
.report-full-text-actions button { color: #0758ff; cursor: pointer; }
.report-full-text-actions button:hover,
.report-full-text-actions a:hover { background: #f4f7ff; }
.report-full-text-actions button:focus-visible,
.report-full-text-actions a:focus-visible { outline: 3px solid rgba(18, 87, 255, .22); outline-offset: 2px; }
.report-full-text-actions img { width: .88rem; height: .88rem; }
.report-full-text-actions button img { transition: transform 160ms ease; }
.report-full-text-actions button[aria-expanded="true"] img { transform: rotate(180deg); }
.report-full-text-content { height: 0; overflow: hidden; border-top: 1px solid #dce3ef; transition: height 300ms cubic-bezier(.2, .75, .25, 1); }
.report-full-text-layout { display: grid; grid-template-columns: minmax(14rem, .72fr) minmax(0, 2fr); }
.report-text-navigation {
  display: grid;
  align-content: start;
  gap: .35rem;
  padding: .8rem 0 .8rem .8rem;
  border-right: 1px solid #dce3ef;
  background: #f8faff;
}
.report-text-navigation-item { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 2rem; align-items: center; }
.report-text-navigation-item > [role="tab"] {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  gap: .45rem;
  align-items: center;
  padding: .75rem .85rem;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: #173264;
  font: inherit;
  font-size: .875rem;
  font-weight: 720;
  text-align: left;
  cursor: pointer;
}
.report-text-navigation-item > [role="tab"] > span { color: #52638f; font-size: .75rem; font-variant-numeric: tabular-nums; }
.report-text-navigation-item > [role="tab"]:hover,
.report-text-navigation-item > [role="tab"][aria-selected="true"] { border-left-color: #2563ff; background: #edf3ff; color: #0758ff; }
.report-text-navigation-item > [role="tab"]:focus-visible { outline: 3px solid rgba(18, 87, 255, .22); outline-offset: -3px; }
.report-text-section-help { position: relative; display: inline-flex; justify-content: center; }
.report-text-section-help > button { display: grid; width: 1.7rem; height: 1.7rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: help; }
.report-text-section-help > button:hover,
.report-text-section-help > button:focus-visible { background: #e2eaff; outline: 0; }
.report-text-section-help img { width: 1rem; height: 1rem; }
.report-text-section-help [role="tooltip"] { position: absolute; top: 50%; left: calc(100% + .4rem); z-index: 80; width: 18rem; max-width: calc(100vw - 2rem); padding: .78rem .85rem; border-radius: .52rem; background: #102a5c; color: #fff; box-shadow: 0 .75rem 2rem rgba(12,29,73,.24); font-size: .75rem; font-weight: 560; line-height: 1.5; opacity: 0; pointer-events: none; transform: translate(.25rem, -50%); transition: opacity 140ms ease, transform 140ms ease; visibility: hidden; }
.report-text-section-help:hover [role="tooltip"],
.report-text-section-help:focus-within [role="tooltip"] { opacity: 1; transform: translate(0, -50%); visibility: visible; }
.report-text-section { scroll-margin-top: 6rem; padding: 1.55rem 1.85rem 1.75rem; }
.report-text-section:not([hidden]) { animation: report-text-section-enter 220ms ease-out both; }
.report-text-section > header { display: block; }
.report-text-section h3 { margin: 0; color: #102459; font-size: 1.08rem; letter-spacing: -.015em; }
.report-section-transcription { max-width: 65ch; margin: 1rem 0 0; color: #273a63; font-size: 1rem; line-height: 1.72; }
.report-section-transcription p { margin: 0; }
.report-section-transcription p + p { margin-top: .85rem; }
.report-section-unavailable { max-width: 58rem; margin: 1rem 0 0; padding: .85rem 1rem; border: 1px dashed #cbd5e7; border-radius: .5rem; background: #fbfcff; color: #697795; font-size: .82rem; line-height: 1.5; }
.report-section-note { display: flex; gap: .5rem; align-items: flex-start; max-width: 58rem; margin: 1rem 0 0; color: #64718d; font-size: .74rem; line-height: 1.5; }
.report-section-note img { width: .95rem; height: .95rem; flex: 0 0 auto; margin-top: .05rem; }
@keyframes report-text-section-enter {
  from { opacity: .25; transform: translateY(.25rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 72rem) {
  .report-chronology-evidence { grid-template-columns: minmax(13rem, .7fr) minmax(22rem, 1.4fr); gap: 1.25rem; }
  .report-recipient-response-groups .chronology-response-group li { grid-template-columns: 1.8rem minmax(0, 1fr) minmax(7rem, .55fr); }
  .report-recipient-response-groups .chronology-response-meta { grid-column: 2 / -1; }
  .report-connection-tracker .report-recipient-response-groups .chronology-response-group li {
    grid-template-columns: minmax(0, 1fr) minmax(7rem, .55fr);
  }
}
@media (max-width: 62rem) {
  .report-refresh-header .concern-dashboard-actions { position: static; grid-row: 3; justify-content: flex-start; }
  .report-refresh-header > .concern-date-range { margin-top: -.5rem; }
}
@media (max-width: 48rem) {
  .report-dashboard-page.report-dashboard-refresh { padding: 1rem 1rem 3rem; }
  .report-concern-action-panel .overview-trace-heading { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.35rem 1.2rem; }
  .report-concern-action-list { padding: 0 1.2rem .35rem; }
  .report-concern-action-row { padding: 1.2rem 0 1.35rem; }
  .report-connection-tracker { margin: 1.2rem; padding-bottom: 1.35rem; }
  .report-chronology-evidence { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .report-recipient-response-groups .chronology-response-group li { grid-template-columns: 1.8rem minmax(0, 1fr); }
  .report-recipient-response-groups .chronology-response-group li > strong,
  .report-recipient-response-groups .chronology-response-meta { grid-column: 2; }
  .report-connection-tracker .report-recipient-response-groups .chronology-response-group li,
  .chronology-report-summary[data-connection-trace] .recipient-response-groups .chronology-response-group li {
    grid-template-columns: minmax(0, 1fr);
  }
  .report-connection-tracker .report-recipient-response-groups .chronology-response-group li > strong,
  .report-connection-tracker .report-recipient-response-groups .chronology-response-meta,
  .chronology-report-summary[data-connection-trace] .recipient-response-groups .chronology-response-meta { grid-column: 1; }
  .report-unlinked-responses { margin: .2rem 1.2rem 1.35rem; padding: 1.2rem 0 0; }
  .report-summary-recipients { padding: 1.1rem 1.8rem 1.3rem; }
  .report-full-text-heading { display: grid; gap: .85rem; padding: 1.25rem 1.2rem; }
  .report-full-text-heading h2 { font-size: 1.35rem; }
  .report-full-text-actions { flex-wrap: wrap; }
  .report-full-text-layout { grid-template-columns: minmax(0, 1fr); }
  .report-text-navigation { padding: .7rem 1.2rem; border-right: 0; border-bottom: 1px solid #dce3ef; }
  .report-text-navigation-item > [role="tab"] { padding: .65rem; }
  .report-text-section-help [role="tooltip"] { top: calc(100% + .35rem); right: 0; left: auto; transform: translateY(-.2rem); }
  .report-text-section-help:hover [role="tooltip"],
  .report-text-section-help:focus-within [role="tooltip"] { transform: translateY(0); }
  .report-text-section { padding: 1.35rem 1.2rem 1.55rem; }
}
@media (max-width: 34rem) {
  .report-refresh-header .refresh-concern-heading h1 { font-size: 2.15rem; }
  .report-summary-recipients a { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .report-full-text-content { transition: none; }
  .report-text-section:not([hidden]) { animation: none; }
}

/* Homepage generous type pass: align supporting copy with the roomier concern
   and recipient surfaces without enlarging already-prominent display type. */
.overview-page .homepage h1 { margin-bottom: 1.3rem; }
.overview-page .homepage .lede { line-height: 1.75; }
.overview-page .home-search { margin-top: 1.9rem; }
.overview-page .home-search-suggestions { gap: .6rem; margin-top: 1rem; }
.overview-page .homepage-primary-grid { gap: clamp(3rem, 4.5vw, 5rem); }
.overview-page .homepage-primary-grid > .newcomer-panel { padding-left: 2.5rem; }
.overview-page .home-search-suggestions a,
.overview-page .home-search-suggestions span + a { font-size: .84rem; }
.overview-page .about-pfd-heading h2 { font-size: 1.35rem; }
.overview-page .about-pfd-panel > p { font-size: 1rem; }
.overview-page .about-pfd-button { font-size: .94rem; }
.overview-page .evidence-heading h2 { font-size: 1.75rem; }
.overview-page .evidence-heading p { font-size: .875rem; }
.overview-page .evidence-preview > .evidence-heading { margin-bottom: 1.25rem; }

.overview-page .homepage-preview-tab { min-height: 6.2rem; padding: 1.15rem 1.2rem; }
.overview-page .homepage-preview-tab span { gap: .45rem; }
.overview-page .homepage-preview-tab strong { font-size: 1rem; }
.overview-page .homepage-preview-tab small { font-size: .875rem; line-height: 1.42; }
.overview-page .evidence-switcher .evidence-dashboard { gap: 1.1rem; padding: 1.35rem 1.15rem 1.15rem; }
.overview-page .activity-chart { padding: 1.65rem 1.55rem 1.25rem; }
.overview-page .ranking-panel { padding: 1.65rem 1.4rem 1rem; }
.overview-page .activity-chart-heading,
.overview-page .ranking-heading { min-height: 2.8rem; padding-bottom: 1.15rem; }
.overview-page .activity-chart h3,
.overview-page .ranking-panel h3,
.overview-page .recipient-panel-heading h3,
.overview-page .topic-table-heading h3,
.overview-page .location-panel-heading h3,
.overview-page .action-panel-heading h3,
.overview-page .action-spotlight-heading h3 { font-size: 1.375rem; }
.overview-page .contextual-help-tooltip { font-size: .84rem; }
.overview-page .activity-range button { font-size: .875rem; }
.overview-page .activity-y-axis span,
.overview-page .activity-x-axis span { font-size: .8125rem; }
.overview-page .activity-legend { font-size: .875rem; }
.overview-page .activity-tooltip { font-size: .8125rem; }
.overview-page .activity-tooltip .projection-note { font-size: .75rem; }
.overview-page .activity-link,
.overview-page .ranking-heading a { font-size: .9rem; }
.overview-page .ranking-table-head { font-size: .8125rem; }
.overview-page .ranking-number { font-size: .8125rem; }
.overview-page .ranking-name { font-size: .9375rem; line-height: 1.38; }
.overview-page .ranking-list .report-count,
.overview-page .ranking-list .commitment-count { font-size: .875rem; }
.overview-page .ranking-table-head { min-height: 2.85rem; padding-block: .55rem; }
.overview-page .ranking-list a { min-height: 4.65rem; padding-block: .65rem; }

.overview-page .recipient-groups-panel,
.overview-page .recipient-ranking-panel { padding: 1.65rem 1.45rem 1.1rem; }
.overview-page .recipient-panel-heading { min-height: 2.8rem; padding-bottom: 1.15rem; }
.overview-page .recipient-group-list li { flex-basis: auto; min-height: 4.65rem; }
.overview-page .recipient-group-button { min-height: 4.65rem; padding: .72rem .38rem; }
.overview-page .recipient-group-copy { gap: .3rem; }
.overview-page .recipient-group-copy strong { font-size: .9375rem; }
.overview-page .recipient-group-copy small { font-size: .85rem; line-height: 1.45; }
.overview-page .recipient-group-count { font-size: .9375rem; }
.overview-page .recipient-panel-link { margin-top: 1rem; }
.overview-page .recipient-panel-link,
.overview-page .recipient-panel-heading > a { font-size: .9rem; }
.overview-page .recipient-ranking-table-head { min-height: 2.55rem; padding-block: .55rem; font-size: .8rem; }
.overview-page .recipient-ranking-list a { min-height: 4rem; padding-block: .58rem; }
.overview-page .recipient-ranking-number { font-size: .8125rem; }
.overview-page .recipient-ranking-name strong { font-size: .9rem; }
.overview-page .recipient-ranking-name small { font-size: .8rem; line-height: 1.35; }
.overview-page .recipient-metric { font-size: .875rem; }

.overview-page .topic-table-panel { padding: 1.65rem 1.5rem 1.15rem; }
.overview-page .topic-table-heading { padding-bottom: 1.25rem; }
.overview-page .topic-table-heading p { margin-top: .45rem; font-size: .9375rem; }
.overview-page .topic-table thead th { font-size: .8125rem; }
.overview-page .topic-table thead th { padding-block: .9rem; }
.overview-page .topic-table tbody th,
.overview-page .topic-table tbody td { padding-block: .95rem; }
.overview-page .topic-table-rank { font-size: .8125rem; }
.overview-page .topic-table-name strong { font-size: .9375rem; }
.overview-page .topic-table-name small { font-size: .85rem; }
.overview-page .topic-table-reports small { font-size: .8125rem; }
.overview-page .topic-table-link { margin-top: 1.05rem; font-size: .9rem; }

.overview-page .location-preview { gap: 1.25rem; padding: 1.25rem; }
.overview-page .location-panel-heading { padding: .15rem .2rem .75rem; }
.overview-page .location-choropleth-legend { font-size: .8125rem; }
.overview-page .location-choropleth-legend strong { font-size: .875rem; }
.overview-page .location-selected-card > p:not(.location-selected-total, .location-history-note) { font-size: .9rem; }
.overview-page .location-history-note { font-size: .8125rem; }
.overview-page .location-selected-card > a { font-size: .875rem; }
.overview-page .location-selected-card { padding: 1.55rem 1.5rem 1.25rem; }
.overview-page .location-history-note { margin-top: 1rem; padding-top: .9rem; }
.overview-page .location-selected-card > a { margin-top: 1.1rem; }
.overview-page .location-detail-panel { gap: 1rem; }
.overview-page .location-ranking h4 { padding-bottom: .7rem; font-size: 1.08rem; }
.overview-page .location-ranking-list button { min-height: 2.7rem; font-size: .875rem; }
.overview-page .location-coverage,
.overview-page .location-map-tooltip { font-size: .8125rem; }

.overview-page .action-topics-panel,
.overview-page .action-spotlight-panel { padding: 1.65rem 1.5rem 1.1rem; }
.overview-page .action-panel-heading { min-height: 3rem; padding-bottom: 1.1rem; }
.overview-page .action-topic-list li { min-height: 4.35rem; }
.overview-page .action-topic-list li > button { padding-block: .55rem; }
.overview-page .action-topic-clear { font-size: .84rem; }
.overview-page .action-topic-copy strong,
.overview-page .action-topic-count { font-size: .9rem; }
.overview-page .action-panel-link,
.overview-page .action-spotlight-heading p,
.overview-page .action-spotlight-link,
.overview-page .action-spotlight-controls { font-size: .875rem; }
.overview-page .action-spotlight-heading { gap: .35rem; }
.overview-page .action-spotlight-stage { margin-top: 1.8rem; }
.overview-page .action-spotlight-footer { gap: 1.25rem; min-height: 4.25rem; }
.overview-page .action-metadata-tag strong { font-size: .8125rem; }
.overview-page .action-metadata-tag small,
.overview-page .action-spotlight-concern small { font-size: .75rem; }
.overview-page .action-spotlight-topic { font-size: .84rem; }

.overview-page .featured-investigation h2 { font-size: clamp(1.55rem, 1.75vw, 1.8rem); }
.overview-page .pinned-heading h2 { font-size: 1.35rem; }
.overview-page .journey-path strong { font-size: 1.08rem; }
.overview-page .journey-path li p { font-size: 1rem; }
.overview-page .trust-links strong { font-size: 1.08rem; }
.overview-page .homepage-services-copy > p:last-of-type { font-size: 1rem; }
.overview-page .homepage-services-audiences li { font-size: 1rem; }

@media (min-width: 1121px) {
  .overview-page .evidence-switcher { --homepage-preview-content-height: 44rem; }
}

@media (min-width: 621px) and (max-width: 1120px) {
  .overview-page .evidence-switcher { --homepage-preview-content-height: 38rem; }
}

@media (max-width: 620px) {
  .overview-page .homepage .lede { font-size: 1rem; }
  .overview-page .homepage h1 { margin-bottom: 1rem; }
  .overview-page .homepage .lede { line-height: 1.65; }
  .overview-page .home-search { margin-top: 1.5rem; }
  .overview-page .home-search-suggestions { gap: .55rem .45rem; margin-top: .85rem; }
  .overview-page .about-pfd-heading h2 { font-size: 1.16rem; }
  .overview-page .about-pfd-panel > p { font-size: .9rem; }
  .overview-page .about-pfd-button { font-size: .82rem; }
  .overview-page .homepage-primary-grid { gap: 1.3rem; }
  .overview-page .homepage-primary-grid > .newcomer-panel { gap: .65rem 1rem; padding-top: 1.15rem; padding-left: 0; }
  .overview-page .about-pfd-panel > p { margin-top: .15rem; }
  .overview-page .homepage-secondary-grid { margin-top: 1rem; }
  .overview-page .evidence-preview > .evidence-heading { gap: .45rem; margin-bottom: 1rem; }
  .overview-page .homepage-preview-tab { min-height: 3rem; padding: .55rem .78rem; }
  .overview-page .homepage-preview-tab span { gap: 0; }
  .overview-page .homepage-preview-tab strong { font-size: .875rem; }
  .overview-page .evidence-switcher .evidence-dashboard { gap: .85rem; padding: .8rem; }
  .overview-page .activity-chart,
  .overview-page .ranking-panel { padding: 1.25rem 1rem .9rem; }
  .overview-page .activity-chart-heading,
  .overview-page .ranking-heading { min-height: 2.5rem; padding-bottom: .9rem; }
  .overview-page .activity-chart h3,
  .overview-page .ranking-panel h3,
  .overview-page .recipient-panel-heading h3,
  .overview-page .topic-table-heading h3,
  .overview-page .location-panel-heading h3,
  .overview-page .action-panel-heading h3,
  .overview-page .action-spotlight-heading h3 { font-size: 1.2rem; }
  .overview-page .activity-range button { font-size: .78rem; }
  .overview-page .activity-y-axis span,
  .overview-page .activity-x-axis span { font-size: .75rem; }
  .overview-page .ranking-name { font-size: .9rem; }
  .overview-page .ranking-table-head { min-height: 2.65rem; }
  .overview-page .ranking-list a { min-height: 4.5rem; padding-block: .6rem; }
  .overview-page .recipient-ranking-name strong { font-size: .875rem; }
  .overview-page .recipient-ranking-name small { font-size: .75rem; }
  .overview-page .recipient-metric { font-size: .8125rem; }
  .overview-page .recipient-metric::before { font-size: .65rem; }
  .overview-page .recipient-groups-panel { height: 42rem; min-height: 42rem; padding: 1.35rem 1rem .95rem; }
  .overview-page .recipient-ranking-panel { height: 43rem; min-height: 43rem; padding: 1.35rem 1rem .95rem; }
  .overview-page .recipient-panel-heading { min-height: 2.6rem; padding-bottom: 1rem; }
  .overview-page .recipient-group-list li,
  .overview-page .recipient-group-button { min-height: 5rem; }
  .overview-page .recipient-group-list li { flex-basis: auto; }
  .overview-page .recipient-ranking-list a { min-height: 5.6rem; padding-block: .7rem; }
  .overview-page .topic-table-heading p { font-size: .875rem; }
  .overview-page .topic-table-panel { padding: 1.35rem 1rem 1rem; }
  .overview-page .topic-table tbody th,
  .overview-page .topic-table tbody td { padding-block: .85rem; }
  .overview-page .location-preview { gap: 1rem; padding: .75rem; }
  .overview-page .action-topics-panel,
  .overview-page .action-spotlight-panel { padding: 1.35rem 1rem .95rem; }
  .overview-page .action-topic-list li { min-height: 3.9rem; }
  .overview-page .action-spotlight-stage { margin-top: 1.25rem; }
  .overview-page .action-topic-copy strong,
  .overview-page .action-topic-count { font-size: .84rem; }
  .home-motion-ready .overview-page .evidence-preview.home-reveal { opacity: 1; transform: none; }
}

/* Homepage evidence hierarchy approved from the full-width flagship reference.
   The existing type scale remains the baseline outside the new flagship title. */
.overview-page .evidence-switcher {
  --homepage-preview-content-height: 43.5rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.overview-page .homepage-preview-tabs {
  display: grid;
  overflow: visible;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  background: transparent;
}
.overview-page .homepage-preview-banner {
  position: relative;
  display: grid;
  min-height: 10.65rem;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  padding: 1.8rem 4rem;
  border: 0;
  border-radius: .34rem .34rem 0 0;
  background: var(--ink);
  color: #fff;
  text-align: left;
  box-shadow: inset 0 -3px 0 var(--blue);
}
.overview-page .homepage-preview-banner img {
  width: 3.4rem;
  height: 3.4rem;
  filter: brightness(0) invert(1);
}
.overview-page .homepage-preview-banner span { display: grid; gap: .42rem; min-width: 0; }
.overview-page .homepage-preview-banner strong {
  font-size: 2.05rem;
  font-weight: 720;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.overview-page .homepage-preview-banner small {
  max-width: 43rem;
  color: rgba(255, 255, 255, .92);
  font-size: .96rem;
  line-height: 1.42;
}
.overview-page .homepage-preview-banner .homepage-preview-banner-kicker {
  color: #89a6ff;
  font-size: .82rem;
  font-weight: 760;
  letter-spacing: .025em;
  line-height: 1.2;
  text-transform: uppercase;
}
.overview-page .homepage-preview-lenses {
  display: grid;
  min-width: 0;
  min-height: 5.15rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.overview-page .homepage-preview-lenses--focused {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.overview-page .homepage-preview-lens-tabs {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.overview-page .homepage-preview-lenses--focused .homepage-preview-lens-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.overview-page .homepage-preview-lenses .homepage-preview-tab {
  min-height: 5.15rem;
  grid-template-columns: 2rem auto;
  gap: .85rem;
  justify-content: center;
  padding: .8rem 1rem;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  box-shadow: none;
}
.overview-page .homepage-preview-lenses .homepage-preview-tab img {
  width: 2rem;
  height: 2rem;
}
.overview-page .homepage-preview-lenses .homepage-preview-tab strong {
  font-size: .9rem;
  white-space: nowrap;
}
.overview-page .homepage-preview-lens-tabs .homepage-preview-tab small { display: none; }
.overview-page .homepage-preview-lenses .homepage-preview-tab.is-active {
  position: relative;
  z-index: 1;
  border-right-color: var(--line);
  background: var(--surface);
  color: var(--blue);
  box-shadow: inset 0 -3px 0 var(--blue);
}
.overview-page .homepage-preview-lenses .homepage-preview-tab.is-active::after {
  position: absolute;
  bottom: -.72rem;
  left: 50%;
  z-index: 3;
  width: 1.5rem;
  height: .75rem;
  background: var(--blue);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  transform: translateX(-50%);
}
.overview-page .homepage-preview-lenses .homepage-preview-tab.is-active img {
  filter: none;
}

.overview-page .evidence-switcher .evidence-dashboard {
  position: relative;
  display: grid;
  margin-top: 1rem;
  padding: 0 1.25rem;
  gap: 1rem;
  background: transparent;
  box-shadow: none;
}
.overview-page .evidence-switcher .evidence-dashboard[hidden] { display: none; }
.overview-page .evidence-switcher .evidence-dashboard::before { display: none; }
.overview-page .evidence-state-intro {
  grid-column: 1 / -1;
  padding: 1.65rem 2.1rem 1.55rem;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: var(--surface-soft);
}
.overview-page .evidence-state-kicker {
  margin: 0 0 .55rem;
  color: var(--blue);
  font-size: var(--text-caption);
  font-weight: 780;
  letter-spacing: .02em;
  line-height: 1.2;
  text-transform: uppercase;
}
.overview-page .evidence-state-intro h3 {
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.overview-page .evidence-state-intro > p:last-child {
  max-width: 72rem;
  margin: .55rem 0 0;
  color: var(--muted);
  font-size: .9375rem;
  line-height: 1.5;
}
.overview-page .evidence-dashboard .evidence-state-intro { display: none; }

.overview-page #evidence-panel-concerns {
  grid-template-columns: minmax(0, 1.47fr) minmax(22rem, 1fr);
}
.overview-page #evidence-panel-concerns .ranking-panel {
  order: 1;
  grid-column: 1;
}
.overview-page #evidence-panel-concerns .activity-chart {
  order: 2;
  grid-column: 2;
}
.overview-page .evidence-switcher .activity-chart,
.overview-page .evidence-switcher .ranking-panel,
.overview-page .recipient-groups-panel,
.overview-page .recipient-ranking-panel,
.overview-page .topic-table-panel,
.overview-page .action-topics-panel,
.overview-page .action-spotlight-panel {
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
  box-shadow: none;
}
.overview-page #evidence-panel-concerns .ranking-panel,
.overview-page #evidence-panel-concerns .activity-chart {
  border-radius: .25rem;
}
.overview-page #evidence-panel-concerns .ranking-panel {
  padding: 1.75rem 1.45rem 1.45rem;
}
.overview-page #evidence-panel-concerns .ranking-heading {
  min-height: auto;
  padding: 0 .2rem;
}
.overview-page #evidence-panel-concerns .ranking-heading h3 {
  font-size: 1.25rem;
}
.overview-page .ranking-description {
  max-width: 43rem;
  margin: .65rem .2rem 1.2rem;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}
.overview-page .evidence-switcher .ranking-table-head {
  padding-top: .45rem;
  padding-bottom: .75rem;
}
.overview-page .evidence-switcher .ranking-list {
  scrollbar-gutter: auto;
}
.overview-page .evidence-switcher .ranking-list a { min-height: 4.55rem; }
.overview-page .ranking-footer-link {
  display: inline-flex;
  flex: 0 0 auto;
  gap: .42rem;
  align-items: center;
  align-self: flex-start;
  margin: 1.05rem .05rem 0;
  color: var(--blue);
  font-size: .82rem;
  font-weight: 720;
  text-decoration: none;
}
.overview-page .ranking-footer-link img {
  width: .75rem;
  height: .75rem;
}
.overview-page .activity-chart-heading {
  display: grid;
  align-items: start;
  gap: 1rem;
}
.overview-page .activity-chart-description {
  max-width: 20rem;
  margin: .4rem 0 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}
.overview-page .evidence-switcher .activity-chart-visual {
  grid-template-rows: 21rem 2.2rem;
}
.overview-page .evidence-switcher .activity-x-axis span { font-size: .7rem; }

.overview-page #evidence-panel-recipients {
  --homepage-preview-content-height: 36.5rem;
  grid-template-columns: minmax(20rem, .72fr) minmax(0, 1fr);
}
.overview-page #evidence-panel-topics,
.overview-page #evidence-panel-locations {
  --homepage-preview-content-height: 36.5rem;
  grid-template-columns: minmax(0, 1fr);
}
.overview-page #evidence-panel-actions {
  --homepage-preview-content-height: 36.5rem;
  grid-template-columns: minmax(21rem, 1.05fr) minmax(0, .95fr);
}
.overview-page .recipient-group-list li,
.overview-page .recipient-group-button {
  min-height: 3.75rem;
}
.overview-page .recipient-group-list li { flex-basis: auto; }
.overview-page .recipient-ranking-list a {
  min-height: 5.25rem;
  padding-block: .7rem;
}
.overview-page .topic-table tbody th,
.overview-page .topic-table tbody td { padding-block: .72rem; }
.overview-page #evidence-panel-topics[hidden],
.overview-page #evidence-panel-locations[hidden] {
  display: none;
}
.overview-page #evidence-panel-topics .topic-table-panel,
.overview-page #evidence-panel-locations .location-preview {
  grid-column: 1 / -1;
}
.overview-page .topic-table-heading { padding-bottom: .7rem; }
.overview-page .location-preview {
  grid-template-columns: minmax(0, 1.18fr) minmax(22rem, 1fr);
  padding: 1.25rem 1.4rem 1rem;
}
.overview-page .action-panel-heading-links {
  display: flex;
  flex: 0 0 auto;
  gap: .8rem;
  align-items: center;
}
.overview-page .action-panel-heading-link {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  color: var(--blue);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
}
.overview-page .action-panel-heading-link img {
  width: .8rem;
  height: .8rem;
}
.overview-page .action-topic-clear:disabled { display: none; }
.overview-page .action-topic-table-head {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: .45rem .25rem .65rem 2.3rem;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--text-caption);
  font-weight: 720;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.overview-page .action-topic-list li:first-child { border-top: 0; }
.overview-page .action-spotlight-metadata {
  display: grid;
  gap: .25rem;
  align-content: end;
}
.overview-page .action-spotlight-example {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  padding: .75rem 1.4rem .55rem;
}
.overview-page .action-spotlight-organisation {
  height: auto;
  min-height: 2.8rem;
}
.overview-page .action-spotlight-copy {
  margin-top: .4rem;
  align-self: center;
}
.overview-page .action-metadata-tag + .action-metadata-tag {
  margin-left: 0;
  padding-left: 0;
  border-left: 0;
}
.overview-page .action-spotlight-footer {
  grid-template-columns: minmax(0, 1fr) auto;
}

@media (max-width: 980px) {
  .overview-page .homepage-preview-banner { padding-inline: 2.5rem; }
  .overview-page .homepage-preview-lenses {
    grid-template-columns: minmax(10rem, 1fr) minmax(31rem, 4fr);
    overflow-x: auto;
  }
  .overview-page .homepage-preview-lenses--focused {
    grid-template-columns: minmax(10rem, 1fr) minmax(20rem, 2fr);
  }
  .overview-page #evidence-panel-concerns,
  .overview-page #evidence-panel-recipients,
  .overview-page #evidence-panel-actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .overview-page #evidence-panel-concerns .ranking-panel,
  .overview-page #evidence-panel-concerns .activity-chart {
    grid-column: 1;
  }
  .overview-page .recipient-groups-panel,
  .overview-page .recipient-ranking-panel,
  .overview-page .action-topics-panel,
  .overview-page .action-spotlight-panel {
    height: auto;
    min-height: 35rem;
  }
}

@media (max-width: 620px) {
  .overview-page .homepage-preview-banner {
    min-width: 0;
    min-height: 8.4rem;
    grid-template-columns: 2.35rem minmax(0, 1fr);
    gap: 1.15rem;
    padding: 1.2rem 1.25rem;
  }
  .overview-page .homepage-preview-banner img { width: 2.35rem; height: 2.35rem; }
  .overview-page .homepage-preview-banner strong { font-size: 1.55rem; }
  .overview-page .homepage-preview-banner small { font-size: .82rem; }
  .overview-page .homepage-preview-lenses {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    grid-template-columns: 11.5rem minmax(0, 1fr);
    overflow-x: auto;
  }
  .overview-page .homepage-preview-lenses--focused {
    grid-template-columns: 11.5rem minmax(0, 1fr);
  }
  .overview-page .homepage-preview-lens-tabs {
    width: auto;
    min-width: 38rem;
    grid-template-columns: repeat(4, 9.5rem);
  }
  .overview-page .homepage-preview-lenses--focused .homepage-preview-lens-tabs {
    min-width: 19rem;
    grid-template-columns: repeat(2, 9.5rem);
  }
  .overview-page .homepage-preview-lens-tabs .homepage-preview-tab {
    min-height: 5rem;
    padding: .75rem;
  }
  .overview-page .evidence-switcher .evidence-dashboard {
    gap: .85rem;
    margin-top: 1rem;
    padding: 0 .6rem;
  }
  .overview-page #evidence-panel-concerns .ranking-panel,
  .overview-page #evidence-panel-concerns .activity-chart { height: auto; min-height: 34rem; }
  .overview-page #evidence-panel-concerns .ranking-panel { padding: 1.25rem .85rem 1rem; }
  .overview-page .ranking-description { font-size: .82rem; }
  .overview-page .ranking-footer-link { margin-top: .85rem; }
  .overview-page .evidence-switcher .activity-chart-visual { grid-template-rows: 16rem 2.2rem; }
  .overview-page .evidence-state-intro { padding: 1.25rem 1.1rem; }
  .overview-page .evidence-state-intro h3 { font-size: 1.35rem; }
  .overview-page .evidence-state-intro > p:last-child { font-size: .875rem; }
  .overview-page .evidence-preview .contextual-help-tooltip {
    right: 0;
    left: auto;
    width: min(17rem, calc(100vw - 3rem));
  }
  .overview-page .location-preview {
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep the tab-controlled evidence composition visually distinct from the
   independent homepage panels that follow it. */
.overview-page .homepage-secondary-grid { row-gap: 3.25rem; }

@media (max-width: 820px) {
  .overview-page .homepage-secondary-grid { row-gap: 2.25rem; }
}

/* Motion language for the five homepage evidence states. */
.overview-page .homepage-preview-banner img,
.overview-page .homepage-preview-banner span { transform-origin: left center; }
.overview-page .homepage-preview-banner.is-banner-updating img {
  animation: evidence-banner-icon-in 300ms ease-out both;
}
.overview-page .homepage-preview-banner.is-banner-updating span {
  animation: evidence-banner-copy-in 280ms 25ms ease-out both;
}
.overview-page .evidence-switcher .evidence-dashboard {
  transition: opacity 180ms ease, transform 220ms ease-out;
}
.overview-page .evidence-switcher .evidence-dashboard.is-panel-arriving {
  opacity: 0;
  transform: translateY(5px);
}
.overview-page .evidence-dashboard > .is-evidence-card-entering {
  animation: evidence-card-in 300ms ease-out both;
}
.overview-page .evidence-dashboard :is(
  .ranking-list > li,
  .recipient-group-list > li,
  .recipient-ranking-list > li,
  .topic-table-row,
  .location-ranking-list > li,
  .action-topic-list > li,
  .action-spotlight-stage,
  .location-selected-card > *
).is-evidence-item-entering {
  animation: evidence-row-in 260ms ease-out both;
  animation-delay: calc(var(--evidence-motion-order, 0) * 18ms);
}
.overview-page .evidence-dashboard .topic-table-row.is-evidence-item-entering .mini-bar-chart i {
  animation: evidence-bar-grow-y 340ms ease-out both;
  animation-delay: calc(40ms + var(--evidence-bar-order, 0) * 14ms);
  transform-origin: center bottom;
}
.overview-page .evidence-dashboard :is(
  .ranking-list,
  .recipient-ranking-list
).is-evidence-trends-entering .mini-bar-chart i {
  animation: evidence-bar-grow-y 340ms ease-out both;
  animation-delay: calc(40ms + var(--evidence-bar-order, 0) * 14ms);
  transform-origin: center bottom;
}
.overview-page .activity-chart.is-activity-report-bars-entering .activity-report-bars rect {
  animation: evidence-bar-grow-y 340ms ease-out both;
  animation-delay: calc(40ms + var(--evidence-bar-order, 0) * 14ms);
  transform-origin: center bottom;
}
.overview-page .evidence-dashboard .is-evidence-item-entering :is(
  .recipient-group-bar i,
  .topic-share-track i,
  .action-topic-bar i
) {
  animation: evidence-bar-grow-x 380ms ease-out both;
  animation-delay: 40ms;
  transform-origin: left center;
}
.overview-page .action-topic-list li.is-theme-selecting .action-topic-bar i {
  animation: evidence-bar-grow-x 360ms ease-out both;
  transform-origin: left center;
}
.overview-page .action-topic-list li.is-theme-selecting > button {
  animation: evidence-theme-select 360ms ease-out both;
}

@keyframes evidence-banner-icon-in {
  from { opacity: .65; transform: translateX(-3px); }
  to { opacity: 1; transform: none; }
}
@keyframes evidence-banner-copy-in {
  from { opacity: .65; transform: translateY(3px); }
  to { opacity: 1; transform: none; }
}
@keyframes evidence-card-in {
  from { opacity: .6; transform: translateY(3px); }
  to { opacity: 1; transform: none; }
}
@keyframes evidence-row-in {
  from { opacity: .68; transform: translateY(2px); }
  to { opacity: 1; transform: none; }
}
@keyframes evidence-bar-grow-y {
  from { opacity: 0; transform: scaleY(0); }
  to { opacity: 1; transform: scaleY(1); }
}
@keyframes evidence-bar-grow-x {
  from { opacity: 0; transform: scaleX(0); }
  to { opacity: 1; transform: scaleX(1); }
}
@keyframes evidence-theme-select {
  from { background-color: #f7f9fd; }
  to { background-color: #f1f4fa; }
}

@media (prefers-reduced-motion: reduce) {
  .overview-page .homepage-preview-banner *,
  .overview-page .evidence-switcher .evidence-dashboard,
  .overview-page .evidence-dashboard *,
  .overview-page .evidence-dashboard *::before,
  .overview-page .evidence-dashboard *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-delay: 0ms !important;
    transition-duration: .001ms !important;
  }
}

/* Stated actions: editorial evidence first, compact selectable themes second. */
.overview-page #evidence-panel-actions {
  --homepage-preview-content-height: 43.5rem;
  display: block;
  padding: 0 1.15rem;
}
.overview-page #evidence-panel-actions[hidden] { display: none; }
.overview-page .action-editorial-panel {
  display: grid;
  height: var(--homepage-preview-content-height);
  min-height: var(--homepage-preview-content-height);
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
.overview-page .action-editorial-header {
  display: grid;
  min-height: 5.1rem;
  grid-template-columns: 20rem minmax(18rem, 1fr) auto;
  gap: 1.45rem;
  align-items: center;
  padding: .9rem 1.5rem;
  border-bottom: 1px solid var(--line);
}
.overview-page .action-editorial-title {
  display: grid;
  gap: .18rem;
}
.overview-page .action-editorial-title h3 {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.2;
  letter-spacing: -.018em;
}
.overview-page .action-editorial-title p,
.overview-page .action-editorial-summary {
  margin: 0;
  color: #66759b;
  font-size: .875rem;
  line-height: 1.42;
}
.overview-page .action-editorial-summary {
  padding-left: 1.45rem;
  border-left: 1px solid #dbe2ef;
}
.overview-page .action-editorial-link {
  display: inline-flex;
  gap: .38rem;
  align-items: center;
  color: var(--blue);
  font-size: .875rem;
  font-weight: 720;
  text-decoration: none;
  white-space: nowrap;
}
.overview-page .action-editorial-link:hover { text-decoration: underline; text-underline-offset: .18rem; }
.overview-page .action-editorial-link img { width: .8rem; height: .8rem; }

.overview-page #evidence-panel-actions .action-spotlight-panel {
  display: grid;
  height: auto;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr);
  padding: .95rem 1.5rem;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.overview-page #evidence-panel-actions .action-spotlight-heading {
  display: flex;
  flex-direction: row;
  align-items: end;
  justify-content: space-between;
}
.overview-page #evidence-panel-actions .action-spotlight-heading h3 { font-size: 1.375rem; }
.overview-page .action-editorial-evidence {
  display: grid;
  min-height: 0;
  grid-template-columns: 14.5rem minmax(0, 1fr);
  margin-top: 0;
  overflow: hidden;
  border: 1px solid #dfe5f0;
  background: #fff;
}
.overview-page .action-evidence-rail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: .65rem;
  padding: 1rem 1.25rem .85rem;
  border-right: 1px solid #dfe5f0;
  background: #f7f9fd;
}
.overview-page .action-evidence-rail .action-spotlight-metadata {
  display: grid;
  gap: 0;
  align-content: start;
  padding: 0;
}
.overview-page .action-evidence-rail .action-metadata-tag {
  min-height: 3.65rem;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: .55rem;
  align-content: center;
  padding: .45rem 0;
  border-bottom: 1px solid #d7dfed;
}
.overview-page .action-evidence-rail .action-metadata-tag + .action-metadata-tag {
  margin-left: 0;
  padding-left: 0;
  border-left: 0;
}
.overview-page .action-evidence-rail .action-metadata-tag:last-child { border-bottom: 0; }
.overview-page .action-evidence-rail .action-metadata-tag strong {
  font-size: .8125rem;
  line-height: 1.3;
}
.overview-page .action-evidence-rail .action-metadata-tag small { font-size: .75rem; }
.overview-page .action-evidence-rail .action-spotlight-footer {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem;
  align-items: start;
  margin: 0;
}
.overview-page .action-evidence-rail .action-spotlight-link { font-size: .875rem; }
.overview-page .action-evidence-rail .action-spotlight-controls {
  justify-content: flex-start;
  font-size: .875rem;
}

.overview-page #evidence-panel-actions .action-spotlight-stage {
  height: auto;
  min-height: 0;
  margin: 0;
  background: #fff;
}
.overview-page #evidence-panel-actions .action-spotlight-concern {
  height: auto;
  min-height: 5.2rem;
  flex-basis: auto;
  padding: .72rem 1.35rem;
  background: #fffdf9;
}
.overview-page #evidence-panel-actions .action-spotlight-concern strong {
  max-width: 58rem;
  font-size: 1rem;
}
.overview-page #evidence-panel-actions .action-spotlight-example {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: center;
  padding: 1.15rem 1.6rem .8rem;
}
.overview-page #evidence-panel-actions .action-spotlight-organisation {
  height: auto;
  min-height: 2.8rem;
}
.overview-page #evidence-panel-actions .action-spotlight-copy {
  position: relative;
  max-width: none;
  margin: .45rem 0 0;
  padding: 0 2.8rem;
  border-left: 0;
  align-self: center;
  -webkit-line-clamp: 3;
}
.overview-page #evidence-panel-actions .action-spotlight-copy::before,
.overview-page #evidence-panel-actions .action-spotlight-copy::after {
  position: absolute;
  color: #4169ed;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1;
}
.overview-page #evidence-panel-actions .action-spotlight-copy::before {
  top: -.15rem;
  left: 0;
  content: "“";
}
.overview-page #evidence-panel-actions .action-spotlight-copy::after {
  right: .1rem;
  bottom: -.25rem;
  content: "”";
}
.overview-page #evidence-panel-actions .action-spotlight-progress { height: 3px; }

.overview-page #evidence-panel-actions .action-topics-panel {
  display: grid;
  height: auto;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  padding: .65rem 1.5rem .85rem;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
}
.overview-page #evidence-panel-actions .action-panel-heading {
  min-height: 2.2rem;
  align-items: center;
  padding: 0 0 .48rem;
}
.overview-page #evidence-panel-actions .action-panel-heading h3 { font-size: 1.375rem; }
.overview-page #evidence-panel-actions .action-topic-clear { font-size: .84rem; }
.overview-page #evidence-panel-actions .action-topic-list {
  display: flex;
  min-height: 5.25rem;
  flex-direction: row;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid #e0e6f1;
  border-radius: .45rem;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.overview-page #evidence-panel-actions .action-topic-list:focus-visible {
  outline: 3px solid rgba(18, 87, 255, .2);
  outline-offset: 2px;
}
.overview-page #evidence-panel-actions .action-topic-list::-webkit-scrollbar { height: 6px; }
.overview-page #evidence-panel-actions .action-topic-list::-webkit-scrollbar-track { background: transparent; }
.overview-page #evidence-panel-actions .action-topic-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #bdc7e3;
}
.overview-page #evidence-panel-actions .action-topic-list li {
  min-height: 5.25rem;
  min-width: 0;
  flex: 0 0 20%;
  border-top: 0;
  border-left: 1px solid #e0e6f1;
}
.overview-page #evidence-panel-actions .action-topic-list li:first-child { border-left: 0; }
.overview-page #evidence-panel-actions .action-topic-list li::after { display: none; }
.overview-page #evidence-panel-actions .action-topic-list li > button {
  min-height: 5.25rem;
  grid-template-columns: 1.15rem minmax(0, 1fr) auto;
  gap: .5rem;
  margin: 0;
  padding: .55rem .7rem;
  border-radius: 0;
}
.overview-page #evidence-panel-actions .action-topic-list li > button:hover { background: #f7f9fd; }
.overview-page #evidence-panel-actions .action-topic-list li.is-selected > button {
  background: #edf2ff;
  box-shadow: inset 0 -3px #4169ed;
}
.overview-page #evidence-panel-actions .action-topic-list li.is-selected .action-topic-rank,
.overview-page #evidence-panel-actions .action-topic-list li.is-selected .action-topic-label,
.overview-page #evidence-panel-actions .action-topic-list li.is-selected .action-topic-count { color: #2457ff; }
.overview-page #evidence-panel-actions .action-topic-rank,
.overview-page #evidence-panel-actions .action-topic-count { font-size: .8125rem; }
.overview-page #evidence-panel-actions .action-topic-label {
  color: var(--ink);
  font-size: .9rem;
  line-height: 1.3;
}
.overview-page #evidence-panel-actions .action-topic-count {
  align-self: end;
  justify-self: end;
}

@keyframes evidence-theme-select {
  from { background-color: #f7f9fd; }
  to { background-color: #edf2ff; }
}

@media (max-width: 980px) {
  .overview-page #evidence-panel-actions { padding: 0 1rem; }
  .overview-page .action-editorial-panel {
    height: auto;
    min-height: var(--homepage-preview-content-height);
  }
  .overview-page .action-editorial-header {
    grid-template-columns: minmax(13rem, auto) minmax(0, 1fr) auto;
    gap: 1rem;
    padding-inline: 1rem;
  }
  .overview-page #evidence-panel-actions .action-spotlight-panel,
  .overview-page #evidence-panel-actions .action-topics-panel { min-height: 0; padding-inline: 1rem; }
  .overview-page .action-editorial-evidence { grid-template-columns: minmax(12rem, .32fr) minmax(0, 1fr); }
}

@media (max-width: 700px) {
  .overview-page #evidence-panel-actions { padding: 0 .8rem; }
  .overview-page .action-editorial-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    padding: 1rem;
  }
  .overview-page .action-editorial-summary {
    grid-column: 1 / -1;
    padding: .75rem 0 0;
    border-top: 1px solid #dbe2ef;
    border-left: 0;
  }
  .overview-page .action-editorial-evidence { grid-template-columns: minmax(0, 1fr); }
  .overview-page #evidence-panel-actions .action-spotlight-stage { order: 1; min-height: 20rem; }
  .overview-page .action-evidence-rail {
    order: 2;
    border-top: 1px solid #dfe5f0;
    border-right: 0;
  }
  .overview-page .action-evidence-rail .action-spotlight-metadata {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .overview-page .action-evidence-rail .action-metadata-tag {
    min-height: 3.8rem;
    padding: .45rem .65rem;
    border-right: 1px solid #d7dfed;
    border-bottom: 0;
  }
  .overview-page .action-evidence-rail .action-metadata-tag:last-child { border-right: 0; }
  .overview-page .action-evidence-rail .action-spotlight-footer {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }
  .overview-page .action-evidence-rail .action-spotlight-link { white-space: nowrap; }
  .overview-page #evidence-panel-actions .action-topic-list {
    display: grid;
    grid-auto-columns: minmax(12rem, 72vw);
    grid-auto-flow: column;
    grid-template-rows: minmax(0, 1fr);
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .overview-page #evidence-panel-actions .action-topic-list li { width: auto; }
}

@media (max-width: 460px) {
  .overview-page .action-editorial-header { grid-template-columns: minmax(0, 1fr) auto; }
  .overview-page .action-editorial-summary { font-size: .8125rem; }
  .overview-page .action-evidence-rail .action-spotlight-metadata { grid-template-columns: minmax(0, 1fr); }
  .overview-page .action-evidence-rail .action-metadata-tag {
    min-height: 3.25rem;
    padding-inline: 0;
    border-right: 0;
    border-bottom: 1px solid #d7dfed;
  }
  .overview-page .action-evidence-rail .action-metadata-tag:last-child { border-bottom: 0; }
  .overview-page #evidence-panel-actions .action-spotlight-copy {
    padding-right: .2rem;
    padding-left: 1.45rem;
  }
  .overview-page #evidence-panel-actions .action-spotlight-copy::before { font-size: 2.2rem; }
  .overview-page #evidence-panel-actions .action-spotlight-copy::after { display: none; }
}

/* Stated actions landscape: aggregate patterns with compact source-linked evidence. */
.overview-page .action-editorial-panel[data-action-landscape] {
  grid-template-rows: auto auto minmax(0, 1fr);
}
.overview-page [data-action-landscape] .action-editorial-header {
  min-height: 5.1rem;
  grid-template-columns: minmax(0, 1fr) auto;
}
.overview-page .action-verification-note {
  display: flex;
  gap: .55rem;
  align-items: center;
  margin: 0;
  padding: .72rem 1.5rem;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
  color: #66759b;
  font-size: .875rem;
  line-height: 1.4;
}
.overview-page .action-verification-note img {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  opacity: .8;
}
.overview-page .action-landscape-grid {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  margin: 1rem 1.5rem 1.25rem;
  overflow: visible;
  border: 1px solid #dfe5f0;
  border-radius: .55rem;
  background: #fff;
}
.overview-page .action-theme-chart,
.overview-page .action-recent-panel {
  min-width: 0;
  padding: 1.2rem 1.35rem 1rem;
}
.overview-page .action-theme-chart {
  display: grid;
  min-height: 0;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  border-right: 1px solid #dfe5f0;
}
.overview-page .action-recent-panel {
  position: relative;
  display: grid;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: visible;
}
.overview-page .action-theme-chart .action-panel-heading { min-height: 2rem; padding: 0; }
.overview-page .action-theme-chart h3,
.overview-page .action-recent-panel > h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.375rem;
  line-height: 1.25;
  letter-spacing: -.018em;
}
.overview-page .action-status-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  align-items: center;
  min-height: 2.8rem;
  padding: .45rem 0 .55rem;
  color: #5e6c8d;
  font-size: .8125rem;
  line-height: 1.25;
}
.overview-page .action-status-legend span {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  white-space: nowrap;
}
.overview-page .action-status-legend i {
  display: block;
  width: .75rem;
  height: .75rem;
  border-radius: .12rem;
}
.overview-page .action-status-legend .status-completed i,
.overview-page .action-theme-bar .status-completed { background: #15998d; }
.overview-page .action-status-legend .status-partially_completed i,
.overview-page .action-theme-bar .status-partially_completed { background: #8169bd; }
.overview-page .action-status-legend .status-in_progress i,
.overview-page .action-theme-bar .status-in_progress { background: #69bebd; }
.overview-page .action-status-legend .status-planned i,
.overview-page .action-theme-bar .status-planned { background: #f1b44f; }
.overview-page .action-status-legend .status-unclear i,
.overview-page .action-theme-bar .status-unclear { background: #cbd2de; }
.overview-page .action-theme-list {
  display: grid;
  min-height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.overview-page .action-theme-list li {
  display: grid;
  min-height: 0;
  border-bottom: 1px solid #e2e7ef;
}
.overview-page .action-theme-list li:last-child { border-bottom: 0; }
.overview-page .action-theme-list button {
  display: grid;
  width: 100%;
  min-height: 4.2rem;
  grid-template-columns: 1.2rem minmax(9rem, 13rem) minmax(5rem, 1fr) 3.2rem;
  gap: .65rem;
  align-items: center;
  padding: .55rem .65rem;
  border: 1px solid transparent;
  border-radius: .45rem;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.overview-page .action-theme-list button:hover { background: #f7f9fd; }
.overview-page .action-theme-list button:focus-visible {
  border-color: var(--blue);
  outline: 2px solid rgba(18, 87, 255, .18);
  outline-offset: 1px;
}
.overview-page .action-theme-list li.is-selected button {
  border-color: var(--blue);
  background: #f5f8ff;
  box-shadow: 0 .2rem .65rem rgba(18, 87, 255, .08);
}
.overview-page .action-theme-rank {
  color: #53658f;
  font-size: .8125rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
}
.overview-page .action-theme-list li.is-selected .action-theme-rank { color: var(--blue); }
.overview-page .action-theme-label {
  color: var(--ink);
  font-size: .9375rem;
  font-weight: 720;
  line-height: 1.28;
}
.overview-page .action-theme-bar {
  display: flex;
  width: 100%;
  height: .85rem;
  overflow: hidden;
  border-radius: .12rem;
  background: #edf0f5;
}
.overview-page .action-theme-bar i {
  display: block;
  width: var(--action-segment-width);
  height: 100%;
  border-right: 1px solid rgba(255,255,255,.72);
}
.overview-page .action-theme-count {
  color: #102459;
  font-size: .875rem;
  font-weight: 760;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.overview-page .action-theme-note {
  margin: .55rem 0 0;
  color: #6b7893;
  font-size: .8125rem;
  line-height: 1.4;
}
.overview-page .action-recent-list {
  display: grid;
  min-height: 0;
  margin: .45rem 0 0;
  padding: 0;
  list-style: none;
}
.overview-page .action-recent-item {
  position: relative;
  display: grid;
  min-height: 0;
  align-content: center;
  padding: .95rem 0;
  border-bottom: 1px solid #dfe5ef;
}
.overview-page .action-recent-item:last-child { border-bottom: 0; }
.overview-page .action-recent-item:has(.chronology-status-help:hover),
.overview-page .action-recent-item:has(.chronology-status-help:focus-within) { z-index: 5; }
.overview-page .action-recent-recipient {
  width: fit-content;
  color: var(--blue);
  font-size: .9375rem;
  font-weight: 760;
  line-height: 1.3;
  text-decoration: none;
}
.overview-page .action-recent-recipient:hover { text-decoration: underline; text-underline-offset: .14rem; }
.overview-page .action-recent-copy {
  display: -webkit-box;
  margin: .28rem 0 0;
  overflow: hidden;
  color: var(--ink);
  font-size: .9375rem;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.overview-page .action-recent-meta {
  display: grid;
  grid-template-columns: auto minmax(6.5rem, 1fr) auto;
  gap: .65rem;
  align-items: center;
  margin-top: .48rem;
}
.overview-page .action-recent-meta .response-status-pill {
  gap: .2rem;
  align-items: center;
  padding: .35rem .38rem .35rem .65rem;
  font-size: .72rem;
  white-space: nowrap;
}
.overview-page .action-recent-meta .response-status-pill.status-partially_completed { background: #f2eafe; color: #654a99; }
.overview-page .action-recent-meta .response-status-pill.status-unclear { background: #edf1f8; color: #536078; }
.overview-page .action-recent-meta time {
  padding-left: .65rem;
  border-left: 1px solid #d8dfeb;
  color: #66759b;
  font-size: .8125rem;
  white-space: nowrap;
}
.overview-page .action-recipient-link {
  display: inline-flex;
  gap: .3rem;
  align-items: center;
  justify-self: end;
  color: var(--blue);
  font-size: .8125rem;
  font-weight: 720;
  text-decoration: none;
  white-space: nowrap;
}
.overview-page .action-recipient-link:hover { text-decoration: underline; text-underline-offset: .14rem; }
.overview-page .action-recipient-link img { width: .8rem; height: .8rem; }
.overview-page .action-recent-empty {
  align-self: center;
  margin: 0;
  padding: 1.2rem;
  border: 1px dashed #cad4e6;
  border-radius: .5rem;
  color: #66759b;
  font-size: .875rem;
  line-height: 1.5;
  text-align: center;
}
.overview-page .action-landscape-empty { margin: 1.5rem; }

/* Current Pipeline V2 actions have reliable stated statuses but no current
   action-theme classifications. Use that evidence directly without changing
   the established homepage panel frame. */
.overview-page .action-editorial-panel.is-status-rollup {
  grid-template-rows: minmax(0, 1fr);
  border: 0;
  border-radius: 0;
  background: transparent;
}
.overview-page .action-status-dashboard {
  display: grid;
  min-height: 0;
  grid-template-columns: 16rem minmax(0, 1fr);
  gap: 1rem;
}
.overview-page .action-status-rail,
.overview-page .action-recent-panel--rollup {
  min-height: 0;
  overflow: visible;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: #fff;
}
.overview-page .action-status-rail {
  display: flex;
  flex-direction: column;
  padding: 1.45rem 1.35rem 1rem;
}
.overview-page .action-status-rail h3,
.overview-page .action-recent-heading h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.375rem;
  line-height: 1.2;
  letter-spacing: -.018em;
}
.overview-page .action-status-rail .panel-title-with-help,
.overview-page .action-recent-heading .panel-title-with-help { gap: .55rem; }
.overview-page .action-status-rail .contextual-help img,
.overview-page .action-recent-heading .contextual-help img {
  width: 1rem;
  height: 1rem;
}
.overview-page .action-status-summary {
  display: grid;
  gap: .22rem;
  margin-top: 1.8rem;
}
.overview-page .action-status-summary p {
  max-width: 15rem;
  margin: 0;
  color: #66759b;
  font-size: .9375rem;
  line-height: 1.5;
}
.overview-page .action-status-total {
  display: grid;
  gap: .18rem;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.2;
}
.overview-page .action-status-total span {
  font-size: 2.25rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
}
.overview-page .action-status-bars {
  display: grid;
  margin: 1.15rem 0 0;
  list-style: none;
  padding: 0;
}
.overview-page .action-status-bars li { border-top: 1px solid #dfe5ef; }
.overview-page .action-status-row {
  display: grid;
  width: 100%;
  min-height: 5.45rem;
  grid-template-columns: minmax(0, 1fr);
  gap: .42rem;
  align-items: center;
  padding: .72rem .55rem;
  border: 0;
  border-radius: .4rem;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
}
.overview-page button.action-status-row { cursor: pointer; transition: background-color 120ms ease, box-shadow 120ms ease; }
.overview-page button.action-status-row:hover { background: #f7f9ff; }
.overview-page button.action-status-row:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.overview-page button.action-status-row[aria-pressed="true"] { background: #e5eaf5; }
.overview-page .action-status-row--static { cursor: default; }
.overview-page .action-status-name {
  display: inline-flex;
  gap: .6rem;
  align-items: center;
  font-size: .9375rem;
  font-weight: 720;
  line-height: 1.25;
}
.overview-page .action-status-name i {
  width: .82rem;
  height: .82rem;
  flex: 0 0 auto;
  border-radius: 50%;
}
.overview-page .action-status-name.status-completed i,
.overview-page .action-status-track .status-completed { background: #15998d; }
.overview-page .action-status-name.status-in_progress i,
.overview-page .action-status-track .status-in_progress { background: #69bebd; }
.overview-page .action-status-name.status-planned i,
.overview-page .action-status-track .status-planned { background: #f1b44f; }
.overview-page .action-status-name.status-unclear i,
.overview-page .action-status-track .status-unclear { background: #cbd2de; }
.overview-page .action-status-count,
.overview-page .action-status-percentage {
  font-size: .875rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
}
.overview-page .action-status-values { display: flex; justify-content: space-between; padding-left: 1.42rem; }
.overview-page .action-status-track {
  display: block;
  height: .34rem;
  margin-left: 1.42rem;
  overflow: hidden;
  border-radius: 999px;
  background: #edf0f5;
}
.overview-page .action-status-track i {
  display: block;
  width: var(--action-status-width);
  height: 100%;
  min-width: .22rem;
  border-radius: 999px;
}
.overview-page .action-status-note {
  margin: auto 0 0;
  padding: .85rem .55rem 0;
  border-top: 1px solid #dfe5ef;
  color: #7080a1;
  font-size: .72rem;
  line-height: 1.45;
}
.overview-page .action-recent-panel--rollup {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  padding: 1.35rem 1.45rem .75rem;
}
.overview-page .action-recent-heading {
  display: flex;
  min-height: 2.35rem;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.overview-page .action-recent-panel--rollup .action-editorial-link { flex: 0 0 auto; }
.overview-page .action-ledger-head,
.overview-page .action-recent-panel--rollup .action-recent-item {
  display: grid;
  grid-template-columns: 11.25rem minmax(19rem, 1fr) 6.2rem 6.35rem;
  gap: .65rem;
}
.overview-page .action-ledger-head {
  align-items: end;
  min-height: 2.2rem;
  padding: .55rem .4rem .45rem;
  border-bottom: 1px solid #ced7e7;
  color: #66759b;
  font-size: .72rem;
  font-weight: 720;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.overview-page .action-recent-panel--rollup .action-recent-list {
  display: grid;
  min-height: 0;
  grid-template-rows: repeat(6, minmax(0, 1fr));
  margin: 0;
}
.overview-page .action-recent-panel--rollup .action-recent-item {
  min-height: 0;
  align-items: center;
  align-content: center;
  padding: .55rem .4rem;
  overflow: visible;
  border-bottom: 1px solid #dfe5ef;
}
.overview-page .action-recent-panel--rollup .action-recent-item:last-child { border-bottom: 0; }
.overview-page .action-ledger-recipient { display: grid; min-width: 0; gap: .12rem; }
.overview-page .action-recent-panel--rollup .action-recent-recipient {
  width: fit-content;
  max-width: 100%;
  font-size: .9375rem;
  line-height: 1.2;
}
.overview-page .action-recent-recipient-type {
  color: #7180a0;
  font-size: .75rem;
  line-height: 1.3;
  white-space: normal;
}
.overview-page .action-recent-panel--rollup .action-recent-copy {
  display: block;
  margin: 0;
  overflow: visible;
  font-size: .9375rem;
  line-height: 1.38;
  -webkit-line-clamp: unset;
}
.overview-page .action-recent-panel--rollup .response-status-pill,
.overview-page .action-recent-panel--rollup .action-recipient-link { font-size: .75rem; }
.overview-page .action-recent-panel--rollup .response-status-pill {
  justify-self: start;
  padding: .34rem .42rem .34rem .65rem;
  font-size: .75rem;
  white-space: nowrap;
}
.overview-page .action-recent-panel--rollup .chronology-status-help [role="tooltip"] {
  white-space: normal;
}
.overview-page .action-recent-panel--rollup time {
  color: #66759b;
  font-size: .75rem;
  line-height: 1.35;
  white-space: nowrap;
}
.overview-page .action-recent-panel--rollup .action-recipient-link {
  justify-self: end;
}

@media (max-width: 980px) {
  .overview-page .action-editorial-panel[data-action-landscape] { min-height: 43.5rem; }
  .overview-page .action-landscape-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); margin-inline: 1rem; }
  .overview-page .action-theme-chart,
  .overview-page .action-recent-panel { padding-inline: 1rem; }
  .overview-page .action-theme-list button { grid-template-columns: 1.1rem minmax(7.5rem, 10rem) minmax(4rem, 1fr) 3rem; gap: .45rem; padding-inline: .45rem; }
}

@media (max-width: 760px) {
  .overview-page .action-editorial-panel[data-action-landscape] { height: auto; min-height: 0; }
  .overview-page .action-landscape-grid { grid-template-columns: minmax(0, 1fr); }
  .overview-page .action-theme-chart { border-right: 0; border-bottom: 1px solid #dfe5f0; }
  .overview-page .action-recent-panel { min-height: 24rem; }
  .overview-page .action-status-dashboard { grid-template-columns: minmax(0, 1fr); overflow: visible; }
  .overview-page .action-status-bars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-page .action-status-bars li:nth-child(even) { border-left: 1px solid #dfe5ef; }
  .overview-page .action-status-note { margin-top: 1rem; }
  .overview-page .action-recent-panel--rollup { overflow: visible; }
  .overview-page .action-ledger-head { display: none; }
  .overview-page .action-recent-panel--rollup .action-recent-list { grid-template-rows: none; }
  .overview-page .action-recent-panel--rollup .action-recent-item {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .45rem 1rem;
    padding-block: 1rem;
  }
  .overview-page .action-ledger-recipient { grid-column: 1 / -1; grid-row: 1; }
  .overview-page .action-recent-panel--rollup .action-recent-copy { grid-column: 1 / -1; grid-row: 2; font-size: .9375rem; }
  .overview-page .action-recent-panel--rollup .response-status-pill { grid-column: 1; grid-row: 3; }
  .overview-page .action-recent-panel--rollup .action-recipient-link { grid-column: 2; grid-row: 3; }
}

@media (max-width: 520px) {
  .overview-page [data-action-landscape] .action-editorial-header { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .overview-page [data-action-landscape] .action-editorial-link { justify-self: start; }
  .overview-page .action-verification-note { padding-inline: 1rem; }
  .overview-page .action-landscape-grid { margin: .8rem; }
  .overview-page .action-theme-list button { grid-template-columns: 1.1rem minmax(0, 1fr) 3rem; }
  .overview-page .action-theme-bar { grid-column: 2 / -1; }
  .overview-page .action-theme-count { grid-column: 3; grid-row: 1; }
  .overview-page .action-recent-meta { grid-template-columns: auto minmax(0, 1fr); }
  .overview-page .action-recipient-link { grid-column: 1 / -1; justify-self: start; }
  .overview-page .action-status-rail,
  .overview-page .action-recent-panel--rollup { padding-inline: 1rem; }
  .overview-page .action-status-total { display: flex; gap: .45rem; align-items: baseline; }
  .overview-page .action-status-total span { font-size: 1.9rem; }
  .overview-page .action-status-bars { grid-template-columns: minmax(0, 1fr); }
  .overview-page .action-status-bars li:nth-child(even) { border-left: 0; }
  .overview-page .action-status-name { font-size: .9375rem; }
  .overview-page .action-status-count,
  .overview-page .action-status-percentage { font-size: .875rem; }
  .overview-page .action-recent-heading { align-items: start; }
  .overview-page .action-recent-heading .action-editorial-link { margin-top: .2rem; }
}

/* Deliberate Manrope hierarchy. The variable font is self-hosted above so
   fractional weights render consistently instead of depending on local fonts. */
:root, body { font-weight: 400; }

h1,
.homepage h1,
.overview-page .homepage h1 {
  font-weight: 800;
  letter-spacing: -.03em;
}

h2,
.overview-page .evidence-heading h2,
.homepage-services-copy h2,
.featured-investigation h2 {
  font-weight: 750;
  letter-spacing: -.025em;
}

h3,
.overview-page .activity-chart h3,
.overview-page .ranking-panel h3,
.overview-page .recipient-panel-heading h3,
.overview-page .topic-table-heading h3,
.overview-page .location-panel-heading h3,
.overview-page .action-panel-heading h3,
.overview-page .action-spotlight-heading h3 {
  font-weight: 700;
  letter-spacing: -.01em;
}

.brand { font-weight: 750; }
.main-nav a,
.sidebar-secondary a { font-weight: 650; }
.main-nav a[aria-current="page"],
.sidebar-secondary a[aria-current="page"] { font-weight: 750; }

/* Homepage evidence corrections: compositional action bars and frontmost help. */
.overview-page .action-editorial-panel[data-action-landscape] { overflow: visible; }
.overview-page .action-theme-list {
  display: block;
  overflow-x: visible;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: .4rem;
  scrollbar-color: #bdc7e3 transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.overview-page .action-theme-list::-webkit-scrollbar { width: 6px; }
.overview-page .action-theme-list::-webkit-scrollbar-track {
  background: transparent;
}
.overview-page .action-theme-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #bdc7e3;
}
.overview-page .action-theme-list::-webkit-scrollbar-thumb:hover { background: #bdc7e3; }
.overview-page .action-theme-list:focus-visible {
  border-radius: .4rem;
  outline: 2px solid rgba(18, 87, 255, .28);
  outline-offset: 2px;
}
.overview-page .action-theme-list li:has(.action-theme-segment:hover) { position: relative; z-index: 12; }
.overview-page .action-theme-bar {
  overflow: visible;
  background: transparent;
}
.overview-page .action-theme-segment {
  position: relative;
  display: block;
  height: 100%;
  min-width: 2px;
  flex: var(--action-segment-flex) 1 0;
  border-right: 1px solid rgba(255, 255, 255, .8);
}
.overview-page .action-theme-segment:first-child { border-radius: .18rem 0 0 .18rem; }
.overview-page .action-theme-segment:last-child {
  border-right: 0;
  border-radius: 0 .18rem .18rem 0;
}
.overview-page .action-theme-segment:only-child { border-radius: .18rem; }
.overview-page .action-theme-segment-tooltip {
  position: absolute;
  bottom: calc(100% + .55rem);
  left: 50%;
  z-index: 220;
  display: block;
  width: max-content;
  min-width: 9.5rem;
  max-width: 13rem;
  padding: .55rem .65rem;
  border-radius: .48rem;
  background: #102a5c;
  box-shadow: 0 .7rem 1.6rem rgba(12, 29, 73, .24);
  color: #fff;
  font-size: .75rem;
  font-weight: 560;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transform: translate(-50%, .2rem);
  transition: opacity 120ms ease, transform 120ms ease;
  visibility: hidden;
}
.overview-page .action-theme-segment-tooltip strong,
.overview-page .action-theme-segment-tooltip span { display: block; }
.overview-page .action-theme-segment-tooltip strong { margin-bottom: .08rem; color: #fff; }
.overview-page .action-theme-segment:hover .action-theme-segment-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}
.overview-page .action-theme-list li:first-child .action-theme-segment-tooltip {
  top: calc(100% + .55rem);
  bottom: auto;
}
.overview-page .action-recent-list,
.overview-page .action-recent-item,
.overview-page .action-recent-meta,
.overview-page .response-status-pill { overflow: visible; }
.overview-page .action-recent-item:has(.chronology-status-help:hover),
.overview-page .action-recent-item:has(.chronology-status-help:focus-within) { z-index: 210; }
.overview-page .action-recent-meta .chronology-status-help [role="tooltip"] {
  right: auto;
  left: 0;
  z-index: 220;
  width: min(18rem, calc(100vw - 3rem));
  white-space: normal;
}

.overview-page .activity-month:hover,
.overview-page .activity-month:focus,
.overview-page .activity-month:focus-visible,
.overview-page .activity-report-point:hover,
.overview-page .activity-report-point:focus,
.overview-page .activity-report-point:focus-visible { z-index: 220; }
.overview-page .activity-month:focus .activity-tooltip,
.overview-page .activity-report-point:focus .activity-tooltip { display: block; }
.overview-page .activity-tooltip { z-index: 230; }

.overview-page #evidence-panel-concerns .ranking-table-head,
.overview-page #evidence-panel-concerns .ranking-list a {
  grid-template-columns: 1.2rem minmax(0, 1fr) 5rem 4rem 1.25rem;
  gap: .7rem;
}
.overview-page #evidence-panel-concerns .ranking-head-concern { grid-column: 1 / 3; }
.overview-page #evidence-panel-concerns .ranking-head-trend { grid-column: 3; }
.overview-page #evidence-panel-concerns .ranking-head-reports { grid-column: 4; }
.overview-page #evidence-panel-concerns .ranking-list .report-count {
  grid-column: 4;
  justify-self: center;
  text-align: center;
}
.overview-page #evidence-panel-concerns .ranking-name {
  font-size: .94rem;
  line-height: 1.36;
}

@media (max-width: 520px) {
  .overview-page .action-recent-panel--rollup .chronology-status-help [role="tooltip"] {
    width: 12rem;
    max-width: calc(100vw - 10rem);
  }
}
.overview-page #evidence-panel-concerns .ranking-arrow {
  grid-column: 5;
  justify-self: end;
  margin-right: .15rem;
}

@media (max-width: 760px) {
  .overview-page .action-theme-chart { height: 34rem; min-height: 34rem; }
}

@media (max-width: 620px) {
  .overview-page #evidence-panel-concerns .ranking-table-head,
  .overview-page #evidence-panel-concerns .ranking-list a {
    grid-template-columns: 1.1rem minmax(0, 1fr) 3.2rem 1rem;
    gap: .55rem;
  }
  .overview-page #evidence-panel-concerns .ranking-head-trend,
  .overview-page #evidence-panel-concerns .ranking-list .mini-bar-chart { display: none; }
  .overview-page #evidence-panel-concerns .ranking-head-concern { grid-column: 1 / 3; }
  .overview-page #evidence-panel-concerns .ranking-head-reports,
  .overview-page #evidence-panel-concerns .ranking-list .report-count { grid-column: 3; }
  .overview-page #evidence-panel-concerns .ranking-arrow { grid-column: 4; }
  .overview-page #evidence-panel-concerns .ranking-name { font-size: .9rem; }
}

button,
.primary-link,
.homepage-preview-tab strong,
.panel-heading > a { font-weight: 650; }

.overview-page .homepage-preview-banner strong {
  font-weight: 800;
  letter-spacing: -.018em;
}

.eyebrow,
.section-label,
.overview-page .homepage-preview-banner .homepage-preview-banner-kicker { font-weight: 780; }

/* Concern-to-action tables use a simple two-column layout. Multi-report
   variants carry report provenance on a date-and-document timeline. */
.chronology-report-summary {
  position: relative;
  grid-template-columns: minmax(15rem, .75fr) minmax(26rem, 1.55fr);
  gap: 2rem;
}
.chronology-report-summary > .chronology-concern-group { grid-column: 1; }
.chronology-report-summary > .chronology-response-groups { grid-column: 2; }

.chronology-entry.has-report-timeline {
  position: relative;
  display: block;
  border-bottom: 1px solid #e0e6f0;
}
.chronology-entry.has-report-timeline:last-child { border-bottom: 0; }
.chronology-entry.has-report-timeline::before {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: calc(6.225rem - 1px);
  width: 2px;
  background: #dce5f7;
  content: "";
}
.chronology-entry.has-report-timeline:first-child::before { top: 2.375rem; }
.chronology-entry.has-report-timeline:last-child::before { bottom: calc(100% - 2.375rem); }
.chronology-entry.has-report-timeline > .chronology-content,
.chronology-entry.has-report-timeline:not(:last-child) > .chronology-content {
  position: relative;
  z-index: 1;
  padding: 1.2rem .5rem 0;
  border-bottom: 0;
}
.chronology-entry.has-report-timeline .chronology-report-title {
  grid-template-columns: 3.9rem 2.4rem minmax(0, 1fr);
  gap: 0 .65rem;
  margin-bottom: 0;
}
.chronology-report-date {
  display: grid;
  align-content: center;
  justify-items: end;
  padding-right: .15rem;
  color: #52658f;
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  text-align: right;
}
.chronology-report-date strong { color: #183775; font-size: .88rem; }
.chronology-report-icon { position: relative; z-index: 1; }
.chronology-entry.has-report-timeline > .chronology-evidence,
.chronology-entry.has-report-timeline:not(:last-child) > .chronology-evidence {
  position: relative;
  z-index: 1;
  width: auto;
  margin: 1.75rem .5rem 0 8.1rem;
  padding-bottom: calc(2.8rem + var(--report-divider-space));
  background: #fff;
}
.chronology-entry.has-report-timeline:last-child > .chronology-evidence { padding-bottom: 2.8rem; }

.chronology-report-summary .chronology-concern-list { gap: .9rem; margin-top: 2.05rem; }
.chronology-report-summary .chronology-concern-card {
  display: grid;
  min-height: 9rem;
  padding: 1.25rem 1.4rem;
  align-content: center;
  border: 1px solid #dce6f8;
  border-left: 4px solid #3d68f5;
  background: #f7f9fd;
  box-shadow: 0 .5rem 1.5rem rgba(24,43,86,.05);
}
.chronology-report-summary .chronology-concern-card h5 { font-weight: 680; line-height: 1.48; }
.chronology-report-summary .chronology-response-group > ol { display: grid; gap: 1rem; margin-top: 1.5rem; }
.chronology-report-summary .chronology-response-group li {
  grid-template-columns: minmax(0, 1.45fr) minmax(8rem, .62fr) auto;
  min-height: 7.25rem;
  padding: 1rem 1.35rem;
  border: 1px solid #dce4f2;
  border-left: 4px solid #3d68f5;
  border-radius: 0 .55rem .55rem 0;
  background: #fff;
  box-shadow: 0 .45rem 1.5rem rgba(24,43,86,.04);
}
.chronology-report-summary .chronology-response-group li > p { font-weight: 660; line-height: 1.45; }
.chronology-report-summary .chronology-response-group li:hover { background: #f4f7fd; transform: none; }
.chronology-report-summary .chronology-response-group.is-positions li { border-left-color: #8a6bc5; }
.chronology-report-summary .chronology-response-group > ol.is-dense { gap: .85rem; margin-top: 1.15rem; }
.chronology-report-summary .chronology-response-group > ol.is-dense li { min-height: 6.9rem; padding: .9rem 1.25rem; }
.chronology-report-summary .recipient-response-groups .chronology-response-group li { grid-template-columns: minmax(0, 1fr) auto; }
.chronology-report-summary .recipient-response-groups .chronology-response-meta { grid-column: 2; }
.recipient-records-panel .chronology-report-summary .chronology-concern-list { gap: .45rem; margin-top: 1.15rem; }
.recipient-records-panel .chronology-report-summary .chronology-concern-card { min-height: 3.6rem; padding: .5rem 1.15rem; }
.recipient-records-panel .chronology-report-summary .chronology-concern-card h5 { font-size: 1rem; line-height: 1.35; }
.recipient-records-panel .chronology-report-summary .chronology-response-group > ol { gap: .55rem; margin-top: 1.15rem; }
.recipient-records-panel .chronology-report-summary .recipient-response-groups .chronology-response-group li { min-height: 4.8rem; padding: .65rem 1rem; }

@media (max-width: 72rem) and (min-width: 48.01rem) {
  .chronology-report-summary { grid-template-columns: minmax(13rem, .7fr) minmax(22rem, 1.4fr); gap: 1.25rem; }
  .chronology-report-summary .chronology-response-group li { grid-template-columns: minmax(0, 1fr) minmax(7rem, .55fr); }
  .chronology-report-summary .chronology-response-group li > .chronology-response-meta { grid-column: 1 / -1; }
}

@media (max-width: 48rem) {
  .chronology-entry.has-report-timeline::before { top: 0; bottom: 0; left: calc(4.725rem - 1px); }
  .chronology-entry.has-report-timeline:first-child::before { top: 2.25rem; }
  .chronology-entry.has-report-timeline:last-child::before { bottom: calc(100% - 2.25rem); }
  .chronology-entry.has-report-timeline > .chronology-content,
  .chronology-entry.has-report-timeline:not(:last-child) > .chronology-content { padding: 1.2rem .35rem 0; }
  .chronology-entry.has-report-timeline .chronology-report-title { grid-template-columns: 2.8rem 2.1rem minmax(0, 1fr); gap: 0 .4rem; }
  .chronology-entry.has-report-timeline > .chronology-evidence,
  .chronology-entry.has-report-timeline:not(:last-child) > .chronology-evidence {
    margin: 1.3rem .35rem 0 6.05rem;
    padding-bottom: calc(2rem + var(--report-divider-space));
  }
  .chronology-entry.has-report-timeline:last-child > .chronology-evidence { padding-bottom: 2rem; }
  .chronology-report-summary { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .chronology-report-summary > .chronology-concern-group,
  .chronology-report-summary > .chronology-response-groups { grid-column: 1; }
  .chronology-report-summary .chronology-concern-list,
  .chronology-report-summary .chronology-response-group > ol { margin-top: 1rem; }
  .chronology-report-summary .chronology-response-group li { grid-template-columns: minmax(0, 1fr); gap: .55rem; }
  .chronology-report-summary .chronology-response-group li > strong,
  .chronology-report-summary .chronology-response-group li > .chronology-response-meta,
  .chronology-report-summary .recipient-response-groups .chronology-response-meta { grid-column: 1; }
  .chronology-report-summary .chronology-concern-card,
  .chronology-report-summary .chronology-response-group li { min-height: 0; padding: 1.1rem 1.15rem; }
}

/* Mobile remediation: stable navigation, reflow, touch targets and compact
   information architecture. Keep these overrides together so the audited
   acceptance criteria remain easy to regression-test. */
.tab-label-mobile,
.detail-jump-nav,
.detail-back-to-top,
.report-filter-details > summary { display: none; }
.report-filter-details,
.report-filter-options { display: contents; }
.overview-page .homepage-preview-tab .tab-label-mobile { display: none; }
.report-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  padding: .7rem 1rem;
  border-bottom: 1px solid var(--line);
  background: #f8faff;
  color: #52638f;
  font-size: .75rem;
}
.report-active-filters strong { color: var(--ink); }
.report-active-filters span { padding: .35rem .55rem; border-radius: 999px; background: var(--blue-soft); }
.report-filter-clear { align-self: center; padding: .75rem .3rem; font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.account-modal .modal-close { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; }
.account-modal .modal-close:hover { background: var(--blue-soft); }

/* The full desktop shell requires more than the previous 820px breakpoint. */
@media (min-width: 821px) and (max-width: 1074px) {
  html { scroll-padding-top: 8rem; }
  .shell { display: block; }
  .app-sidebar {
    position: sticky;
    top: 0;
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
    padding: .8rem 1rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .brand { min-height: 2.6rem; margin: 0 9.5rem .65rem 0; font-size: 1.1rem; }
  .brand-mark, .brand-mark img { width: 1.55rem; height: 1.8rem; }
  .mobile-header-actions { position: absolute; top: .8rem; right: 1rem; display: flex; gap: .4rem; align-items: center; }
  .mobile-contact-trigger { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid var(--line-strong); border-radius: .7rem; background: var(--surface); }
  .mobile-contact-trigger img { width: 1.25rem; height: 1.25rem; }
  .sidebar-navs { display: flex; max-width: 100%; gap: .3rem; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .main-nav, .sidebar-secondary { display: flex; flex: 0 0 auto; gap: .3rem; overflow: visible; }
  .main-nav a, .sidebar-secondary a { min-height: 2.65rem; padding: .55rem .72rem; white-space: nowrap; }
  .main-nav a img, .sidebar-secondary a img { width: 1.15rem; height: 1.15rem; }
  .sidebar-secondary { margin: 0 0 0 .35rem; padding: 0 0 0 .65rem; border-top: 0; border-left: 1px solid var(--line-strong); }
  .topbar { display: none; }
  .main-content { padding: 3rem 1.25rem 4rem; }
  .overview-page .homepage-preview-banner { height: 10.65rem; min-height: 10.65rem; }
  .overview-page .homepage-preview-tabs { scroll-margin-top: 8rem; }
  .footer-main { grid-template-columns: minmax(0, 1fr); }
  .footer-navigation { min-width: 0; }
}

@media (max-width: 620px) {
  html { scroll-padding-top: 5rem; }
  [id] { scroll-margin-top: 5rem; }

  .app-sidebar { min-height: 4.1rem; padding: .7rem 1rem; }
  .brand { width: fit-content; max-width: calc(100% - 7.6rem); min-height: 2.7rem; margin: 0 7.6rem 0 0; }
  .mobile-header-actions { top: .7rem; right: 4.2rem; }
  .mobile-header-actions .mobile-contact-trigger,
  .mobile-header-actions .pinned-menu { display: none; }
  .concern-mobile-menu {
    position: absolute;
    top: .7rem;
    right: 1rem;
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    padding: 0;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: .7rem;
    background: var(--surface);
    color: var(--ink);
    cursor: pointer;
  }
  .concern-mobile-menu img { width: 1.3rem; height: 1.3rem; }
  .sidebar-navs {
    position: absolute;
    top: 100%;
    right: .75rem;
    left: .75rem;
    display: none;
    max-height: calc(100vh - 5.5rem);
    gap: .35rem;
    overflow: auto;
    padding: .75rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgba(20, 39, 89, .2);
  }
  .is-concern-nav-open .sidebar-navs { display: grid; }
  .sidebar-navs .main-nav,
  .sidebar-navs .sidebar-secondary { display: grid; width: 100%; gap: .25rem; }
  .sidebar-navs .main-nav a,
  .sidebar-navs .sidebar-secondary a { width: 100%; min-height: 2.75rem; padding: .65rem .75rem; }
  .sidebar-navs .sidebar-secondary { margin: .4rem 0 0; padding: .4rem 0 0; border-top: 1px solid var(--line); border-left: 0; }

  .overview-page .homepage-preview-tabs {
    display: grid;
    grid-template-areas: "preview-tabs" "preview-banner";
  }
  .overview-page .homepage-preview-banner {
    grid-area: preview-banner;
    width: 100%;
    height: 10.5rem;
    min-height: 10.5rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .85rem;
    align-content: center;
    padding: 1.1rem;
    border-radius: 0 0 .34rem .34rem;
  }
  .overview-page .homepage-preview-banner img { width: 2rem; height: 2rem; }
  .overview-page .homepage-preview-banner strong { font-size: 1.35rem; }
  .overview-page .homepage-preview-banner small { font-size: .78rem; line-height: 1.35; }
  .overview-page .homepage-preview-banner .homepage-preview-banner-kicker { font-size: .68rem; }
  .overview-page .homepage-preview-lenses,
  .overview-page .homepage-preview-lenses--focused {
    grid-area: preview-tabs;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 3.75rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    overflow: visible;
  }
  .overview-page .homepage-preview-lens-tabs,
  .overview-page .homepage-preview-lenses--focused .homepage-preview-lens-tabs {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .overview-page .homepage-preview-lenses .homepage-preview-tab,
  .overview-page .homepage-preview-lens-tabs .homepage-preview-tab {
    min-width: 0;
    min-height: 3.75rem;
    grid-template-columns: 1.05rem minmax(0, auto);
    gap: .35rem;
    padding: .65rem .35rem;
  }
  .overview-page .homepage-preview-lenses .homepage-preview-tab img { width: 1.05rem; height: 1.05rem; }
  .overview-page .homepage-preview-lenses .homepage-preview-tab strong { min-width: 0; font-size: clamp(.68rem, 3.2vw, .8rem); white-space: normal; }
  .overview-page .homepage-preview-tab .tab-label-wide { display: none; }
  .overview-page .homepage-preview-tab .tab-label-mobile { display: inline; }
  .overview-page .homepage-preview-lenses .homepage-preview-tab.is-active::after { bottom: -.55rem; width: 1.1rem; height: .55rem; }
  .overview-page .evidence-switcher { scroll-margin-top: 5rem; }

  .report-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr); padding: .75rem; }
  .report-filter-bar .report-search-field { grid-column: 1; }
  .report-filter-details { display: block; min-width: 0; }
  .report-filter-details > summary {
    display: flex;
    min-height: 2.9rem;
    align-items: center;
    justify-content: space-between;
    padding: .65rem .8rem;
    border: 1px solid var(--line);
    border-radius: .55rem;
    color: var(--ink);
    font-size: .875rem;
    font-weight: 720;
    cursor: pointer;
    list-style-position: inside;
  }
  .report-filter-count { color: var(--blue); font-size: .72rem; }
  .report-filter-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; padding-top: .75rem; }
  .report-filter-options label { min-width: 0; }
  .report-filter-options button { position: sticky; bottom: .5rem; z-index: 2; width: 100%; }
  .report-filter-clear { text-align: center; }
  .report-active-filters { padding: .65rem .75rem; }

  .detail-jump-nav {
    position: sticky;
    top: 4.1rem;
    z-index: 12;
    display: grid;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: .35rem;
    margin: 1rem 0;
    overflow: visible;
    padding: .4rem;
    border: 1px solid var(--line);
    border-radius: .65rem;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 .35rem 1rem rgba(26, 47, 96, .08);
  }
  .detail-jump-nav a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: .5rem .3rem;
    border-radius: .45rem;
    color: var(--blue);
    font-size: clamp(.68rem, 3vw, .78rem);
    font-weight: 720;
    text-decoration: none;
    text-align: center;
  }
  .detail-jump-nav a:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
  .detail-back-to-top { display: inline-flex; min-height: 2.75rem; align-items: center; margin: 1.5rem 0; padding: .6rem .85rem; border: 1px solid var(--line-strong); border-radius: .5rem; font-size: .8rem; font-weight: 720; text-decoration: none; }

  .overview-summary-band,
  .overview-trace-preview { max-width: 100%; margin-right: 0; margin-left: 0; border: 1px solid #d4deee; border-radius: .75rem; }
  .concern-dashboard-sections,
  .overview-summary-band,
  .overview-scope-summary,
  .overview-analysis-grid,
  .overview-trace-preview,
  .response-chronology,
  .chronology-entry,
  .chronology-content,
  .chronology-evidence { min-width: 0; }
  .chronology-entry.has-report-timeline::before { display: none; }
  .chronology-entry.has-report-timeline .chronology-report-title { grid-template-columns: auto 2.1rem minmax(0, 1fr); }
  .chronology-entry.has-report-timeline > .chronology-evidence,
  .chronology-entry.has-report-timeline:not(:last-child) > .chronology-evidence { margin: 1rem .35rem 0; }
  .chronology-report-date { min-width: 2.8rem; }

  .chronology-heading-help button,
  .chronology-status-help button,
  .overview-coverage-help button,
  .contextual-help button,
  .report-text-section-help button { min-width: 1.5rem; min-height: 1.5rem; }
  .activity-report-point { min-height: 1.5rem; }
  .overview-coverage-help [role="tooltip"] { right: 0; left: auto; transform: translateY(-.2rem); }
  .overview-coverage-help:hover [role="tooltip"],
  .overview-coverage-help:focus-within [role="tooltip"] { transform: translateY(0); }

  .services-hero h1 { font-size: clamp(2.2rem, 10vw, 2.75rem); }
}

@media (max-width: 360px) {
  .brand { margin-right: 7.4rem; }
  .overview-page .homepage-preview-lenses .homepage-preview-tab { grid-template-columns: minmax(0, 1fr); }
  .overview-page .homepage-preview-lenses .homepage-preview-tab img { display: none; }
}

/* Report accordions on concern and recipient evidence timelines. */
.chronology-entry[data-report-accordion-item] { overflow-anchor: none; }
.chronology-entry.has-report-timeline[data-report-accordion-item] > .chronology-content {
  padding-top: 1.65rem;
  padding-bottom: .65rem;
  transition: background-color 180ms ease;
}
.chronology-entry[data-report-accordion-item] .chronology-report-title {
  margin-bottom: 0;
  border-radius: .65rem;
  cursor: pointer;
}
.chronology-entry[data-report-accordion-item]:not(.is-report-expanded) .chronology-report-title:hover {
  background: #f5f8ff;
}
.chronology-entry[data-report-accordion-item].is-report-expanded .chronology-report-title {
  background: #f7f9ff;
}
.chronology-report-toggle {
  display: inline-flex;
  max-width: 100%;
  gap: .55rem;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}
.chronology-report-toggle:hover { color: var(--blue); }
.chronology-report-toggle:focus-visible {
  border-radius: .2rem;
  outline: 2px solid var(--blue);
  outline-offset: 4px;
}
.chronology-report-toggle img {
  width: .9rem;
  height: .9rem;
  flex: 0 0 auto;
  transition: transform 260ms cubic-bezier(.2,.8,.2,1);
}
.is-report-expanded .chronology-report-toggle img { transform: rotate(180deg); }
.chronology-entry[data-report-accordion-item] .chronology-report-summary-button {
  margin-top: .35rem;
  color: var(--blue);
  font-size: .75rem;
  font-weight: 700;
}
.chronology-entry[data-report-accordion-item] > [data-report-accordion-panel] {
  overflow-anchor: none;
}
.chronology-entry[data-report-accordion-item] > [data-report-accordion-panel][hidden] {
  display: none;
}
.chronology-entry[data-report-accordion-item] > [data-report-accordion-panel].is-report-accordion-animating {
  overflow: hidden;
  will-change: height, opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
  .chronology-entry[data-report-accordion-item] .chronology-content,
  .chronology-report-toggle img { transition: none; }
}

@media (max-width: 620px) {
  .chronology-entry.has-report-timeline[data-report-accordion-item] > .chronology-content {
    padding-top: 1.4rem;
    padding-bottom: .55rem;
  }
  .chronology-entry[data-report-accordion-item] .chronology-report-title > div {
    padding-left: .25rem;
  }
  .chronology-report-toggle { gap: .4rem; }
  .chronology-report-toggle img { width: .8rem; height: .8rem; }
}


/* Selected concern/response design: open columns, numbered concerns and
   individually identified statements. Existing type scales and interactions
   are retained; shared statements remain deduplicated within each report. */
.concern-records-panel .chronology-report-summary {
  gap: 0;
  align-items: stretch;
  border-top: 2px solid #4770ff;
  background: #fff;
}
.concern-records-panel .chronology-report-summary > .chronology-concern-group {
  counter-reset: evidence-concern;
  padding: 1.5rem 1.5rem 1.5rem 0;
  border-right: 1px solid #e0e6f0;
}
.concern-records-panel .chronology-report-summary > .chronology-response-groups {
  align-content: start;
  padding: 1.5rem 0 1.5rem 1.75rem;
}
.chronology-set-heading { color: #102459; }
.chronology-set-heading p { margin: .4rem 0 0; color: #607093; }
.concern-records-panel .chronology-report-summary .chronology-concern-list {
  margin-top: 1rem;
  gap: 0;
}
.concern-records-panel .chronology-report-summary .chronology-concern-card {
  counter-increment: evidence-concern;
  position: relative;
  min-height: 0;
  padding: 1.5rem 0 1.5rem 2.8rem;
  align-content: start;
  border: 0;
  border-bottom: 1px solid #e0e6f0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.concern-records-panel .chronology-report-summary .chronology-concern-card::before {
  content: counter(evidence-concern);
  position: absolute;
  left: 0;
  top: 1.5rem;
  display: grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  color: #6e4db6;
  background: #f0eafa;
}
.concern-records-panel .chronology-report-summary .chronology-concern-card:hover {
  background: #fafbff;
  box-shadow: none;
  transform: none;
}
.concern-records-panel .chronology-report-summary .chronology-response-group > ol {
  margin-top: .5rem;
  gap: 0;
}
.concern-records-panel .chronology-report-summary .chronology-response-groups .chronology-response-group li {
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem 1.25rem;
  align-items: start;
  min-height: 0;
  padding: 1.5rem 0 1.5rem 4.5rem;
  border: 0;
  border-bottom: 1px solid #e0e6f0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.chronology-statement-icon {
  position: absolute;
  left: 0;
  top: 1.5rem;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: #edf3ff;
}
.chronology-statement-icon img { width: 1.6rem; height: 1.6rem; }
.chronology-response-group.is-positions .chronology-statement-icon { background: #f0eafa; }
.chronology-response-group.is-positions .chronology-statement-kind { color: #6e4db6; }
.concern-records-panel .chronology-report-summary .chronology-statement-kind {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}
.concern-records-panel .chronology-report-summary .chronology-response-group li > p {
  grid-column: 1;
  grid-row: 2;
}
.concern-records-panel .chronology-report-summary .chronology-response-group li > strong {
  grid-column: 1;
  grid-row: 3;
  justify-self: start;
}
.concern-records-panel .chronology-report-summary .chronology-response-meta {
  display: contents;
}
.concern-records-panel .chronology-report-summary .chronology-response-meta > :is(.response-status-pill, .position-kind-pill) {
  grid-column: 2;
  grid-row: 2 / span 2;
  justify-self: end;
  align-self: start;
}
/* Keep the existing source buttons and dialogs, now visibly labelled. */
.concern-records-panel .chronology-report-summary [data-source-surface] .chronology-source-button {
  position: static;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 2.15rem;
  margin: .35rem 0 0;
  padding: .45rem 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  justify-self: start;
  gap: .45rem;
}
.concern-records-panel .chronology-report-summary .chronology-response-meta > .chronology-source-button {
  grid-column: 1;
  grid-row: 4;
}
.concern-records-panel .chronology-report-summary .chronology-source-button::after {
  content: "";
  width: .85rem;
  height: .85rem;
  background: url("icons/external-link.c83234bca491.svg") center / contain no-repeat;
}
.concern-records-panel .chronology-entry.has-report-timeline > .chronology-report-summary {
  margin-bottom: 2rem;
  padding-bottom: 0;
}
@media (max-width: 72rem) {
  .concern-records-panel .chronology-report-summary .chronology-response-groups .chronology-response-group li {
    grid-template-columns: minmax(0, 1fr);
  }
  .concern-records-panel .chronology-report-summary .chronology-response-meta > :is(.response-status-pill, .position-kind-pill) {
    grid-column: 1;
    grid-row: 4;
    justify-self: start;
  }
  .concern-records-panel .chronology-report-summary .chronology-response-meta > .chronology-source-button {
    grid-row: 5;
  }
}
@media (max-width: 48rem) {
  .concern-records-panel .chronology-report-summary {
    border: 1px solid #dce4f2;
    border-radius: .65rem;
  }
  .concern-records-panel .chronology-report-summary > .chronology-concern-group {
    border-right: 0;
    border-bottom: 1px solid #e0e6f0;
  }
  .concern-records-panel .chronology-report-summary > .chronology-concern-group,
  .concern-records-panel .chronology-report-summary > .chronology-response-groups {
    padding: 1.15rem;
  }
  .concern-records-panel .chronology-report-summary .chronology-response-groups .chronology-response-group li {
    padding-left: 3.5rem;
  }
  .chronology-statement-icon { width: 2.6rem; height: 2.6rem; }
}

/* Distinguish response attribution from the statement without changing type. */
.chronology-response-group .chronology-attribution-label { color: #607093; }
.chronology-response-group .report-response-recipient { color: var(--blue); }
