@font-face {
  font-family: "Nunito Sans";
  src: url("/assets/nunito-sans-latin-400-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --forum-blue: #001a46;
  --forum-orange: #cd4c32;
  --forum-yellow: #fbbb10;
  --forum-cream: #fff0dd;
}
body {
  background: var(--forum-cream);
  color: var(--forum-blue);
  font-family: "Nunito Sans", Arial, sans-serif;
  font-weight: 400;
}
main { border-top: 8px solid var(--forum-blue); }
.report-header { margin-bottom: 28px; }
.report-header h1 {
  margin: 0 0 22px;
  max-width: 1000px;
  font-weight: 700;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.report-header p { margin: 8px 0; }
.report-header p:first-of-type { font-size: 19px; font-weight: 500; }
.report-header p:last-of-type { font-size: 14px; }
h1, h2, strong, b, summary, dt, .public-figure-heading strong, .credit-entry dt {
  font-weight: 700;
}
h3, h4, .public-figure-heading span { font-weight: 500; }
h1, h2, h3, h4, a, b, .situation-question, .public-figure-heading strong {
  color: var(--forum-blue);
}
h2 { border-top-color: var(--forum-cream); }
a { text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--forum-blue); text-decoration-color: var(--forum-orange); text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible, .tablewrap:focus-visible {
  outline-color: var(--forum-orange);
}
.report-index {
  margin: 24px 0 38px;
  padding: 0;
  border: 1px solid var(--forum-blue);
  border-radius: 8px;
  background: var(--forum-cream);
}
.report-index > summary {
  padding: 13px 18px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--forum-blue);
}
.report-index[open] > summary { border-bottom: 1px solid var(--forum-blue); }
.report-index nav { margin: 0; padding: 18px; }
.report-index nav a { padding: 5px 0; break-inside: avoid; }
th { color: var(--forum-blue); background: var(--forum-cream); font-weight: 700; }
.reading-note, blockquote { background: #fff8ef; border-left-color: var(--forum-orange); }
.technical-note, .reading-glossary, .complementary-table,
.situation-card, .credit-entry, .figure-vector, .civic-cross { background: #fff; }
.table-description { background: #fff8ef; border-left-color: var(--forum-yellow); }
.situation-card { border-left-color: var(--forum-blue); }
.situation-card:nth-child(2) { border-left-color: var(--forum-orange); }
.situation-card:nth-child(3) { border-left-color: var(--forum-yellow); }
.situation-card:nth-child(4) { border-left-color: var(--forum-blue); }
.civic-fill { background: var(--forum-blue); }
.civic-labour .civic-fill { background: var(--forum-orange); }
.civic-track { background: var(--forum-cream); }
.credits-note { border-left-color: var(--forum-orange); }
@media (max-width: 700px) {
  .report-header h1 { font-size: 34px; }
  .report-header p:first-of-type { font-size: 17px; }
  .report-index > summary { padding: 12px 15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  body { background: #fff; }
  main { border-top: 0; }
  .report-index { display: none !important; }
}

/* Original corporate palette; contrast fixes only. */
th, td { border-bottom-color: #b9c2ce; }
.tablewrap { border: 0; border-radius: 0; }
