:root {
  --ink: #13283a;
  --ink-soft: #405568;
  --navy: #0b3558;
  --blue: #0878b9;
  --blue-light: #e8f4fa;
  --gold: #e1ad28;
  --gold-light: #fff5d8;
  --green: #24745a;
  --green-light: #e8f4ef;
  --red: #a14545;
  --red-light: #f8eeee;
  --paper: #ffffff;
  --canvas: #f5f7f8;
  --line: #d8e0e5;
  --line-strong: #aebcc6;
  --muted: #687b89;
  --shadow: 0 12px 34px rgba(19, 40, 58, 0.12);
  --page: 1240px;
  --radius: 6px;
}

/* Today: a current, meaning-first start page. */

.today-home-content {
  display: block;
}

.today-coverage {
  display: flex;
  margin-top: 24px;
  color: var(--ink-soft);
  font-size: 0.86rem;
  flex-wrap: wrap;
  gap: 8px 22px;
}

.today-coverage span {
  position: relative;
}

.today-coverage span + span::before {
  position: absolute;
  left: -13px;
  color: var(--gold);
  content: "\2022";
}

.today-loading,
.today-error {
  width: min(calc(100% - 48px), var(--page));
  margin: 48px auto;
  color: var(--muted);
}

.today-stats {
  padding: 8px 0 52px;
}

.today-stats dl {
  display: grid;
  margin: 0;
  border-block: 1px solid var(--line-strong);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.today-stats dl > div {
  display: grid;
  min-width: 0;
  padding: 22px 26px;
  border-right: 1px solid var(--line);
  gap: 3px;
}

.today-stats dl > div:first-child {
  padding-left: 0;
}

.today-stats dl > div:last-child {
  border-right: 0;
}

.today-stats dt,
.today-feature .story-meta,
.today-vote-parties strong {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.today-stats dd {
  margin: 2px 0;
  color: var(--navy);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.today-stats small {
  color: var(--muted);
}

.today-highlight,
.today-topics {
  padding: 58px 0 64px;
}

.today-feature {
  display: grid;
  border-block: 1px solid var(--line-strong);
  background: var(--paper);
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.8fr);
}

.today-feature-main,
.today-meaning {
  min-width: 0;
  padding: 34px 36px;
}

.today-feature-main {
  padding-left: 0;
}

.today-feature .story-meta {
  display: flex;
  color: var(--muted);
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.today-feature .story-meta [data-status] {
  padding: 4px 8px;
  border: 1px solid currentColor;
  font-variant-numeric: tabular-nums;
}

.today-feature [data-status="adopted"],
.today-recent-list [data-status="adopted"] {
  color: var(--green);
}

.today-feature [data-status="rejected"],
.today-recent-list [data-status="rejected"] {
  color: var(--red);
}

.today-feature .story-meta a {
  color: var(--blue);
  text-underline-offset: 3px;
}

.today-feature h3 {
  max-width: 760px;
  margin: 18px 0 14px;
  font-size: 2.3rem;
  line-height: 1.08;
  text-wrap: balance;
}

.today-dek {
  color: var(--ink-soft);
  font-size: 1.08rem;
  font-weight: 650;
}

.today-meaning {
  border-left: 1px solid var(--line);
  background: var(--blue-light);
}

.today-meaning h3 {
  margin-top: 10px;
  font-size: 1.45rem;
  line-height: 1.2;
}

.today-meaning > div {
  display: grid;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #bdd7e4;
  gap: 5px;
}

.today-meaning > div span {
  color: var(--ink-soft);
}

.today-vote {
  display: grid;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  grid-column: 1 / -1;
  grid-template-columns: 210px minmax(220px, 1fr) minmax(0, 1.6fr);
  align-items: center;
  gap: 28px;
}

.today-vote-summary {
  display: grid;
  gap: 3px;
}

.today-vote-summary strong {
  color: var(--navy);
  font-size: 1.2rem;
  font-variant-numeric: tabular-nums;
}

.today-vote-summary span {
  color: var(--muted);
  font-size: 0.82rem;
}

.today-vote-meter {
  display: flex;
  overflow: hidden;
  height: 12px;
  background: var(--line);
}

.today-vote-meter .for {
  background: var(--green);
}

.today-vote-meter .against {
  background: var(--red);
}

.today-vote-parties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.today-vote-parties p {
  display: grid;
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.82rem;
  gap: 4px;
}

.today-recent,
.today-personal {
  padding: 64px 0;
}

.today-recent-list {
  display: grid;
  border-top: 1px solid var(--line-strong);
}

.today-recent-list > a {
  display: grid;
  min-width: 0;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  grid-template-columns: 170px minmax(0, 1.4fr) minmax(230px, 0.9fr) 150px 24px;
  align-items: center;
  gap: 20px;
}

.today-recent-list > a:hover strong,
.today-topic-list > a:hover strong {
  color: var(--blue);
}

.today-recent-list > a > div {
  display: grid;
  gap: 5px;
}

.today-recent-list [data-status] {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.today-recent-list time,
.today-recent-list small {
  color: var(--muted);
  font-size: 0.78rem;
}

.today-recent-list strong {
  min-width: 0;
  line-height: 1.3;
  text-wrap: pretty;
}

.today-recent-list p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.86rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.today-recent-list i,
.today-topic-list i {
  color: var(--blue);
  font-size: 1.25rem;
  font-style: normal;
}

.today-topic-list {
  display: grid;
  border-top: 1px solid var(--line-strong);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.today-topic-list > a {
  display: grid;
  min-width: 0;
  padding: 22px 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
}

.today-topic-list > a:nth-child(3n) {
  border-right: 0;
}

.today-topic-list > a > span {
  display: grid;
  width: 34px;
  height: 34px;
  color: #fff;
  background: var(--navy);
  font-weight: 800;
  place-items: center;
}

.today-topic-list > a div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.today-topic-list small {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.today-personal {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.7fr);
  gap: 70px;
  align-items: start;
}

.today-personal > div > p:not(.kicker) {
  max-width: 760px;
  color: var(--ink-soft);
  font-size: 1.05rem;
}

.today-personal aside {
  padding: 26px;
  border-left: 4px solid var(--gold);
  background: var(--gold-light);
}

.today-personal aside p {
  color: var(--ink-soft);
}

.today-personal aside a {
  color: var(--blue);
  font-weight: 750;
}

@media (max-width: 980px) {
  .today-feature,
  .today-personal {
    grid-template-columns: 1fr;
  }

  .today-feature-main {
    padding-right: 0;
  }

  .today-meaning {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .today-vote {
    grid-template-columns: 180px 1fr;
  }

  .today-vote-parties {
    grid-column: 1 / -1;
  }

  .today-recent-list > a {
    grid-template-columns: 135px minmax(0, 1fr) 120px 20px;
  }

  .today-recent-list p {
    display: none;
  }
}

@media (max-width: 700px) {
  .today-loading,
  .today-error {
    width: min(calc(100% - 32px), var(--page));
  }

  .today-coverage {
    display: grid;
    gap: 5px;
  }

  .today-coverage span + span::before {
    display: none;
  }

  .today-stats dl,
  .today-topic-list {
    grid-template-columns: 1fr;
  }

  .today-stats dl > div,
  .today-stats dl > div:first-child {
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .today-stats dl > div:last-child {
    border-bottom: 0;
  }

  .today-feature h3 {
    font-size: 1.75rem;
  }

  .today-feature-main,
  .today-meaning {
    padding: 26px 0;
  }

  .today-meaning {
    padding-inline: 18px;
  }

  .today-vote {
    grid-template-columns: 1fr;
  }

  .today-vote-parties {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .today-recent-list > a {
    grid-template-columns: 100px minmax(0, 1fr) 18px;
    gap: 12px;
  }

  .today-recent-list small {
    display: none;
  }

  .today-topic-list > a,
  .today-topic-list > a:nth-child(3n) {
    border-right: 0;
    padding-inline: 0;
  }

  .today-personal {
    gap: 34px;
  }
}

/* Editorial dossier review. Formal facts stay separate from review copy. */

.review-ribbon {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  color: #fff;
  background: var(--navy);
  border-bottom: 4px solid var(--gold);
  font-size: 0.78rem;
}

.review-ribbon strong,
.review-ribbon span {
  letter-spacing: 0;
  text-transform: uppercase;
}

.review-story-head {
  align-items: center;
  padding-top: 54px;
}

.decision-review-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 24px auto 0;
  padding: 16px 20px;
  border: 1px solid #c58b00;
  border-left: 6px solid #ffb612;
  background: #fff8df;
  color: #172b3a;
}

.decision-review-banner div {
  display: grid;
  gap: 4px;
}

.decision-review-banner a {
  flex: 0 0 auto;
  font-weight: 700;
}

@media (max-width: 720px) {
  .decision-review-banner {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

.review-story-head > aside > strong {
  display: block;
  margin-bottom: 4px;
  color: var(--navy);
  font-size: 2.5rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.review-context,
.review-impact,
.review-positions,
.review-certainty,
.review-follow-up,
.review-video,
.review-sources {
  padding: 58px 0;
  border-top: 1px solid var(--line);
}

.review-context {
  border-top: 0;
}

.review-reading-column {
  max-width: 850px;
  margin-top: 28px;
}

.review-reading-column p {
  font-size: 1.15rem;
  line-height: 1.72;
}

.review-reading-column p:last-child {
  margin-bottom: 0;
}

.review-citations {
  display: inline-flex;
  gap: 2px;
  margin-left: 5px;
  vertical-align: super;
}

.review-citations a {
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 800;
  text-decoration: none;
}

.review-citations a::before {
  content: "[";
}

.review-citations a::after {
  content: "]";
}

.review-impact .section-heading > p,
.review-positions .section-heading > p,
.review-follow-up .section-heading > p,
.review-sources .section-heading > p {
  max-width: 430px;
  margin-bottom: 0;
  color: var(--muted);
}

.review-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 30px;
  border: 1px solid var(--line-strong);
  background: var(--line);
}

.review-no-map {
  max-width: 760px;
  border-left: 4px solid var(--blue);
  background: #f2f7fb;
  padding: 18px 20px;
}

.review-no-map strong {
  display: block;
  color: var(--blue-800);
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.review-no-map p {
  margin: 0;
  line-height: 1.6;
}

.review-metric-grid article {
  display: flex;
  min-width: 0;
  min-height: 156px;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  background: #fff;
}

.review-metric-grid strong {
  color: var(--navy);
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  line-height: 1;
  overflow-wrap: anywhere;
}

.review-metric-grid span {
  margin: 12px 0 20px;
  font-weight: 720;
  line-height: 1.35;
}

.review-metric-grid small {
  color: var(--muted);
}

.review-context-signal-grid article {
  justify-content: flex-start;
}

.review-context-signal-grid article p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.review-no-direct-effect {
  margin-top: 20px;
}

.profile-topic-activity {
  margin-block: 3rem;
  padding-block: 2rem;
  border-block: 1px solid var(--line, #b4c7d9);
}

.profile-topic-activity > h2 {
  max-width: 46rem;
  margin-bottom: 0.5rem;
}

.profile-topic-activity > p:not(.kicker, .method-note) {
  max-width: 50rem;
  color: var(--muted, #52677a);
}

.profile-topic-list {
  display: grid;
  gap: 0;
  margin-top: 1.5rem;
}

.profile-topic-row {
  padding-block: 1rem;
  border-top: 1px solid var(--line, #d4dee7);
}

.profile-topic-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.profile-topic-heading h3 {
  margin: 0;
  font-size: 1.05rem;
}

.profile-topic-heading strong {
  color: var(--blue-800, #154273);
  font-size: 1.25rem;
}

.profile-topic-bar {
  height: 0.7rem;
  margin-block: 0.55rem;
  background: #e5edf3;
  overflow: hidden;
}

.profile-topic-bar .profile-topic-total {
  display: flex;
  height: 100%;
  overflow: hidden;
}

.profile-topic-bar i,
.profile-topic-outcomes i {
  display: block;
  flex: 0 0 auto;
}

.profile-topic-bar .adopted,
.profile-topic-outcomes .adopted {
  background: var(--green, #39870c);
}

.profile-topic-bar .rejected,
.profile-topic-outcomes .rejected {
  background: var(--red, #d52b1e);
}

.profile-topic-bar .other,
.profile-topic-outcomes .other {
  background: var(--line-strong, #8ea8bd);
}

.profile-topic-outcomes {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 1.1rem;
}

.profile-topic-outcomes span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.profile-topic-outcomes i {
  width: 0.58rem;
  height: 0.58rem;
}

.profile-topic-row > p,
.profile-topic-row summary,
.profile-topic-activity .method-note {
  color: var(--muted, #52677a);
}

.profile-topic-row details {
  margin-top: 0.65rem;
}

.profile-topic-row summary {
  cursor: pointer;
  font-weight: 700;
}

.seat-distribution-page > section,
.seat-distribution-source {
  margin-block: 3rem;
}

.seat-distribution-updated,
.seat-distribution-source,
.seat-distribution-page caption {
  color: var(--muted, #52677a);
}

.seat-distribution-majority {
  max-width: 48rem;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--yellow-500, #ffb612);
  background: #fff7d8;
}

.seat-distribution-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line, #d4dee7);
}

.seat-distribution-faction {
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line, #d4dee7);
}

.seat-distribution-faction:nth-child(odd) {
  border-right: 1px solid var(--line, #d4dee7);
}

.seat-distribution-faction a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.seat-distribution-faction meter {
  width: 100%;
  height: 0.65rem;
}

.seat-distribution-table {
  width: 100%;
  border-collapse: collapse;
}

.seat-distribution-table th,
.seat-distribution-table td {
  padding: 0.9rem;
  border-bottom: 1px solid var(--line, #d4dee7);
  text-align: left;
  vertical-align: top;
}

.seat-distribution-table th span {
  display: block;
  margin-top: 0.25rem;
  color: var(--muted, #52677a);
  font-weight: 400;
}

.seat-distribution-members {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.seat-distribution-faq {
  border-top: 1px solid var(--line, #d4dee7);
}

.seat-distribution-faq details {
  padding-block: 1rem;
  border-bottom: 1px solid var(--line, #d4dee7);
}

.seat-distribution-faq summary {
  cursor: pointer;
  font-weight: 700;
}

@media (max-width: 720px) {
  .seat-distribution-overview {
    grid-template-columns: 1fr;
  }

  .seat-distribution-faction:nth-child(odd) {
    border-right: 0;
  }
}

.review-chart {
  margin: 38px 0 0;
  padding: 24px 24px 20px;
  border-left: 5px solid var(--blue);
  background: var(--canvas);
}

.review-chart figcaption {
  margin-bottom: 14px;
  font-weight: 750;
}

.review-chart-summary {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
  padding: 14px 16px;
  background: #fff;
  border-left: 4px solid var(--gold);
}

.review-chart-summary strong {
  color: var(--navy);
}

.review-chart-summary span {
  color: var(--muted);
  text-align: right;
}

.review-chart-plot {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.review-chart svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.review-chart-grid line {
  stroke: var(--line-strong);
  stroke-width: 1;
}

.review-chart-grid text {
  fill: var(--muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.review-chart svg polygon {
  fill: var(--blue-light);
}

.review-chart svg polyline {
  fill: none;
  stroke: var(--blue);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.review-chart svg circle {
  fill: #fff;
  stroke: var(--blue);
  stroke-width: 3;
}

.review-chart-point.is-current circle {
  fill: var(--gold);
  stroke: var(--navy);
}

.review-point-value {
  fill: var(--navy);
  font-size: 12px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.review-point-year {
  fill: var(--muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.review-chart-values {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 1px;
  margin: 16px 0 0;
  background: var(--line);
  border: 1px solid var(--line);
}

.review-chart-values > div {
  min-width: 0;
  padding: 12px 14px;
  background: #fff;
}

.review-chart-values dt {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 750;
}

.review-chart-values dd {
  margin: 2px 0;
  color: var(--navy);
  font-size: 1.08rem;
  font-weight: 780;
  font-variant-numeric: tabular-nums;
}

.review-chart-values small {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.35;
}

.review-data-boundary {
  margin: 22px 0 0;
  padding: 14px 18px;
  border-left: 4px solid var(--gold);
  background: var(--gold-light);
  color: var(--ink-soft);
}

.review-request {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 56px;
  padding: 56px 44px;
  color: #fff;
  background: var(--navy);
}

.review-request .kicker,
.review-request h2 {
  color: #fff;
}

.review-request blockquote {
  margin: 20px 0 0;
  padding: 4px 0 4px 22px;
  border-left: 5px solid var(--gold);
  font-size: 1.35rem;
  font-weight: 680;
  line-height: 1.5;
}

.review-request aside {
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.review-request aside span {
  display: block;
  margin-bottom: 10px;
  color: #bcd6e7;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.review-request aside p {
  margin-bottom: 0;
}

.review-vote-summary {
  display: grid;
  grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
  gap: 42px;
  align-items: end;
  margin-top: 28px;
  padding: 24px;
  border-top: 4px solid var(--navy);
  background: var(--canvas);
}

.review-vote-summary > div:first-child span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.review-vote-summary > div:first-child strong {
  font-size: 1.45rem;
}

.review-vote-summary .vote-totals {
  display: none;
}

.review-vote-summary .vote-meter {
  margin-bottom: 4px;
}

.review-vote-groups li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.review-vote-groups li:last-child {
  border-bottom: 0;
}

.review-vote-groups li span {
  color: var(--muted);
  white-space: nowrap;
}

.review-vote-story {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 30px;
  margin-top: 24px;
  padding: 24px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.review-registration-note {
  margin: -16px 0 26px;
  padding: 12px 16px;
  color: var(--ink-soft);
  background: var(--gold-light);
  border-left: 4px solid var(--gold);
  font-size: 0.92rem;
}

.review-registration-note strong {
  color: var(--ink);
}

.review-vote-story > strong {
  color: var(--blue);
}

.review-vote-story p {
  margin: 0;
  font-size: 1.05rem;
}

.review-certainty-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 28px;
}

.review-certainty-grid section {
  padding: 24px 26px;
  border-top: 5px solid var(--green);
  background: var(--green-light);
}

.review-certainty-grid section + section {
  border-top-color: var(--gold);
  background: var(--gold-light);
}

.review-certainty-grid section > span {
  display: block;
  margin-bottom: 14px;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.review-certainty-grid ul {
  margin: 0;
  padding-left: 20px;
}

.review-certainty-grid li + li {
  margin-top: 12px;
}

.review-follow-up ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--navy);
}

.review-follow-up li {
  position: relative;
  padding: 34px 28px 0 0;
}

.review-follow-up li > span {
  position: absolute;
  top: -16px;
  left: 0;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: #fff;
  background: var(--navy);
  border: 3px solid #fff;
  border-radius: 50%;
  font-size: 0.78rem;
  font-weight: 800;
}

.review-follow-up time {
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 750;
}

.review-follow-up h3 {
  margin: 6px 0 8px;
  font-size: 1.05rem;
}

.review-follow-up p {
  margin: 0;
  color: var(--ink-soft);
}

.review-follow-up-scroll {
  min-width: 0;
}

.review-follow-up-four ol {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.review-follow-up-four li {
  padding-right: 22px;
}

.timeline-scroll-viewport {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--blue) #d8e3eb;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  cursor: grab;
}

.timeline-scroll-viewport::-webkit-scrollbar {
  height: 8px;
}

.timeline-scroll-viewport::-webkit-scrollbar-track {
  background: #d8e3eb;
}

.timeline-scroll-viewport::-webkit-scrollbar-thumb {
  background: var(--blue);
}

.timeline-scroll-viewport::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

.timeline-scroll-viewport.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.review-follow-up-scroll ol {
  display: flex;
  width: auto;
  min-width: 0;
  gap: 24px;
  padding-bottom: 24px;
  grid-template-columns: none;
}

.review-follow-up-scroll li {
  flex: 0 0 calc((100% - 48px) / 3);
  scroll-snap-align: start;
}

.timeline-scroll-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 24px 0 10px;
}

.timeline-scroll-progress {
  display: block;
  height: 4px;
  overflow: hidden;
  background: #d8e3eb;
}

.timeline-scroll-progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left center;
}

.timeline-scroll-controls {
  display: grid;
  grid-template-columns: 40px 54px 40px;
  gap: 6px;
  align-items: center;
}

.timeline-scroll-controls button {
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  color: var(--blue);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 1.65rem;
  line-height: 1;
}

.timeline-scroll-controls button:hover:not(:disabled),
.timeline-scroll-controls button:focus-visible {
  color: #fff;
  background: var(--blue);
}

.timeline-scroll-controls button:disabled {
  color: #8ba0b2;
  background: #eef3f6;
  cursor: default;
}

.timeline-scroll-controls output {
  min-width: 40px;
  color: var(--muted);
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  text-align: right;
}

@media (max-width: 899px), (prefers-reduced-motion: reduce) {
  .review-follow-up[data-timeline-scroll] ol {
    gap: 0;
    margin-left: 0;
    border-top: 2px solid var(--navy);
    border-left: 0;
  }

  .review-follow-up[data-timeline-scroll] li {
    flex-basis: 100%;
    padding: 34px 28px 28px 0;
  }

  .review-follow-up[data-timeline-scroll] li > span {
    top: -16px;
    left: 0;
  }
}

.review-video > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 28px;
  color: #fff;
  background: #162735;
}

.review-play {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--navy);
  background: var(--gold);
  border-radius: 50%;
  font-size: 1.25rem;
}

.review-video .kicker,
.review-video h2 {
  color: #fff;
}

.review-video h2 {
  margin-bottom: 6px;
}

.review-video p:last-child {
  margin-bottom: 0;
  color: #d7e0e6;
}

.review-source-list {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-strong);
}

.review-source-list > li {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 170px;
}

.review-source-list > li:target,
.review-source-list > li.is-source-target,
.review-source-list > li:has(.review-source-legacy-anchor:target) {
  background: var(--blue-light);
}

.review-source-legacy-anchor {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  scroll-margin-top: 170px;
}

.review-source-number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #fff;
  background: var(--navy);
  font-size: 0.78rem;
  font-weight: 800;
}

.review-source-main {
  min-width: 0;
}

.review-source-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.review-source-heading > div {
  min-width: 0;
}

.review-source-title {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.review-source-intro {
  max-width: 760px;
  color: var(--ink-soft);
}

.review-source-heading p {
  margin: 3px 0;
  color: var(--muted);
  font-size: 0.83rem;
}

.review-source-check {
  display: block;
  margin-top: 5px;
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.review-source-link {
  justify-self: end;
  min-width: 0;
  max-width: 100%;
  color: var(--blue);
  font-weight: 720;
  overflow-wrap: anywhere;
  white-space: normal;
}

.review-source-detail {
  margin-top: 12px;
  border-top: 1px solid var(--line);
}

.review-source-detail summary {
  width: fit-content;
  padding: 11px 0 2px;
  color: var(--blue);
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 750;
}

.review-source-detail summary:hover {
  text-decoration: underline;
}

.review-source-detail summary:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.review-source-explanation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 30px;
  padding: 18px 0 8px;
}

.review-source-explanation section {
  min-width: 0;
}

.review-source-explanation h4 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.review-source-explanation p,
.review-source-explanation ul {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
  line-height: 1.55;
}

.review-source-explanation ul {
  padding-left: 18px;
}

.review-source-explanation li {
  display: list-item;
  padding: 0;
  border: 0;
}

.review-source-explanation li + li {
  margin-top: 5px;
}

.review-source-boundary {
  padding-left: 14px;
  border-left: 4px solid var(--gold);
}

.review-source-permalink {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 28px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.82rem;
}

.review-source-permalink button {
  padding: 3px 0;
  border: 0;
  color: var(--blue);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.review-source-permalink button:hover {
  color: var(--navy);
}

.review-source-permalink button:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.review-ai-note {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 30px;
  margin: 0 0 42px;
  padding: 22px 26px;
  border-left: 5px solid var(--blue);
  background: var(--blue-light);
}

.review-ai-note p {
  margin: 0;
}

.review-pagination {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding-top: 34px;
  border-top: 1px solid var(--line-strong);
}

.review-pagination a {
  display: flex;
  min-height: 92px;
  flex-direction: column;
  justify-content: center;
  padding: 16px 18px;
  color: inherit;
  border: 1px solid var(--line-strong);
  text-decoration: none;
}

.review-pagination a:last-child {
  text-align: right;
}

.review-pagination a:hover {
  border-color: var(--blue);
  background: var(--blue-light);
}

.review-pagination span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.review-pagination strong {
  margin-top: 5px;
  line-height: 1.35;
}

.review-index {
  padding-bottom: 80px;
}

.review-index > header {
  position: relative;
  max-width: 940px;
  padding: 44px 140px 42px 0;
  border-bottom: 1px solid var(--line-strong);
}

.review-index > header h1 {
  font-size: 3.25rem;
}

.review-index > header > p:not(.detail-label) {
  max-width: 760px;
  font-size: 1.16rem;
}

.review-index > header > div {
  position: absolute;
  top: 52px;
  right: 0;
  display: flex;
  width: 108px;
  flex-direction: column;
  padding-left: 18px;
  border-left: 4px solid var(--gold);
}

.review-index > header > div strong {
  color: var(--navy);
  font-size: 2.6rem;
  line-height: 1;
}

.review-index > header > div span {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.3;
}

.review-index > ol {
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-strong);
}

.review-index > ol > li > a {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 26px;
  gap: 22px;
  align-items: center;
  padding: 24px 10px 24px 0;
  color: inherit;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.review-index > ol > li > a:hover {
  background: var(--canvas);
}

.review-index > ol > li > a > span {
  color: var(--blue);
  font-size: 1.65rem;
  font-weight: 780;
  text-align: center;
}

.review-index article > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: var(--muted);
  font-size: 0.8rem;
}

.review-index h2 {
  margin: 6px 0 8px;
  font-size: 1.35rem;
}

.review-index article > p {
  max-width: 900px;
  margin-bottom: 12px;
  color: var(--ink-soft);
}

.review-index article > strong[data-status] {
  display: inline-flex;
  width: auto;
  font-size: 0.76rem;
}

.review-index > ol i {
  color: var(--blue);
  font-size: 1.4rem;
  font-style: normal;
}

.review-index > aside {
  margin-top: 28px;
  padding: 20px 24px;
  border-left: 5px solid var(--gold);
  background: var(--gold-light);
}

.review-index > aside p {
  margin: 4px 0 0;
}

@media (max-width: 820px) {
  .review-story-head,
  .review-request,
  .review-vote-summary {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .review-metric-grid,
  .review-follow-up ol {
    grid-template-columns: 1fr;
  }

  .review-metric-grid article {
    min-height: 132px;
  }

  .review-follow-up ol {
    gap: 0;
    border-top: 0;
    border-left: 2px solid var(--navy);
    margin-left: 16px;
  }

  .review-follow-up li {
    padding: 0 0 30px 36px;
  }

  .review-follow-up li > span {
    top: -2px;
    left: -17px;
  }

  .review-request {
    padding: 38px 28px;
  }

  .review-request aside {
    padding: 22px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .review-ribbon {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .review-index > header h1 {
    font-size: 2.25rem;
  }

  .review-story-head h1 {
    font-size: 1.75rem;
    hyphens: none;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .review-context,
  .review-impact,
  .review-positions,
  .review-certainty,
  .review-follow-up,
  .review-video,
  .review-sources {
    padding: 42px 0;
  }

  .review-certainty-grid,
  .review-pagination,
  .review-ai-note,
  .review-vote-story {
    grid-template-columns: 1fr;
  }

  .review-chart {
    padding: 18px 12px;
  }

  .review-chart-summary {
    flex-direction: column;
  }

  .review-chart-summary span {
    text-align: left;
  }

  .review-chart-plot svg {
    min-width: 620px;
  }

  .review-chart-plot-compact svg {
    min-width: 100%;
  }

  .review-chart-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-chart-values > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .review-video > div {
    grid-template-columns: 1fr;
  }

  .review-source-list > li {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .review-source-heading {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .review-source-link {
    justify-self: start;
  }

  .review-source-explanation {
    grid-template-columns: 1fr;
  }

  .review-pagination a:last-child {
    text-align: left;
  }

  .review-index > header {
    padding-right: 0;
  }

  .review-index > header > div {
    position: static;
    width: auto;
    margin-top: 24px;
  }

  .review-index > ol > li > a {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 14px;
  }

  .review-index > ol i {
    display: none;
  }

  .review-index article > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

body.drawer-open {
  overflow: hidden;
}

button,
input,
select {
  color: inherit;
  font: inherit;
}

button,
a,
summary {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button {
  cursor: pointer;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}

h1,
h2,
h3,
p,
dl,
dd {
  margin-top: 0;
}

h1,
h2,
h3 {
  line-height: 1.17;
  letter-spacing: 0;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

img {
  max-width: 100%;
}

section[id] {
  scroll-margin-top: 120px;
}

h1 {
  max-width: 780px;
  margin-bottom: 14px;
  font-size: 3.75rem;
  font-weight: 720;
}

h2 {
  margin-bottom: 0;
  font-size: 2.35rem;
}

h3 {
  margin-bottom: 10px;
  font-size: 1.15rem;
}

.page-width {
  width: min(calc(100% - 48px), var(--page));
  margin-right: auto;
  margin-left: auto;
}

.video-archive-list {
  display: grid;
  margin: 34px 0;
  border-top: 1px solid var(--line);
}

.video-archive-list > a {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  gap: 26px;
}

.video-archive-list img {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--canvas);
  object-fit: cover;
}

.video-archive-list span,
.video-archive-list strong {
  color: var(--muted);
  font-size: 0.86rem;
}

.video-archive-list h2 {
  margin: 7px 0 8px;
  font-size: 1.45rem;
}

.video-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.75fr);
  margin: 34px 0;
  border-block: 1px solid var(--line);
}

.video-detail .detail-lead h1 {
  max-width: 1080px;
  font-size: 3rem;
}

.video-stage {
  position: relative;
  align-self: start;
  background: #07131c;
}

.video-stage video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #07131c;
}

.video-stage > span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 4px 7px;
  color: #fff;
  background: rgba(7, 19, 28, 0.84);
  font-size: 0.72rem;
}

.video-reading {
  padding: 28px;
  background: var(--canvas);
}

.video-reading h2 {
  margin-bottom: 12px;
  font-size: 1.65rem;
}

.video-reading dl {
  margin: 24px 0 0;
}

.video-reading dl div {
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.video-reading dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.video-reading dd {
  margin-top: 3px;
  font-weight: 650;
}

.video-transcript {
  margin: 28px 0;
  border-block: 1px solid var(--line);
}

.video-transcript summary {
  padding: 18px 0;
  font-weight: 700;
  cursor: pointer;
}

.video-transcript > div {
  padding-bottom: 18px;
}

.video-transcript button {
  display: grid;
  width: 100%;
  grid-template-columns: 54px 1fr;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid var(--line);
  text-align: left;
  background: transparent;
  gap: 14px;
}

.video-transcript button:hover {
  color: var(--blue);
}

.video-transcript time {
  color: var(--blue);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.video-transcript strong {
  display: block;
  margin-bottom: 2px;
}

@media (max-width: 760px) {
  .video-archive-list > a,
  .video-evidence {
    grid-template-columns: 1fr;
  }

  .video-archive-list > a {
    gap: 16px;
  }

  .video-reading {
    padding: 20px 0;
    background: transparent;
  }

  .video-detail .detail-lead h1 {
    font-size: 2rem;
  }
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 8px;
  left: 8px;
  padding: 10px 16px;
  color: #fff;
  background: var(--navy);
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.topbar {
  position: sticky;
  z-index: 50;
  top: 0;
  min-height: 76px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.98);
}

.topbar-inner {
  display: grid;
  grid-template-columns: auto minmax(420px, 1fr) auto;
  width: min(calc(100% - 48px), var(--page));
  min-height: 76px;
  margin-inline: auto;
  align-items: center;
}

.brand {
  display: inline-flex;
  min-width: 190px;
  color: var(--ink);
  text-decoration: none;
  align-items: center;
  gap: 10px;
}

.brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.brand span {
  display: grid;
  line-height: 1.05;
}

.brand strong {
  font-size: 1.2rem;
}

.brand small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.72rem;
}

.primary-nav {
  display: flex;
  height: 76px;
  justify-content: center;
  align-items: stretch;
}

.primary-nav a {
  position: relative;
  display: flex;
  padding: 0 14px;
  border: 0;
  color: var(--ink-soft);
  background: transparent;
  font-weight: 650;
  text-decoration: none;
  align-items: center;
}

.primary-nav a::after {
  position: absolute;
  right: 14px;
  bottom: 0;
  left: 14px;
  height: 4px;
  content: "";
  background: transparent;
}

.primary-nav a:hover,
.primary-nav a.active {
  color: var(--navy);
}

.primary-nav a.active::after {
  background: var(--gold);
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.global-search {
  position: relative;
}

.global-search span {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
}

.global-search input {
  width: 184px;
  height: 40px;
  padding: 0 12px 0 36px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: #fff;
}

.global-search::before {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 12px;
  width: 12px;
  height: 12px;
  border: 2px solid var(--muted);
  border-radius: 50%;
  content: "";
}

.global-search::after {
  position: absolute;
  z-index: 1;
  top: 23px;
  left: 24px;
  width: 7px;
  height: 2px;
  content: "";
  background: var(--muted);
  transform: rotate(45deg);
}

.spec-toggle,
.context-button,
.profile-button {
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: #fff;
  font-weight: 700;
}

.context-button {
  border-color: var(--blue);
  color: var(--blue);
}

.profile-button {
  border-color: var(--navy);
  color: #fff;
  background: var(--navy);
}

.profile-button[aria-current="page"] {
  box-shadow: inset 0 -4px 0 var(--gold);
}

.topbar-actions a.context-button,
.topbar-actions a.profile-button {
  display: inline-flex;
  text-decoration: none;
  align-items: center;
}

.demo-notice {
  display: flex;
  min-height: 40px;
  padding: 8px 24px;
  color: #654b03;
  background: var(--gold-light);
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 0.88rem;
}

.demo-notice strong {
  padding-right: 12px;
  border-right: 1px solid #d7bd70;
}

.overview-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-top: 62px;
  padding-bottom: 32px;
  align-items: end;
  gap: 48px;
}

.kicker {
  margin-bottom: 8px;
  color: var(--blue);
  font-size: 0.77rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lede {
  max-width: 760px;
  margin-bottom: 0;
  color: var(--ink-soft);
  font-size: 1.12rem;
}

.context-line {
  display: grid;
  min-width: 300px;
  padding: 12px 0 12px 18px;
  border-left: 3px solid var(--gold);
}

.context-line span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
  text-transform: uppercase;
}

.context-line strong {
  margin: 2px 0;
}

.context-line button,
.text-button {
  width: max-content;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--blue);
  background: transparent;
  font-weight: 700;
}

.daily-brief,
.choice-map,
.story-path,
.topics-section,
.people-section {
  padding-top: 42px;
  padding-bottom: 64px;
}

.daily-brief {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.section-heading {
  display: flex;
  margin-bottom: 24px;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
}

.section-heading > *,
.lead-story > *,
.feed-layout > *,
.feed-list,
.feed-list article > *,
.topic-grid > *,
.party-grid > * {
  min-width: 0;
}

.section-heading.compact {
  margin-bottom: 18px;
}

.trust-label {
  display: flex;
  color: var(--green);
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 700;
}

.trust-label span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
}

.brief-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, 0.72fr);
  border: 1px solid var(--line-strong);
  background: var(--paper);
}

.lead-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  min-width: 0;
}

.lead-story-copy {
  padding: 32px;
}

.story-meta,
.feed-meta {
  display: flex;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 650;
  gap: 12px;
}

.story-meta span {
  color: var(--blue);
  text-transform: uppercase;
}

.lead-story h3 {
  max-width: 760px;
  margin-bottom: 16px;
  font-size: 2.3rem;
}

.lead-story-copy > p {
  max-width: 720px;
  color: var(--ink-soft);
  font-size: 1.04rem;
}

.story-actions {
  display: flex;
  margin-top: 24px;
  flex-wrap: wrap;
  gap: 10px;
}

.primary-action,
.secondary-action,
.follow-action {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 4px;
  font-weight: 750;
}

.primary-action {
  border: 1px solid var(--navy);
  color: #fff;
  background: var(--navy);
}

a.primary-action,
a.secondary-action {
  display: inline-flex;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}

.primary-action:hover,
.profile-button:hover {
  background: #164c75;
}

.secondary-action,
.follow-action {
  border: 1px solid var(--line-strong);
  background: #fff;
}

.decision-reading {
  padding: 26px 24px;
  border-left: 1px solid var(--line);
  background: var(--canvas);
}

.decision-reading dl {
  margin-bottom: 0;
}

.decision-reading dl div {
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.decision-reading dl div:last-child {
  border-bottom: 0;
}

.decision-reading dt {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.decision-reading dd {
  margin-bottom: 0;
  font-weight: 650;
}

.personal-impact {
  padding: 28px;
  border-left: 1px solid var(--line-strong);
  background: var(--green-light);
}

.personal-impact h3 {
  font-size: 1.45rem;
}

.impact-list {
  margin: 22px 0;
}

.impact-list > div {
  display: grid;
  grid-template-columns: 32px 1fr;
  padding: 12px 0;
  border-bottom: 1px solid rgba(36, 116, 90, 0.2);
  gap: 10px;
}

.impact-icon {
  display: grid;
  width: 28px;
  height: 28px;
  border: 1px solid currentColor;
  border-radius: 50%;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 800;
}

.impact-icon.direct {
  color: var(--green);
}

.impact-icon.indirect {
  color: var(--blue);
}

.impact-icon.unknown {
  color: #806315;
}

.impact-list p,
.impact-list strong {
  display: block;
  margin-bottom: 0;
}

.impact-list strong {
  font-size: 0.76rem;
}

.choice-map {
  border-top: 1px solid var(--line);
}

.vote-outcome {
  display: grid;
  grid-template-columns: 130px 240px minmax(0, 1fr);
  margin-bottom: 22px;
  padding: 16px 20px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: var(--green-light);
  align-items: center;
  gap: 16px;
}

.vote-outcome > span {
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.vote-outcome > strong {
  font-size: 1.08rem;
}

.vote-outcome > p {
  margin-bottom: 0;
  color: var(--ink-soft);
}

.stance-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.stance-column {
  min-width: 0;
  padding: 0 20px 18px;
  border-right: 1px solid var(--line);
}

.stance-column:last-child {
  border-right: 0;
}

.stance-column > header {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  min-height: 132px;
  padding: 22px 0 18px;
  align-items: start;
  gap: 12px;
}

.stance-column > header > span {
  display: grid;
  min-height: 30px;
  padding: 4px 7px;
  border-radius: 3px;
  color: #fff;
  background: var(--blue);
  place-items: center;
  font-size: 0.69rem;
  font-weight: 850;
  text-transform: uppercase;
}

.stance-column.conditional > header > span {
  color: var(--ink);
  background: var(--gold);
}

.stance-column.opposed > header > span {
  background: var(--red);
}

.stance-column h3 {
  margin-bottom: 4px;
  font-size: 1.2rem;
}

.stance-column header p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.stance-column > button {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 20px;
  width: 100%;
  min-height: 62px;
  padding: 11px 6px;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  text-align: left;
  align-items: center;
  gap: 10px;
}

.stance-column > button:hover {
  background: var(--canvas);
}

.stance-column > button strong {
  color: var(--navy);
  font-size: 0.86rem;
}

.stance-column > button span {
  min-width: 0;
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.stance-column > button i {
  color: var(--blue);
  font-style: normal;
  font-weight: 800;
}

.method-note {
  max-width: 880px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.story-path {
  padding-top: 12px;
}

.dossier-clock {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 230px;
  margin: 24px 0 12px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  align-items: stretch;
}

.clock-age,
.clock-wait {
  display: flex;
  min-width: 0;
  padding: 20px;
  flex-direction: column;
  justify-content: center;
}

.clock-age {
  color: #fff;
  background: var(--navy);
}

.clock-age span,
.clock-wait > span {
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.clock-age strong {
  margin: 2px 0;
  font-size: 1.55rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.clock-age small {
  color: #cbd9e3;
}

.clock-route {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 20px 16px;
  align-items: center;
}

.clock-route::before {
  position: absolute;
  top: 39px;
  right: 12%;
  left: 12%;
  height: 2px;
  content: "";
  background: var(--line-strong);
}

.clock-route > div {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  justify-items: center;
  text-align: center;
}

.clock-route > div > span {
  display: grid;
  width: 38px;
  height: 38px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  box-shadow: 0 0 0 1px var(--green);
  place-items: center;
  font-size: 0.78rem;
  font-weight: 800;
}

.clock-route > div.current > span {
  color: var(--ink);
  background: var(--gold);
  box-shadow: 0 0 0 1px #9a7210;
}

.clock-route p {
  display: grid;
  margin: 8px 0 0;
}

.clock-route small {
  color: var(--muted);
  font-size: 0.68rem;
}

.clock-wait {
  border-left: 1px solid var(--line);
  background: var(--gold-light);
}

.clock-wait strong {
  margin: 2px 0 5px;
  font-size: 1.1rem;
}

.clock-wait button {
  width: max-content;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--blue);
  background: transparent;
  font-size: 0.8rem;
  font-weight: 750;
}

.clock-note {
  margin-bottom: 24px;
  color: var(--muted);
  font-size: 0.78rem;
}

.path-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.path-line::before {
  position: absolute;
  top: 20px;
  right: 12.5%;
  left: 12.5%;
  height: 2px;
  content: "";
  background: var(--line-strong);
}

.path-line button {
  position: relative;
  padding: 50px 22px 18px;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  text-align: left;
}

.path-line button:last-child {
  border-right: 0;
}

.path-line button::before {
  position: absolute;
  z-index: 1;
  top: 13px;
  left: calc(50% - 8px);
  width: 14px;
  height: 14px;
  border: 2px solid #fff;
  border-radius: 50%;
  content: "";
  background: var(--blue);
  box-shadow: 0 0 0 1px var(--blue);
}

.path-line button.current::before {
  background: var(--gold);
  box-shadow: 0 0 0 1px #9a7210;
}

.path-line button:hover {
  background: var(--canvas);
}

.path-line time,
.path-line strong,
.path-line span {
  display: block;
}

.path-line time {
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.path-line strong {
  margin-bottom: 3px;
}

.path-line span {
  color: var(--muted);
  font-size: 0.82rem;
}

.section-band {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
}

.feed-section .page-width,
.parties-section .page-width {
  padding-top: 58px;
  padding-bottom: 64px;
}

.segmented {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  background: #fff;
}

.segmented button {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 3px;
  color: var(--muted);
  background: transparent;
  font-size: 0.82rem;
  font-weight: 750;
}

.segmented button.active {
  color: #fff;
  background: var(--navy);
}

.feed-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 36px;
}

.feed-list {
  border-top: 1px solid var(--line-strong);
}

.feed-list article {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 40px;
  min-height: 140px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
  gap: 18px;
}

.feed-list article[hidden] {
  display: none;
}

.feed-list h3 {
  margin-bottom: 6px;
}

.feed-list article p:last-child {
  margin-bottom: 0;
  color: var(--ink-soft);
}

.feed-list article > button {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: #fff;
  font-size: 1.15rem;
}

.feed-marker {
  display: grid;
  width: 64px;
  min-height: 46px;
  padding: 6px;
  border-radius: 4px;
  color: #fff;
  background: var(--navy);
  place-items: center;
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

.feed-marker.person {
  overflow: hidden;
  height: 64px;
  padding: 0;
  border-radius: 50%;
}

.feed-marker.person img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feed-marker.topic {
  color: var(--ink);
  background: var(--gold);
}

.feed-meta {
  margin-bottom: 6px;
}

.following-panel {
  padding: 22px;
  border-top: 4px solid var(--gold);
  background: #fff;
  align-self: start;
}

.following-panel h3 {
  font-size: 1.35rem;
}

.follow-chips {
  display: flex;
  margin: 18px 0 22px;
  flex-wrap: wrap;
  gap: 8px;
}

.follow-chips button {
  min-height: 34px;
  padding: 5px 8px 5px 10px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: var(--canvas);
  font-size: 0.79rem;
}

.follow-chips button span {
  margin-left: 5px;
  color: var(--muted);
}

.following-panel .secondary-action {
  width: 100%;
}

.topics-section,
.people-section {
  padding-top: 60px;
  padding-bottom: 72px;
}

.topic-grid,
.party-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.topic-grid article,
.party-grid article {
  display: flex;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: #fff;
  flex-direction: column;
}

.topic-top,
.party-grid header,
.topic-grid footer,
.party-grid footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.topic-top > button,
.party-grid header > button {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  color: #9b7615;
  background: transparent;
  font-size: 1.35rem;
}

.topic-symbol {
  display: grid;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: var(--navy);
  place-items: center;
  font-weight: 800;
}

.topic-symbol.care {
  background: var(--red);
}

.topic-symbol.climate {
  background: var(--green);
}

.topic-grid h3 {
  margin-top: 20px;
  font-size: 1.35rem;
}

.topic-grid article > p,
.party-grid article > p {
  color: var(--ink-soft);
  flex: 1;
}

.topic-grid footer,
.party-grid footer {
  padding-top: 16px;
  border-top: 1px solid var(--line);
  gap: 12px;
}

.topic-grid footer span,
.party-grid footer span {
  color: var(--muted);
  font-size: 0.78rem;
}

.topic-grid footer button,
.party-grid footer button {
  padding: 0;
  border: 0;
  color: var(--blue);
  background: transparent;
  font-size: 0.83rem;
  font-weight: 750;
}

.topic-grid footer a,
.party-grid footer a,
.people-grid h3 a {
  color: var(--blue);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.party-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.party-grid article {
  min-height: 210px;
}

.party-grid header {
  justify-content: flex-start;
  gap: 10px;
}

.party-grid header h3 {
  margin: 0;
  flex: 1;
}

.party-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--navy);
}

.party-dot.d66 {
  background: #00a03c;
}

.party-dot.vvd {
  background: #21468b;
}

.party-dot.cda {
  background: #2f9664;
}

.party-dot.pvv {
  background: #142e72;
}

.people-grid {
  display: grid;
  border-top: 1px solid var(--line-strong);
}

.people-grid article {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  min-height: 116px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 20px;
}

.people-grid img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--canvas);
}

.people-grid article > div > span {
  color: var(--blue);
  font-size: 0.76rem;
  font-weight: 750;
}

.people-grid h3,
.people-grid p {
  margin-bottom: 2px;
}

.people-grid p {
  color: var(--ink-soft);
}

.people-grid article > button {
  min-width: 92px;
  min-height: 38px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: #fff;
  font-weight: 750;
}

[hidden] {
  display: none !important;
}

.member-dashboard {
  min-height: calc(100vh - 76px);
  padding: 44px 0 80px;
  background: var(--paper);
}

.member-head {
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}

.back-button {
  margin-bottom: 26px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--blue);
  background: transparent;
  font-weight: 750;
}

.member-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 32px;
}

.member-head h1,
.member-page-title {
  margin-bottom: 6px;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.1;
}

.member-head h1 + p,
.member-page-title + p {
  margin-bottom: 0;
  color: var(--ink-soft);
}

.account-state {
  display: flex;
  padding: 10px 0;
  align-items: center;
  gap: 12px;
}

.local-state {
  display: flex;
  color: var(--muted);
  align-items: center;
  gap: 7px;
  font-size: 0.78rem;
  font-weight: 700;
}

.local-state i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--gold);
}

.account-state.account-active .local-state i {
  background: var(--green);
}

.account-state button {
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid var(--navy);
  border-radius: 4px;
  color: #fff;
  background: var(--navy);
  font-weight: 750;
}

.privacy-promise {
  max-width: 800px;
  margin: 18px 0 0;
  padding-left: 12px;
  border-left: 3px solid var(--green);
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.member-brief {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 34px;
  padding: 28px 30px;
  background: var(--blue-light);
  align-items: end;
  gap: 30px;
}

.member-brief h2 {
  margin-bottom: 8px;
}

.member-brief p:last-child {
  max-width: 780px;
  margin-bottom: 0;
  color: var(--ink-soft);
}

.member-signal-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 58px;
  border-bottom: 1px solid var(--line);
}

.member-signal-row > div {
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 20px 26px;
  border-right: 1px solid var(--line);
  align-items: baseline;
  gap: 0 12px;
}

.member-signal-row > div:last-child {
  border-right: 0;
}

.member-signal-row span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.member-signal-row strong {
  grid-row: 1 / span 2;
  grid-column: 1;
  font-size: 2rem;
  font-variant-numeric: tabular-nums;
}

.member-signal-row span,
.member-signal-row small {
  grid-column: 2;
}

.member-signal-row small {
  color: var(--muted);
}

.member-dossiers {
  padding-bottom: 64px;
}

.dashboard-dossier-list {
  border-top: 1px solid var(--line-strong);
}

.dashboard-dossier-list article {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(220px, 0.9fr) auto;
  min-height: 106px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 24px;
}

.dossier-identity {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.dossier-identity p,
.dossier-identity h3 {
  margin-bottom: 0;
}

.dossier-identity p {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
}

.dossier-age {
  display: grid;
}

.dossier-age strong {
  font-variant-numeric: tabular-nums;
}

.dossier-age span {
  color: var(--muted);
  font-size: 0.78rem;
}

.dashboard-dossier-list article > button {
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--blue);
  background: transparent;
  font-size: 0.8rem;
  font-weight: 750;
}

.personal-decision-list {
  border-top: 1px solid var(--line-strong);
}

.personal-decision-list article {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  min-height: 156px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
  gap: 20px;
}

.personal-decision-rank {
  display: grid;
  width: 36px;
  height: 36px;
  color: #fff;
  background: var(--navy);
  place-items: center;
  font-weight: 800;
}

.personal-decision-list article > div:nth-child(2) > p:first-child {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 8px;
  color: var(--muted);
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
}

.personal-decision-list article h3 {
  max-width: 760px;
  margin: 0 0 9px;
  font-size: 1.18rem;
}

.personal-decision-list article h3 a {
  color: var(--ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.personal-decision-list article > div:nth-child(2) > strong {
  display: block;
  margin-bottom: 4px;
  color: var(--green);
  font-size: 0.78rem;
}

.personal-decision-list article > div:nth-child(2) > p:last-child {
  max-width: 800px;
  margin: 0;
  color: var(--ink-soft);
}

.personal-decision-list article > button {
  min-height: 40px;
  padding: 7px 10px;
  color: var(--blue);
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: #fff;
  font-weight: 760;
}

.personal-empty {
  margin: 0;
  padding: 34px 0;
  color: var(--muted);
}

.member-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  padding-top: 56px;
  border-top: 1px solid var(--line-strong);
  gap: 56px;
}

.member-following h2,
.notification-settings h2 {
  font-size: 1.65rem;
}

.follow-group {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  gap: 16px;
}

.follow-group > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.follow-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.follow-group button {
  padding: 4px 8px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: var(--canvas);
  font-size: 0.78rem;
}

.follow-group button.active {
  border-color: var(--green);
  background: var(--green-light);
}

.member-following > .secondary-action {
  margin-top: 20px;
}

.notification-settings {
  padding: 24px;
  border-top: 4px solid var(--gold);
  background: var(--canvas);
}

.notification-settings > label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 16px;
}

.notification-settings label span,
.notification-settings label strong,
.notification-settings label small {
  display: block;
}

.notification-settings label small,
.notification-settings > p:last-child {
  color: var(--muted);
  font-size: 0.75rem;
}

.notification-settings input {
  width: 20px;
  height: 20px;
  accent-color: var(--navy);
}

.notification-settings > p:last-child {
  margin: 18px 0 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.situation-chips {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  gap: 7px;
}

.situation-chips span {
  padding: 5px 8px;
  border: 1px solid var(--line-strong);
  background: #fff;
  font-size: 0.78rem;
}

.situation-actions {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  gap: 8px;
}

.personal-coverage-note {
  max-width: 78ch;
  margin: -6px 0 20px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.situation-actions button {
  min-height: 40px;
  padding: 7px 10px;
  color: var(--blue);
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: #fff;
  font-weight: 760;
}

.account-form {
  display: grid;
  margin-top: 24px;
  gap: 18px;
}

.account-form > label:not(.account-consent) {
  display: grid;
  gap: 6px;
  font-weight: 750;
}

.account-form input[type="email"] {
  min-height: 44px;
  padding: 0 11px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
}

.account-consent {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  font-size: 0.82rem;
}

.account-consent input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--navy);
}

.account-form > p,
.guide-status {
  color: var(--muted);
  font-size: 0.78rem;
}

.guide-status {
  margin-top: 28px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.site-footer {
  color: #fff;
  background: var(--navy);
}

.site-footer .page-width {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  min-height: 130px;
  align-items: center;
  gap: 18px;
}

.site-footer img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.site-footer p {
  display: grid;
  margin-bottom: 0;
}

.site-footer p span {
  color: #cbd9e3;
  font-size: 0.84rem;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 20px;
}

.site-footer nav a {
  padding: 6px 0;
  border-bottom: 1px solid #8199aa;
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.site-footer nav a:hover {
  border-bottom-color: #fff;
}

.detail-drawer,
.profile-drawer {
  position: fixed;
  z-index: 100;
  inset: 0;
  visibility: hidden;
  transition: visibility 0.2s;
}

.detail-drawer[aria-hidden="false"],
.profile-drawer[aria-hidden="false"] {
  visibility: visible;
}

.drawer-scrim {
  position: absolute;
  inset: 0;
  background: rgba(10, 28, 42, 0.55);
  opacity: 0;
  transition: opacity 0.2s;
}

.detail-drawer[aria-hidden="false"] .drawer-scrim,
.profile-drawer[aria-hidden="false"] .drawer-scrim {
  opacity: 1;
}

.drawer-panel,
.profile-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: min(560px, 100%);
  padding: 28px 32px 48px;
  background: #fff;
  box-shadow: var(--shadow);
  transform: translateX(100%);
  transition: transform 0.24s ease;
  overscroll-behavior: contain;
}

.profile-panel {
  width: min(440px, 100%);
  margin: 0;
}

.detail-drawer[aria-hidden="false"] .drawer-panel,
.profile-drawer[aria-hidden="false"] .profile-panel {
  transform: translateX(0);
}

.drawer-panel > header,
.profile-panel > header {
  display: flex;
  margin: -28px -32px 26px;
  padding: 24px 28px;
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.drawer-panel > header h2,
.profile-panel > header h2 {
  font-size: 1.55rem;
}

.drawer-panel > header button,
.profile-panel > header button {
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: #fff;
  place-items: center;
  font-size: 1.4rem;
}

.drawer-summary {
  padding: 18px;
  border-left: 4px solid var(--blue);
  background: var(--blue-light);
  font-size: 1.03rem;
}

.drawer-content h3 {
  margin-top: 28px;
  font-size: 1.12rem;
}

.drawer-content ul,
.drawer-content ol {
  padding-left: 21px;
}

.drawer-content li {
  margin-bottom: 9px;
}

.drawer-facts {
  margin: 24px 0;
  border-top: 1px solid var(--line);
}

.drawer-facts div {
  display: grid;
  grid-template-columns: 126px 1fr;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  gap: 14px;
}

.drawer-facts dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.drawer-facts dd {
  margin-bottom: 0;
}

.source-layer {
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid var(--line-strong);
}

.source-layer summary {
  color: var(--blue);
  cursor: pointer;
  font-weight: 750;
}

.source-layer p {
  margin-top: 12px;
  color: var(--muted);
  font-size: 0.82rem;
}

.follow-picker {
  display: grid;
  margin-top: 20px;
  gap: 10px;
}

.follow-picker button {
  padding: 14px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: #fff;
  text-align: left;
  font-weight: 700;
}

.profile-panel > p {
  color: var(--ink-soft);
}

.profile-panel fieldset {
  display: grid;
  margin: 24px 0;
  padding: 0;
  border: 0;
  gap: 8px;
}

.profile-panel legend {
  margin-bottom: 8px;
  font-weight: 800;
}

.profile-panel legend small {
  color: var(--muted);
  font-weight: 500;
}

.profile-panel label {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.profile-panel input {
  margin-right: 7px;
}

.profile-panel select {
  width: 100%;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: #fff;
}

.profile-region {
  display: grid;
  margin: 24px 0;
  padding: 0 !important;
  border: 0 !important;
  gap: 7px;
  font-weight: 800;
}

.profile-region small {
  color: var(--muted);
  font-weight: 500;
}

.profile-region input {
  min-height: 44px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
}

.profile-panel > .primary-action {
  width: 100%;
}

.toast {
  position: fixed;
  z-index: 150;
  right: 24px;
  bottom: 24px;
  max-width: min(390px, calc(100% - 48px));
  padding: 12px 16px;
  border-left: 4px solid var(--gold);
  color: #fff;
  background: var(--navy);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.2s, transform 0.2s;
}

.toast.visible {
  opacity: 1;
  transform: translateY(0);
}

.search-hidden {
  display: none !important;
}

.search-match {
  box-shadow: inset 4px 0 0 var(--gold);
}

/* V4: local homepage navigation and editorial current feed */
.page-toc {
  position: sticky;
  z-index: 40;
  top: 76px;
  border-bottom: 1px solid var(--line);
  background: rgba(245, 247, 248, 0.98);
}

.page-toc .page-width {
  display: flex;
  min-height: 46px;
  align-items: center;
  gap: 22px;
}

.page-toc span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
  text-transform: uppercase;
}

.page-toc a {
  color: var(--ink-soft);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.page-toc a:hover,
.page-toc a.active {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.latest-events {
  margin-top: 32px;
  padding-top: 30px;
  border-top: 1px solid var(--line-strong);
}

.latest-events-head {
  display: flex;
  margin-bottom: 12px;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.latest-events-head h3 {
  margin-bottom: 0;
  font-size: 1.45rem;
}

.latest-events-head a {
  color: var(--blue);
  font-weight: 750;
  text-underline-offset: 4px;
}

.latest-event-list {
  border-top: 1px solid var(--line-strong);
}

.latest-event-list > a {
  display: grid;
  grid-template-columns: 64px 105px minmax(230px, 1fr) minmax(260px, 0.9fr) 28px;
  min-height: 82px;
  padding: 15px 4px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
  align-items: center;
  gap: 16px;
}

.latest-event-list > a:hover strong,
.latest-event-list > a:focus-visible strong {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.latest-event-list time,
.latest-event-list > a > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.latest-event-list > a > span {
  color: var(--blue);
  text-transform: uppercase;
}

.latest-event-list strong {
  line-height: 1.35;
}

.latest-event-list p {
  margin-bottom: 0;
  color: var(--ink-soft);
  font-size: 0.88rem;
}

.latest-event-list i {
  color: var(--blue);
  font-size: 1.25rem;
  font-style: normal;
}

/* V4: archives and entity detail pages */
.archive-mode .site-footer {
  display: block;
}

.archive-view {
  min-height: calc(100vh - 122px);
  padding: 34px 0 88px;
  background: var(--paper);
}

.breadcrumbs {
  display: flex;
  margin-bottom: 38px;
  color: var(--muted);
  font-size: 0.84rem;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.breadcrumbs a {
  color: var(--blue);
  text-underline-offset: 3px;
}

.archive-head {
  max-width: 850px;
  margin-bottom: 28px;
}

.archive-head h1 {
  margin-bottom: 14px;
}

.archive-head > p:last-child {
  max-width: 800px;
  margin-bottom: 0;
  color: var(--ink-soft);
  font-size: 1.08rem;
}

.archive-head .archive-scope {
  max-width: 800px;
  margin: 16px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.5;
}

.archive-scope strong {
  color: var(--ink-soft);
}

.inline-error {
  max-width: 900px;
  margin: 0 0 28px;
  padding: 16px 18px;
  border-left: 5px solid #b4362d;
  background: #fff1ef;
}

.inline-error p {
  margin: 3px 0 0;
  color: var(--ink-soft);
}

.archive-ai-intro,
.detail-explanation {
  display: flex;
  max-width: 900px;
  margin-bottom: 30px;
  padding: 18px 20px;
  border-left: 5px solid var(--gold);
  background: var(--gold-light);
  gap: 14px;
}

.ai-mark {
  display: grid;
  width: 34px;
  height: 34px;
  color: #fff;
  background: var(--navy);
  flex: 0 0 34px;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 850;
}

.archive-ai-intro p,
.detail-explanation p {
  margin: 2px 0 0;
  color: var(--ink-soft);
}

.archive-tools {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 220px 210px auto;
  margin: 34px 0 24px;
  padding: 22px;
  border: 1px solid var(--line-strong);
  background: var(--canvas);
  align-items: end;
  gap: 14px;
}

.archive-tools label {
  display: grid;
  gap: 6px;
}

.archive-tools label > span {
  font-size: 0.76rem;
  font-weight: 750;
}

.archive-tools input,
.archive-tools select {
  width: 100%;
  height: 46px;
  padding: 0 12px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: #fff;
}

.archive-tools button {
  white-space: nowrap;
}

.archive-results-head {
  display: flex;
  min-height: 48px;
  border-bottom: 2px solid var(--navy);
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.archive-results-head > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.archive-results-head span {
  color: var(--muted);
  font-size: 0.8rem;
}

.archive-results-head a {
  color: var(--blue);
  font-size: 0.84rem;
  font-weight: 700;
}

.archive-list {
  border-bottom: 1px solid var(--line-strong);
}

.archive-row {
  position: relative;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto 30px;
  min-height: 160px;
  padding: 24px 6px;
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 22px;
}

.archive-row:last-child {
  border-bottom: 0;
}

.archive-row:hover {
  background: linear-gradient(90deg, transparent, var(--canvas) 12%, var(--canvas) 88%, transparent);
}

.archive-row-date,
.archive-party-seats {
  display: grid;
  color: var(--muted);
  text-align: center;
}

.archive-row-date strong,
.archive-party-seats strong {
  color: var(--navy);
  font-size: 1.35rem;
}

.trust-label,
.archive-row-date,
.archive-party-seats,
.archive-results-head,
.story-facts dd,
.accountability-status dd,
.vote-story,
.vote-parties {
  font-variant-numeric: tabular-nums;
}

.archive-row-date span,
.archive-party-seats span {
  font-size: 0.72rem;
}

.archive-index-mark {
  display: grid;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  color: #fff;
  background: var(--navy);
  place-items: center;
  font-size: 1.2rem;
  font-weight: 800;
}

.archive-row-body {
  min-width: 0;
}

.archive-eyebrow {
  display: flex;
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  gap: 9px;
}

.archive-eyebrow span {
  color: var(--muted);
  font-weight: 650;
  text-transform: none;
}

.archive-row h2 {
  margin-bottom: 8px;
  font-size: 1.35rem;
}

.archive-row h2 a {
  color: var(--ink);
  text-decoration: none;
}

.archive-row h2 a:hover,
.archive-row h2 a:focus-visible {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.archive-row-body > p:not(.archive-eyebrow) {
  max-width: 800px;
  margin-bottom: 9px;
  color: var(--ink-soft);
}

.archive-row-meta {
  display: flex;
  color: var(--muted);
  font-size: 0.79rem;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.archive-row-meta strong {
  color: var(--ink-soft);
}

.motion-meaning-link {
  display: inline-flex;
  width: fit-content;
  margin-top: 13px;
  color: var(--blue);
  align-items: baseline;
  gap: 8px;
  font-size: 0.82rem;
  font-weight: 780;
  text-decoration: none;
}

.motion-meaning-link span {
  padding: 3px 6px;
  color: #245d0a;
  border: 1px solid #82b46d;
  border-radius: 3px;
  background: #eef7ea;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.motion-meaning-link:hover strong,
.motion-meaning-link:focus-visible strong {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.motion-meaning-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 28px 0;
  padding: 22px 24px;
  border-left: 4px solid var(--gold);
  background: var(--gold-light);
  align-items: center;
  gap: 28px;
}

.motion-meaning-bridge h2,
.motion-meaning-bridge p {
  margin-bottom: 5px;
}

.motion-meaning-bridge > a {
  display: grid;
  min-width: 190px;
  padding: 12px 14px;
  color: #fff;
  background: var(--navy);
  font-size: 0.86rem;
  font-weight: 780;
  text-decoration: none;
}

.motion-meaning-bridge > a span {
  color: #dce9f2;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.row-arrow {
  color: var(--blue);
  font-size: 1.35rem;
  text-decoration: none;
}

.row-follow {
  min-width: 84px;
  min-height: 40px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: #fff;
  font-weight: 750;
}

.archive-person-photo {
  display: grid;
  width: 84px;
  height: 112px;
  overflow: hidden;
  background: var(--canvas);
  place-items: center;
}

.archive-person-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.person-fallback {
  color: var(--navy);
  font-weight: 800;
}

.pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin-top: 28px;
  align-items: center;
  gap: 18px;
}

.pagination > div {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pagination a {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  padding: 6px 11px;
  color: var(--blue);
  align-items: center;
  justify-content: center;
  font-weight: 750;
  text-decoration: none;
}

.pagination a[aria-current="page"] {
  color: #fff;
  background: var(--navy);
}

.pagination-back {
  justify-self: start;
}

.pagination-next {
  grid-column: 3;
  justify-self: end;
}

.pagination > div span {
  padding: 0 4px;
  color: var(--muted);
}

.empty-state,
.not-found,
.archive-loading {
  max-width: 700px;
  padding: 60px 0;
}

.archive-loading {
  min-height: 42vh;
}

.archive-loading p:last-child {
  color: var(--muted);
}

.empty-state h2 {
  margin-bottom: 10px;
  font-size: 1.6rem;
}

.empty-state a {
  color: var(--blue);
  font-weight: 750;
}

.archive-demo-note {
  max-width: 820px;
  margin: 38px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.8rem;
}

.entity-detail {
  max-width: 1040px;
}

.detail-lead {
  padding-bottom: 36px;
  border-bottom: 1px solid var(--line-strong);
}

.detail-label {
  margin-bottom: 10px;
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.detail-summary {
  max-width: 850px;
  color: var(--ink-soft);
  font-size: 1.22rem;
}

.detail-actions {
  display: flex;
  margin-top: 24px;
  flex-wrap: wrap;
  gap: 10px;
}

.detail-explanation {
  max-width: none;
  margin: 32px 0;
}

.detail-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.detail-facts section {
  min-height: 230px;
  padding: 28px;
  border-right: 1px solid var(--line);
}

.detail-facts section:last-child {
  border-right: 0;
}

.detail-facts h2 {
  margin-bottom: 12px;
  font-size: 1.35rem;
}

.detail-facts section > p:last-child {
  color: var(--ink-soft);
}

.detail-related {
  padding: 38px 0;
}

.detail-related h2 {
  margin-bottom: 18px;
  font-size: 1.65rem;
}

.detail-related > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
}

.detail-related a {
  color: var(--blue);
  font-weight: 750;
  text-underline-offset: 4px;
}

.detail-sources {
  padding: 18px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.detail-sources summary {
  color: var(--ink-soft);
  cursor: pointer;
  font-weight: 750;
}

.detail-sources p {
  max-width: 800px;
  margin: 14px 0 0;
  font-size: 0.86rem;
}

.not-found h1 {
  font-size: 2.7rem;
}

.not-found .primary-action {
  margin-top: 12px;
}

.archive-companion,
.inline-route {
  display: inline-block;
  margin-top: 16px;
  color: var(--blue);
  font-weight: 750;
  text-underline-offset: 4px;
}

.story-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 30px 0 42px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.story-facts div {
  min-height: 108px;
  padding: 22px;
  border-right: 1px solid var(--line);
}

.story-facts div:last-child {
  border-right: 0;
}

.story-facts dt {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
  text-transform: uppercase;
}

.story-facts dd {
  margin-top: 7px;
  color: var(--navy);
  font-size: 1.15rem;
  font-weight: 800;
}

.story-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin: 42px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.story-columns > section {
  min-width: 0;
  padding: 32px;
}

.story-columns > section + section {
  border-left: 1px solid var(--line);
}

.story-columns h2,
.public-context h2,
.vote-story h2,
.decision-journey h2,
.topic-story h2,
.method-section h2,
.correction-route h2,
.accountability-status h2 {
  margin-bottom: 18px;
  font-size: 1.65rem;
}

.story-timeline {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-timeline::before {
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 112px;
  width: 2px;
  content: "";
  background: var(--line);
}

.story-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  padding: 0 0 24px;
  gap: 28px;
}

.story-timeline li::before {
  position: absolute;
  top: 6px;
  left: 107px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  content: "";
  background: var(--blue);
}

.story-timeline time {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
}

.story-timeline li div {
  display: grid;
}

.story-timeline li span {
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.story-timeline li strong {
  margin: 2px 0 4px;
}

.story-timeline li p {
  margin-bottom: 0;
  color: var(--ink-soft);
  font-size: 0.84rem;
}

.story-empty,
.story-note {
  color: var(--muted);
}

.story-people,
.register-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-people li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 14px;
}

.story-people img,
.story-person-placeholder {
  width: 48px;
  height: 64px;
  object-fit: cover;
  object-position: top;
  background: var(--canvas);
}

.story-person-placeholder {
  display: grid;
  color: var(--navy);
  place-items: center;
  font-weight: 800;
}

.story-people li div {
  display: grid;
}

.story-people a {
  color: var(--ink);
  text-underline-offset: 3px;
}

.story-people span,
.story-people p,
.register-list span {
  color: var(--muted);
  font-size: 0.78rem;
}

.story-people p {
  margin: 4px 0 0;
}

.register-list li {
  display: grid;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.profile-story-head {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  padding-bottom: 36px;
  border-bottom: 1px solid var(--line-strong);
  align-items: start;
  gap: 30px;
}

.profile-story-head:not(:has(> img)) {
  grid-template-columns: minmax(0, 1fr);
}

.profile-story-head > img {
  width: 150px;
  height: 200px;
  object-fit: cover;
  object-position: top;
  background: var(--canvas);
}

.public-context {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  margin: 42px 0;
  padding: 30px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  gap: 50px;
}

.profile-activity {
  margin: 44px 0;
  padding: 32px 0;
  border-top: 2px solid var(--navy);
  border-bottom: 1px solid var(--line-strong);
}

.profile-activity > header {
  display: flex;
  margin-bottom: 28px;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.activity-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.profile-activity h2,
.profile-contacts h2 {
  margin-bottom: 0;
  font-size: 1.65rem;
}

.activity-periods {
  display: flex;
  overflow-x: auto;
  border: 1px solid var(--line-strong);
}

.activity-periods button {
  min-height: 40px;
  padding: 8px 14px;
  border: 0;
  border-right: 1px solid var(--line-strong);
  color: var(--ink-soft);
  background: #fff;
  white-space: nowrap;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 750;
  cursor: pointer;
}

.activity-periods button:last-child {
  border-right: 0;
}

.activity-periods button[aria-pressed="true"] {
  color: #fff;
  background: var(--navy);
}

.activity-periods button:focus-visible {
  outline: 3px solid #ffb612;
  outline-offset: 2px;
}

.profile-page-nav-sentinel {
  display: block;
  height: 1px;
  margin-bottom: -1px;
}

.profile-page-nav {
  position: sticky;
  z-index: 40;
  top: var(--decision-sticky-top, 76px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 26px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line-strong);
  background: #fff;
  isolation: isolate;
  gap: 14px 26px;
}

.profile-page-nav.is-stuck::before {
  position: absolute;
  z-index: -1;
  top: -1px;
  bottom: -1px;
  left: 50%;
  width: 100vw;
  border-block: 1px solid var(--line);
  background: rgba(245, 247, 248, 0.98);
  content: "";
  transform: translateX(-50%);
}

.profile-page-nav.is-stuck {
  background: rgba(245, 247, 248, 0.98);
}

.profile-year-navigation,
.profile-section-navigation {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.profile-page-nav strong {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.profile-section-navigation {
  justify-content: flex-start;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.profile-section-navigation::-webkit-scrollbar {
  display: none;
}

.profile-year-navigation {
  justify-content: flex-end;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.profile-year-navigation::-webkit-scrollbar {
  display: none;
}

.profile-section-navigation a {
  flex: 0 0 auto;
  color: var(--ink-soft);
  font-size: 0.78rem;
  font-weight: 760;
  text-decoration: none;
  white-space: nowrap;
}

.profile-section-navigation a:hover,
.profile-section-navigation a:focus-visible,
.profile-section-navigation a.active {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.entity-detail section[id],
.entity-detail [id="recente-moties"] {
  scroll-margin-top: 152px;
}

.activity-share {
  position: relative;
}

.activity-share > summary {
  min-height: 42px;
  padding: 10px 14px;
  color: var(--blue);
  border: 1px solid var(--line-strong);
  background: #fff;
  font-size: 0.8rem;
  font-weight: 780;
  cursor: pointer;
  list-style: none;
}

.activity-share > summary::-webkit-details-marker {
  display: none;
}

.activity-share[open] > summary {
  color: #fff;
  border-color: var(--navy);
  background: var(--navy);
}

.activity-share > div {
  position: absolute;
  z-index: 8;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  width: min(610px, calc(100vw - 36px));
  max-height: min(760px, calc(100vh - 130px));
  padding: 16px;
  border: 1px solid var(--line-strong);
  background: #fff;
  box-shadow: 0 10px 24px rgb(15 53 87 / 14%);
  gap: 12px 18px;
  overflow-y: auto;
}

.activity-share-menu {
  grid-template-columns: 220px minmax(0, 1fr);
}

.activity-share-intro,
.activity-share-platforms,
.activity-live-embed,
.activity-share-menu > [data-profile-share-feedback] {
  grid-column: 1 / -1;
}

.activity-share-intro strong,
.activity-share-intro span {
  display: block;
}

.activity-share-intro strong {
  color: var(--navy);
  font-size: 1rem;
}

.activity-share-intro span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.45;
}

.activity-share .activity-share-preview {
  display: block;
  min-height: 0;
  padding: 6px;
  border-color: var(--line-strong);
}

.activity-share .activity-share-preview:hover,
.activity-share .activity-share-preview:focus-visible {
  background: #fff;
}

.activity-share-preview img {
  display: block;
  width: 100%;
  height: auto;
}

.activity-share-actions {
  display: grid;
  align-content: start;
  gap: 7px;
}

.activity-share-platforms {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.activity-share-platforms a {
  min-height: 34px;
  padding: 6px 9px;
}

.activity-live-embed {
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.activity-live-embed > summary {
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 780;
  cursor: pointer;
}

.activity-live-embed p {
  margin: 8px 0;
  line-height: 1.45;
}

.activity-share a,
.activity-share button,
.share-platforms a {
  min-height: 38px;
  padding: 8px 10px;
  color: var(--blue);
  border: 1px solid #8eb9d1;
  background: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 760;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.activity-share a:hover,
.activity-share button:hover,
.activity-share a:focus-visible,
.activity-share button:focus-visible,
.share-platforms a:hover,
.share-platforms a:focus-visible {
  color: #fff;
  border-color: var(--blue);
  background: var(--blue);
}

.activity-share p {
  min-height: 18px;
  margin: 0;
  color: var(--muted);
  font-size: 0.75rem;
}

.activity-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  align-items: start;
  gap: 36px;
}

.activity-panel[hidden] {
  display: none;
}

.activity-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.activity-summary dl > div {
  min-width: 0;
  padding: 18px 18px 18px 0;
}

.activity-summary dl > div + div {
  padding-left: 18px;
  border-left: 1px solid var(--line);
}

.activity-summary dt,
.activity-votes dt,
.register-summary dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
}

.activity-summary dd,
.activity-votes dd,
.register-summary dd {
  margin: 5px 0 2px;
  color: var(--navy);
  font-size: 1.9rem;
  font-weight: 800;
}

.activity-summary small,
.register-summary small {
  display: block;
  color: var(--muted);
  font-size: 0.73rem;
  line-height: 1.35;
}

.activity-outcomes > div {
  display: flex;
  width: 100%;
  height: 14px;
  overflow: hidden;
  background: var(--line);
}

.activity-outcomes > div span.adopted,
.activity-outcomes i.adopted,
.motion-status.adopted {
  background: var(--green);
}

.activity-outcomes > div span.rejected,
.activity-outcomes i.rejected,
.motion-status.rejected {
  background: var(--red);
}

.activity-outcomes > div span.other,
.activity-outcomes i.other,
.motion-status.submitted,
.motion-status.pending,
.motion-status.held,
.motion-status.withdrawn,
.motion-status.tied {
  background: var(--line-strong);
}

.activity-outcomes > p {
  display: flex;
  margin: 10px 0 0;
  color: var(--muted);
  flex-wrap: wrap;
  gap: 8px 18px;
  font-size: 0.75rem;
}

.activity-outcomes > p span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.activity-outcomes i {
  width: 9px;
  height: 9px;
}

.activity-votes {
  padding-left: 30px;
  border-left: 1px solid var(--line);
}

.activity-votes h3,
.activity-motions h3,
.public-context h3 {
  margin-bottom: 14px;
  font-size: 1.12rem;
}

.activity-votes dl {
  display: flex;
  margin: 0 0 14px;
  gap: 32px;
}

.activity-votes p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.activity-motions {
  grid-column: 1 / -1;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}

.activity-motions ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.activity-motions li {
  border-bottom: 1px solid var(--line);
}

.activity-motions li a {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 100px;
  padding: 12px 0;
  color: var(--ink);
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

.activity-motions li a:hover strong {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.activity-motions time {
  color: var(--muted);
  font-size: 0.75rem;
  text-align: right;
}

.motion-status {
  display: inline-flex;
  width: max-content;
  min-height: 24px;
  padding: 4px 8px;
  color: #fff;
  align-items: center;
  font-size: 0.67rem;
  font-weight: 800;
  text-transform: uppercase;
}

.profile-contacts {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
  margin: 42px 0;
  padding: 28px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  gap: 42px;
}

.profile-contacts > div > p:last-child {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.profile-contacts nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-contacts a {
  display: grid;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.profile-contacts a:nth-child(odd) {
  padding-right: 18px;
}

.profile-contacts a:nth-child(even) {
  padding-left: 18px;
  border-left: 1px solid var(--line);
}

.profile-contacts a span {
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.profile-contacts a strong {
  overflow: hidden;
  margin-top: 3px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.register-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 24px 0 0;
  border-top: 1px solid var(--line);
}

.register-summary > div {
  min-width: 0;
  padding: 16px 12px 0 0;
}

.register-summary dd {
  font-size: 1.35rem;
}

.vote-story {
  margin: 42px 0;
  padding: 30px;
  background: var(--canvas);
}

.vote-meter {
  height: 18px;
  margin: 20px 0;
  background: var(--red-light);
}

.vote-meter span {
  display: block;
  width: var(--share);
  height: 100%;
  background: var(--green);
}

.vote-parties {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.vote-parties p {
  margin: 0;
  color: var(--ink-soft);
}

.vote-parties strong {
  display: block;
  color: var(--ink);
}

.decision-journey,
.topic-story {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  margin: 42px 0;
  padding: 32px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  gap: 44px;
}

.decision-journey ol {
  display: grid;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  gap: 12px;
}

.decision-journey li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.decision-journey li span {
  display: grid;
  width: 32px;
  height: 32px;
  border: 2px solid var(--green);
  border-radius: 50%;
  color: var(--green);
  place-items: center;
  font-weight: 800;
}

.decision-journey li.current span {
  color: #fff;
  background: var(--navy);
  border-color: var(--navy);
}

.decision-journey aside,
.topic-story aside {
  padding: 24px;
  border-left: 5px solid var(--gold);
  background: var(--gold-light);
}

.party-direction {
  display: grid;
  margin-top: 22px;
  gap: 12px;
}

.party-direction p {
  margin: 0;
  color: var(--ink-soft);
}

.party-direction strong {
  display: block;
  color: var(--ink);
}

.semantic-gap {
  margin: 42px 0;
  padding: 28px;
  border: 1px solid var(--line-strong);
  background: var(--canvas);
}

.semantic-gap h2 {
  margin-bottom: 10px;
  font-size: 1.5rem;
}

.topic-event-links {
  display: grid;
  border-top: 1px solid var(--line);
}

.topic-event-links a {
  display: grid;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.topic-event-links span {
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.topic-event-links p {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: 0.84rem;
}

.search-page-form {
  max-width: 900px;
  margin: 34px 0;
}

.search-page-form > label {
  display: block;
  margin-bottom: 7px;
  font-size: 0.78rem;
  font-weight: 750;
}

.search-page-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.search-page-form input {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 2px solid var(--navy);
}

.search-result-list {
  border-bottom: 1px solid var(--line-strong);
}

.search-result-list article {
  max-width: 920px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.search-result-kind {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.search-result-kind span {
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.search-result-kind small {
  color: var(--muted);
  font-size: 0.72rem;
}

.search-result-list h2 {
  margin: 4px 0 7px;
  font-size: 1.25rem;
}

.search-result-list h2 a {
  color: var(--ink);
  text-underline-offset: 3px;
}

.search-result-list p {
  margin: 0;
  color: var(--ink-soft);
}

.search-more {
  display: inline-block;
  margin-top: 24px;
  color: var(--blue);
  font-weight: 750;
  text-underline-offset: 4px;
}

.search-starts {
  display: grid;
  max-width: 900px;
  margin-top: 36px;
  border-top: 1px solid var(--line-strong);
}

.search-starts a {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-weight: 750;
}

.accountability-page {
  max-width: 1080px;
}

.legal-page {
  max-width: 900px;
}

.legal-page > section {
  max-width: 780px;
  padding: 30px 0;
  border-top: 1px solid var(--line-strong);
}

.legal-page > section h2 {
  margin-bottom: 12px;
  font-size: 1.45rem;
}

.legal-page > section p,
.legal-page > section li,
.legal-contact {
  color: var(--ink-soft);
}

.legal-page > section ul {
  margin: 0;
  padding-left: 20px;
}

.legal-page > section li + li {
  margin-top: 8px;
}

.legal-page a {
  color: var(--blue);
  font-weight: 700;
  text-underline-offset: 3px;
}

.legal-contact {
  padding-top: 18px;
  border-top: 1px solid var(--line-strong);
}

.accountability-status {
  margin: 36px 0 48px;
}

.accountability-status dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.accountability-status dl div {
  display: grid;
  padding: 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.accountability-status dt {
  color: var(--muted);
  font-size: 0.74rem;
}

.accountability-status dd {
  color: var(--navy);
  font-size: 1.55rem;
  font-weight: 800;
}

.accountability-grid,
.method-section > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.accountability-grid article,
.method-section > div article {
  padding: 28px;
  border-right: 1px solid var(--line);
}

.accountability-grid article:last-child,
.method-section > div article:last-child {
  border-right: 0;
}

.accountability-grid article > span {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  color: #fff;
  background: var(--navy);
  place-items: center;
  font-weight: 800;
}

.accountability-grid h2 {
  font-size: 1.35rem;
}

.accountability-grid p,
.method-section p,
.method-section li {
  color: var(--ink-soft);
}

.method-section,
.correction-route {
  margin: 54px 0;
}

.method-section > ul {
  max-width: 850px;
  padding-left: 20px;
}

.correction-route ol {
  display: grid;
  margin: 24px 0;
  padding: 0;
  list-style: none;
  gap: 12px;
}

.correction-route li {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  gap: 20px;
}

.correction-route li span {
  color: var(--ink-soft);
}

.correction-route > a {
  color: var(--blue);
  font-weight: 750;
}

@media (max-width: 1160px) {
  .topbar-inner {
    grid-template-columns: auto 1fr;
    padding-top: 8px;
  }

  .primary-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 46px;
    border-top: 1px solid var(--line);
    order: 3;
  }

  .topbar-actions {
    justify-self: end;
  }

  .page-toc {
    top: 122px;
  }

  .archive-tools {
    grid-template-columns: minmax(260px, 1fr) 190px 190px;
  }

  .archive-tools button {
    grid-column: 1 / -1;
    width: max-content;
  }

  .overview-head {
    padding-top: 48px;
  }

  .brief-layout {
    grid-template-columns: 1fr;
  }

  .personal-impact {
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }

  .party-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dossier-clock {
    grid-template-columns: 150px minmax(0, 1fr) 200px;
  }

  .member-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .page-width {
    width: min(calc(100% - 32px), var(--page));
  }

  .topbar-inner {
    grid-template-columns: 1fr auto;
    width: min(calc(100% - 32px), var(--page));
  }

  .global-search,
  .spec-toggle {
    display: none;
  }

  .primary-nav {
    overflow-x: auto;
    justify-content: flex-start;
    scrollbar-width: none;
  }

  .primary-nav::-webkit-scrollbar {
    display: none;
  }

  .primary-nav a {
    flex: 0 0 auto;
  }

  .story-facts,
  .accountability-status dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-facts div:nth-child(2n),
  .accountability-status dl div:nth-child(2n) {
    border-right: 0;
  }

  .story-columns,
  .decision-journey,
  .topic-story,
  .public-context {
    grid-template-columns: 1fr;
  }

  .story-columns > section + section {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-journey aside,
  .topic-story aside {
    border-top: 1px solid var(--line);
  }

  .accountability-grid,
  .method-section > div {
    grid-template-columns: 1fr;
  }

  .accountability-grid article,
  .method-section > div article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .accountability-grid article:last-child,
  .method-section > div article:last-child {
    border-bottom: 0;
  }

  .page-toc .page-width {
    overflow-x: auto;
    gap: 16px;
    scrollbar-width: none;
  }

  .page-toc .page-width::-webkit-scrollbar {
    display: none;
  }

  .page-toc span,
  .page-toc a {
    flex: 0 0 auto;
  }

  .latest-event-list > a {
    grid-template-columns: 56px 92px minmax(0, 1fr) 24px;
  }

  .latest-event-list p {
    display: none;
  }

  .archive-tools {
    grid-template-columns: 1fr 1fr;
  }

  .archive-search,
  .archive-tools button {
    grid-column: 1 / -1;
  }

  .archive-row {
    grid-template-columns: 72px minmax(0, 1fr) 28px;
    gap: 16px;
  }

  .archive-row .row-follow {
    grid-column: 2;
    grid-row: 2;
    width: max-content;
  }

  .archive-row .row-arrow {
    grid-column: 3;
    grid-row: 1;
  }

  .detail-facts {
    grid-template-columns: 1fr;
  }

  .detail-facts section {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .detail-facts section:last-child {
    border-bottom: 0;
  }

  .overview-head {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  h1 {
    font-size: 3rem;
  }

  h2 {
    font-size: 2rem;
  }

  .lead-story h3 {
    font-size: 1.9rem;
  }

  .context-line {
    min-width: 0;
  }

  .lead-story {
    grid-template-columns: 1fr;
  }

  .decision-reading {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .vote-outcome {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .stance-board {
    grid-template-columns: 1fr;
  }

  .stance-column {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }

  .stance-column:last-child {
    border-bottom: 0;
  }

  .stance-column > header {
    min-height: 0;
  }

  .path-line {
    grid-template-columns: 1fr 1fr;
  }

  .path-line::before {
    display: none;
  }

  .path-line button {
    padding: 20px 18px;
    border-bottom: 1px solid var(--line);
  }

  .path-line button::before {
    display: none;
  }

  .feed-layout {
    grid-template-columns: 1fr;
  }

  .dossier-clock {
    grid-template-columns: 1fr;
  }

  .clock-age,
  .clock-wait {
    min-height: 100px;
  }

  .clock-wait {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .member-title-row,
  .member-brief {
    grid-template-columns: 1fr;
  }

  .account-state {
    justify-content: space-between;
  }

  .member-brief {
    align-items: start;
  }

  .member-brief .primary-action {
    width: max-content;
  }

  .dashboard-dossier-list article {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .member-columns {
    gap: 40px;
  }

  .following-panel {
    grid-row: 1;
  }

  .topic-grid {
    grid-template-columns: 1fr;
  }

  .section-heading {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .section-heading > div {
    width: 100%;
  }

  .section-heading > .text-button {
    width: max-content;
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  body {
    font-size: 15px;
  }

  .brand {
    min-width: 0;
  }

  .brand img {
    width: 38px;
    height: 38px;
  }

  .brand small {
    display: none;
  }

  .profile-button {
    padding: 0 8px;
    font-size: 0.8rem;
  }

  .context-button {
    padding: 0 8px;
    font-size: 0.8rem;
  }

  .primary-nav a {
    padding-right: 4px;
    padding-left: 4px;
    font-size: 0.72rem;
  }

  .demo-notice {
    padding-right: 16px;
    padding-left: 16px;
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .demo-notice strong {
    padding-right: 0;
    border-right: 0;
  }

  .overview-head {
    padding-top: 34px;
  }

  h1 {
    font-size: 2.25rem;
  }

  h2 {
    font-size: 1.65rem;
  }

  .daily-brief,
  .choice-map,
  .story-path,
  .topics-section,
  .people-section {
    padding-bottom: 48px;
  }

  .lead-story-copy,
  .decision-reading,
  .personal-impact {
    padding: 22px 18px;
  }

  .lead-story h3 {
    font-size: 1.55rem;
  }

  .story-actions,
  .story-actions button,
  .story-actions a {
    width: 100%;
  }

  .page-toc {
    top: 122px;
  }

  .page-toc .page-width {
    min-height: 42px;
    gap: 10px;
  }

  .page-toc span {
    display: none;
  }

  .page-toc a {
    font-size: 0.78rem;
  }

  .latest-events-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .latest-event-list > a {
    grid-template-columns: 52px minmax(0, 1fr) 20px;
    gap: 10px;
  }

  .latest-event-list > a > span {
    grid-column: 2;
    grid-row: 1;
  }

  .latest-event-list strong {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  .latest-event-list i {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .archive-view {
    padding-top: 24px;
  }

  .breadcrumbs {
    margin-bottom: 26px;
  }

  .archive-head h1,
  .detail-lead h1 {
    font-size: 2.25rem;
  }

  .motion-detail .detail-lead h1 {
    font-size: 1.75rem;
  }

  .archive-tools {
    grid-template-columns: 1fr;
    margin-right: -16px;
    margin-left: -16px;
    padding: 18px 16px;
    border-right: 0;
    border-left: 0;
  }

  .archive-search,
  .archive-tools button {
    grid-column: 1;
  }

  .archive-tools button {
    width: 100%;
  }

  .archive-results-head {
    padding: 8px 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .archive-results-head > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }

  .archive-row {
    grid-template-columns: 58px minmax(0, 1fr) 22px;
    min-height: 0;
    padding: 20px 0;
    align-items: start;
    gap: 12px;
  }

  .archive-row h2 {
    font-size: 1.18rem;
  }

  .archive-row-meta {
    display: grid;
    gap: 3px;
  }

  .archive-row-date strong,
  .archive-party-seats strong {
    font-size: 1.08rem;
  }

  .archive-index-mark {
    width: 48px;
    height: 48px;
  }

  .archive-person-photo {
    width: 52px;
    height: 68px;
  }

  .pagination {
    grid-template-columns: 1fr 1fr;
  }

  .pagination > div {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-content: center;
  }

  .pagination-back {
    grid-column: 1;
    grid-row: 2;
  }

  .pagination-next {
    grid-column: 2;
    grid-row: 2;
  }

  .detail-summary {
    font-size: 1.05rem;
  }

  .detail-actions,
  .detail-actions a,
  .detail-actions button {
    width: 100%;
  }

  .detail-facts section {
    padding: 24px 0;
  }

  .vote-outcome {
    padding-right: 16px;
    padding-left: 16px;
  }

  .stance-column > header {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .stance-column > button {
    grid-template-columns: 50px minmax(0, 1fr) 18px;
  }

  .path-line {
    grid-template-columns: 1fr;
  }

  .clock-route {
    padding-right: 4px;
    padding-left: 4px;
  }

  .clock-route p strong {
    font-size: 0.72rem;
  }

  .clock-route small {
    font-size: 0.62rem;
  }

  .path-line button {
    border-right: 0;
  }

  .segmented {
    overflow-x: auto;
    max-width: 100%;
  }

  .feed-list article {
    grid-template-columns: 50px minmax(0, 1fr) 34px;
    gap: 10px;
  }

  .feed-marker {
    width: 46px;
    min-height: 42px;
    font-size: 0.62rem;
  }

  .feed-marker.person {
    height: 46px;
  }

  .feed-list article > button {
    width: 32px;
    height: 32px;
  }

  .party-grid {
    grid-template-columns: 1fr;
  }

  .people-grid article {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
  }

  .people-grid img {
    width: 56px;
    height: 56px;
  }

  .people-grid article > button {
    grid-column: 2;
    width: max-content;
  }

  .site-footer .page-width {
    grid-template-columns: 42px 1fr;
    padding: 24px 0;
  }

  .site-footer nav {
    grid-column: 2;
    justify-content: flex-start;
  }

  .story-facts,
  .accountability-status dl,
  .vote-parties {
    grid-template-columns: 1fr;
  }

  .story-facts div,
  .accountability-status dl div {
    min-height: 0;
    border-right: 0;
  }

  .story-columns {
    margin-right: -16px;
    margin-left: -16px;
  }

  .story-columns > section {
    padding: 26px 16px;
  }

  .profile-story-head {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 16px;
  }

  .profile-story-head > img {
    width: 84px;
    height: 110px;
  }

  .profile-story-head h1 {
    font-size: 2rem;
  }

  .profile-story-head .detail-summary,
  .profile-story-head .detail-actions {
    grid-column: 1 / -1;
  }

  .decision-journey,
  .topic-story,
  .public-context {
    gap: 24px;
  }

  .decision-journey aside,
  .topic-story aside,
  .vote-story {
    margin-right: -16px;
    margin-left: -16px;
    padding: 24px 16px;
  }

  .search-page-form > div {
    grid-template-columns: 1fr;
  }

  .search-page-form button {
    width: 100%;
  }

  .correction-route li {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .member-dashboard {
    padding-top: 26px;
  }

  .member-head h1,
  .member-page-title {
    font-size: 2.25rem;
  }

  .account-state {
    align-items: stretch;
    flex-direction: column;
  }

  .account-state button {
    width: 100%;
  }

  .member-brief {
    margin-right: -16px;
    margin-left: -16px;
    padding: 22px 16px;
  }

  .member-brief .primary-action {
    width: 100%;
  }

  .member-signal-row {
    grid-template-columns: 1fr;
  }

  .member-signal-row > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .member-signal-row > div:last-child {
    border-bottom: 0;
  }

  .dashboard-dossier-list article {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .dashboard-dossier-list article > button {
    grid-column: 1;
  }

  .dashboard-dossier-list article > button {
    width: max-content;
  }

  .member-columns {
    padding-top: 40px;
  }

  .follow-group {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .notification-settings {
    padding: 20px 16px;
  }

  .drawer-panel,
  .profile-panel {
    padding: 22px 18px 40px;
  }

  .drawer-panel > header,
  .profile-panel > header {
    margin: -22px -18px 22px;
    padding: 18px;
  }

  .drawer-facts div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Production reference projections */

.public-story,
.public-topic,
.public-profile,
.production-archive {
  padding-bottom: 80px;
}

.public-story-head,
.public-profile > header {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.8fr);
  gap: 56px;
  align-items: end;
  padding: 42px 0 48px;
  border-bottom: 1px solid var(--line-strong);
}

.public-story-head > *,
.public-profile > header > * {
  min-width: 0;
}

.public-story-head h1,
.public-story-head .detail-summary,
.public-story-head > aside p {
  overflow-wrap: anywhere;
}

.public-story-head h1,
.public-topic-head h1,
.public-profile h1,
.production-archive > header h1 {
  font-size: 3.25rem;
}

.public-story-head > aside,
.public-profile > header > aside {
  padding-left: 22px;
  border-left: 4px solid var(--gold);
}

.public-story-head > aside span,
.public-profile > header > aside span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.public-story-head > aside p,
.public-profile > header > aside p {
  margin-bottom: 0;
  font-size: 1.14rem;
  font-weight: 680;
  line-height: 1.45;
}

.decision-card-page section[id] {
  scroll-margin-top: var(--decision-anchor-margin, 18px);
}

.decision-jump-sentinel {
  display: block;
  height: 1px;
  margin-bottom: -1px;
}

.decision-jump-nav {
  position: sticky;
  z-index: 40;
  top: var(--decision-sticky-top, 76px);
  display: flex;
  gap: 8px 18px;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid var(--line-strong);
  background: #fff;
  isolation: isolate;
}

.decision-jump-nav.is-stuck::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: -1px;
  left: 50%;
  width: 100vw;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(245, 247, 248, 0.98);
  content: "";
  transform: translateX(-50%);
}

.decision-jump-nav.is-stuck {
  background: rgba(245, 247, 248, 0.98);
}

.decision-jump-nav strong {
  margin-right: 4px;
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.decision-jump-nav a {
  color: var(--blue);
  font-size: 0.82rem;
  font-weight: 760;
  text-decoration: none;
}

.decision-jump-nav.is-stuck a {
  color: var(--ink-soft);
}

.decision-jump-nav.is-stuck a.active {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.decision-jump-nav a:hover,
.decision-jump-nav a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.public-profile > header > aside small {
  display: block;
  margin-top: 12px;
  color: var(--muted);
}

.story-status-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  margin-top: 24px;
  color: var(--muted);
  font-size: 0.9rem;
}

.story-status-line span,
span[data-status],
span[data-direction] {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  color: var(--ink);
  background: var(--canvas);
  font-size: 0.78rem;
  font-weight: 750;
}

span[data-status="adopted"],
span[data-direction="for"] {
  color: #155a43;
  border-color: #82b7a5;
  background: var(--green-light);
}

span[data-status="rejected"],
span[data-direction="against"] {
  color: #7e3434;
  border-color: #d3a4a4;
  background: var(--red-light);
}

span[data-status="held"] {
  color: #765711;
  border-color: #dec36e;
  background: var(--gold-light);
}

span[data-status="tied"],
span[data-status="staken"] {
  color: var(--navy);
  border-color: #8eb9d1;
  background: var(--blue-light);
}

.public-verdict {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 64px;
  padding: 64px 0;
}

.public-verdict h2,
.public-impact h2,
.public-choice h2,
.public-positions h2,
.public-history h2,
.public-topic h2,
.public-profile h2 {
  font-size: 2rem;
}

.cited-block {
  position: relative;
}

.cited-block p {
  margin-bottom: 8px;
}

.cited-block.primary p {
  max-width: 700px;
  font-size: 1.45rem;
  font-weight: 680;
  line-height: 1.45;
}

.citation-links {
  display: flex;
  gap: 8px;
}

.evidence-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 2px 8px;
  color: var(--blue);
  border: 1px solid #a8cee3;
  border-radius: 4px;
  background: var(--blue-light);
  font-size: 0.74rem;
  font-weight: 720;
  text-decoration: none;
}

.verdict-context {
  border-top: 1px solid var(--line);
}

.verdict-context section {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.verdict-context section > span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 740;
  text-transform: uppercase;
}

.public-impact,
.public-positions,
.public-profile > section,
.topic-thread-list,
.topic-axes {
  padding: 56px 0;
  border-top: 1px solid var(--line);
}

.public-impact .section-heading > p {
  max-width: 380px;
  margin-bottom: 0;
  color: var(--muted);
}

.public-impact-list {
  margin-top: 28px;
  border-top: 1px solid var(--line-strong);
}

.public-impact-list article {
  display: grid;
  grid-template-columns: 135px minmax(0, 1fr);
  gap: 28px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.public-impact-list article > span {
  color: var(--green);
  font-size: 0.8rem;
  font-weight: 760;
  text-transform: uppercase;
}

.public-impact-list h3,
.public-impact-list p {
  margin-bottom: 5px;
}

.public-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
  gap: 72px;
  padding: 56px 0;
  border-top: 5px solid var(--navy);
}

.vote-meter {
  display: flex;
  width: 100%;
  height: 18px;
  margin: 14px 0 10px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  background: var(--canvas);
}

.vote-meter .for {
  background: var(--green);
}

.vote-meter .against {
  background: var(--red);
}

.vote-meter .other {
  background: var(--gold);
}

.vote-totals {
  display: flex;
  gap: 28px;
}

.vote-totals div {
  display: flex;
  gap: 8px;
  align-items: baseline;
}

.vote-totals dt {
  color: var(--muted);
  font-size: 0.8rem;
}

.vote-totals dd {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 760;
}

.no-vote {
  padding: 18px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.no-vote p {
  margin: 4px 0 0;
  color: var(--muted);
}

.public-vote-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 20px;
  align-items: start;
}

.public-vote-groups > section {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-top: 4px solid var(--line-strong);
  border-radius: 4px;
  background: #fff;
}

.public-vote-groups > section[data-direction="for"] {
  border-top-color: var(--green);
}

.public-vote-groups > section[data-direction="against"] {
  border-top-color: var(--red);
}

.public-vote-groups header {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
}

.public-vote-groups header > div {
  display: flex;
  gap: 9px;
  align-items: center;
}

.public-vote-groups header > div > span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--line-strong);
  flex: 0 0 auto;
}

.public-vote-groups section[data-direction="for"] header > div > span {
  background: var(--green);
}

.public-vote-groups section[data-direction="against"] header > div > span {
  background: var(--red);
}

.public-vote-groups header > div > strong {
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 760;
}

.public-vote-groups header p {
  display: flex;
  margin: 0;
  color: var(--muted);
  align-items: baseline;
  gap: 5px;
  font-size: 0.82rem;
  white-space: nowrap;
}

.public-vote-groups header p > strong {
  color: var(--ink);
  font-size: 1.18rem;
  font-variant-numeric: tabular-nums;
}

.public-vote-groups header small {
  margin-left: 5px;
  color: var(--muted);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}

.public-vote-groups ul {
  display: grid;
  margin: 0;
  padding: 0 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
}

.public-vote-groups li {
  min-width: 0;
}

.public-vote-groups li:nth-child(odd) {
  margin-right: 18px;
}

.public-vote-groups li a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 12px 0;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.public-vote-groups li a:hover {
  color: var(--blue);
}

.public-vote-groups li a strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-vote-groups li a span {
  color: var(--muted);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.vote-majority-summary {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--ink-soft);
  font-size: 1rem;
}

.vote-reason-note {
  display: grid;
  max-width: 900px;
  margin: 22px 0 0;
  padding-left: 14px;
  border-left: 3px solid var(--gold);
  gap: 2px;
  color: var(--muted);
  font-size: 0.82rem;
}

.vote-reason-note strong {
  color: var(--ink);
}

.public-history {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 72px;
  padding: 56px 0;
  border-top: 1px solid var(--line);
}

.public-history > aside {
  padding: 24px;
  background: var(--canvas);
}

.public-history > aside h3 {
  margin-top: 24px;
}

.public-history > aside h3:first-of-type {
  margin-top: 0;
}

.public-history > aside ul {
  margin: 0;
  padding-left: 20px;
}

.public-timeline {
  position: relative;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.public-timeline::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 17px;
  width: 2px;
  background: var(--line-strong);
  content: "";
}

.public-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 20px;
  padding-bottom: 30px;
}

.public-timeline li > span {
  z-index: 1;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--navy);
  font-weight: 760;
}

.public-timeline time {
  color: var(--muted);
  font-size: 0.8rem;
}

.public-timeline h3,
.public-timeline p {
  margin-bottom: 4px;
}

.public-related {
  padding: 42px 0;
  border-top: 1px solid var(--line);
}

.public-related > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.public-related a {
  display: flex;
  flex-direction: column;
  padding: 18px 0;
  color: var(--ink);
  border-bottom: 2px solid var(--blue);
  text-decoration: none;
}

.public-related a span {
  color: var(--muted);
}

.source-disclosure,
.compact-disclosure {
  margin-top: 26px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.source-disclosure summary,
.compact-disclosure summary {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 0;
  cursor: pointer;
  list-style-position: inside;
}

.source-disclosure summary strong {
  color: var(--muted);
  font-size: 0.84rem;
}

.source-list {
  border-top: 1px solid var(--line);
}

.source-list article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.source-list article > span {
  color: var(--muted);
  font-weight: 760;
}

.source-list p {
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 0.82rem;
}

.source-list a {
  color: var(--blue);
  font-weight: 680;
}

.source-method {
  max-width: 760px;
  margin: 20px 0;
  color: var(--muted);
  font-size: 0.84rem;
}

.motion-facts {
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.motion-facts dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 0;
}

.motion-facts dt {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 740;
  text-transform: uppercase;
}

.motion-facts dd {
  margin: 5px 0 0;
  font-weight: 680;
}

.public-topic-head,
.production-archive > header {
  max-width: 920px;
  padding: 42px 0 46px;
}

.public-topic-head > p,
.production-archive > header > p {
  max-width: 760px;
  font-size: 1.18rem;
}

.public-topic-head > div {
  max-width: 720px;
  margin-top: 28px;
  padding-left: 20px;
  border-left: 4px solid var(--gold);
}

.public-topic-head > div span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 740;
  text-transform: uppercase;
}

.public-topic-head > div strong {
  display: block;
  margin-top: 5px;
  font-size: 1.25rem;
}

.topic-orientation {
  display: flex;
  gap: 36px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.topic-orientation > div {
  display: flex;
  gap: 10px;
  align-items: baseline;
  white-space: nowrap;
}

.topic-orientation > div strong {
  font-size: 2rem;
}

.topic-orientation p {
  margin: 0;
  color: var(--muted);
}

.topic-thread-list > article {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 130px;
  gap: 28px;
  align-items: start;
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}

.topic-thread-list > article > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.topic-thread-list > article time {
  color: var(--muted);
  font-size: 0.78rem;
}

.topic-thread-list h3 {
  grid-column: 2;
  margin-bottom: 4px;
  font-size: 1.28rem;
}

.topic-thread-list h3 a {
  color: var(--ink);
}

.topic-thread-list > article > p {
  grid-column: 2;
  margin-bottom: 4px;
}

.topic-thread-list dl {
  grid-column: 3;
  grid-row: 1 / span 3;
  margin: 0;
}

.topic-thread-list dl div {
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
}

.topic-thread-list dd {
  margin: 0;
  font-weight: 760;
}

.topic-thread-list .inline-route {
  grid-column: 2;
  width: max-content;
}

.topic-axes > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.topic-axes span {
  padding: 8px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: var(--canvas);
  font-weight: 680;
}

.public-profile > header dl {
  display: flex;
  gap: 28px;
  margin: 24px 0 0;
}

.public-profile > header dl div {
  display: flex;
  flex-direction: column;
}

.public-profile > header dt {
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: uppercase;
}

.public-profile > header dd {
  margin: 2px 0 0;
  font-size: 1.4rem;
  font-weight: 760;
}

.profile-member-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.profile-member-grid a {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-decoration: none;
}

.profile-member-grid img {
  width: 64px;
  height: 82px;
  object-fit: cover;
}

.profile-member-grid small,
.profile-member-grid strong {
  display: block;
}

.profile-member-grid small {
  margin-top: 3px;
  color: var(--muted);
}

.scope-note {
  color: var(--muted);
}

.profile-decision-list {
  margin-top: 24px;
  border-top: 1px solid var(--line-strong);
}

.profile-decision-list a {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 22px;
  gap: 20px;
  align-items: center;
  padding: 17px 0;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.profile-decision-list strong,
.profile-decision-list small {
  display: block;
}

.profile-decision-list small {
  color: var(--muted);
}

.person-identity {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 28px;
  align-items: end;
}

.person-identity img {
  width: 150px;
  height: 200px;
  object-fit: cover;
}

.person-identity a {
  color: var(--blue);
  font-weight: 680;
}

.person-activity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.75fr);
  gap: 64px;
}

.person-activity > div > a {
  display: grid;
  gap: 3px;
  padding: 18px 0;
  color: var(--ink);
  border-top: 1px solid var(--line);
  text-decoration: none;
}

.person-activity > div > a span,
.person-activity > div > a small {
  color: var(--muted);
}

.person-activity > aside {
  padding: 24px;
  background: var(--canvas);
}

.person-activity > aside ul {
  padding: 0;
  list-style: none;
}

.person-activity > aside li {
  display: flex;
  flex-direction: column;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.person-activity > aside a {
  color: var(--blue);
  font-size: 0.82rem;
}

.committee-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.committee-list li {
  display: flex;
  flex-direction: column;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.committee-list span {
  color: var(--muted);
  font-size: 0.8rem;
}

.production-archive > header > span {
  color: var(--muted);
  font-weight: 680;
}

.production-archive-list {
  border-top: 1px solid var(--line-strong);
}

.production-archive-list > a {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 220px;
  gap: 32px;
  padding: 30px 0;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: background-color 160ms ease;
}

.production-archive-list > a:hover,
.production-archive-list > a:focus-visible {
  background: #f4f8fb;
  box-shadow: none;
}

.archive-status > span[data-status] {
  border-radius: 2px;
}

.archive-status,
.archive-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.production-archive-list time {
  color: var(--muted);
  font-size: 0.8rem;
}

.production-archive-list h2 {
  margin: 0;
  font-size: 1.35rem;
}

.archive-dek {
  max-width: 760px;
  margin: 8px 0 16px;
  color: var(--muted);
  line-height: 1.55;
}

.archive-official {
  max-width: 780px;
  padding-left: 14px;
  border-left: 3px solid var(--gold);
}

.archive-official > span {
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.archive-official p {
  display: -webkit-box;
  margin: 4px 0;
  overflow: hidden;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.archive-official small,
.archive-meta span,
.archive-meta small {
  color: var(--muted);
  font-size: 0.8rem;
}

.archive-meta strong {
  color: var(--blue);
  font-size: 0.9rem;
  line-height: 1.35;
}

.archive-meta span {
  margin-top: 6px;
  font-weight: 700;
}

.archive-status em,
.archive-meta em {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 2px 8px;
  color: var(--muted);
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: var(--canvas);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 760;
}

.archive-status em[data-tier="rich_dossier"] {
  color: #155a43;
  border-color: #82b7a5;
  background: var(--green-light);
}

.archive-meta em {
  color: var(--blue);
  border-color: #a8cee3;
  background: var(--blue-light);
}

.decision-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(150px, 0.8fr)) auto;
  gap: 14px;
  align-items: end;
  margin: 10px 0 20px;
  padding: 20px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.decision-filters label {
  min-width: 0;
  margin: 0;
}

.decision-filters label > span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 760;
}

.decision-filters input,
.decision-filters select {
  width: 100%;
  min-height: 44px;
  padding: 9px 10px;
  color: var(--ink);
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: #fff;
  font: inherit;
}

.decision-filters button {
  min-height: 44px;
  padding: 9px 16px;
  color: #fff;
  border: 1px solid var(--blue);
  border-radius: 3px;
  background: var(--blue);
  font: inherit;
  font-weight: 760;
  cursor: pointer;
}

.archive-result-line,
.decision-pagination {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 12px 0;
  color: var(--muted);
  font-size: 0.84rem;
}

.decision-pagination {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) auto minmax(80px, 1fr);
  min-height: 88px;
  border-bottom: 1px solid var(--line);
}

.decision-pagination a {
  color: var(--blue);
  font-weight: 760;
}

.decision-pagination .page-next {
  justify-self: end;
}

.decision-page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.decision-page-numbers a,
.decision-page-numbers strong,
.decision-page-numbers .page-gap {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  place-items: center;
  text-decoration: none;
}

.decision-page-numbers strong {
  color: #fff;
  background: var(--navy);
}

.decision-page-numbers .page-gap {
  color: var(--muted);
}

.decision-submitter-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.decision-submitter-list a {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  min-height: 72px;
  padding: 8px;
  color: var(--ink);
  border: 1px solid var(--line);
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.decision-submitter-list img,
.decision-submitter-placeholder {
  width: 54px;
  height: 72px;
  object-fit: cover;
  object-position: 50% 18%;
  background: var(--canvas);
}

.decision-submitter-placeholder {
  display: grid;
  color: var(--muted);
  place-items: center;
  font-weight: 800;
}

.decision-submitter-list span:last-child,
.decision-submitter-list strong,
.decision-submitter-list small {
  display: block;
}

.decision-submitter-list small {
  margin-top: 3px;
  color: var(--muted);
}

.share-platforms {
  grid-column: 1 / -1;
  gap: 12px;
  margin-top: 14px;
}

.story-publication {
  display: flex;
  gap: 5px 16px;
  flex-wrap: wrap;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.decision-revote-notice {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin-top: 28px;
  padding: 18px 20px;
  border-left: 4px solid var(--gold);
  background: var(--gold-light);
}

.decision-revote-notice strong,
.decision-revote-notice p {
  display: block;
}

.decision-revote-notice p {
  margin: 4px 0 0;
  color: var(--ink-soft);
  line-height: 1.5;
}

.decision-revote-notice a {
  flex: 0 0 auto;
  color: var(--blue);
  font-weight: 760;
}

.archive-empty {
  padding: 36px 0;
  color: var(--muted);
}

.decision-quality > strong {
  display: block;
  margin-bottom: 7px;
  font-size: 1.05rem;
}

.decision-quality > p {
  font-size: 0.96rem !important;
  font-weight: 520 !important;
}

.decision-card-page .public-verdict .primary {
  max-width: 720px;
  font-size: 1.35rem;
  font-weight: 680;
  line-height: 1.48;
}

.decision-card-page .verdict-context ul {
  margin: 0;
  padding-left: 19px;
}

.decision-card-page .verdict-context li + li {
  margin-top: 8px;
}

.decision-impact-boundary {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 56px;
  padding: 48px 0;
  border-top: 1px solid var(--line);
}

.decision-impact-boundary h2,
.decision-identity h2 {
  font-size: 2rem;
}

.decision-impact-boundary > aside {
  padding: 20px;
  border-left: 4px solid var(--blue);
  background: var(--blue-light);
}

.decision-impact-boundary > aside p {
  margin: 6px 0 0;
}

.impact-research {
  padding: 52px 0;
  border-top: 1px solid var(--line);
}

.impact-research > header {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  gap: 56px;
  align-items: end;
}

.impact-research > header h2 {
  max-width: 760px;
  margin: 0;
  font-size: 2rem;
  text-wrap: balance;
}

.impact-research > header > p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.02rem;
  line-height: 1.65;
}

.impact-signal-grid,
.impact-groups > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}

.impact-signal-grid > article,
.impact-groups article {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #fff;
}

.impact-signal-grid > article > strong {
  display: block;
  color: var(--navy);
  font-size: 2rem;
  font-variant-numeric: tabular-nums;
}

.impact-signal-grid h3,
.impact-groups h3 {
  margin: 8px 0;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.35;
}

.impact-signal-grid p,
.impact-groups p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.impact-source-refs {
  display: inline-flex;
  margin-left: 5px;
  gap: 3px;
  vertical-align: super;
}

.impact-source-refs a {
  color: var(--blue);
  font-size: 0.68rem;
  text-decoration: underline;
}

.impact-groups {
  padding: 48px 0 0;
}

.impact-groups > h2,
.impact-regions h2 {
  margin-bottom: 0;
  font-size: 1.6rem;
}

.impact-groups article > span {
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.impact-regions {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  gap: 54px;
  margin-top: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.impact-regions > div > p:last-child {
  color: var(--muted);
  line-height: 1.55;
}

.impact-regions ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.impact-regions li {
  display: grid;
  grid-template-columns: minmax(150px, 0.35fr) minmax(0, 0.65fr);
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.impact-regions li:last-child {
  border-bottom: 0;
}

.impact-regions li span {
  color: var(--muted);
  line-height: 1.5;
}

.impact-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  padding: 38px 0 22px;
}

.impact-scope > div {
  padding-left: 18px;
  border-left: 4px solid var(--green);
}

.impact-scope > div:last-child {
  border-left-color: var(--red);
}

.impact-scope span {
  color: var(--navy);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.impact-scope p {
  margin: 7px 0 0;
  line-height: 1.55;
}

.impact-boundary {
  padding: 20px 22px;
  border-left: 4px solid var(--blue);
  background: var(--blue-light);
}

.impact-boundary p {
  margin: 6px 0 0;
  line-height: 1.55;
}

.impact-method {
  margin-top: 18px;
}

.impact-method summary {
  color: var(--blue);
  font-weight: 760;
  cursor: pointer;
}

.impact-method p {
  max-width: 900px;
  color: var(--muted);
  line-height: 1.6;
}

.decision-identity {
  padding: 52px 0;
  border-top: 1px solid var(--line);
}

.decision-identity dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0 0;
}

.decision-identity dl > div {
  padding-top: 12px;
  border-top: 1px solid var(--line-strong);
}

.decision-identity dt {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 760;
  text-transform: uppercase;
}

.decision-identity dd {
  margin: 7px 0 0;
  line-height: 1.5;
}

.decision-identity a {
  color: var(--blue);
  font-weight: 700;
}

.sister-note {
  max-width: 980px;
  margin: 0 auto;
  padding: 18px 22px;
  border-left: 4px solid var(--gold);
  background: #f7f9fb;
  color: #33475b;
  line-height: 1.65;
}

.sister-note a {
  color: var(--blue);
  font-weight: 700;
}

.review-vote-groups li small {
  display: block;
  width: 100%;
  margin-top: 5px;
  color: #51697e;
  font-size: 0.78rem;
  line-height: 1.45;
}

.ssr-hub {
  padding-bottom: 56px;
}

.ssr-hub-list {
  border-top: 1px solid #c9d6df;
}

.ssr-hub-list > a {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) 180px;
  gap: 22px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid #d8e1e7;
  color: #142f44;
  text-decoration: none;
}

.ssr-hub-list > a:hover h2,
.ssr-hub-list > a:focus-visible h2 {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.ssr-hub-list > a > span {
  display: inline-flex;
  width: fit-content;
  padding: 5px 8px;
  border: 1px solid #9bb0bf;
  color: #29465c;
  font-size: 0.76rem;
  font-weight: 800;
}

.ssr-hub-list h2 {
  margin: 0 0 7px;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.25;
}

.ssr-hub-list p,
.ssr-hub-list > a > strong {
  margin: 0;
  color: #506779;
  font-size: 0.88rem;
  line-height: 1.5;
}

.hub-pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  padding: 26px 0;
}

.hub-pagination a {
  color: var(--blue);
  font-weight: 800;
}

.hub-pagination a:last-child {
  justify-self: end;
}

.hub-pagination strong {
  color: var(--muted);
  font-size: 0.82rem;
}

.ssr-footer {
  border-top: 4px solid var(--gold);
  background: #154273;
  color: #fff;
}

.ssr-footer > div {
  display: flex;
  gap: 22px;
  align-items: center;
  min-height: 82px;
}

.ssr-footer span {
  flex: 1;
  color: #dce9f2;
}

.ssr-footer a {
  color: #fff;
  font-weight: 800;
}

.archive-boundary {
  max-width: 800px;
  margin-top: 40px;
  padding: 22px 0 0 22px;
  border-top: 1px solid var(--line);
  border-left: 4px solid var(--gold);
}

.archive-boundary p {
  margin: 6px 0;
}

.archive-boundary a {
  color: var(--blue);
  font-weight: 700;
}

.topic-archive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 36px;
  border-top: 1px solid var(--line-strong);
}

.topic-archive-grid > a {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 20px;
  padding: 26px 0;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.topic-archive-grid > a > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--navy);
  font-weight: 800;
}

.topic-archive-grid h2 {
  margin-bottom: 6px;
  font-size: 1.35rem;
}

.topic-archive-grid p {
  margin-bottom: 8px;
}

.topic-archive-grid strong {
  color: var(--muted);
  font-size: 0.8rem;
}

.topic-archive-grid > a[data-topic-backlog="true"] > span {
  color: var(--navy);
  border: 1px dashed var(--line-strong);
  background: #fff;
}

.topic-current-archive .topic-archive-grid > a:not([data-topic-backlog="true"]) strong {
  color: var(--blue);
}

.production-lead .lead-story-copy > p {
  max-width: 700px;
}

.production-stance {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.production-stance .stance-column > a {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 20px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  color: var(--ink);
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  text-decoration: none;
}

.production-home-timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(260px, 0.8fr);
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.production-home-timeline > a,
.production-home-timeline > aside {
  min-width: 0;
  padding: 24px;
  border-right: 1px solid var(--line);
}

.production-home-timeline > a {
  display: grid;
  color: var(--ink);
  text-decoration: none;
}

.production-home-timeline > a > span {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--navy);
  font-weight: 760;
}

.production-home-timeline time,
.production-home-timeline aside > span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 720;
  text-transform: uppercase;
}

.production-home-timeline strong {
  display: block;
  margin: 5px 0;
}

.production-home-timeline p {
  margin-bottom: 0;
}

.production-home-timeline > aside {
  border-right: 0;
  background: var(--gold-light);
}

.vote-totals,
.motion-facts,
.person-facts,
.production-archive-list,
.profile-decision-list {
  font-variant-numeric: tabular-nums;
}

.production-archive-list > a:hover h2,
.topic-archive-grid > a:hover h2,
.profile-decision-list > a:hover strong,
.profile-member-grid > a:hover strong,
.public-related a:hover strong,
.public-vote-groups a:hover strong {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.evidence-chip:hover {
  color: #fff;
  border-color: var(--blue);
  background: var(--blue);
}

@media (max-width: 920px) {
  .public-story-head,
  .public-profile > header,
  .public-verdict,
  .public-choice,
  .public-history,
  .person-activity {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .decision-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-impact-boundary {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .public-story-head > aside,
  .public-profile > header > aside {
    max-width: 680px;
  }

  .motion-facts dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-member-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-archive-list > a {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .archive-meta {
    grid-column: 2;
    flex-flow: row wrap;
    gap: 6px 14px;
  }

  .production-home-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-home-timeline > aside {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 680px) {
  .public-story,
  .public-topic,
  .public-profile,
  .production-archive {
    padding-bottom: 48px;
  }

  .public-story-head,
  .public-profile > header,
  .public-topic-head,
  .production-archive > header {
    padding-top: 26px;
  }

  .public-story-head h1,
  .public-topic-head h1,
  .public-profile h1,
  .production-archive > header h1 {
    font-size: 2.25rem;
  }

  .public-motion-story .public-story-head h1 {
    font-size: 1.75rem;
    line-height: 1.15;
  }

  .review-dossier .review-story-head h1 {
    font-size: 1.75rem;
    hyphens: none;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .public-verdict h2,
  .public-impact h2,
  .public-choice h2,
  .public-positions h2,
  .public-history h2,
  .public-topic h2,
  .public-profile h2 {
    font-size: 1.65rem;
  }

  .public-verdict,
  .public-impact,
  .public-choice,
  .public-positions,
  .public-history,
  .public-profile > section,
  .topic-thread-list,
  .topic-axes {
    padding: 38px 0;
  }

  .cited-block.primary p {
    font-size: 1.2rem;
  }

  .public-impact-list article {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .public-vote-groups,
  .public-related > div,
  .topic-archive-grid,
  .profile-member-grid,
  .committee-list,
  .production-stance {
    grid-template-columns: 1fr;
  }

  .public-vote-groups ul {
    grid-template-columns: 1fr;
  }

  .public-vote-groups li:nth-child(odd) {
    margin-right: 0;
  }

  .public-vote-groups header {
    align-items: flex-start;
  }

  .public-vote-groups header p {
    align-items: flex-end;
    flex-direction: column;
    gap: 1px;
  }

  .public-vote-groups header small {
    margin-left: 0;
  }

  .topic-orientation {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .topic-thread-list > article {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .topic-thread-list h3,
  .topic-thread-list > article > p,
  .topic-thread-list dl,
  .topic-thread-list .inline-route {
    grid-column: 1;
    grid-row: auto;
  }

  .topic-thread-list dl {
    display: flex;
    gap: 20px;
  }

  .topic-thread-list dl div {
    gap: 8px;
  }

  .motion-facts dl,
  .public-profile > header dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .person-identity {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 16px;
  }

  .person-identity img {
    width: 94px;
    height: 126px;
  }

  .profile-decision-list a {
    grid-template-columns: 80px minmax(0, 1fr);
  }

  .profile-decision-list i {
    display: none;
  }

  .production-archive-list > a {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .decision-filters,
  .decision-identity dl {
    grid-template-columns: 1fr;
  }

  .archive-result-line {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .decision-pagination {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 16px 0;
  }

  .decision-page-numbers {
    grid-column: 1 / -1;
    grid-row: 1;
    max-width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
  }

  .decision-pagination .page-previous {
    grid-column: 1;
    grid-row: 2;
  }

  .decision-pagination .page-next {
    grid-column: 2;
    grid-row: 2;
  }

  .personal-decision-list article {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 14px;
  }

  .personal-decision-list article > button {
    grid-column: 2;
    justify-self: start;
  }

  .archive-meta {
    grid-column: 1;
  }

  .archive-official p {
    -webkit-line-clamp: 3;
  }

  .production-home-timeline {
    grid-template-columns: 1fr;
  }

  .production-home-timeline > a,
  .production-home-timeline > aside {
    grid-column: 1;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 680px) {
  .archive-person-photo {
    width: 60px;
    height: 80px;
  }

  .profile-story-head > img {
    width: 84px;
    height: 112px;
  }

  .profile-activity > header {
    align-items: stretch;
    flex-direction: column;
  }

  .activity-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .activity-share > summary {
    width: 100%;
    text-align: center;
  }

  .activity-share > div {
    position: static;
    width: 100%;
    margin-top: 7px;
    box-shadow: none;
  }

  .motion-meaning-bridge {
    grid-template-columns: 1fr;
  }

  .motion-meaning-bridge > a {
    width: 100%;
  }

  .activity-periods {
    width: 100%;
  }

  .activity-periods button {
    flex: 1 0 auto;
  }

  .profile-page-nav {
    grid-template-columns: 1fr;
    padding-block: 10px;
    gap: 9px;
  }

  .profile-year-navigation,
  .profile-section-navigation {
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  .profile-year-navigation::-webkit-scrollbar {
    display: none;
  }

  .profile-year-navigation .activity-periods {
    width: auto;
    flex: 0 0 auto;
  }

  .entity-detail section[id],
  .entity-detail [id="recente-moties"] {
    scroll-margin-top: 198px;
  }

  .activity-panel,
  .profile-contacts,
  .public-context {
    grid-template-columns: 1fr;
  }

  .activity-summary dl,
  .register-summary,
  .profile-contacts nav {
    grid-template-columns: 1fr;
  }

  .activity-summary dl > div,
  .activity-summary dl > div + div {
    padding: 14px 0;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }

  .activity-summary dl > div:last-child {
    border-bottom: 0;
  }

  .activity-votes {
    padding: 24px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .activity-motions li a {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .activity-motions time {
    grid-column: 2;
    text-align: left;
  }

  .profile-contacts a:nth-child(odd),
  .profile-contacts a:nth-child(even) {
    padding: 12px 0;
    border-left: 0;
  }

  .story-timeline::before {
    left: 88px;
  }

  .story-timeline li {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 24px;
  }

  .story-timeline li::before {
    left: 83px;
  }
}

/* One reviewed context block can become a reusable, source-bound publishing asset. */
.review-authority-context {
  padding: 56px 0;
  border-top: 1px solid var(--line-strong);
}

.review-authority-context > header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  gap: 64px;
  align-items: end;
}

.review-authority-context > header h2 {
  max-width: 720px;
  margin-bottom: 0;
  font-size: 2rem;
}

.review-authority-context > header > p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.02rem;
  line-height: 1.65;
}

.authority-vote {
  margin-top: 34px;
  padding: 28px 0 26px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.authority-vote > header {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: center;
}

.authority-vote > header > div:first-child > span {
  display: inline-block;
  margin-bottom: 8px;
  color: #fff;
  padding: 5px 9px;
  border-radius: 3px;
  background: #39870c;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.authority-vote h3,
.authority-capacity-explainer h3 {
  margin: 0;
  color: var(--navy);
  font-size: 1.55rem;
  letter-spacing: 0;
}

.authority-vote header p {
  max-width: 700px;
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.authority-vote-totals {
  display: flex;
  gap: 22px;
  align-items: center;
  font-variant-numeric: tabular-nums;
}

.authority-vote-totals > strong,
.authority-vote-totals > span {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 2rem;
}

.authority-vote-totals > strong {
  color: #39870c;
}

.authority-vote-totals > span {
  color: #d52b1e;
  font-weight: 800;
}

.authority-vote-totals small {
  font-size: 0.76rem;
  text-transform: uppercase;
}

.authority-vote-track {
  position: relative;
  height: 30px;
  margin-top: 22px;
  border: 1px solid #b9c8d2;
  border-radius: 3px;
  background: #f8eae9;
}

.authority-vote-track > span {
  display: block;
  width: var(--authority-for);
  height: 100%;
  background: #39870c;
}

.authority-vote-track > i {
  position: absolute;
  top: -7px;
  bottom: -12px;
  left: var(--authority-majority);
  width: 2px;
  background: var(--navy);
  font-style: normal;
}

.authority-vote-track em {
  position: absolute;
  top: 40px;
  left: 50%;
  width: max-content;
  padding: 4px 8px;
  border-radius: 3px;
  background: var(--gold);
  color: var(--navy);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 800;
  transform: translateX(-50%);
}

.authority-factions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 44px;
}

.authority-factions > span {
  display: inline-flex;
  gap: 7px;
  align-items: baseline;
  padding: 6px 9px;
  border: 1px solid #9abf87;
  border-radius: 3px;
  background: #eaf4e4;
  color: #245d0a;
}

.authority-factions strong,
.authority-factions small {
  font-size: 0.76rem;
}

.authority-factions small {
  color: #486a37;
}

.authority-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
  border: 1px solid var(--line-strong);
}

.authority-metric-grid article {
  min-width: 0;
  padding: 24px;
}

.authority-metric-grid article + article {
  border-left: 1px solid var(--line-strong);
}

.authority-metric-grid strong,
.authority-metric-grid span,
.authority-metric-grid small {
  display: block;
}

.authority-metric-grid strong {
  color: var(--navy);
  font-size: 2rem;
}

.authority-metric-grid span {
  margin-top: 7px;
  font-weight: 760;
}

.authority-metric-grid small {
  margin-top: 10px;
  color: var(--muted);
}

.authority-budget {
  margin-top: 28px;
  padding: 24px;
  background: #f5f8fa;
}

.authority-budget > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 22px;
}

.authority-budget > div:first-child span,
.authority-budget > p {
  color: var(--muted);
}

.authority-budget-track {
  height: 24px;
  margin: 18px 0 14px;
  overflow: hidden;
  border: 1px solid #9bb0bf;
  background: #fff;
}

.authority-budget-track span {
  display: block;
  width: max(8px, var(--authority-share));
  height: 100%;
  background: var(--gold);
}

.authority-budget p {
  margin: 0;
  line-height: 1.55;
}

.authority-capacity-explainer {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 32px 48px;
  margin-top: 28px;
  padding: 28px;
  background: #f3f6f8;
}

.authority-capacity-copy > p:last-child,
.authority-capacity-explainer aside p {
  margin: 10px 0 0;
  line-height: 1.6;
}

.authority-capacity-explainer aside {
  padding-left: 28px;
  border-left: 1px solid var(--line-strong);
}

.authority-capacity-explainer aside strong {
  color: var(--navy);
}

.authority-capacity-comparison {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.48fr) minmax(0, 1fr);
  border-top: 1px solid var(--line-strong);
}

.authority-capacity-comparison > article,
.authority-capacity-comparison > div {
  padding: 22px 20px 0;
}

.authority-capacity-comparison > article:first-child {
  padding-left: 0;
}

.authority-capacity-comparison > article:last-child {
  padding-right: 0;
}

.authority-capacity-comparison > div {
  border-right: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
  text-align: center;
}

.authority-capacity-comparison span,
.authority-capacity-comparison strong,
.authority-capacity-comparison small,
.authority-capacity-comparison b {
  display: block;
}

.authority-capacity-comparison article > span,
.authority-capacity-comparison small,
.authority-capacity-comparison > div span {
  color: var(--muted);
  font-size: 0.78rem;
}

.authority-capacity-comparison article > strong {
  margin-top: 8px;
  color: var(--navy);
  font-size: 1.38rem;
}

.authority-capacity-comparison article > b {
  margin-top: 12px;
  color: #b13c34;
  font-size: 0.86rem;
}

.authority-capacity-comparison > div strong {
  color: #39870c;
  font-size: 1.35rem;
}

.authority-table-details {
  margin-top: 20px;
  border-bottom: 1px solid var(--line-strong);
}

.authority-table-details > summary {
  padding: 13px 0;
  color: var(--blue);
  font-weight: 780;
  cursor: pointer;
}

.authority-table-details[open] > summary {
  border-bottom: 1px solid var(--line);
}

.authority-table-wrap {
  margin-top: 0;
  overflow-x: auto;
}

.authority-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.authority-table-wrap caption {
  padding-bottom: 10px;
  color: var(--ink);
  font-weight: 780;
  text-align: left;
}

.authority-table-wrap th,
.authority-table-wrap td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  text-align: right;
}

.authority-table-wrap th:first-child,
.authority-table-wrap td:first-child {
  padding-left: 0;
  text-align: left;
}

.authority-table-wrap thead th {
  color: var(--muted);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.authority-finding {
  margin-top: 28px;
  padding: 21px 24px;
  border-left: 4px solid var(--blue);
  background: var(--blue-light);
}

.authority-finding p {
  margin: 6px 0 0;
  line-height: 1.6;
}

.shareable-context {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: 32px;
  align-items: center;
  margin: 36px 0 0;
  padding: 26px 28px;
  border: 1px solid var(--line-strong);
  background: #f5f7f8;
}

.shareable-context-preview {
  display: block;
  padding: 8px;
  color: var(--muted);
  border: 1px solid var(--line-strong);
  background: #fff;
  text-decoration: none;
}

.shareable-context-preview > span {
  display: block;
  margin: 0 0 7px;
  font-size: 0.68rem;
  font-weight: 760;
  text-transform: uppercase;
}

.shareable-context-preview img {
  display: block;
  width: 100%;
  height: auto;
}

.shareable-context figcaption {
  min-width: 0;
}

.shareable-context figcaption strong,
.shareable-context figcaption span {
  display: block;
}

.shareable-context-copy > strong {
  color: var(--navy);
  font-size: 1.18rem;
}

.shareable-context figcaption span {
  max-width: 560px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.shareable-context-copy > small {
  display: block;
  margin-top: 10px;
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.shareable-context-actions {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.shareable-context-actions a,
.shareable-context-actions button {
  min-height: 40px;
  padding: 8px 11px;
  color: var(--blue);
  border: 1px solid #8eb9d1;
  border-radius: 3px;
  background: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 780;
  text-decoration: none;
  cursor: pointer;
}

.shareable-context-actions a:hover,
.shareable-context-actions button:hover,
.shareable-context-actions a:focus-visible,
.shareable-context-actions button:focus-visible {
  color: #fff;
  border-color: var(--blue);
  background: var(--blue);
}

.share-feedback {
  min-height: 18px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.share-privacy-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}

.decision-social-share {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: 24px 48px;
  margin-top: 48px;
  padding: 34px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.decision-social-share h2 {
  margin: 0;
  color: var(--navy);
  font-size: 1.7rem;
}

.decision-social-share > div:first-child > p:last-child {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.decision-social-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  align-content: center;
}

.decision-social-actions a,
.decision-social-actions button,
.social-card-downloads a {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid #8eb9d1;
  border-radius: 3px;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 780;
  text-decoration: none;
  cursor: pointer;
}

.decision-social-actions a:hover,
.decision-social-actions a:focus-visible,
.decision-social-actions button:hover,
.decision-social-actions button:focus-visible,
.social-card-downloads a:hover,
.social-card-downloads a:focus-visible {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.social-card-downloads {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
}

.social-card-downloads summary {
  padding: 13px 0;
  color: var(--blue);
  font-size: 0.82rem;
  font-weight: 780;
  cursor: pointer;
}

.social-card-downloads > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 2px 0 14px;
}

.social-share-feedback {
  grid-column: 1 / -1;
  min-height: 18px;
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

@media (max-width: 820px) {
  .review-authority-context > header {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .shareable-context {
    grid-template-columns: 1fr;
  }

  .shareable-context-preview {
    width: min(100%, 420px);
  }

  .authority-metric-grid {
    grid-template-columns: 1fr;
  }

  .authority-metric-grid article + article {
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }

  .authority-capacity-explainer {
    grid-template-columns: 1fr;
  }

  .authority-capacity-explainer aside {
    padding: 20px 0 0;
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }

  .shareable-context-actions {
    justify-content: flex-start;
  }

  .decision-social-share {
    grid-template-columns: 1fr;
  }

  .decision-social-actions {
    justify-content: flex-start;
  }

  .impact-research > header,
  .impact-regions {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .impact-signal-grid,
  .impact-groups > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .review-authority-context {
    padding: 40px 0;
  }

  .review-authority-context > header h2 {
    font-size: 1.65rem;
  }

  .authority-vote > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .authority-vote-totals > strong,
  .authority-vote-totals > span {
    font-size: 1.6rem;
  }

  .authority-vote-track em {
    font-size: 0.62rem;
  }

  .authority-capacity-explainer {
    padding: 22px 18px;
  }

  .authority-capacity-comparison {
    grid-template-columns: 1fr;
  }

  .authority-capacity-comparison > article,
  .authority-capacity-comparison > article:first-child,
  .authority-capacity-comparison > article:last-child,
  .authority-capacity-comparison > div {
    padding: 18px 0;
  }

  .authority-capacity-comparison > div {
    border-top: 1px solid var(--line-strong);
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
    border-left: 0;
    text-align: left;
  }

  .authority-budget > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }

  .authority-table-wrap th,
  .authority-table-wrap td {
    padding: 10px 4px;
    font-size: 0.72rem;
  }

  .authority-table-wrap th:first-child,
  .authority-table-wrap td:first-child {
    padding-left: 0;
  }

  .shareable-context-preview {
    padding: 6px;
  }

  .shareable-context {
    padding: 20px 18px;
  }

  .shareable-context-actions a,
  .shareable-context-actions button {
    flex: 1 1 140px;
    text-align: center;
  }

  .decision-jump-nav {
    gap: 8px 14px;
  }

  .decision-jump-nav strong {
    flex-basis: 100%;
  }

  .decision-jump-nav.is-stuck {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  .decision-jump-nav.is-stuck::-webkit-scrollbar {
    display: none;
  }

  .decision-jump-nav.is-stuck strong {
    flex: 0 0 auto;
    flex-basis: auto;
  }

  .decision-jump-nav.is-stuck a {
    flex: 0 0 auto;
  }

  .decision-social-actions a,
  .decision-social-actions button,
  .social-card-downloads a {
    flex: 1 1 145px;
    text-align: center;
  }

  .activity-share-menu,
  .impact-scope {
    grid-template-columns: 1fr;
  }

  .activity-share-intro,
  .activity-share-platforms,
  .activity-live-embed,
  .activity-share-menu > [data-profile-share-feedback] {
    grid-column: 1;
  }

  .activity-share .activity-share-preview {
    max-width: 260px;
  }

  .impact-regions li {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* Branded voting shorts are finished media; Panopta only frames and explains them. */
.vote-short {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  padding: 56px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  align-items: center;
  gap: 64px;
}

.vote-short-copy {
  max-width: 680px;
}

.vote-short-copy h2 {
  max-width: 620px;
  margin-bottom: 14px;
  font-size: 2rem;
}

.vote-short-copy > p:not(.kicker, .vote-short-credit) {
  max-width: 650px;
  color: var(--ink-soft);
  font-size: 1.05rem;
  line-height: 1.65;
}

.vote-short-copy dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 620px;
  margin: 28px 0 20px;
  border-top: 1px solid var(--line);
}

.vote-short-copy dl > div {
  min-width: 0;
  padding: 15px 18px 15px 0;
  border-bottom: 1px solid var(--line);
}

.vote-short-copy dt {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
}

.vote-short-copy dd {
  margin: 0;
  color: var(--ink);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.vote-short-credit {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.vote-short-transcript {
  max-width: 650px;
  margin: 22px 0 18px;
  padding-block: 16px;
  border-block: 1px solid var(--line);
}

.vote-short-transcript h3 {
  margin: 0 0 10px;
  font-size: 1rem;
}

.vote-short-transcript p {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  margin: 8px 0 0;
  color: var(--ink-soft);
  gap: 12px;
}

.vote-short-transcript strong {
  color: var(--ink);
}

.vote-short-player {
  width: min(100%, 320px);
  padding-top: 5px;
  background: #154273;
  justify-self: center;
}

.vote-short-player[data-result="adopted"] {
  background: #39870c;
}

.vote-short-player[data-result="rejected"] {
  background: #d52b1e;
}

.vote-short-player video {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  background: #081f3c;
  object-fit: contain;
}

/* Shared server-rendered archive primitives. These remain visible without JS. */
.archive-filter-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(150px, 0.8fr)) auto;
  margin: 10px 0 20px;
  padding: 20px 0;
  border-block: 1px solid var(--line-strong);
  align-items: end;
  gap: 14px;
}

.archive-filter-panel > label,
.archive-advanced-filters label {
  display: grid;
  min-width: 0;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
  gap: 6px;
}

.archive-filter-panel input,
.archive-filter-panel select,
.archive-filter-panel button {
  width: 100%;
  min-height: 44px;
}

.archive-filter-panel input,
.archive-filter-panel select {
  padding: 9px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: #fff;
}

.archive-filter-panel > button {
  width: auto;
  white-space: nowrap;
}

.archive-advanced-filters {
  grid-column: 1 / -1;
  padding-top: 4px;
}

.archive-advanced-filters summary {
  width: max-content;
  color: var(--blue);
  font-weight: 750;
  cursor: pointer;
}

.archive-advanced-filters > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  gap: 14px;
}

.decision-list,
.motion-list {
  border-top: 1px solid var(--line-strong);
}

.ssr-result {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(150px, 220px);
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
  gap: 30px;
}

.ssr-result > div {
  min-width: 0;
}

.ssr-result h2 {
  margin: 0 0 8px;
  font-size: 1.35rem;
}

.ssr-result h2 a {
  color: var(--ink);
  text-decoration: none;
}

.ssr-result h2 a:hover,
.ssr-result h2 a:focus-visible {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ssr-result p,
.ssr-result small {
  color: var(--muted);
}

.ssr-result > div:first-child,
.ssr-result > div:last-child {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.archive-pagination {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr);
  min-height: 88px;
  border-bottom: 1px solid var(--line);
  align-items: center;
}

.archive-pagination > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.archive-pagination > a:last-child {
  justify-self: end;
}

.archive-pagination a,
.archive-pagination strong,
.archive-pagination > div > span {
  display: inline-grid;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  place-items: center;
}

.archive-pagination strong {
  color: #fff;
  background: var(--navy);
}

.ssr-card-grid {
  display: grid;
  margin: 28px 0 56px;
  border-top: 1px solid var(--line-strong);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ssr-card {
  min-width: 0;
  padding: 26px 24px 28px 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ssr-card:nth-child(3n + 2),
.ssr-card:nth-child(3n + 3) {
  padding-left: 24px;
}

.ssr-card:nth-child(3n) {
  border-right: 0;
}

.ssr-card h2 {
  margin: 4px 0 8px;
  font-size: 1.35rem;
}

.ssr-card h2 a {
  color: var(--ink);
}

.ssr-profile-facts,
.ssr-facts dl {
  display: grid;
  margin: 28px 0;
  border-block: 1px solid var(--line-strong);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.ssr-profile-facts > div,
.ssr-facts dl > div {
  min-width: 0;
  padding: 18px 18px 18px 0;
  border-right: 1px solid var(--line);
}

.ssr-profile-facts dt,
.ssr-facts dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
}

.ssr-profile-facts dd,
.ssr-facts dd {
  margin: 5px 0 0;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.compare-page,
.voting-days-page {
  margin-bottom: 64px;
}

.compare-years {
  display: flex;
  margin-top: 24px;
  flex-wrap: wrap;
  gap: 8px;
}

.compare-years a {
  min-width: 54px;
  padding: 9px 12px;
  border: 1px solid var(--line-strong);
  color: var(--navy);
  font-weight: 750;
  text-align: center;
  text-decoration: none;
}

.compare-years a:hover,
.compare-years a:focus-visible,
.compare-years a.active {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}

.compare-legend,
.compare-outcomes,
.voting-day-row > p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.compare-legend {
  margin: 28px 0 4px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.compare-legend span::before {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  content: "";
}

.compare-legend .adopted::before,
.compare-outcome-bar .adopted {
  background: var(--green);
}

.compare-legend .rejected::before,
.compare-outcome-bar .rejected {
  background: var(--red);
}

.compare-legend .other::before,
.compare-outcome-bar .other {
  background: var(--line-strong);
}

.compare-party-list,
.voting-day-list {
  border-top: 1px solid var(--line-strong);
}

.compare-party-row {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.compare-party-row header,
.voting-day-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 24px;
}

.compare-party-row h2,
.voting-day-row h2 {
  margin: 2px 0 0;
  font-size: 1.35rem;
}

.compare-party-row header > strong {
  color: var(--navy);
  font-size: 1.1rem;
}

.compare-outcome-bar {
  display: flex;
  height: 11px;
  margin: 14px 0 9px;
  background: var(--canvas);
  overflow: hidden;
}

.compare-outcome-bar i {
  display: block;
  min-width: 0;
}

.compare-outcomes {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.compare-submission-context {
  max-width: 72ch;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.compare-party-row ul {
  display: flex;
  margin: 18px 0 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 8px 22px;
  list-style: none;
}

.compare-party-row li span {
  margin-left: 5px;
  color: var(--muted);
  font-size: 0.82rem;
}

.voting-day-row {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.voting-day-row > p {
  justify-content: flex-end;
  color: var(--muted);
}

.parliament-page {
  margin-bottom: 72px;
}

.parliament-page > section {
  margin-top: 58px;
}

.parliament-updated {
  color: var(--muted);
  font-size: 0.92rem;
}

.parliament-stat-grid {
  display: grid;
  border-block: 1px solid var(--line-strong);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.parliament-stat {
  display: grid;
  min-width: 0;
  padding: 22px 22px 24px 0;
  border-right: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
  gap: 5px;
}

.parliament-stat:not(:first-child) {
  padding-left: 22px;
}

.parliament-stat:last-child {
  border-right: 0;
}

.parliament-stat:hover,
.parliament-stat:focus-visible {
  background: var(--blue-050);
}

.parliament-stat strong {
  color: var(--navy);
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1;
}

.parliament-stat span {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.parliament-route-grid {
  display: grid;
  margin-top: 22px;
  border-block: 1px solid var(--line-strong);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.parliament-route-grid article {
  padding: 24px 24px 26px 0;
  border-right: 1px solid var(--line);
}

.parliament-route-grid article:not(:first-child) {
  padding-left: 24px;
}

.parliament-route-grid article:last-child {
  border-right: 0;
}

.parliament-route-grid h3,
.parliament-decision h3 {
  margin: 0 0 8px;
  font-size: 1.18rem;
}

.parliament-route-grid p,
.parliament-decision p,
.parliament-topic-band > div > p:last-child {
  color: var(--muted);
  line-height: 1.55;
}

.parliament-route-grid a,
.section-heading > a {
  font-weight: 750;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.section-heading h2 {
  margin-bottom: 0;
}

.parliament-decision-list {
  margin-top: 20px;
  border-top: 1px solid var(--line-strong);
}

.parliament-decision {
  display: grid;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  grid-template-columns: minmax(150px, 0.24fr) minmax(0, 1fr);
  gap: 28px;
}

.parliament-decision > div:first-child {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 8px;
}

.parliament-decision [data-status] {
  padding: 4px 8px;
  border: 1px solid var(--line-strong);
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 750;
}

.parliament-decision small {
  color: var(--muted);
}

.parliament-decision .kicker {
  margin: 0 0 5px;
}

.parliament-decision p:last-child {
  margin: 0;
}

.parliament-topic-band {
  display: grid;
  padding-block: 30px;
  border-block: 1px solid var(--line-strong);
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  gap: 54px;
}

.parliament-topic-band ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
}

.parliament-topic-band li {
  border-bottom: 1px solid var(--line);
}

.parliament-topic-band li:nth-child(odd) {
  padding-right: 18px;
}

.parliament-topic-band li:nth-child(even) {
  padding-left: 18px;
  border-left: 1px solid var(--line);
}

.parliament-topic-band li a {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  text-decoration: none;
  gap: 14px;
}

.parliament-topic-band li a:hover span,
.parliament-topic-band li a:focus-visible span {
  text-decoration: underline;
}

.parliament-topic-band li strong {
  color: var(--navy);
  font-size: 0.82rem;
  white-space: nowrap;
}

@media (max-width: 920px) {
  .archive-filter-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-advanced-filters > div,
  .ssr-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ssr-card:nth-child(n) {
    padding-inline: 20px;
  }

  .parliament-stat-grid,
  .parliament-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .parliament-stat:nth-child(2),
  .parliament-route-grid article:nth-child(2) {
    border-right: 0;
  }

  .parliament-stat:nth-child(n + 3),
  .parliament-route-grid article:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .parliament-topic-band {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 680px) {
  .archive-filter-panel,
  .archive-advanced-filters > div,
  .ssr-card-grid,
  .ssr-result {
    grid-template-columns: 1fr;
  }

  .archive-filter-panel > button {
    width: 100%;
  }

  .ssr-card {
    padding-inline: 0 !important;
    border-right: 0;
  }

  .compare-party-row header,
  .voting-day-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .voting-day-row > p {
    justify-content: flex-start;
    margin: 0;
  }

  .archive-pagination {
    grid-template-columns: 1fr 1fr;
    padding-block: 18px;
    gap: 10px;
  }

  .archive-pagination > div {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .parliament-page > section {
    margin-top: 42px;
  }

  .parliament-stat-grid,
  .parliament-route-grid,
  .parliament-decision,
  .parliament-topic-band ol {
    grid-template-columns: 1fr;
  }

  .parliament-stat:nth-child(n),
  .parliament-route-grid article:nth-child(n) {
    padding-inline: 0;
    border-top: 1px solid var(--line);
    border-right: 0;
  }

  .parliament-stat:first-child,
  .parliament-route-grid article:first-child {
    border-top: 0;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .parliament-decision {
    gap: 12px;
  }

  .parliament-topic-band li:nth-child(n) {
    padding-inline: 0;
    border-left: 0;
  }
}

@media (max-width: 920px) {
  .vote-short {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    gap: 36px;
  }
}

@media (max-width: 680px) {
  .decision-revote-notice {
    align-items: flex-start;
    flex-direction: column;
  }

  .vote-short {
    grid-template-columns: 1fr;
    padding: 38px 0;
    gap: 28px;
  }

  .vote-short-copy h2 {
    font-size: 1.65rem;
  }

  .vote-short-copy dl {
    grid-template-columns: 1fr;
  }

  .vote-short-player {
    width: min(100%, 300px);
  }

  .vote-short-transcript p {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .ssr-hub-list > a {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hub-pagination {
    grid-template-columns: 1fr 1fr;
  }

  .hub-pagination strong {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }

  .ssr-footer > div {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 24px;
  }
}
.video-library-head {
  max-width: 850px;
}

.video-library-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 28px;
  margin-block: 32px 44px;
}

.video-library-card {
  border-bottom: 1px solid #c9d6df;
  padding-bottom: 28px;
}

.video-library-thumb {
  aspect-ratio: 16 / 9;
  background: #102a3a;
  display: block;
  overflow: hidden;
  position: relative;
}

.video-library-thumb img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.video-library-thumb > span,
.video-library-thumb > i {
  background: rgba(15, 53, 87, 0.94);
  color: #fff;
  position: absolute;
}

.video-library-thumb > span {
  bottom: 12px;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  padding: 5px 8px;
  right: 12px;
}

.video-library-thumb > i {
  align-items: center;
  border: 2px solid #fff;
  display: flex;
  font-style: normal;
  height: 52px;
  justify-content: center;
  left: 50%;
  padding-left: 3px;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
}

.video-library-card h2 {
  font-size: 24px;
  line-height: 1.18;
  margin: 8px 0 10px;
}

.video-library-card p:last-child,
.youtube-privacy-note {
  color: #526b7d;
}

/* Analytics remains a quiet, optional layer outside the editorial interface. */
.privacy-preferences {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.privacy-preferences:hover,
.privacy-preferences:focus-visible {
  color: #154273;
}

.analytics-consent {
  position: fixed;
  z-index: 1200;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  max-width: 960px;
  margin-inline: auto;
  padding: 18px 20px;
  border: 1px solid #8aa4b8;
  border-left: 6px solid #ffb612;
  background: #fff;
  box-shadow: 0 10px 30px rgb(20 66 115 / 18%);
  color: #142f44;
}

.analytics-consent[hidden] {
  display: none;
}

.analytics-consent__copy {
  max-width: 620px;
}

.analytics-consent__copy strong {
  display: block;
  color: #154273;
  font-size: 1.05rem;
}

.analytics-consent__copy p {
  margin: 4px 0;
}

.analytics-consent__copy a {
  color: #01689b;
  font-weight: 700;
}

.analytics-consent__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.analytics-consent__actions button {
  min-height: 42px;
  border: 1px solid #154273;
  background: #fff;
  color: #154273;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 9px 14px;
}

.analytics-consent__actions button.primary {
  background: #154273;
  color: #fff;
}

.analytics-consent__actions button:hover,
.analytics-consent__actions button:focus-visible {
  outline: 3px solid #ffb612;
  outline-offset: 2px;
}

.privacy-sections {
  display: grid;
  gap: 28px;
  margin-top: 32px;
}

.privacy-sections section {
  border-top: 1px solid #c9d6df;
  padding-top: 24px;
}

.privacy-sections h2 {
  margin: 0 0 8px;
  color: #154273;
}

.privacy-sections ul {
  padding-left: 20px;
}

@media (max-width: 720px) {
  .analytics-consent {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    right: 12px;
    bottom: 12px;
    left: 12px;
  }

  .analytics-consent__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.video-library-channel {
  border-top: 1px solid #c9d6df;
  padding-top: 20px;
}

.today-videos {
  padding-block: 54px;
}

.today-video-grid {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.today-video-grid .video-library-card h3 {
  font-size: 21px;
  line-height: 1.2;
  margin: 7px 0 9px;
}

.video-watch-page {
  max-width: 1120px;
}

.youtube-consent-player {
  aspect-ratio: 16 / 9;
  background: #102a3a;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.youtube-consent-player img,
.youtube-consent-player iframe {
  border: 0;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.youtube-consent-player button {
  align-items: center;
  background: #ffb612;
  border: 2px solid #fff;
  color: #102a3a;
  display: flex;
  font: inherit;
  font-weight: 800;
  gap: 10px;
  left: 50%;
  padding: 13px 18px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.youtube-consent-player button:focus-visible {
  outline: 4px solid #fff;
  outline-offset: 3px;
}

.youtube-privacy-note {
  font-size: 14px;
  margin-top: 10px;
}

.video-watch-context {
  border-top: 1px solid #c9d6df;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  margin-top: 42px;
  padding-top: 32px;
}

.video-watch-context ol {
  padding-left: 24px;
}

.video-watch-context li + li {
  margin-top: 8px;
}

@media (max-width: 760px) {
  .video-library-grid,
  .video-watch-context,
  .today-video-grid {
    grid-template-columns: 1fr;
  }

  .video-library-grid {
    gap: 26px;
  }

  .youtube-consent-player button {
    width: max-content;
    max-width: calc(100% - 32px);
  }
}
.method-page { max-width: 1120px; margin: 0 auto; }
.method-jump { position: sticky; top: 84px; z-index: 8; display: flex; gap: 20px; align-items: center; padding: 14px 0; border-block: 1px solid var(--border, #b4c7d9); background: rgba(255,255,255,.97); }
.method-jump a { color: #01689b; font-weight: 700; }
.method-section { padding: 48px 0; border-bottom: 1px solid #d6e0e8; }
.method-section h2 { max-width: 760px; margin: 4px 0 24px; }
.method-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-block: 1px solid #b4c7d9; }
.method-steps > div { padding: 26px 28px 28px 0; }
.method-steps > div + div { border-left: 1px solid #d6e0e8; padding-left: 28px; }
.method-steps span { display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 18px; border-radius: 50%; color: #fff; background: #154273; font-weight: 700; }
.method-band { padding-inline: 28px; background: #f2f6f8; }
.method-checklist { max-width: 840px; padding-left: 24px; }
.method-checklist li { padding: 7px 0 7px 8px; }
.method-definitions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.method-definitions div { border-top: 4px solid #154273; padding-top: 18px; }
.method-definitions dt { font-size: 1.15rem; font-weight: 700; }
.method-definitions dd { margin: 8px 0 0; color: #425b70; }
.method-faq details { border-top: 1px solid #b4c7d9; padding: 18px 0; }
.method-faq details:last-child { border-bottom: 1px solid #b4c7d9; }
.method-faq summary { cursor: pointer; color: #154273; font-weight: 700; }
@media (max-width: 760px) {
  .method-jump { top: 70px; gap: 12px; overflow-x: auto; white-space: nowrap; }
  .method-jump strong { display: none; }
  .method-steps, .method-definitions { grid-template-columns: 1fr; }
  .method-steps > div + div { border-left: 0; border-top: 1px solid #d6e0e8; padding-left: 0; }
  .method-band { margin-inline: -16px; padding-inline: 16px; }
}
