@font-face {
  font-family: "Forma DJR Text";
  src: url("assets/fonts/FormaDJRText-Regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Forma DJR Text";
  src: url("assets/fonts/FormaDJRText-Medium.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 550;
}

@font-face {
  font-family: "Forma DJR Text";
  src: url("assets/fonts/FormaDJRText-Bold.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "Forma DJR Display";
  src: url("assets/fonts/FormaDJRDisplay-Regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Forma DJR Display";
  src: url("assets/fonts/FormaDJRDisplay-Medium.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: "Forma DJR Micro";
  src: url("assets/fonts/FormaDJRMicro-Regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Forma DJR Micro";
  src: url("assets/fonts/FormaDJRMicro-Medium.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

:root {
  color-scheme: light;
  --app-viewport-height: 100svh;
  --pink: #f5e1e1;
  --pink-02: #faeeee;
  --pink-strong: #f2c8c9;
  --burgundy: #4c1a09;
  --burgundy-deep: #361006;
  --ink: #18181a;
  --orange: #ff520d;
  --orange-soft: #ff520d;
  --orange-hot: #ff520d;
  --gold: #f2b101;
  --green: #1e800f;
  --blue: #2951fe;
  --paper: #fff8f4;
  --surface: #fffdf9;
  --surface-pink: #faeeee;
  --surface-strong: #f7d6d4;
  --line: #e4beba;
  --line-strong: #a96052;
  --muted: #795343;
  --missing: #ead8d2;
  --shadow: 0 22px 70px rgb(83 21 2 / 14%);
  --hairline: 1px solid var(--line);
  --font-body: "Forma DJR Text", "Segoe UI", system-ui, sans-serif;
  --font-display: "Forma DJR Display", "Forma DJR Text", "Segoe UI", system-ui, sans-serif;
  --font-ui: "Forma DJR Micro", "Forma DJR Text", "Segoe UI", system-ui, sans-serif;

  /* Shared reading scale for chart labels, controls and report copy. */
  --fs-micro: 0.75rem;
  --fs-caption: 0.8125rem;
  --fs-label: 0.875rem;
  --fs-body: 1rem;
  --fs-lead: 1.125rem;
  --fs-value: 1.875rem;
  --fs-title: 2.5rem;
  --fs-display: 3.5rem;
  --measure: 68ch;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  overflow-x: clip;
}

body {
  margin: 0;
  min-height: var(--app-viewport-height);
  background:
    linear-gradient(90deg, rgb(83 21 2 / 5%) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(180deg, var(--pink) 0%, var(--paper) 62%, #fffdf9 100%);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.42;
}

button,
input,
select {
  font: inherit;
}

button {
  border: var(--hairline);
  background: var(--surface);
  color: var(--burgundy);
  cursor: pointer;
  transition:
    background-color 130ms ease,
    border-color 130ms ease,
    color 130ms ease,
    transform 130ms ease;
}

button:hover,
button:focus-visible {
  border-color: var(--orange);
  outline: 2px solid rgb(255 103 25 / 20%);
  outline-offset: 2px;
}

.app-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 31vw);
  min-height: var(--app-viewport-height);
  transition: grid-template-columns 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body[data-inspector-open="false"] .app-shell {
  grid-template-columns: minmax(0, 1fr);
}

body[data-inspector-open="true"] {
  overflow: hidden;
}

body[data-inspector-open="true"] .app-shell {
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}

body[data-country-mode="true"] .app-shell {
  display: grid;
  grid-template-columns: minmax(320px, 34vw) minmax(0, 1fr);
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}

.map-stage {
  display: grid;
  grid-template-rows: auto auto auto minmax(420px, 1fr) auto;
  gap: clamp(16px, 2vw, 24px);
  min-width: 0;
  padding: clamp(20px, 2.8vw, 44px);
}

.map-stage > .topbar {
  grid-row: 1;
}

.map-stage > .map-layer-controls {
  grid-row: 2;
}

.map-stage > .map-layer-explorer {
  grid-row: 3;
}

.map-stage > .map {
  grid-row: 4;
}

.map-stage > .legend {
  grid-row: 5;
}

body[data-inspector-open="true"] .map-stage {
  gap: clamp(12px, 1.4vw, 18px);
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
  padding: clamp(18px, 2vw, 32px);
}

body[data-country-mode="true"] .map-stage {
  gap: 12px;
  grid-template-rows: auto auto auto minmax(280px, 1fr) auto;
  padding: clamp(14px, 1.6vw, 22px);
}

@media (min-width: 1081px) {
  body[data-country-mode="true"] .topbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  body[data-country-mode="true"] .toolbar {
    min-width: 0;
    width: 100%;
  }

  body[data-country-mode="true"] .map-layer-buttons button {
    flex: 1 1 calc(33.333% - 8px);
    min-width: 0;
  }
}

.topbar {
  align-items: end;
  display: flex;
  gap: clamp(24px, 4vw, 70px);
  justify-content: space-between;
}

.brand-heading {
  max-width: 820px;
  position: relative;
}

.brand-heading::after {
  background:
    linear-gradient(90deg, var(--orange) 0 22%, transparent 22% 32%, var(--burgundy) 32% 56%, transparent 56% 66%, var(--blue) 66% 100%);
  content: "";
  display: block;
  height: 9px;
  margin-top: 26px;
  width: min(360px, 56vw);
}

.brand-mark {
  display: inline-flex;
  margin-bottom: clamp(24px, 4.4vw, 52px);
  min-height: 44px;
}

.brand-mark img {
  display: block;
  height: clamp(46px, 4vw, 64px);
  width: auto;
}

body[data-inspector-open="true"] .brand-heading::after {
  display: none;
}

body[data-inspector-open="true"] .brand-mark {
  margin-bottom: 12px;
  min-height: 32px;
}

body[data-inspector-open="true"] .brand-mark img {
  height: clamp(34px, 3vw, 46px);
}

.eyebrow {
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 9px;
  text-transform: none;
}

h1 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 6.45rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.86;
  margin: 0;
  max-width: 860px;
}

body[data-inspector-open="true"] h1 {
  font-size: clamp(1.75rem, 3.4vw, 3.2rem);
  max-width: 620px;
}

body[data-country-mode="true"] h1 {
  font-size: clamp(1.65rem, 3.15vw, 2.65rem);
  max-width: 320px;
}

.dek {
  color: var(--muted);
  font-size: clamp(1rem, 1.13vw, 1.16rem);
  margin: 18px 0 0;
  max-width: 620px;
}

.pilot-status {
  color: #ff0000;
  display: block;
  font-family: var(--font-ui);
  font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 14px 0 0;
}

body[data-inspector-open="true"] .dek {
  display: none;
}

body[data-country-mode="true"] .dek {
  font-size: 0.86rem;
  line-height: 1.25;
  max-width: 310px;
}

.toolbar {
  align-items: end;
  display: grid;
  gap: 8px;
  min-width: min(330px, 36vw);
  position: relative;
}

.page-nav-button {
  align-items: center;
  background: var(--burgundy);
  border: 1px solid var(--burgundy);
  box-shadow: 0 10px 26px rgb(83 21 2 / 14%);
  color: var(--surface);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: 600;
  justify-content: center;
  line-height: 1;
  min-height: 38px;
  padding: 10px 14px;
  text-decoration: none;
  transition:
    background-color 130ms ease,
    border-color 130ms ease,
    box-shadow 130ms ease,
    color 130ms ease,
    transform 130ms ease;
  white-space: nowrap;
}

.toolbar .page-nav-button {
  width: 100%;
}

.page-nav-button:hover,
.page-nav-button:focus-visible {
  background: var(--orange);
  border-color: var(--orange);
  box-shadow: 0 14px 34px rgb(255 103 25 / 18%);
  color: var(--burgundy-deep);
  outline: 2px solid rgb(255 103 25 / 22%);
  outline-offset: 2px;
  transform: translateY(-1px);
}

.scenario-entry-button {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--burgundy-deep);
}

.city-entry-button {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--surface);
}

.city-entry-button:hover,
.city-entry-button:focus-visible {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.scenario-entry-button:hover,
.scenario-entry-button:focus-visible {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.search-label {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.78rem;
}

.country-search-box {
  position: relative;
}

#country-search {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--ink);
  min-height: 48px;
  padding: 10px 13px;
  width: 100%;
}

#country-search::placeholder {
  color: color-mix(in srgb, var(--muted) 72%, white);
}

#country-search:focus {
  border-color: var(--orange);
  outline: 2px solid rgb(255 103 25 / 22%);
  outline-offset: 2px;
}

.country-search-results {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  box-shadow: 0 18px 46px rgb(83 21 2 / 18%);
  left: 0;
  max-height: min(310px, 54vh);
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: calc(100% + 7px);
  z-index: 900;
}

.country-search-result,
.country-search-empty {
  background: transparent;
  border: 0;
  border-bottom: var(--hairline);
  border-radius: 0;
  color: var(--ink);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);
  min-height: 50px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}

.country-search-result:hover,
.country-search-result:focus-visible,
.country-search-result[data-active="true"] {
  background: rgb(245 225 225 / 58%);
  outline: 0;
}

.country-search-result strong {
  color: var(--burgundy);
  display: block;
  font-size: var(--fs-body);
  font-weight: 650;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.country-search-result em,
.country-search-result small,
.country-search-empty {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-style: normal;
  line-height: 1.25;
}

.map-layer-controls {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 30%);
}

.map-layer-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.map-layer-buttons button {
  border-color: color-mix(in srgb, var(--line-strong) 72%, white);
  border-radius: 0;
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  min-height: 34px;
  padding: 7px 10px;
  white-space: nowrap;
}

.map-layer-buttons button[data-active="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.map-layer-note {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.75rem;
  line-height: 1.28;
  margin: 0;
  text-align: right;
}

.map-layer-note p {
  margin: 0;
}

.map-layer-frame {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.map-layer-frame span {
  background: color-mix(in srgb, var(--surface) 82%, white);
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  color: var(--ink);
  display: grid;
  gap: 2px;
  font-size: 0.68rem;
  line-height: 1.25;
  padding: 6px 7px;
  text-align: left;
}

.map-layer-frame b {
  color: var(--burgundy);
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.map-layer-stats,
.map-layer-rankings,
.map-layer-signals,
.map-layer-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  margin-top: 7px;
}

.map-layer-stats span,
.map-layer-rankings span,
.map-layer-signals span,
.map-layer-sources a {
  background: color-mix(in srgb, var(--surface) 78%, white);
  border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  color: var(--burgundy);
  font-size: 0.68rem;
  line-height: 1.15;
  padding: 5px 7px;
}

.map-layer-stats strong {
  display: block;
  font-size: 0.82rem;
}

.map-layer-rankings span {
  align-items: center;
  display: inline-grid;
  gap: 3px;
  grid-template-columns: auto minmax(0, 1fr);
  max-width: 180px;
  text-align: left;
}

.map-layer-rankings b {
  background: var(--burgundy);
  color: var(--surface);
  display: inline-grid;
  font-size: 0.64rem;
  height: 18px;
  place-items: center;
  width: 18px;
}

.map-layer-rankings em {
  color: var(--muted);
  font-style: normal;
  grid-column: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-signals span {
  color: var(--muted);
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-sources a {
  text-decoration: none;
}

.map-layer-sources a:hover,
.map-layer-sources a:focus-visible {
  border-color: var(--burgundy);
}

body[data-inspector-open="true"] .map-layer-frame,
body[data-inspector-open="true"] .map-layer-rankings,
body[data-inspector-open="true"] .map-layer-signals,
body[data-inspector-open="true"] .map-layer-sources {
  display: none;
}

body[data-inspector-open="true"] .map-layer-controls {
  align-items: start;
  grid-template-columns: 1fr;
}

body[data-inspector-open="true"] .map-layer-note {
  text-align: left;
}

body[data-inspector-open="true"] .map-layer-stats {
  justify-content: flex-start;
}

body[data-inspector-open="true"] .map-layer-explorer {
  max-height: 150px;
  overflow: hidden;
}

body[data-inspector-open="true"] .map-layer-explorer-grid {
  align-items: flex-start;
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}

body[data-inspector-open="true"] .map-layer-explorer-grid::-webkit-scrollbar {
  display: none;
}

body[data-inspector-open="true"] .map-layer-country-card {
  align-self: flex-start;
  flex: 0 0 min(300px, 76vw);
  max-height: 96px;
  min-height: 0;
  overflow: hidden;
}

body[data-inspector-open="true"] .map-layer-country-main {
  min-height: 0;
}

body[data-inspector-open="true"] .map-layer-country-facets,
body[data-inspector-open="true"] .map-layer-country-metrics,
body[data-inspector-open="true"] .map-layer-country-entities,
body[data-inspector-open="true"] .map-layer-detail,
body[data-inspector-open="true"] .map-layer-country-links {
  display: none;
}

.map-layer-explorer {
  background: rgb(255 253 249 / 86%);
  border: 1px solid color-mix(in srgb, var(--line-strong) 78%, transparent);
  display: grid;
  gap: 10px;
  padding: 10px;
}

.map-layer-explorer[hidden] {
  display: none;
}

.map-layer-explorer-head {
  align-items: end;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.map-layer-explorer-head h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1.5vw, 1.55rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
}

.map-layer-explorer-head span {
  color: var(--muted);
  flex: 0 0 auto;
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.map-layer-explorer-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.map-layer-country-card {
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--line-strong) 70%, transparent);
  color: var(--ink);
  display: grid;
  gap: 7px;
  min-height: 100%;
  padding: 10px;
}

.map-layer-country-card:has(.map-layer-country-main:hover),
.map-layer-country-card:has(.map-layer-country-main:focus-visible) {
  border-color: var(--burgundy);
  box-shadow: 0 10px 24px rgb(83 21 2 / 10%);
}

.map-layer-country-main {
  align-items: start;
  background: transparent;
  border: 0;
  color: var(--ink);
  display: grid;
  gap: 7px 8px;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 100%;
  padding: 0;
  text-align: left;
}

.map-layer-country-main:focus-visible {
  outline: 0;
}

.map-layer-country-rank {
  background: var(--burgundy);
  color: var(--surface);
  display: inline-grid;
  font-family: var(--font-ui);
  font-size: 0.68rem;
  height: 22px;
  place-items: center;
  width: 22px;
}

.map-layer-country-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.map-layer-country-copy strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.82rem;
  line-height: 1.1;
}

.map-layer-country-copy em,
.map-layer-country-entities {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-style: normal;
  line-height: 1.2;
}

.map-layer-country-metrics,
.map-layer-country-facets,
.map-layer-country-entities {
  display: grid;
  gap: 5px;
  grid-column: 1 / -1;
}

.map-layer-country-metrics span {
  align-items: baseline;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-top: 5px;
}

.map-layer-country-metrics b,
.map-layer-country-metrics small {
  font-family: var(--font-ui);
  font-size: 0.68rem;
  line-height: 1.1;
}

.map-layer-country-metrics b {
  color: var(--muted);
  font-weight: 500;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-country-metrics small {
  color: var(--ink);
  white-space: nowrap;
}

.map-layer-country-facets,
.strategic-tooltip-facets {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.map-layer-country-facets span,
.strategic-tooltip-facets span {
  align-items: baseline;
  background: color-mix(in srgb, var(--surface-pink) 72%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 70%, transparent);
  color: var(--ink);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.66rem;
  gap: 4px;
  line-height: 1;
  max-width: 100%;
  min-height: 24px;
  padding: 5px 6px;
}

.map-layer-country-facets b,
.strategic-tooltip-facets b {
  color: var(--muted);
  font-weight: 600;
}

.map-layer-country-links,
.strategic-tooltip-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  grid-column: 1 / -1;
}

.map-layer-country-links a,
.strategic-tooltip-links a {
  border: 1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  line-height: 1;
  padding: 5px 6px;
  text-decoration: none;
}

.map-layer-country-links a:hover,
.map-layer-country-links a:focus-visible,
.strategic-tooltip-links a:hover,
.strategic-tooltip-links a:focus-visible {
  border-color: var(--burgundy);
  color: var(--burgundy);
  outline: 0;
}

.map-layer-detail {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.map-layer-detail small,
.map-layer-detail b {
  font-family: var(--font-ui);
  line-height: 1.15;
}

.map-layer-detail b {
  color: var(--burgundy);
  font-size: 0.68rem;
}

.map-layer-detail small {
  color: var(--muted);
  font-size: 0.65rem;
}

.map-layer-lab-row {
  background: color-mix(in srgb, var(--surface-pink) 55%, var(--surface));
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 3px;
  padding: 6px 7px;
}

.map-layer-lab-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-lab-row b {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.map-layer-lab-row b a {
  color: var(--burgundy);
  text-decoration: none;
}

.map-layer-lab-row b a:hover,
.map-layer-lab-row b a:focus-visible {
  color: var(--blue);
  outline: none;
  text-decoration: underline;
}

.map-layer-lab-row b em {
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--line-strong) 68%, transparent);
  color: var(--muted);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  padding: 3px 4px;
}

.map-layer-lab-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.map-layer-lab-metrics i {
  background: color-mix(in srgb, var(--gold) 18%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 58%, transparent);
  color: var(--burgundy);
  font-size: 0.56rem;
  font-style: normal;
  line-height: 1;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 4px 5px;
}

.map-layer-lab-footprint {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.map-layer-lab-footprint span {
  background: color-mix(in srgb, var(--blue) 7%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--blue) 25%, var(--line-strong));
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
}

.map-layer-lab-footprint b {
  color: var(--muted);
  font-size: 0.56rem;
  text-transform: uppercase;
}

.map-layer-lab-footprint strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.map-layer-lab-footprint small {
  color: var(--muted);
  font-size: 0.56rem;
  line-height: 1.1;
}

.map-layer-stage-strip,
.map-layer-provider-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.map-layer-stage-strip span,
.map-layer-provider-strip span {
  border: 1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 0.64rem;
  line-height: 1;
  padding: 5px 6px;
}

.map-layer-stage-strip span {
  background: color-mix(in srgb, var(--gold) 20%, var(--surface));
}

.map-layer-stage-rail {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(auto-fit, minmax(52px, 1fr));
}

.map-layer-stage-rail > span {
  background: color-mix(in srgb, var(--line) 58%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 55%, transparent);
  display: grid;
  gap: 3px;
  min-height: 42px;
  padding: 6px 5px;
}

.map-layer-stage-rail > span[data-active="true"] {
  background: color-mix(in srgb, var(--gold) 24%, var(--surface));
  border-color: color-mix(in srgb, var(--burgundy) 60%, var(--line-strong));
}

.map-layer-stage-rail b {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.62rem;
  line-height: 1;
  overflow-wrap: anywhere;
}

.map-layer-stage-rail small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.56rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.map-layer-stage-companies {
  display: grid;
  gap: 5px;
}

.map-layer-stage-companies > span {
  background: color-mix(in srgb, var(--surface-pink) 58%, var(--surface));
  border-left: 3px solid var(--gold);
  display: grid;
  gap: 2px;
  padding: 6px 7px;
}

.map-layer-stage-companies b {
  color: var(--burgundy);
  font-size: 0.68rem;
}

.map-layer-stage-companies small {
  color: var(--muted);
  font-size: 0.63rem;
}

.map-layer-provider-strip span {
  background: color-mix(in srgb, var(--blue) 10%, var(--surface));
}

.map-layer-compute-mode {
  background: color-mix(in srgb, var(--blue) 10%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--blue) 32%, var(--line-strong));
  display: grid;
  gap: 3px;
  padding: 7px;
}

.map-layer-compute-mode[data-mode="direct-capacity"] {
  background: color-mix(in srgb, var(--orange) 13%, var(--surface));
  border-color: color-mix(in srgb, var(--orange) 44%, var(--line-strong));
}

.map-layer-compute-mode b {
  color: var(--burgundy);
  font-size: 0.72rem;
}

.map-layer-compute-mode small {
  color: var(--muted);
  font-size: 0.62rem;
}

.map-layer-compute-stack {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

.map-layer-compute-stack > span {
  background: color-mix(in srgb, var(--surface-pink) 48%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 60%, transparent);
  border-left: 3px solid var(--blue);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px 7px;
}

.map-layer-compute-stack > span[data-state="direct"],
.map-layer-compute-stack > span[data-state="diverse"] {
  border-left-color: var(--burgundy);
}

.map-layer-compute-stack > span[data-state="surplus"] {
  border-left-color: var(--green);
}

.map-layer-compute-stack > span[data-state="constraint"] {
  border-left-color: var(--orange);
}

.map-layer-compute-stack b {
  color: var(--muted);
  font-size: 0.56rem;
  text-transform: uppercase;
}

.map-layer-compute-stack strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.map-layer-compute-stack small {
  color: var(--muted);
  font-size: 0.56rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.map-layer-compute-bars {
  display: grid;
  gap: 6px;
}

.map-layer-compute-bars > span {
  display: grid;
  gap: 3px;
}

.map-layer-compute-bars b {
  color: var(--burgundy);
  font-size: 0.66rem;
}

.map-layer-compute-bars i {
  background: color-mix(in srgb, var(--orange) 28%, var(--surface-pink));
  display: block;
  height: 5px;
  overflow: hidden;
  position: relative;
}

.map-layer-compute-bars i::after {
  background: linear-gradient(90deg, var(--blue), var(--orange));
  content: "";
  display: block;
  height: 100%;
  width: var(--bar-width, 0%);
}

.map-layer-provider-grid {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(66px, 1fr));
}

.map-layer-provider-grid > span {
  background: color-mix(in srgb, var(--blue) 9%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 62%, transparent);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
}

.map-layer-provider-grid b,
.map-layer-provider-grid small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-provider-grid b {
  color: var(--burgundy);
  font-size: 0.64rem;
}

.map-layer-provider-grid small {
  color: var(--muted);
  font-size: 0.56rem;
}

.map-layer-compute-context {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.map-layer-compute-context span {
  background: color-mix(in srgb, var(--gold) 12%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 66%, transparent);
  display: grid;
  gap: 2px;
  padding: 5px 6px;
}

.map-layer-compute-context b {
  color: var(--burgundy);
  font-size: 0.62rem;
}

.map-layer-compute-context small {
  color: var(--muted);
  font-size: 0.58rem;
  overflow-wrap: anywhere;
}

.map-layer-capacity-grid {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.map-layer-capacity-grid span {
  background: color-mix(in srgb, var(--surface-pink) 64%, var(--surface));
  border-top: 2px solid var(--blue);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
}

.map-layer-capacity-grid b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-mineral-grid span {
  border-top-color: var(--gold);
}

.map-layer-mineral-mode {
  background: color-mix(in srgb, var(--gold) 17%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--gold) 48%, var(--line-strong));
  display: grid;
  gap: 3px;
  padding: 7px;
}

.map-layer-mineral-mode[data-mode="high-leverage"] {
  background: color-mix(in srgb, var(--orange) 14%, var(--surface));
  border-color: color-mix(in srgb, var(--burgundy) 55%, var(--gold));
}

.map-layer-mineral-mode b {
  color: var(--burgundy);
  font-size: 0.72rem;
}

.map-layer-mineral-mode small {
  color: var(--muted);
  font-size: 0.62rem;
}

.map-layer-mineral-leverage {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.map-layer-mineral-leverage > span {
  background: color-mix(in srgb, var(--surface-pink) 64%, var(--surface));
  border-top: 3px solid var(--gold);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
}

.map-layer-mineral-leverage b {
  color: var(--burgundy);
  font-size: 0.74rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-mineral-leverage small {
  color: var(--muted);
  font-size: 0.56rem;
  line-height: 1.1;
}

.map-layer-mineral-stack {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.map-layer-mineral-stack span {
  background: color-mix(in srgb, var(--gold) 12%, var(--surface));
  border-left: 3px solid var(--gold);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
}

.map-layer-mineral-stack span[data-basis="reserves"] {
  background: color-mix(in srgb, var(--blue) 9%, var(--surface));
  border-left-color: var(--blue);
}

.map-layer-mineral-stack span[data-basis="production-and-reserves"] {
  background: color-mix(in srgb, var(--orange) 10%, var(--surface));
  border-left-color: var(--orange);
}

.map-layer-mineral-stack b {
  color: var(--burgundy);
  font-size: 0.68rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-mineral-stack small {
  color: var(--muted);
  font-size: 0.56rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.map-layer-mineral-bars {
  display: grid;
  gap: 6px;
}

.map-layer-mineral-bars span {
  display: grid;
  gap: 3px;
}

.map-layer-mineral-bars b {
  color: var(--burgundy);
  font-size: 0.64rem;
}

.map-layer-mineral-bars i {
  background:
    linear-gradient(90deg, var(--gold) 0 var(--bar-width), color-mix(in srgb, var(--line) 70%, transparent) var(--bar-width) 100%);
  display: block;
  height: 4px;
  width: 100%;
}

.map-layer-research-system {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.map-layer-research-system > span {
  background: color-mix(in srgb, var(--blue) 8%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 62%, transparent);
  border-left: 3px solid var(--blue);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
}

.map-layer-research-system > span[data-signal="funding"] {
  border-left-color: var(--orange);
}

.map-layer-research-system > span[data-signal="translation"] {
  border-left-color: var(--gold);
}

.map-layer-research-system b {
  color: var(--muted);
  font-size: 0.56rem;
  text-transform: uppercase;
}

.map-layer-research-system strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-layer-research-system small {
  color: var(--muted);
  font-size: 0.56rem;
  line-height: 1.1;
}

.map-layer-research-institutions {
  display: grid;
  gap: 5px;
}

.map-layer-research-institutions a {
  background: color-mix(in srgb, var(--surface-pink) 50%, var(--surface));
  border-left: 3px solid var(--burgundy);
  color: inherit;
  display: grid;
  gap: 2px;
  padding: 6px 7px;
  text-decoration: none;
}

.map-layer-research-institutions a:hover,
.map-layer-research-institutions a:focus-visible {
  background: color-mix(in srgb, var(--gold) 16%, var(--surface));
  outline: 2px solid color-mix(in srgb, var(--gold) 50%, transparent);
  outline-offset: 2px;
}

.map-layer-research-institutions b {
  color: var(--burgundy);
  font-size: 0.66rem;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.map-layer-research-institutions small {
  color: var(--muted);
  font-size: 0.58rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.map-layer-research-bars {
  display: grid;
  gap: 6px;
}

.map-layer-research-bars > span {
  display: grid;
  gap: 3px;
}

.map-layer-research-bars b {
  color: var(--burgundy);
  font-size: 0.64rem;
}

.map-layer-research-bars i {
  background:
    linear-gradient(90deg, var(--orange) 0 var(--bar-width), color-mix(in srgb, var(--line) 70%, transparent) var(--bar-width) 100%);
  display: block;
  height: 4px;
  width: 100%;
}

.map {
  background:
    linear-gradient(rgb(250 238 238 / 80%), rgb(250 238 238 / 80%)),
    url("assets/brand/windfall-world-map.svg") center / min(86%, 980px) auto no-repeat,
    var(--surface-pink);
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow);
  contain: layout paint;
  min-height: 520px;
  overflow: hidden;
  position: relative;
  touch-action: none;
  width: 100%;
}

body[data-inspector-open="true"] .map {
  min-height: 0;
}

.map::before,
.map::after {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 450;
}

.map::before {
  background: var(--burgundy);
  height: 12px;
  left: 0;
  top: 0;
  width: 12px;
}

.map::after {
  background: var(--orange);
  bottom: 0;
  height: 12px;
  right: 0;
  width: min(180px, 28%);
}

.leaflet-control-attribution {
  font-family: var(--font-ui);
  font-size: 10px;
}

.leaflet-control-zoom a {
  border-radius: 0 !important;
  color: var(--burgundy) !important;
  font-family: var(--font-ui);
}

.map path.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.country-tooltip {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  box-shadow: 0 14px 36px rgb(83 21 2 / 18%);
  color: var(--ink);
  font-family: var(--font-body);
  padding: 9px 11px;
}

.country-tooltip span {
  color: var(--muted);
}

.country-tooltip a {
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  text-decoration: none;
}

.country-tooltip a:hover,
.country-tooltip a:focus-visible {
  color: var(--burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ai-lab-marker {
  filter: drop-shadow(0 3px 8px rgb(83 21 2 / 28%));
}

.lab-tooltip-card {
  display: grid;
  gap: 8px;
  max-width: 290px;
}

.lab-tooltip-card strong {
  color: var(--burgundy);
  font-size: 0.98rem;
}

.lab-tooltip-card dl {
  display: grid;
  gap: 5px;
  margin: 0;
}

.lab-tooltip-card dl div {
  display: grid;
  gap: 2px;
}

.lab-tooltip-card dt {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.66rem;
}

.lab-tooltip-card dd {
  margin: 0;
}

.lab-tooltip-card ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 16px;
}

.lab-tooltip-card li {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.25;
}

.lab-tooltip-links {
  display: flex;
  gap: 10px;
}

.strategic-tooltip-card {
  display: grid;
  gap: 7px;
  max-width: 320px;
  min-width: 230px;
}

.strategic-tooltip-card strong {
  color: var(--burgundy);
  font-size: 1rem;
  line-height: 1.05;
}

.strategic-tooltip-card > span,
.strategic-tooltip-card > em,
.strategic-tooltip-card > p {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.28;
}

.strategic-tooltip-card > em {
  color: var(--burgundy);
  font-style: normal;
}

.strategic-tooltip-card dl {
  display: grid;
  gap: 5px;
  margin: 0;
}

.strategic-tooltip-card dl div {
  align-items: baseline;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.strategic-tooltip-card dt {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  min-width: 0;
}

.strategic-tooltip-card dd {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  margin: 0;
  white-space: nowrap;
}

.strategic-tooltip-card > p {
  border-top: 1px solid var(--line);
  margin: 0;
  padding-top: 6px;
}

.map-error {
  align-content: center;
  background: var(--surface);
  color: var(--burgundy);
  display: grid;
  gap: 8px;
  inset: 18px;
  justify-items: start;
  padding: 18px;
  position: absolute;
  z-index: 500;
}

.map-error strong {
  font-family: var(--font-display);
  font-size: 1.2rem;
  line-height: 1;
}

.map-error span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  line-height: 1.3;
}

.legend {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.legend > span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.legend-heading {
  color: var(--burgundy);
  font-weight: 700;
}

.legend i {
  flex: 0 0 auto;
}

.legend-primary {
  background: var(--blue);
  border: 1px solid var(--burgundy);
  display: inline-block;
  height: 11px;
  width: 22px;
}

.legend-lab {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  border-radius: 999px;
  display: inline-block;
  height: 11px;
  width: 11px;
}

.legend-coverage {
  background: linear-gradient(90deg, #f2b7aa 0 50%, #ead8d2 50% 100%);
  border: 1px solid var(--burgundy);
  display: inline-block;
  height: 11px;
  width: 22px;
}

.legend-blank {
  background: #f7eeee;
  border: 1px solid #b17668;
  display: inline-block;
  height: 11px;
  width: 22px;
}

.legend-score-high,
.legend-score-low {
  background: var(--legend-color);
  border: 1px solid var(--burgundy);
  display: inline-block;
  height: 11px;
  width: 22px;
}

.legend-semiconductor {
  background: linear-gradient(90deg, var(--orange) 0 34%, var(--gold) 34% 68%, var(--blue) 68% 100%);
  border: 1px solid var(--burgundy);
  display: inline-block;
  height: 11px;
  width: 22px;
}

.inspector {
  background:
    linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%);
  border-left: 1px solid var(--line-strong);
  display: grid;
  gap: 0;
  grid-template-rows: auto minmax(0, auto) minmax(0, 1fr);
  max-height: 100vh;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

body[data-inspector-open="false"] .inspector {
  display: none;
}

body[data-inspector-open="true"] .inspector {
  display: flex;
  flex-direction: column;
}

body[data-country-mode="true"] .inspector {
  border-left: 1px solid var(--line-strong);
  display: flex;
  flex-direction: column;
  max-height: 100vh;
  min-height: 0;
  overflow-y: auto;
  width: 100%;
}

body[data-selection-state="empty"] .selected-panel .panel-heading,
body[data-selection-state="empty"] .profile-panel,
body[data-selection-state="empty"] .compare-panel {
  display: none;
}

body[data-country-mode="true"] .profile-panel,
body[data-country-mode="true"] .compare-panel {
  border-bottom: 0;
  margin: 0;
  max-width: none;
  padding: clamp(20px, 3vw, 44px);
  width: 100%;
}

body[data-country-mode="true"] .compare-panel {
  padding-top: 0;
}

body[data-inspector-open="true"] .selected-panel {
  order: 1;
}

body[data-inspector-open="true"] .profile-panel {
  order: 2;
}

body[data-inspector-open="true"] .compare-panel {
  max-height: min(540px, 64vh);
  order: 3;
  overflow-y: auto;
}

.panel {
  border-bottom: var(--hairline);
  min-width: 0;
  overflow-x: clip;
  padding: clamp(18px, 2vw, 26px);
}

body[data-inspector-open="true"] .panel {
  flex: 0 0 auto;
  padding: clamp(16px, 1.7vw, 22px);
}

.selected-panel {
  background: var(--burgundy);
  color: var(--pink);
  position: relative;
}

body[data-selection-state="empty"] .selected-panel {
  background:
    linear-gradient(180deg, var(--burgundy) 0%, var(--burgundy-deep) 100%);
  min-height: 100%;
}

.selected-panel::before {
  background: var(--orange);
  content: "";
  height: 8px;
  left: 0;
  position: absolute;
  top: 0;
  width: 35%;
}

.selected-panel .eyebrow,
.selected-panel .empty-title {
  color: var(--pink);
}

.selected-panel .empty-state,
.selected-panel #compare-count {
  color: rgb(245 225 225 / 78%);
}

.panel-heading {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

#clear-selection {
  background: transparent;
  border-color: rgb(245 225 225 / 38%);
  color: var(--pink);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  padding: 7px 10px;
}

#clear-selection:hover,
#clear-selection:focus-visible {
  border-color: var(--orange-soft);
}

.selected-countries {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.selection-stack {
  display: grid;
  gap: 16px;
}

.selection-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.country-chip {
  align-items: center;
  background: rgb(245 225 225 / 8%);
  border: 1px solid rgb(245 225 225 / 32%);
  color: var(--pink);
  display: inline-flex;
  gap: 7px;
  padding: 7px 11px;
}

.country-chip[data-active="true"] {
  background: var(--pink);
  border-color: var(--pink);
  color: var(--burgundy);
  box-shadow: inset 0 -3px 0 var(--orange);
}

.country-chip span {
  color: currentColor;
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  opacity: 0.72;
}

.sidebar-compare-picker {
  background: rgb(245 225 225 / 10%);
  border: 1px solid rgb(245 225 225 / 24%);
  display: grid;
  gap: 10px;
  padding: 13px;
}

.sidebar-compare-picker strong {
  color: var(--pink);
  display: block;
  font-size: 0.94rem;
  line-height: 1.2;
}

.sidebar-compare-picker .profile-compare-input-row input {
  border-color: rgb(245 225 225 / 42%);
}

.sidebar-compare-picker .profile-compare-input-row button {
  background: var(--pink);
  border-color: var(--pink);
  color: var(--burgundy);
}

.country-browser-panel {
  background: var(--paper);
}

.country-browser-panel .panel-heading span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.country-ranking {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  margin-top: 12px;
}

.ranking-controls {
  background: var(--surface-pink);
  border: var(--hairline);
  display: grid;
  gap: 9px;
  padding: 10px;
}

.ranking-controls label {
  color: var(--muted);
  display: grid;
  font-size: 0.72rem;
  gap: 5px;
}

.ranking-controls input,
.ranking-controls select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--burgundy);
  min-height: 34px;
  min-width: 0;
  padding: 6px 8px;
}

.ranking-filter-row {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ranking-filter-row[aria-label="Data availability"] {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.ranking-summary {
  align-items: baseline;
  border-bottom: 1px solid var(--line-strong);
  color: var(--muted);
  display: flex;
  gap: 5px;
  justify-content: flex-end;
  margin-top: 10px;
  padding-bottom: 7px;
}

.ranking-summary strong {
  color: var(--burgundy);
}

.ranking-list {
  display: grid;
}

.ranking-row {
  align-items: center;
  border-bottom: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(66px, auto) auto;
  min-width: 0;
  padding: 9px 0;
}

.ranking-row[data-active="true"] {
  box-shadow: inset 3px 0 0 var(--orange);
  padding-left: 8px;
}

.ranking-row[data-selected="true"] .ranking-rank {
  background: var(--burgundy);
  color: var(--pink);
}

.ranking-main {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--burgundy);
  display: grid;
  gap: 9px;
  grid-template-columns: 42px minmax(0, 1fr);
  min-width: 0;
  padding: 0;
  text-align: left;
}

.ranking-main:hover strong,
.ranking-main:focus-visible strong {
  color: var(--orange);
}

.ranking-rank {
  align-items: center;
  border: 1px solid var(--line-strong);
  color: var(--muted);
  display: inline-flex;
  font-size: 0.68rem;
  justify-content: center;
  min-height: 26px;
  width: 42px;
}

.ranking-country {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ranking-country strong {
  color: var(--burgundy);
  font-size: 0.84rem;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 130ms ease;
  white-space: nowrap;
}

.ranking-country small {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.16;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ranking-row-meta {
  display: grid;
  gap: 1px;
  justify-items: end;
  min-width: 0;
  text-align: right;
}

.ranking-row-meta strong {
  color: var(--burgundy);
  font-size: 0.88rem;
}

.ranking-row-meta strong.missing {
  color: var(--muted);
  font-weight: 400;
}

.ranking-row-meta strong.review,
.ranking-row-meta strong.pending {
  color: var(--orange);
}

.ranking-row-meta span {
  color: var(--muted);
  font-size: 0.68rem;
  white-space: nowrap;
}

.ranking-action {
  background: var(--surface);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  min-width: 47px;
  padding: 6px 8px;
}

body[data-inspector-open="true"] .ranking-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

body[data-inspector-open="true"] .ranking-action {
  grid-column: 1 / -1;
  justify-self: start;
}

.ranking-action:hover,
.ranking-action:focus-visible {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--pink);
}

.profile-title {
  display: grid;
  gap: 7px;
  margin-bottom: 22px;
}

.country-workspace {
  display: grid;
  gap: clamp(18px, 2vw, 28px);
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.headline-dashboard {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  box-shadow: 0 18px 58px rgb(83 21 2 / 10%);
  container-type: inline-size;
  display: grid;
  gap: 18px;
  max-width: 100%;
  min-width: 0;
  padding: clamp(18px, 2.4vw, 30px);
}

.country-workspace > *,
.headline-category,
.headline-composite {
  max-width: 100%;
  min-width: 0;
}

.headline-dashboard-head {
  align-items: end;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.headline-dashboard-head h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 2.8vw, 2.7rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.96;
  margin: 4px 0 10px;
}

.headline-dashboard-head p:last-child {
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: 1.45;
  margin: 0;
  max-width: 720px;
}

.headline-dashboard-key {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.headline-dashboard-key span,
.headline-dashboard-key a,
.headline-dashboard-key button {
  background: color-mix(in srgb, var(--blue) 7%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--blue) 28%, var(--line));
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.2;
  padding: 7px 9px;
  text-decoration: none;
}

.headline-dashboard-key span.is-prototype {
  background: color-mix(in srgb, var(--gold) 18%, var(--surface));
  border-color: color-mix(in srgb, var(--gold) 55%, var(--line));
}

.headline-dashboard-key a {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.headline-dashboard-key button {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--burgundy-deep);
  cursor: pointer;
  font-weight: 700;
}

.headline-dashboard-key button[aria-expanded="true"] {
  background: var(--surface);
  border-color: var(--orange);
  color: var(--burgundy);
}

.headline-dashboard-key a:hover,
.headline-dashboard-key a:focus-visible,
.headline-dashboard-key button:hover,
.headline-dashboard-key button:focus-visible {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--burgundy-deep);
}

.headline-country-readout {
  align-items: stretch;
  background: var(--burgundy);
  color: var(--surface);
  display: grid;
  gap: 1px;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.4fr);
}

.headline-country-readout-copy {
  display: grid;
  gap: 7px;
  padding: clamp(16px, 2vw, 24px);
}

.headline-country-readout-copy > span {
  color: color-mix(in srgb, var(--surface) 72%, var(--orange));
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  text-transform: uppercase;
}

.headline-country-readout-copy h3 {
  color: var(--surface);
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.75rem);
  line-height: 1.05;
  margin: 0;
}

.headline-country-readout-copy p {
  color: color-mix(in srgb, var(--surface) 82%, transparent);
  font-size: var(--fs-label);
  line-height: 1.48;
  margin: 0;
}

.headline-country-signals {
  background: color-mix(in srgb, var(--surface) 8%, transparent);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.headline-evidence-chip {
  align-content: center;
  background: color-mix(in srgb, var(--surface) 8%, transparent);
  color: var(--surface);
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  text-decoration: none;
}

.headline-evidence-chip:hover,
.headline-evidence-chip:focus-visible {
  background: color-mix(in srgb, var(--orange) 25%, transparent);
}

.headline-evidence-chip span,
.headline-evidence-chip small {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
}

.headline-evidence-chip span {
  color: color-mix(in srgb, var(--surface) 80%, transparent);
}

.headline-evidence-chip strong {
  color: var(--surface);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1;
}

.headline-evidence-chip small {
  color: color-mix(in srgb, var(--surface) 65%, transparent);
}

.headline-weight-controls {
  align-items: center;
  background: color-mix(in srgb, var(--blue) 4%, var(--surface));
  border-block: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.62fr) auto;
  margin-inline: calc(clamp(18px, 2.4vw, 30px) * -1);
  padding: 13px clamp(18px, 2.4vw, 30px);
}

.headline-weight-controls > div {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.headline-country-comparison {
  background: color-mix(in srgb, var(--blue) 3%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--blue) 34%, var(--line));
  display: grid;
}

.headline-comparison-head {
  align-items: end;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 18px clamp(18px, 2.4vw, 30px) 14px;
}

.headline-comparison-head h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.05;
  margin: 3px 0 6px;
}

.headline-comparison-head > div:first-child > p:last-child {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
  max-width: 640px;
}

.headline-comparison-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.headline-comparison-tabs button {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  min-height: 34px;
  padding: 7px 10px;
}

.headline-comparison-tabs button + button {
  border-left: 0;
}

.headline-comparison-tabs button[aria-selected="true"] {
  background: var(--burgundy);
  color: var(--surface);
}

.headline-metric-compare-head {
  align-items: end;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, auto);
  padding: 16px clamp(18px, 2.4vw, 30px);
}

.headline-metric-compare-head label,
.headline-metric-compare-head > div {
  display: grid;
  gap: 5px;
}

.headline-metric-compare-head label > span,
.headline-metric-compare-head > div > span,
.headline-metric-compare-head > div > small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.2;
}

.headline-metric-compare-head select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--ink);
  font-family: var(--font-ui);
  min-height: 42px;
  padding: 8px 10px;
  width: 100%;
}

.headline-metric-compare-head > div {
  justify-items: end;
  text-align: right;
}

.headline-metric-compare-head > div > strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.65rem;
  line-height: 1;
}

.headline-peer-summary {
  align-items: stretch;
  border-block: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  padding-inline: clamp(18px, 2.4vw, 30px);
}

.headline-peer-summary > span {
  border-right: 1px solid var(--line);
  display: grid;
  gap: 2px;
  padding: 10px 12px;
}

.headline-peer-summary small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-peer-summary strong {
  color: var(--ink);
  font-size: var(--fs-label);
}

.headline-peer-summary > a {
  align-content: center;
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  padding: 10px 12px;
}

.headline-country-measure-list {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1px;
}

.headline-country-measure {
  align-items: center;
  background: var(--surface);
  border: 0;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 2ch minmax(112px, 0.65fr) minmax(80px, 1fr) auto;
  min-height: 50px;
  padding: 9px 12px;
  text-align: left;
}

.headline-country-measure-rank {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-style: normal;
  text-align: right;
}

.headline-country-measure:hover,
.headline-country-measure:focus-visible,
.headline-country-measure.is-selected {
  background: color-mix(in srgb, var(--orange) 10%, var(--surface));
}

.headline-country-measure > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.headline-country-measure b,
.headline-country-measure strong,
.headline-country-measure small {
  font-family: var(--font-ui);
}

.headline-country-measure b {
  color: var(--burgundy);
  font-size: var(--fs-caption);
}

.headline-country-measure small {
  color: var(--muted);
  font-size: var(--fs-micro);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.headline-country-measure > i {
  background: var(--line);
  display: block;
  height: 3px;
  position: relative;
}

.headline-country-measure > i::before {
  background: var(--burgundy);
  content: "";
  height: 9px;
  left: 50%;
  position: absolute;
  top: -3px;
  width: 1px;
}

.headline-country-measure > i em {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  height: 9px;
  left: var(--headline-position);
  position: absolute;
  top: -3px;
  transform: translateX(-50%);
  width: 9px;
}

.headline-country-measure > strong {
  font-size: var(--fs-label);
  text-align: right;
}

.headline-comparison-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.34fr);
  min-width: 0;
}

.headline-scatter-stage {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding: 12px 14px 4px;
}

.headline-scatter-mobile {
  display: none;
}

.headline-scatter {
  display: block;
  height: auto;
  overflow: visible;
  width: 100%;
}

.headline-scatter-quadrant-fields rect {
  opacity: 0.55;
}

.headline-scatter-quadrant-fields .is-lower-stronger {
  fill: color-mix(in srgb, var(--blue) 8%, var(--surface));
}

.headline-scatter-quadrant-fields .is-higher-stronger {
  fill: color-mix(in srgb, var(--gold) 12%, var(--surface));
}

.headline-scatter-quadrant-fields .is-lower-limited {
  fill: color-mix(in srgb, var(--pink) 14%, var(--surface));
}

.headline-scatter-quadrant-fields .is-higher-limited {
  fill: color-mix(in srgb, var(--orange) 10%, var(--surface));
}

.headline-scatter-grid line {
  stroke: color-mix(in srgb, var(--line) 72%, transparent);
  stroke-width: 1;
}

.headline-scatter-medians line {
  stroke: color-mix(in srgb, var(--burgundy) 58%, var(--line));
  stroke-dasharray: 5 5;
  stroke-width: 1.4;
}

.headline-scatter-quadrants text,
.headline-scatter-ticks text,
.headline-scatter-axis-title {
  fill: var(--muted);
  font-family: var(--font-ui);
}

.headline-scatter-quadrants text {
  font-size: var(--fs-caption);
  font-weight: 700;
}

.headline-scatter-ticks text {
  font-size: var(--fs-micro);
}

.headline-scatter-axis-title {
  fill: var(--ink);
  font-size: var(--fs-label);
  font-weight: 700;
}

.headline-scatter-leader {
  stroke: color-mix(in srgb, var(--burgundy) 48%, var(--line));
  stroke-width: 1;
}

.headline-scatter-point {
  cursor: pointer;
  outline: none;
}

.headline-scatter-point circle {
  fill: var(--surface);
  stroke: color-mix(in srgb, var(--blue) 70%, var(--burgundy));
  stroke-width: 2;
  transition: fill 120ms ease, stroke-width 120ms ease;
}

.headline-scatter-point text {
  fill: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  pointer-events: none;
}

.headline-scatter-point[data-focused="true"] circle,
.headline-scatter-point:hover circle,
.headline-scatter-point:focus-visible circle {
  fill: var(--orange);
  stroke: var(--burgundy);
  stroke-width: 3;
}

.headline-scatter-point[data-focused="true"] text,
.headline-scatter-point:hover text,
.headline-scatter-point:focus-visible text {
  fill: var(--burgundy-deep);
}

.headline-comparison-details {
  background: var(--surface);
  min-width: 0;
  padding: 18px;
}

.headline-comparison-details article {
  display: grid;
  gap: 12px;
}

.headline-comparison-details article[hidden] {
  display: none;
}

.headline-comparison-details h4 {
  color: var(--burgundy);
  font-size: var(--fs-lead);
  line-height: 1.15;
  margin: 0;
}

.headline-comparison-details article > p:not(.eyebrow) {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.42;
  margin: 0;
}

.headline-comparison-details dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.headline-comparison-details dl div {
  border-top: 2px solid var(--line-strong);
  display: grid;
  gap: 3px;
  padding-top: 8px;
}

.headline-comparison-details dt,
.headline-comparison-details dd small,
.headline-comparison-drivers span,
.headline-comparison-drivers small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
}

.headline-comparison-details dd {
  color: var(--burgundy);
  display: grid;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.headline-comparison-details dd small {
  font-weight: 500;
}

.headline-comparison-drivers {
  border-block: 1px solid var(--line);
  display: grid;
}

.headline-comparison-drivers p {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 9px 0;
}

.headline-comparison-drivers p + p {
  border-top: 1px solid var(--line);
}

.headline-comparison-drivers strong {
  color: var(--ink);
  font-size: var(--fs-caption);
  line-height: 1.25;
}

.headline-comparison-details button {
  background: var(--burgundy);
  border: 1px solid var(--burgundy);
  color: var(--surface);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  min-height: 36px;
  padding: 8px 10px;
  width: 100%;
}

.headline-comparison-details button:hover,
.headline-comparison-details button:focus-visible {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--burgundy-deep);
}

.headline-comparison-note {
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 8px 14px;
  justify-content: space-between;
  padding: 9px clamp(18px, 2.4vw, 30px);
}

.headline-comparison-note a {
  color: var(--burgundy);
  font-weight: 700;
  text-underline-offset: 2px;
}

.headline-control-label {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  text-transform: uppercase;
}

.headline-weight-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.headline-weight-modes button,
.headline-weight-reset {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  line-height: 1.2;
  min-height: 34px;
  padding: 7px 10px;
}

.headline-weight-modes button + button {
  border-left: 0;
}

.headline-weight-modes button:hover,
.headline-weight-modes button:focus-visible,
.headline-weight-modes button.is-active {
  background: var(--burgundy);
  color: var(--surface);
}

.headline-weight-controls > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.4;
  margin: 0;
}

.headline-weight-controls > p strong {
  color: var(--ink);
  display: block;
}

.headline-weight-reset {
  border-color: var(--burgundy);
  color: var(--burgundy);
  white-space: nowrap;
}

.headline-weight-reset:hover,
.headline-weight-reset:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
}

.headline-binding-constraint {
  background: var(--burgundy);
  color: var(--surface);
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
  padding: clamp(16px, 2vw, 24px);
}

.headline-binding-copy > span {
  color: color-mix(in srgb, var(--surface) 72%, var(--orange));
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  text-transform: uppercase;
}

.headline-binding-copy h3 {
  color: var(--surface);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.9rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  margin: 7px 0 9px;
}

.headline-binding-copy p {
  color: color-mix(in srgb, var(--surface) 83%, transparent);
  font-size: var(--fs-label);
  line-height: 1.5;
  margin: 0;
  max-width: 760px;
}

.headline-binding-copy p strong {
  color: var(--surface);
}

.headline-binding-gaps {
  align-self: stretch;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.headline-binding-gaps > span {
  align-content: center;
  background: color-mix(in srgb, var(--surface) 9%, transparent);
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px;
}

.headline-binding-gaps b,
.headline-binding-gaps small {
  font-family: var(--font-ui);
}

.headline-binding-gaps b {
  font-size: var(--fs-micro);
  line-height: 1.15;
}

.headline-binding-gaps em {
  color: var(--orange);
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}

.headline-binding-gaps .is-buffer em {
  color: color-mix(in srgb, var(--blue) 35%, white);
}

.headline-binding-gaps small {
  color: color-mix(in srgb, var(--surface) 65%, transparent);
  font-size: var(--fs-micro);
  line-height: 1.2;
}

.headline-axis-labels,
.headline-category {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(138px, 0.52fr) repeat(2, minmax(240px, 1fr));
}

.headline-axis-labels {
  align-items: stretch;
  color: var(--burgundy);
  font-family: var(--font-ui);
  padding: 0;
}

.headline-domain-label {
  align-self: end;
  color: var(--muted);
  font-size: var(--fs-micro);
  padding: 0 10px 10px;
  text-transform: uppercase;
}

.headline-axis-heading {
  border-bottom: 3px solid currentColor;
  display: grid;
  gap: 3px;
  padding: 10px 12px 9px;
}

.headline-axis-heading-exposure {
  background: color-mix(in srgb, var(--orange) 7%, var(--surface));
  color: var(--burgundy);
}

.headline-axis-heading-capacity {
  background: color-mix(in srgb, var(--blue) 6%, var(--surface));
  color: var(--blue);
}

.headline-axis-heading strong {
  font-size: 1.16rem;
  line-height: 1;
  text-transform: uppercase;
}

.headline-axis-labels small {
  color: var(--muted);
  display: block;
  font-size: var(--fs-label);
  font-weight: 400;
}

.headline-category-list {
  display: grid;
}

.headline-category {
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
}

.headline-category:first-child {
  padding-top: 0;
}

.headline-category:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.headline-category-name {
  align-content: start;
  display: grid;
  gap: 5px;
  padding: 14px 10px 0 0;
}

.headline-category-name > span {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.34rem;
  font-weight: 600;
  line-height: 1.08;
}

.headline-category-name small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.3;
}

.headline-composite {
  align-self: start;
  background: color-mix(in srgb, var(--orange) 4%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--orange) 38%, var(--line));
  color: var(--ink);
  cursor: pointer;
  display: grid;
  font: inherit;
  min-height: 148px;
  min-width: 0;
  padding: 17px 46px 16px 17px;
  position: relative;
  text-align: left;
  width: 100%;
}

.headline-composite-capacity {
  background: color-mix(in srgb, var(--blue) 3%, var(--surface));
  border-color: color-mix(in srgb, var(--blue) 30%, var(--line));
}

.headline-composite::after {
  align-items: center;
  border: 1px solid currentColor;
  color: var(--burgundy);
  content: "+";
  display: flex;
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  height: 25px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 25px;
}

.headline-composite-capacity::after {
  color: var(--blue);
}

.headline-composite.is-selected::after {
  content: "−";
}

.headline-composite:hover,
.headline-composite:focus-visible,
.headline-composite.is-selected {
  background: color-mix(in srgb, var(--orange) 8%, transparent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--orange) 68%, transparent);
  outline: none;
}

.headline-composite-capacity:hover,
.headline-composite-capacity:focus-visible,
.headline-composite-capacity.is-selected {
  background: color-mix(in srgb, var(--blue) 6%, transparent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--blue) 58%, transparent);
}

.headline-composite-summary {
  align-content: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}

.headline-composite-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding-right: 8px;
}

.headline-composite-summary strong {
  color: var(--ink);
  font-size: 1.18rem;
  line-height: 1.12;
}

.headline-composite-summary small {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.3;
}

.headline-focus-prompt {
  align-items: center;
  border-block: 1px solid var(--line);
  display: grid;
  gap: 8px 24px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 14px 0;
}

.headline-focus-prompt span,
.headline-focus-reading > span,
.headline-focus-range-plot figcaption span,
.headline-evidence-group > header > span {
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-focus-prompt p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
}

.headline-focus-workspace {
  background: color-mix(in srgb, var(--orange) 3%, var(--surface));
  border-block: 2px solid var(--burgundy);
  display: grid;
  margin-inline: calc(clamp(18px, 2.4vw, 30px) * -1);
  scroll-margin-top: 18px;
}

.headline-focus-capacity {
  background: color-mix(in srgb, var(--blue) 2%, var(--surface));
  border-block-color: var(--blue);
}

.headline-focus-header {
  align-items: start;
  display: grid;
  gap: 18px 28px;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto) auto;
  padding: 24px clamp(18px, 2.4vw, 30px) 22px;
}

.headline-focus-header h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  line-height: 1;
  margin: 4px 0 9px;
}

.headline-focus-capacity .headline-focus-header h3 {
  color: var(--blue);
}

.headline-focus-header > div > p:last-child {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.5;
  margin: 0;
  max-width: 760px;
}

.headline-focus-header > button {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  padding: 8px 10px;
}

.headline-focus-header > button:hover,
.headline-focus-header > button:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
}

.headline-focus-score {
  align-content: start;
  border-left: 1px solid var(--line);
  display: grid;
  gap: 2px;
  justify-items: start;
  padding-left: 26px;
}

.headline-focus-score > span {
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-focus-score > strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  font-weight: 600;
  line-height: 0.9;
}

.headline-focus-score > strong small {
  color: var(--muted);
  font-size: 0.38em;
  font-weight: 400;
  margin-left: 3px;
}

.headline-focus-capacity .headline-focus-score > strong {
  color: var(--blue);
}

.headline-focus-score > b {
  color: var(--ink);
  font-size: var(--fs-label);
  font-weight: 700;
  margin-top: 4px;
}

.headline-focus-score-scale {
  background: color-mix(in srgb, var(--line-strong) 45%, var(--surface));
  display: block;
  height: 6px;
  margin-top: 9px;
  position: relative;
  width: 100%;
}

.headline-focus-score-scale u {
  background: color-mix(in srgb, var(--orange) 32%, var(--surface));
  bottom: 0;
  display: block;
  left: var(--range-start);
  position: absolute;
  top: 0;
  width: calc(var(--range-end) - var(--range-start));
}

.headline-focus-score-scale em {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  display: block;
  height: 12px;
  left: var(--headline-position);
  position: absolute;
  top: -3px;
  transform: translateX(-50%);
  width: 12px;
}

.headline-focus-capacity .headline-focus-score-scale u {
  background: color-mix(in srgb, var(--blue) 24%, var(--surface));
}

.headline-focus-capacity .headline-focus-score-scale em {
  background: var(--blue);
  border-color: var(--blue);
}

.headline-focus-score > small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.35;
  margin-top: 5px;
  max-width: 210px;
}

.headline-focus-score.is-unscored > strong {
  color: var(--muted);
  font-size: 1.35rem;
  line-height: 1.15;
}

.headline-focus-score.is-unscored > p {
  color: var(--muted);
  font-size: var(--fs-caption);
  line-height: 1.4;
  margin: 4px 0 0;
  max-width: 210px;
}

.headline-focus-score-scale .is-peer {
  background: color-mix(in srgb, var(--muted) 38%, transparent);
  border: 0;
  height: 8px;
  top: -1px;
  width: 3px;
}

.headline-focus-verdict {
  color: var(--ink);
  font-size: var(--fs-body);
  font-weight: 550;
  line-height: 1.45;
  margin: 0 0 7px;
  max-width: 760px;
}

.headline-focus-verdict b {
  color: var(--burgundy);
  font-weight: 700;
}

.headline-focus-capacity .headline-focus-verdict b {
  color: var(--blue);
}

.headline-focus-crosslink {
  background: transparent;
  border: 0;
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  justify-self: start;
  margin-top: 9px;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.headline-focus-capacity .headline-focus-crosslink {
  color: var(--blue);
}

.headline-focus-crosslink:hover,
.headline-focus-crosslink:focus-visible {
  color: var(--orange-hot);
}

.headline-focus-header > div {
  display: grid;
  justify-items: start;
}

.headline-focus-sticky {
  align-items: center;
  background: color-mix(in srgb, var(--orange) 4%, var(--surface));
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 12px;
  opacity: 0;
  padding: 9px clamp(18px, 2.4vw, 30px);
  pointer-events: none;
  position: sticky;
  top: 0;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 30;
}

.headline-focus-capacity .headline-focus-sticky {
  background: color-mix(in srgb, var(--blue) 3%, var(--surface));
}

.headline-focus-sticky.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.headline-focus-sticky > span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-focus-capacity .headline-focus-sticky > span {
  color: var(--blue);
}

.headline-focus-sticky > b {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  font-weight: 600;
  line-height: 1;
}

.headline-focus-capacity .headline-focus-sticky > b {
  color: var(--blue);
}

.headline-focus-sticky > i {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-style: normal;
  font-weight: 700;
}

.headline-focus-sticky > button {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  margin-left: auto;
  padding: 4px 8px;
}

.headline-focus-sticky > button:hover,
.headline-focus-sticky > button:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
}

.headline-focus-explorer {
  border-top: 1px solid var(--line);
}

.headline-focus-explorer > summary {
  align-items: baseline;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  list-style: none;
  padding: 16px clamp(18px, 2.4vw, 30px);
}

.headline-focus-explorer > summary::-webkit-details-marker {
  display: none;
}

.headline-focus-explorer > summary::before {
  color: var(--orange);
  content: "+";
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  font-weight: 600;
  line-height: 1;
}

.headline-focus-explorer[open] > summary::before {
  content: "−";
}

.headline-focus-capacity .headline-focus-explorer > summary::before {
  color: var(--blue);
}

.headline-focus-explorer > summary:hover span,
.headline-focus-explorer > summary:focus-visible span {
  color: var(--orange-hot);
}

.headline-focus-explorer > summary span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-focus-capacity .headline-focus-explorer > summary span {
  color: var(--blue);
}

.headline-focus-explorer > summary small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-focus-explorer-body {
  display: grid;
}

/* Focus workspace entry motion */
.headline-focus-workspace.is-entering {
  animation: headline-focus-enter 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.headline-focus-workspace.is-entering .headline-focus-header > div,
.headline-focus-workspace.is-entering .headline-focus-score,
.headline-focus-workspace.is-entering .headline-focus-range-plot,
.headline-focus-workspace.is-entering .headline-focus-reading {
  animation: headline-focus-rise 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.headline-focus-workspace.is-entering .headline-focus-score {
  animation-delay: 0.08s;
}

.headline-focus-workspace.is-entering .headline-focus-range-plot {
  animation-delay: 0.14s;
}

.headline-focus-workspace.is-entering .headline-focus-reading {
  animation-delay: 0.2s;
}

.headline-focus-workspace.is-entering .headline-focus-range-plot li {
  animation: headline-focus-rise 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.headline-focus-workspace.is-entering .headline-focus-range-plot li:nth-child(2) {
  animation-delay: 0.24s;
}

.headline-focus-workspace.is-entering .headline-focus-range-plot li:nth-child(3) {
  animation-delay: 0.3s;
}

.headline-focus-workspace.is-entering .headline-focus-range-plot li:nth-child(n + 4) {
  animation-delay: 0.36s;
}

.headline-focus-workspace.is-entering .headline-score-subpillars > span {
  animation: headline-focus-rise 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.headline-focus-workspace.is-entering .headline-score-subpillars > span:nth-child(2) {
  animation-delay: 0.26s;
}

.headline-focus-workspace.is-entering .headline-score-subpillars > span:nth-child(n + 3) {
  animation-delay: 0.32s;
}

.headline-focus-workspace.is-entering .headline-focus-score-scale em:not(.is-peer) {
  animation: headline-focus-marker 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) 0.15s backwards;
}

@keyframes headline-focus-enter {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
}

@keyframes headline-focus-rise {
  from {
    opacity: 0;
    transform: translateY(9px);
  }
}

@keyframes headline-focus-marker {
  from {
    left: 0%;
  }
}

.headline-focus-overview {
  border-block: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(220px, 0.7fr);
}

.headline-focus-range-plot {
  display: grid;
  gap: 16px;
  margin: 0;
  min-width: 0;
  padding: 20px clamp(18px, 2.4vw, 30px);
}

.headline-focus-range-plot figcaption {
  display: grid;
  gap: 4px;
}

.headline-focus-range-plot figcaption strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1.22;
  max-width: 620px;
}

.headline-focus-capacity .headline-focus-range-plot figcaption strong {
  color: var(--blue);
}

.headline-focus-range-plot ol {
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.headline-focus-range-plot li {
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(145px, 0.62fr) minmax(160px, 1fr);
}

.headline-focus-range-plot li > div {
  display: grid;
  gap: 2px;
  grid-row: 1 / span 2;
}

.headline-focus-range-plot li > div span,
.headline-focus-range-plot li > small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
}

.headline-focus-range-plot li > div strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.3rem;
  line-height: 1;
}

.headline-focus-range-plot li > small {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.headline-focus-capacity .headline-focus-range-plot li > div strong {
  color: var(--blue);
}

.headline-focus-range-plot li > i,
.headline-focus-metric-track {
  align-self: end;
  background: color-mix(in srgb, var(--line-strong) 45%, var(--surface));
  display: block;
  height: 6px;
  position: relative;
}

.headline-focus-range-plot li > i em,
.headline-focus-metric-track em {
  display: block;
  left: var(--headline-position);
  position: absolute;
  transform: translateX(-50%);
}

.headline-focus-range-plot li > i .is-median {
  background: var(--muted);
  height: 12px;
  top: -3px;
  width: 1px;
}

.headline-focus-range-plot li > i .is-country,
.headline-focus-metric-track em {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  height: 12px;
  top: -3px;
  width: 12px;
}

.headline-focus-capacity .headline-focus-range-plot li > i .is-country,
.headline-focus-capacity .headline-focus-metric-track em {
  background: var(--blue);
  border-color: var(--blue);
}

.headline-focus-range-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.headline-focus-range-legend span {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 5px;
}

.headline-focus-range-legend i {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  height: 8px;
  width: 8px;
}

.headline-focus-range-legend span + span i {
  background: var(--muted);
  border: 0;
  height: 9px;
  width: 1px;
}

.headline-focus-reading {
  align-content: start;
  border-left: 1px solid var(--line);
  display: grid;
  gap: 7px;
  padding: 20px clamp(18px, 2.4vw, 30px);
}

.headline-focus-reading p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
}

.headline-focus-reading a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  margin-top: 5px;
  text-underline-offset: 2px;
}

.headline-evidence-basis {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 6px;
  margin-top: 7px;
  padding-top: 11px;
}

.headline-evidence-basis-title {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  justify-content: space-between;
}

.headline-evidence-basis-title span,
.headline-evidence-basis p,
.headline-evidence-basis small {
  font-family: var(--font-ui);
}

.headline-evidence-basis-title span {
  color: var(--muted);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-evidence-basis-title strong {
  color: var(--ink);
  font-size: var(--fs-caption);
}

.headline-evidence-basis-bar {
  background: var(--line);
  display: flex;
  height: 6px;
  overflow: hidden;
}

.headline-evidence-basis-bar i {
  flex: var(--evidence-count) 0 0;
  min-width: 3px;
}

.headline-evidence-basis-bar .is-current {
  background: var(--blue);
}

.headline-evidence-basis-bar .is-aging {
  background: var(--gold);
}

.headline-evidence-basis-bar .is-stale {
  background: var(--orange);
}

.headline-evidence-basis-bar .is-missing {
  background: var(--muted);
}

.headline-evidence-basis p {
  color: var(--ink);
  font-size: var(--fs-micro);
}

.headline-evidence-basis small {
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.4;
}

.headline-labor-share-chart {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 10px clamp(20px, 3vw, 42px);
  grid-template-columns: minmax(180px, 0.52fr) minmax(0, 1.48fr);
  margin: 0;
  padding: 22px clamp(18px, 2.4vw, 30px);
}

.headline-labor-share-chart figcaption {
  align-content: start;
  display: grid;
  gap: 12px;
}

.headline-labor-share-chart figcaption > div {
  display: grid;
  gap: 3px;
}

.headline-labor-share-chart figcaption span,
.headline-labor-share-chart > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
}

.headline-labor-share-chart figcaption > div > strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 0.95;
}

.headline-labor-share-chart figcaption strong small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 400;
}

.headline-labor-share-chart figcaption p {
  align-items: baseline;
  display: flex;
  gap: 7px;
  margin: 0;
}

.headline-labor-share-chart figcaption p b {
  color: var(--blue);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.headline-labor-share-chart figcaption p b[data-direction="down"] {
  color: var(--burgundy);
}

.headline-labor-share-chart figcaption a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  justify-self: start;
  text-underline-offset: 3px;
}

.headline-labor-share-chart svg {
  aspect-ratio: 780 / 250;
  display: block;
  grid-column: 2;
  grid-row: 1 / span 2;
  overflow: visible;
  width: 100%;
}

.headline-labor-share-line {
  fill: none;
  stroke: var(--burgundy);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.headline-labor-share-median {
  stroke: color-mix(in srgb, var(--muted) 45%, transparent);
  stroke-dasharray: 5 6;
  stroke-width: 1;
}

.headline-labor-share-median-label,
.headline-labor-share-year {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-labor-share-start {
  fill: var(--surface);
  stroke: var(--burgundy);
  stroke-width: 2;
}

.headline-labor-share-end {
  fill: var(--orange);
  stroke: var(--burgundy);
  stroke-width: 2;
}

.headline-labor-share-chart > p {
  margin: 0;
  max-width: 32ch;
}

.headline-erosion-flag {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 8px 24px;
  grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1.55fr);
  padding: 16px clamp(18px, 2.4vw, 30px);
}

.headline-erosion-flag > div {
  display: grid;
  gap: 3px;
}

.headline-erosion-flag span,
.headline-erosion-flag small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-erosion-flag strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.headline-erosion-flag p {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
}

.headline-erosion-flag small {
  grid-column: 2;
}

.headline-evidence-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-inline: clamp(18px, 2.4vw, 30px);
}

.headline-evidence-group {
  min-width: 0;
  padding: 22px 24px 24px 0;
}

.headline-evidence-group + .headline-evidence-group {
  border-left: 1px solid var(--line);
  padding-left: 24px;
  padding-right: 0;
}

.headline-evidence-group > header h4 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.08;
  margin: 5px 0 8px;
}

.headline-focus-capacity .headline-evidence-group > header h4 {
  color: var(--blue);
}

.headline-evidence-group > header p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
}

.headline-evidence-group-metrics {
  border-top: 1px solid var(--line);
  margin-top: 15px;
}

.headline-focus-metric {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 9px 16px;
  grid-template-columns: minmax(0, 1fr) minmax(96px, 0.55fr) 28px;
  padding: 14px 0;
  position: relative;
}

.headline-focus-metric-value {
  display: grid;
  gap: 2px;
}

.headline-focus-metric-value > span,
.headline-focus-metric-value > small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.3;
}

.headline-focus-metric-value > strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.headline-focus-metric-value > small b {
  color: var(--burgundy);
  font-weight: 650;
}

.headline-evidence-group-capacity .headline-focus-metric-value > small b {
  color: var(--blue);
}

.headline-metric-quality-warning {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-style: normal;
  font-weight: 650;
  line-height: 1.3;
}

.headline-metric-quality-warning.is-related_only,
.headline-metric-quality-warning.is-missing {
  color: var(--muted);
}

.headline-focus-metric.is-unavailable .headline-focus-metric-value > strong {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.headline-metric-help {
  justify-self: end;
  position: relative;
}

/* The help affordance is furniture, not data: no box, and it only gains
   contrast on hover or focus. */
.headline-metric-help > summary {
  align-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  height: 20px;
  justify-content: center;
  list-style: none;
  opacity: 0.55;
  transition: opacity 140ms ease, background-color 140ms ease, color 140ms ease;
  width: 20px;
}

.headline-measure-row:hover .headline-metric-help > summary,
.headline-metric-help > summary:hover,
.headline-metric-help > summary:focus-visible {
  background: color-mix(in srgb, var(--line-strong) 22%, transparent);
  color: var(--burgundy);
  opacity: 1;
}

.headline-metric-help > summary::-webkit-details-marker {
  display: none;
}

.headline-metric-help[open] > summary {
  background: var(--burgundy);
  color: var(--surface);
}

.headline-metric-help > div {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  box-shadow: 0 12px 34px rgb(83 21 2 / 16%);
  display: grid;
  gap: 7px;
  padding: 12px;
  position: absolute;
  right: 0;
  top: 30px;
  width: min(300px, 70vw);
  z-index: 20;
}

.headline-metric-help > div strong {
  color: var(--ink);
  font-size: var(--fs-label);
}

.headline-metric-help > div p {
  color: var(--muted);
  font-size: var(--fs-caption);
  line-height: 1.4;
  margin: 0;
}

.headline-metric-help > div .headline-metric-quality-copy {
  border-top: 1px solid var(--line);
  padding-top: 7px;
}

.headline-metric-help > div > div {
  display: flex;
  gap: 10px;
}

.headline-metric-help > div a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.headline-full-evidence {
  border-top: 1px solid var(--line);
  margin-inline: clamp(18px, 2.4vw, 30px);
}

.headline-full-evidence > summary {
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-weight: 700;
  padding: 14px 0;
}

.headline-full-evidence > .headline-indicator-list {
  border: 1px solid var(--line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 20px;
}

.headline-full-evidence > .headline-indicator-list .headline-indicator:nth-child(2) {
  border-top: 0;
}

.headline-full-evidence > .headline-indicator-list .headline-indicator:nth-child(even) {
  border-left: 1px solid var(--line);
}

.headline-data-status {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.headline-indicator-list {
  border-top: 1px solid var(--line);
  display: grid;
}

.headline-indicator {
  display: grid;
  gap: 12px;
  padding: 18px 16px;
}

.headline-indicator + .headline-indicator {
  border-top: 1px solid var(--line);
}

.headline-indicator.is-prototype {
  background: color-mix(in srgb, var(--gold) 10%, var(--surface));
}

.headline-indicator-main {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(92px, auto);
}

.headline-indicator-main > div:first-child {
  min-width: 0;
}

.headline-data-status {
  color: color-mix(in srgb, var(--burgundy) 78%, var(--gold));
  display: inline-block;
}

.headline-weight-badge {
  border-left: 1px solid var(--line-strong);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.1;
  padding-left: 8px;
  text-transform: uppercase;
}

.headline-indicator h4 {
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: 1.2;
  margin: 0;
}

.headline-indicator p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 6px 0 0;
}

.headline-indicator p.headline-indicator-interpretation {
  background: color-mix(in srgb, var(--orange) 8%, var(--surface));
  border-left: 3px solid var(--orange);
  color: var(--ink);
  font-size: var(--fs-label);
  margin-top: 12px;
  padding: 9px 11px;
}

.headline-composite-capacity .headline-indicator p.headline-indicator-interpretation {
  background: color-mix(in srgb, var(--blue) 5%, var(--surface));
  border-left-color: var(--blue);
}

.headline-indicator-value {
  display: grid;
  gap: 2px;
  justify-items: end;
  text-align: right;
}

.headline-indicator-value small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.headline-indicator-value strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.05;
  max-width: 180px;
  overflow-wrap: anywhere;
}

.headline-indicator-components {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  justify-content: flex-end;
  max-width: 250px;
}

.headline-indicator-components strong {
  border-left: 2px solid var(--line-strong);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.25;
  padding-left: 7px;
  text-align: left;
}

.headline-indicator-unavailable .headline-indicator-value > strong {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.headline-indicator-value strong em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-style: normal;
  font-weight: 500;
  margin-left: 2px;
}

.headline-composite-capacity .headline-indicator-value strong {
  color: var(--blue);
}

.headline-indicator-value span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
  max-width: 150px;
}

.headline-range {
  display: grid;
  gap: 6px;
}

.headline-range > div {
  align-items: baseline;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.headline-range > div span,
.headline-range > div b,
.headline-range > small {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.2;
}

.headline-range > div span,
.headline-range > small {
  color: var(--muted);
}

.headline-range > div b {
  color: var(--ink);
}

.headline-range > i {
  background: color-mix(in srgb, var(--line) 70%, var(--surface));
  display: block;
  height: 5px;
  position: relative;
}

.headline-range-median,
.headline-range-value {
  left: var(--headline-position);
  position: absolute;
  transform: translateX(-50%);
}

.headline-range-median {
  background: var(--ink);
  height: 13px;
  top: -4px;
  width: 1px;
}

.headline-range-value {
  background: var(--orange);
  border: 2px solid var(--burgundy);
  height: 13px;
  top: -4px;
  width: 13px;
}

.headline-composite-capacity .headline-range-value {
  background: color-mix(in srgb, var(--blue) 72%, var(--surface));
  border-color: var(--blue);
}

.headline-dashboard-footnote {
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
  margin: 0;
  padding-top: 12px;
}

.country-conditions {
  border-top: 2px solid var(--burgundy);
  display: grid;
  gap: 18px;
  margin-top: 10px;
  padding-top: 22px;
}

.country-conditions-head {
  align-items: end;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
}

.country-conditions-head h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  line-height: 1;
  margin: 4px 0 0;
}

.country-conditions-head > p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.5;
  margin: 0;
}

.country-conditions-grid {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.country-condition-story {
  align-content: start;
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: clamp(18px, 2.4vw, 28px);
}

.country-condition-story + .country-condition-story {
  border-left: 1px solid var(--line);
}

.country-condition-foundations {
  background: color-mix(in srgb, var(--orange) 5%, var(--surface));
}

.country-condition-current {
  background: color-mix(in srgb, var(--blue) 4%, var(--surface));
}

.country-condition-story > header {
  display: grid;
  gap: 6px;
}

.country-condition-story > header > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.country-condition-story h4 {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.8vw, 1.65rem);
  line-height: 1;
  margin: 0;
}

.country-condition-story > header p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
  max-width: 58ch;
}

.condition-participation-visual {
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: 12px;
  padding-top: 15px;
}

.condition-visual-heading {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.condition-visual-heading > div {
  display: grid;
  gap: 3px;
}

.condition-visual-heading strong {
  color: var(--ink);
  font-size: var(--fs-label);
}

.condition-visual-heading span {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.2rem;
  line-height: 1;
}

.condition-source {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
  text-underline-offset: 3px;
}

.condition-source:hover,
.condition-source:focus-visible {
  color: var(--blue);
}

.condition-dumbbell {
  display: grid;
  gap: 9px;
}

.condition-dumbbell-track {
  background: color-mix(in srgb, var(--line) 70%, var(--surface));
  height: 4px;
  margin: 13px 5px 9px;
  position: relative;
}

.condition-dumbbell-track > i {
  background: var(--burgundy);
  height: 4px;
  left: var(--condition-left);
  position: absolute;
  top: 0;
  width: var(--condition-width);
}

.condition-dumbbell-track > b {
  border: 2px solid var(--surface);
  border-radius: 50%;
  box-shadow: 0 0 0 1px currentColor;
  height: 15px;
  left: var(--condition-value);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
}

.condition-dot-female {
  background: var(--orange);
  color: var(--burgundy);
}

.condition-dot-male {
  background: var(--blue);
  color: var(--blue);
}

.condition-dumbbell-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.condition-dumbbell-labels span {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: var(--fs-micro);
  gap: 5px;
}

.condition-dumbbell-labels span > i {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  border-radius: 50%;
  height: 8px;
  width: 8px;
}

.condition-dumbbell-labels span:nth-child(2) > i {
  background: var(--blue);
  border-color: var(--blue);
}

.condition-dumbbell-labels strong {
  color: var(--ink);
}

.condition-education-visual {
  display: grid;
  gap: 10px;
}

.condition-attainment-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(120px, 0.8fr) minmax(100px, 1fr) auto;
}

.condition-attainment-row > div {
  display: flex;
  gap: 7px;
  justify-content: space-between;
}

.condition-attainment-row strong,
.condition-attainment-row span {
  font-size: var(--fs-caption);
}

.condition-attainment-row span {
  color: var(--muted);
}

.condition-attainment-row > i {
  background: color-mix(in srgb, var(--line) 68%, var(--surface));
  display: block;
  height: 7px;
  overflow: hidden;
}

.condition-attainment-row > i > b {
  background: var(--orange);
  display: block;
  height: 100%;
  width: var(--condition-value);
}

.condition-inline-metric {
  align-items: end;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-top: 13px;
}

.condition-inline-metric > div {
  display: grid;
  gap: 2px;
}

.condition-inline-metric > div strong {
  font-size: var(--fs-label);
}

.condition-inline-metric > div span,
.condition-inline-metric small {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.condition-inline-metric > b {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.25rem;
}

.condition-inline-metric small,
.condition-inline-metric .condition-source {
  grid-column: 1 / -1;
}

.condition-pulse-list {
  display: grid;
}

.condition-unavailable {
  color: var(--muted);
  font-size: var(--fs-caption);
  margin: 0;
}

.country-conditions-note {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  justify-content: space-between;
}

.country-conditions-note span {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.country-conditions-note a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-underline-offset: 3px;
}

.country-conditions-loading {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.country-conditions-loading span {
  animation: headline-loading 1.4s ease-in-out infinite alternate;
  background: color-mix(in srgb, var(--line) 58%, var(--surface));
  display: block;
  height: 220px;
}

.headline-research-measures {
  border-top: 1px solid var(--line);
  margin-top: 0.75rem;
  padding-top: 0.7rem;
}

.headline-research-measures > summary {
  color: var(--muted);
  cursor: pointer;
  font-size: var(--fs-label);
  font-weight: 700;
  list-style-position: inside;
}

.headline-research-measures > div {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.7rem;
}

.headline-research-measures article {
  border-left: 2px solid var(--line-strong);
  padding-left: 0.7rem;
}

.headline-research-measures article strong {
  font-size: var(--fs-label);
}

.headline-research-measures article p {
  color: var(--muted);
  font-size: var(--fs-label);
  margin: 0.2rem 0 0;
}

.headline-indicator-meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
}

.headline-quality-label {
  border-left: 2px solid var(--line-strong);
  padding-left: 7px;
}

.headline-quality-label.is-older_comparable,
.headline-quality-label.is-older_contextual,
.headline-quality-label.is-historical_comparable,
.headline-quality-label.is-historical {
  color: var(--burgundy);
}

.headline-quality-label.is-historical,
.headline-quality-label.is-missing {
  font-weight: 700;
}

.primary-layer-empty {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px;
}

.headline-indicator p.headline-indicator-note {
  border-left: 2px solid var(--gold);
  margin: 0;
  padding-left: 8px;
}

.headline-indicator-note strong {
  color: var(--ink);
}

.headline-calculation {
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  margin-top: 1px;
  padding-top: 8px;
}

.headline-calculation > summary,
.headline-related-evidence > summary {
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  list-style-position: inside;
  text-transform: uppercase;
}

.headline-composite-capacity .headline-calculation > summary,
.headline-composite-capacity .headline-related-evidence > summary {
  color: var(--blue);
}

.headline-calculation-body {
  display: grid;
  gap: 9px;
  padding-top: 10px;
}

.headline-source-data {
  display: grid;
  gap: 6px;
}

.headline-source-data > strong {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1;
  text-transform: uppercase;
}

.headline-related-evidence {
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  padding-top: 8px;
}

.headline-related-evidence > div {
  display: grid;
  gap: 7px;
  padding-top: 9px;
}

.headline-related-evidence > div small {
  font-family: var(--font-ui);
}

.headline-related-evidence > div small {
  color: var(--muted);
  font-size: var(--fs-caption);
  line-height: 1.3;
}

.headline-method-note {
  border-left: 2px solid var(--gold);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.4;
  margin: 0;
  padding-left: 8px;
}

.headline-method-note strong {
  color: var(--ink);
}

@container (max-width: 720px) {
  .headline-dashboard-head,
  .headline-country-readout,
  .headline-comparison-head,
  .headline-metric-compare-head {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-dashboard-key,
  .headline-comparison-tabs {
    justify-content: flex-start;
  }

  .headline-country-signals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-axis-labels {
    display: none;
  }

  .headline-category {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-category-name {
    grid-column: auto;
  }

  .headline-composite {
    min-height: 0;
  }

  .headline-composite-summary,
  .headline-indicator-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-indicator-value {
    justify-items: start;
    text-align: left;
  }

  .headline-indicator-value span {
    max-width: none;
  }

  .headline-indicator-components {
    justify-content: flex-start;
    max-width: none;
  }

  .headline-country-comparison {
    margin-inline: 0;
  }

  .headline-focus-workspace {
    margin-inline: 0;
  }

  .headline-focus-header,
  .headline-focus-overview,
  .headline-evidence-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-focus-score {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 14px;
  }

  .headline-focus-reading,
  .headline-evidence-group + .headline-evidence-group {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .headline-evidence-group,
  .headline-evidence-group + .headline-evidence-group {
    padding: 18px 0;
  }

  .headline-full-evidence > .headline-indicator-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-full-evidence > .headline-indicator-list .headline-indicator:nth-child(even) {
    border-left: 0;
  }

  .headline-full-evidence > .headline-indicator-list .headline-indicator:nth-child(2) {
    border-top: 1px solid var(--line);
  }

  .headline-labor-share-chart {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-labor-share-chart svg {
    grid-column: 1;
    grid-row: auto;
  }

  .headline-labor-share-median-label {
    font-size: var(--fs-lead);
  }

  .headline-labor-share-year {
    font-size: var(--fs-body);
  }

  .headline-country-inputs {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-country-inputs li:nth-child(odd):not(:last-child),
  .headline-country-inputs li:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
  }
}

.headline-equation {
  background: color-mix(in srgb, var(--surface-strong) 58%, transparent);
  display: grid;
  gap: 4px;
  padding: 8px 9px;
}

.headline-equation > span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-indicator .headline-equation p {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.35;
  margin: 0;
}

.headline-country-inputs {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.headline-country-inputs li {
  border-top: 1px solid color-mix(in srgb, var(--line) 68%, transparent);
  min-width: 0;
}

.headline-country-inputs li:nth-child(odd):not(:last-child) {
  padding-right: 9px;
}

.headline-country-inputs li:nth-child(even) {
  padding-left: 9px;
}

.headline-country-inputs a {
  align-items: baseline;
  color: var(--ink);
  display: flex;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 9px;
  justify-content: space-between;
  line-height: 1.25;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 7px 0;
  text-decoration-color: color-mix(in srgb, var(--orange) 65%, transparent);
  text-underline-offset: 2px;
}

.headline-country-inputs a span {
  min-width: 0;
}

.headline-country-inputs a b {
  color: var(--burgundy);
  flex: 0 0 auto;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  line-height: 1.05;
  text-align: right;
}

.headline-composite-capacity .headline-equation > span,
.headline-composite-capacity .headline-country-inputs a b {
  color: color-mix(in srgb, var(--blue) 76%, var(--ink));
}

.headline-more-inputs {
  border-top: 1px solid color-mix(in srgb, var(--line) 68%, transparent);
}

.headline-more-inputs > summary {
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  list-style-position: inside;
  padding: 7px 0 1px;
}

.headline-more-inputs[open] > summary {
  margin-bottom: 2px;
}

.headline-custom-weight {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(90px, 1fr) 34px;
}

.headline-custom-weight > span,
.headline-custom-weight output {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1;
}

.headline-custom-weight input {
  accent-color: var(--burgundy);
  margin: 0;
  min-width: 0;
  width: 100%;
}

.headline-composite-capacity .headline-custom-weight input {
  accent-color: var(--blue);
}

.headline-custom-weight output {
  color: var(--ink);
  font-weight: 700;
  text-align: right;
}

.headline-dashboard-loading {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.45fr);
}

.headline-dashboard-loading h2 {
  color: var(--burgundy);
  font-size: 1.4rem;
  margin: 4px 0 0;
}

.headline-loading-bar {
  animation: headlineLoading 1.2s ease-in-out infinite alternate;
  background: var(--line);
  display: block;
  height: 5px;
  width: 100%;
}

@keyframes headlineLoading {
  from { opacity: 0.42; transform: scaleX(0.34); transform-origin: left; }
  to { opacity: 1; transform: scaleX(1); transform-origin: left; }
}

.country-workspace-toolbar {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: auto;
  justify-content: space-between;
}

.back-to-map-button {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--pink);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  min-height: 40px;
  padding: 9px 12px;
}

.back-to-map-button:hover,
.back-to-map-button:focus-visible {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--surface);
}

.profile-compare-picker {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.profile-compare-picker label,
.profile-compare-picker span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  line-height: 1.25;
}

.profile-compare-input-row {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.profile-compare-input-row input {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--ink);
  min-height: 40px;
  padding: 8px 10px;
  width: 100%;
}

.profile-compare-input-row button {
  background: var(--surface);
  border-color: var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  min-height: 40px;
  padding: 8px 12px;
}

.country-overview-panel,
.country-data-panel {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  box-shadow: 0 18px 58px rgb(83 21 2 / 10%);
  display: grid;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(18px, 2.4vw, 32px);
}

.country-overview-panel {
  background:
    linear-gradient(135deg, rgb(250 238 238 / 82%) 0%, rgb(255 253 249 / 92%) 52%, rgb(255 248 244 / 100%) 100%);
}

.country-overview-panel .profile-title {
  margin-bottom: 0;
}

.country-context-summary {
  display: grid;
  gap: 18px;
}

.country-context-thesis {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.18rem, 1.7vw, 1.65rem);
  font-weight: 600;
  line-height: 1.16;
  margin: 0;
  max-width: 52ch;
}

.country-context-copy {
  column-gap: clamp(24px, 3vw, 44px);
  columns: 2 320px;
}

.country-context-copy p {
  break-inside: avoid;
  color: var(--ink);
  line-height: 1.52;
  margin: 0 0 12px;
}

.country-context-watchpoints {
  border-top: var(--hairline);
  display: grid;
  gap: 9px;
  padding-top: 13px;
}

.country-context-watchpoints > strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  text-transform: uppercase;
}

.country-context-watchpoints ul {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.country-context-watchpoints li {
  border-left: 2px solid var(--orange);
  color: var(--ink);
  line-height: 1.4;
  padding-left: 10px;
}

.country-context-loading {
  color: var(--muted);
  margin: 0;
}

.leaflet-interactive[data-selectable="false"] {
  cursor: default;
}

.country-task-exposure-panel {
  min-width: 0;
}

.country-narrative {
  column-gap: clamp(24px, 3vw, 44px);
  columns: 2 340px;
}

.country-narrative p {
  break-inside: avoid;
  color: var(--ink);
  font-size: clamp(0.96rem, 1vw, 1.04rem);
  line-height: 1.52;
  margin: 0 0 13px;
}

.country-brief {
  display: grid;
  gap: 16px;
}

.country-brief-head {
  display: grid;
  gap: 6px;
  max-width: 920px;
}

.country-brief-head h3,
.brief-comparison-head h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.country-brief-head p,
.brief-summary {
  color: var(--ink);
  font-size: 0.98rem;
  line-height: 1.45;
  margin: 0;
}

p.ai-generated-disclaimer {
  color: #ff0000;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

.country-brief-signals,
.brief-panel-signals {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.country-brief-signals article,
.brief-panel-signals article {
  background: var(--surface);
  border: var(--hairline);
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
}

.country-brief-signals label,
.country-brief-signals span,
.brief-panel-signals label,
.brief-panel-signals span,
.country-brief-list h4,
.brief-panel-watchpoints h4 {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  line-height: 1.25;
}

.country-brief-signals strong,
.brief-panel-signals strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.8rem);
  font-weight: 600;
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.country-brief-lists {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.country-brief-list {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  padding-top: 10px;
}

.country-brief-list h4,
.brief-panel-watchpoints h4 {
  margin: 0;
  text-transform: uppercase;
}

.country-brief-list ul,
.brief-panel-watchpoints ul {
  color: var(--ink);
  display: grid;
  gap: 6px;
  line-height: 1.38;
  margin: 0;
  padding-left: 18px;
}

.country-metric-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.country-metric-card {
  background: var(--surface);
  border: var(--hairline);
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
}

.country-metric-card label,
.country-metric-card span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.25;
}

.country-metric-card strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 2.05rem);
  font-weight: 600;
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.country-data-heading {
  align-items: end;
  border-bottom: var(--hairline);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 42%);
  padding-bottom: 16px;
}

.country-data-heading h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.3vw, 2.25rem);
  font-weight: 600;
  line-height: 0.98;
  margin: 0;
}

.country-data-heading p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.35;
  margin: 0;
}

.country-data-heading strong {
  color: var(--burgundy);
}

.profile-title h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.96;
  margin: 0;
}

body[data-inspector-open="true"] .profile-title h2 {
  font-size: clamp(1.55rem, 2.6vw, 2rem);
}

.profile-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin: -12px 0 16px;
}

.coverage-row {
  align-items: baseline;
  border-bottom: var(--hairline);
  display: flex;
  gap: 14px;
  padding-bottom: 18px;
}

.coverage-meter {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(3rem, 5.2vw, 4.35rem);
  font-weight: 600;
  line-height: 0.9;
}

.coverage-row[data-missing="true"] .coverage-meter {
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  letter-spacing: 0;
  line-height: 1.08;
}

body[data-inspector-open="true"] .coverage-row {
  align-items: start;
  flex-direction: column;
  gap: 7px;
}

body[data-inspector-open="true"] .coverage-meter {
  font-size: clamp(2.45rem, 4vw, 3.25rem);
}

.coverage-meta {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.82rem;
}

.pillar-grid {
  display: grid;
  gap: 0;
  margin: 14px 0 22px;
}

.profile-note {
  background: var(--surface-pink);
  border: var(--hairline);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.8rem;
  margin: 0 0 18px;
  padding: 10px 12px;
}

.profile-note strong {
  color: var(--burgundy);
}

.profile-filter-bar,
.comparison-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}

.filter-chip {
  align-items: center;
  background: transparent;
  border-color: var(--line);
  color: var(--burgundy);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.76rem;
  gap: 6px;
  padding: 7px 9px;
}

.filter-chip[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--pink);
}

.filter-chip span,
.filter-result {
  color: currentColor;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  opacity: 0.75;
}

.filter-result {
  color: var(--muted);
}

.comparison-controls {
  align-items: end;
  background: var(--surface-pink);
  border: var(--hairline);
  padding: 10px;
}

.comparison-overview {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  margin: 0 0 12px;
}

.comparison-data-card {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 11px;
}

.comparison-card-head {
  display: grid;
  gap: 2px;
}

.comparison-card-head span,
.comparison-data-main span,
.comparison-data-metrics label,
.comparison-card-note,
.comparison-missing-list label,
.comparison-missing-list span,
.comparison-pillar-list span,
.comparison-meta {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  line-height: 1.25;
}

.comparison-card-head strong {
  color: var(--burgundy);
  font-size: 0.92rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.comparison-data-main {
  align-items: end;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.comparison-data-main strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 0.95;
}

.comparison-data-main strong.missing {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 600;
}

.comparison-data-metrics,
.comparison-pillar-list {
  display: grid;
  gap: 6px;
}

.comparison-data-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.comparison-data-metrics div,
.comparison-pillar-list div {
  border-top: var(--hairline);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-top: 6px;
}

.comparison-data-metrics span,
.comparison-pillar-list strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.82rem;
  font-weight: 600;
}

.comparison-pillar-list div {
  grid-template-columns: minmax(0, 1fr) auto;
}

.comparison-pillar-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.comparison-card-note {
  border-top: var(--hairline);
  margin: 0;
  padding-top: 7px;
}

.comparison-missing-list {
  border-top: var(--hairline);
  display: grid;
  gap: 3px;
  padding-top: 7px;
}

.comparison-missing-list span {
  color: var(--burgundy);
}

.brief-comparison {
  background: var(--surface-pink);
  border: var(--hairline);
  display: grid;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px;
}

.brief-comparison-head {
  display: grid;
  gap: 4px;
}

.brief-comparison-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.brief-comparison-panel {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  display: grid;
  gap: 11px;
  min-width: 0;
  padding: 12px;
}

.brief-panel-title {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.brief-panel-copy {
  column-gap: 22px;
  columns: 2 260px;
}

.brief-panel-copy p {
  break-inside: avoid;
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.45;
  margin: 0 0 10px;
}

.brief-panel-watchpoints {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  padding-top: 10px;
}

.brief-panel-watchpoints li {
  font-size: 0.86rem;
}

.comparison-controls label {
  color: var(--muted);
  display: grid;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  gap: 5px;
}

.comparison-controls select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--burgundy);
  min-height: 34px;
  padding: 6px 8px;
}

.comparison-controls .check-control {
  align-items: center;
  color: var(--burgundy);
  display: inline-flex;
  gap: 7px;
  min-height: 34px;
}

.comparison-controls input[type="checkbox"] {
  accent-color: var(--orange);
}

.comparison-view-toggle {
  align-items: end;
  display: inline-flex;
  gap: 6px;
}

.at-a-glance {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 22px;
}

.glance-item {
  background: var(--surface-pink);
  border: var(--hairline);
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  position: relative;
}

.glance-item label,
.glance-item span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  line-height: 1.2;
}

.glance-item strong {
  color: var(--burgundy);
  font-size: 1.05rem;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.glance-item strong.missing {
  color: var(--muted);
  font-weight: 400;
}

.occupation-breakdown-panel {
  border-top: var(--hairline);
  display: grid;
  gap: 14px;
  margin: 4px 0 22px;
  padding-top: 18px;
}

.us-bls-occupation-panel {
  border-top: var(--hairline);
  display: grid;
  gap: 14px;
  margin: 2px 0 24px;
  padding-top: 18px;
}

.occupation-breakdown-heading {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 34%);
}

.occupation-breakdown-heading h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.28rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.occupation-breakdown-heading p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.35;
  margin: 0;
}

.occupation-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.occupation-source-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.us-bls-toolbar {
  align-items: end;
}

.us-bls-select-label,
.us-bls-search {
  color: var(--muted);
  display: grid;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  gap: 6px;
  line-height: 1.2;
}

.us-bls-select-label {
  min-width: min(100%, 280px);
}

.us-bls-select-label select,
.us-bls-search input {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  min-height: 38px;
  padding: 8px 10px;
}

.us-bls-search {
  flex: 1 1 320px;
  min-width: min(100%, 280px);
}

.us-bls-search > div {
  display: flex;
  gap: 6px;
  min-width: 0;
}

.us-bls-search input {
  flex: 1 1 auto;
  min-width: 0;
}

.us-bls-search button {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  min-height: 38px;
  padding: 8px 10px;
}

.us-bls-search button:hover,
.us-bls-search button:focus-visible {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.segmented-control {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.segmented-control button {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  min-height: 34px;
  padding: 7px 10px;
}

.segmented-control button[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.segmented-control span {
  color: currentColor;
  opacity: 0.7;
}

.occupation-summary {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.occupation-summary div,
.occupation-intelligence-summary div {
  background: rgb(245 225 225 / 34%);
  border-left: 1px solid var(--orange);
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
}

.occupation-summary strong,
.occupation-intelligence-summary strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  font-weight: 600;
  line-height: 1;
  overflow-wrap: anywhere;
}

.occupation-summary span,
.occupation-intelligence-summary span,
.occupation-note {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.25;
}

.us-bls-major-summary {
  background: rgb(245 225 225 / 26%);
  border: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 0.8fr));
  padding: 12px;
}

.us-bls-major-summary div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.us-bls-major-summary span,
.us-bls-major-summary em,
.us-bls-results-heading span,
.us-bls-results-heading em,
.us-bls-overview-heading span,
.us-bls-major-grid em,
.us-bls-major-grid small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-style: normal;
  line-height: 1.25;
}

.us-bls-major-summary strong,
.us-bls-results-heading strong,
.us-bls-overview-heading strong,
.us-bls-major-grid strong {
  color: var(--burgundy);
  font-size: 0.88rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.us-bls-major-summary > div:first-child > span {
  background: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  justify-self: start;
  line-height: 1;
  padding: 5px 6px;
}

.us-bls-source-row {
  justify-content: flex-start;
}

.us-bls-major-overview {
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  padding-top: 12px;
}

.us-bls-overview-heading {
  align-items: end;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.us-bls-overview-heading div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.us-bls-major-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.us-bls-major-grid button {
  background: var(--surface);
  border: var(--hairline);
  display: grid;
  gap: 5px;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 92px;
  padding: 10px;
  text-align: left;
}

.us-bls-major-grid button[aria-pressed="true"] {
  background: rgb(245 225 225 / 46%);
  border-color: var(--orange);
  box-shadow: inset 0 0 0 1px rgb(242 177 1 / 40%);
}

.us-bls-major-grid button:hover,
.us-bls-major-grid button:focus-visible {
  border-color: var(--orange);
  box-shadow: inset 0 0 0 1px rgb(242 177 1 / 36%);
}

.us-bls-major-grid button > span {
  align-self: start;
  background: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  line-height: 1;
  padding: 5px 6px;
}

.us-bls-major-grid button > strong,
.us-bls-major-grid button > em,
.us-bls-major-grid button > small {
  grid-column: 2;
}

.macro-fiscal-card {
  background: var(--surface);
  border: var(--hairline);
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 132px;
  padding: 14px;
}

.macro-fiscal-card > span {
  align-self: flex-start;
  background: rgb(245 225 225 / 46%);
  border: 1px solid rgb(111 30 6 / 18%);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 5px 7px;
}

.macro-fiscal-card > strong {
  color: var(--burgundy);
  font-size: 1rem;
  line-height: 1.12;
}

.macro-fiscal-card > em {
  color: var(--burgundy);
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 1.8vw, 2rem);
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  margin-top: 2px;
}

.macro-fiscal-card > small {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  line-height: 1.25;
  margin-top: auto;
}

.primary-priority-card .primary-card-source-link,
.macro-fiscal-card .primary-card-source-link {
  color: var(--burgundy);
  display: inline;
  font-size: inherit;
  margin-top: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.primary-priority-card .primary-card-source-link:hover,
.primary-priority-card .primary-card-source-link:focus-visible,
.macro-fiscal-card .primary-card-source-link:hover,
.macro-fiscal-card .primary-card-source-link:focus-visible {
  color: var(--orange);
}

.primary-priority-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.primary-priority-card {
  background: var(--surface);
  border: var(--hairline);
  display: grid;
  gap: 5px;
  min-height: 118px;
  padding: 10px;
}

.primary-priority-card span,
.primary-priority-card small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  line-height: 1.25;
}

.primary-priority-card strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.22rem, 1.8vw, 1.72rem);
  font-weight: 600;
  line-height: 1;
}

.primary-priority-card strong.missing {
  color: var(--muted);
}

.primary-priority-card em {
  color: var(--ink);
  font-style: normal;
  font-weight: 650;
  line-height: 1.14;
}

.primary-data-drilldowns {
  display: grid;
  gap: 10px;
}

.primary-data-details {
  background: rgb(255 250 247 / 72%);
  border: 1px solid rgb(111 30 6 / 22%);
  overflow: hidden;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.primary-data-details[open] {
  background: rgb(255 253 250 / 92%);
  border-color: rgb(111 30 6 / 38%);
  box-shadow: 0 10px 26px rgb(83 21 2 / 7%);
}

.primary-data-details summary {
  align-items: center;
  color: var(--burgundy);
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  list-style: none;
  min-height: 64px;
  padding: 12px 14px;
  transition: background-color 160ms ease;
}

.primary-data-details summary:hover,
.primary-data-details summary:focus-visible {
  background: rgb(245 225 225 / 38%);
  outline: 0;
}

.primary-data-details summary::-webkit-details-marker {
  display: none;
}

.primary-data-details summary::before {
  align-items: center;
  background: var(--burgundy);
  color: var(--surface);
  content: "+";
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 1rem;
  height: 24px;
  justify-content: center;
  line-height: 1;
  width: 24px;
}

.primary-data-details[open] summary {
  border-bottom: 1px solid rgb(111 30 6 / 18%);
}

.primary-data-details[open] summary::before {
  background: var(--orange);
  color: var(--burgundy);
  content: "-";
  font-weight: 800;
}

.primary-data-details summary > span:first-child {
  min-width: 0;
}

.primary-data-details summary strong {
  display: block;
  font-size: 0.98rem;
  line-height: 1.1;
}

.primary-data-details summary em {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-style: normal;
  line-height: 1.3;
  margin-top: 3px;
}

.primary-data-details summary > span:last-child {
  background: var(--surface);
  border: 1px solid rgb(111 30 6 / 22%);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  line-height: 1;
  padding: 7px 8px;
  text-align: center;
  white-space: nowrap;
}

.primary-detail-introduction {
  background: color-mix(in srgb, var(--surface-pink) 42%, var(--surface));
  border-bottom: 1px solid rgb(111 30 6 / 16%);
  display: grid;
  gap: 5px;
  padding: 14px 16px;
}

.primary-detail-introduction > strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.73rem;
  text-transform: uppercase;
}

.primary-detail-introduction p {
  color: var(--ink);
  line-height: 1.45;
  margin: 0;
  max-width: 88ch;
}

.primary-detail-introduction .primary-detail-country-readout {
  color: var(--muted);
}

.primary-detail-country-readout b {
  color: var(--burgundy);
}

.primary-data-details .us-bls-major-overview {
  border-top: 0;
  margin: 0;
  padding: 14px;
}

.primary-data-details .us-bls-overview-heading {
  align-items: start;
  background: rgb(245 225 225 / 26%);
  border: 1px solid rgb(111 30 6 / 14%);
  display: grid;
  gap: 5px;
  margin-bottom: 2px;
  padding: 10px;
}

.primary-data-details .us-bls-overview-heading > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.primary-data-details .us-bls-major-grid {
  gap: 10px;
}

.primary-data-details .macro-fiscal-card {
  background: rgb(255 255 255 / 70%);
  min-height: 136px;
  transition:
    border-color 160ms ease,
    transform 160ms ease;
}

.primary-data-details .macro-fiscal-card:hover {
  border-color: rgb(111 30 6 / 34%);
  transform: translateY(-1px);
}

@keyframes countryEvidenceIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body[data-country-mode="true"] .country-overview-panel,
body[data-country-mode="true"] .country-data-panel,
body[data-country-mode="true"] .primary-priority-card {
  animation: countryEvidenceIn 260ms ease-out both;
}

body[data-country-mode="true"] .primary-priority-card:nth-child(2) {
  animation-delay: 20ms;
}

body[data-country-mode="true"] .primary-priority-card:nth-child(3) {
  animation-delay: 40ms;
}

body[data-country-mode="true"] .primary-priority-card:nth-child(4) {
  animation-delay: 60ms;
}

.us-bls-results-heading {
  align-items: end;
  border-top: var(--hairline);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding-top: 12px;
}

.us-bls-results-heading div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.us-bls-detail-list {
  max-height: 620px;
  overflow-y: auto;
  padding-right: 4px;
}

.us-bls-detail-row {
  grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.55fr) minmax(132px, auto);
}

.us-bls-detail-metrics span {
  background: var(--surface);
}

.occupation-note {
  background: rgb(242 177 1 / 12%);
  border: 1px solid rgb(242 177 1 / 42%);
  color: var(--burgundy);
  padding: 10px 11px;
}

.occupation-intelligence-summary {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.occupation-intelligence-summary div {
  background: var(--surface);
}

.occupation-ai-exposure {
  background: color-mix(in srgb, var(--surface-pink) 34%, var(--surface));
  border: 1px solid var(--line-strong);
  display: grid;
  gap: 11px;
  padding: 13px;
}

.occupation-ai-heading {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 36%);
}

.occupation-ai-heading > div {
  display: grid;
  gap: 3px;
}

.occupation-ai-heading strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  line-height: 1.05;
}

.occupation-ai-heading p,
.occupation-ai-footer p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.35;
  margin: 0;
}

.occupation-ai-metrics {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.occupation-ai-metrics div {
  background: var(--surface);
  border-left: 2px solid var(--orange);
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
}

.occupation-ai-metrics strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1;
}

.occupation-ai-metrics span,
.occupation-ai-top-groups > span,
.occupation-ai-top-groups em,
.occupation-ai-legend span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.25;
}

.occupation-ai-gradient {
  background: var(--surface);
  display: flex;
  height: 13px;
  overflow: hidden;
}

.occupation-ai-gradient > span {
  display: block;
  flex: 0 0 var(--gradient-width);
  min-width: 0;
}

.occupation-ai-gradient [data-gradient="not-exposed"],
.occupation-ai-legend [data-gradient="not-exposed"] i {
  background: #d9d6d1;
}

.occupation-ai-gradient [data-gradient="minimal"],
.occupation-ai-legend [data-gradient="minimal"] i {
  background: #efc77f;
}

.occupation-ai-gradient [data-gradient="gradient-1"],
.occupation-ai-legend [data-gradient="gradient-1"] i {
  background: #cf8e4c;
}

.occupation-ai-gradient [data-gradient="gradient-2"],
.occupation-ai-legend [data-gradient="gradient-2"] i {
  background: #be5f3a;
}

.occupation-ai-gradient [data-gradient="gradient-3"],
.occupation-ai-legend [data-gradient="gradient-3"] i {
  background: #8e2f19;
}

.occupation-ai-gradient [data-gradient="gradient-4"],
.occupation-ai-legend [data-gradient="gradient-4"] i {
  background: #4a1708;
}

.occupation-ai-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.occupation-ai-legend span {
  align-items: center;
  display: inline-flex;
  gap: 4px;
}

.occupation-ai-legend i {
  display: inline-block;
  height: 8px;
  width: 8px;
}

.occupation-ai-legend b {
  color: var(--burgundy);
}

.occupation-ai-top-groups {
  border-top: var(--hairline);
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(160px, 0.7fr) repeat(3, minmax(0, 1fr));
  padding-top: 9px;
}

.occupation-ai-top-groups > span {
  color: var(--burgundy);
  font-weight: 700;
}

.occupation-ai-top-groups > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.occupation-ai-top-groups strong {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.2;
}

.occupation-ai-top-groups em {
  font-style: normal;
}

.occupation-ai-footer {
  align-items: center;
  border-top: var(--hairline);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding-top: 8px;
}

.occupation-ai-footer .occupation-source-links {
  flex: 0 0 auto;
}

.occupation-ai-intro,
.occupation-ai-section-heading p,
.occupation-ai-pressure-note {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
}

.occupation-ai-view-controls {
  align-items: end;
  display: grid;
  gap: 4px;
  justify-items: end;
}

.occupation-ai-view-controls > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  text-transform: uppercase;
}

.occupation-ai-view-controls .segmented-control {
  width: auto;
}

.occupation-ai-section-heading {
  align-items: end;
  border-top: var(--hairline);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding-top: 11px;
}

.occupation-ai-section-heading > div {
  display: grid;
  gap: 3px;
}

.occupation-ai-section-heading strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-body);
  line-height: 1.05;
}

.occupation-ai-section-heading p {
  max-width: 390px;
  text-align: right;
}

.occupation-ai-major-list {
  border: 1px solid var(--line);
}

.occupation-ai-major-group + .occupation-ai-major-group {
  border-top: 1px solid var(--line);
}

.occupation-ai-major-group summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: 30px minmax(190px, 1.5fr) repeat(3, minmax(84px, 0.55fr)) 14px;
  list-style: none;
  min-height: 58px;
  padding: 8px 10px;
}

.occupation-ai-major-group summary::-webkit-details-marker {
  display: none;
}

.occupation-ai-major-group summary::after {
  color: var(--burgundy);
  content: "+";
  font-family: var(--font-ui);
  font-size: var(--fs-lead);
  font-weight: 700;
  text-align: center;
}

.occupation-ai-major-group[open] summary::after {
  content: "−";
}

.occupation-ai-major-group summary:hover,
.occupation-ai-major-group summary:focus-visible {
  background: var(--surface-pink);
  outline: 0;
}

.occupation-ai-major-code {
  align-items: center;
  background: var(--burgundy);
  color: var(--surface);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  height: 24px;
  justify-content: center;
  width: 24px;
}

.occupation-ai-major-group summary > span:not(.occupation-ai-major-code) {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.occupation-ai-major-group summary strong {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.15;
}

.occupation-ai-major-group summary > span:not(.occupation-ai-major-name) strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-body);
}

.occupation-ai-major-group summary em,
.occupation-ai-submajor-list em,
.occupation-ai-submajor-list b {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
}

.occupation-ai-major-body {
  background: color-mix(in srgb, var(--surface-pink) 32%, var(--surface));
  border-top: 1px solid var(--line);
  display: grid;
  gap: 9px;
  padding: 11px 12px 12px 50px;
}

.occupation-ai-major-body > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
}

.occupation-ai-major-body > p strong {
  color: var(--burgundy);
}

.occupation-ai-submajor-list {
  background: var(--surface);
  border: 1px solid var(--line);
}

.occupation-ai-submajor-list > div {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 26px minmax(180px, 1fr) minmax(90px, 0.55fr) 68px 72px;
  min-height: 40px;
  padding: 7px 9px;
}

.occupation-ai-submajor-list > div + div {
  border-top: 1px solid var(--line);
}

.occupation-ai-submajor-list span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
}

.occupation-ai-submajor-list strong {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.2;
}

.occupation-ai-submajor-list b {
  color: var(--burgundy);
  font-weight: 700;
}

.occupation-ai-role-explorer {
  display: grid;
  gap: 10px;
}

.occupation-ai-relationship-explorer {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  padding-top: 14px;
}

.occupation-ai-relationship-explorer > header {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.occupation-ai-relationship-explorer > header > div:first-child {
  display: grid;
  gap: 4px;
}

.occupation-ai-relationship-explorer > header strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.occupation-ai-relationship-explorer > p,
.occupation-ai-relationship-empty {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
  max-width: 880px;
}

.occupation-ai-relationship-explorer > [data-occupation-ai-relationship-panel] {
  min-width: 0;
}

.occupation-ai-relationship-explorer .headline-special-visual {
  margin-top: 0;
}

.occupation-ai-major-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.occupation-ai-major-filters button {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  gap: 5px;
  min-height: 30px;
  padding: 5px 8px;
}

.occupation-ai-major-filters button span {
  font-weight: 800;
}

.occupation-ai-major-filters button[aria-pressed="true"],
.occupation-ai-major-filters button:hover,
.occupation-ai-major-filters button:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
  outline: 0;
}

.occupation-ai-pressure-note {
  border-left: 2px solid var(--orange);
  padding-left: 9px;
}

.occupation-ai-pressure-note strong {
  color: var(--burgundy);
}

.occupation-ai-role-layout {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1.55fr) minmax(230px, 0.7fr);
}

.occupation-ai-scatter-wrap {
  background: var(--surface);
  border: 1px solid var(--line);
  min-width: 0;
  overflow: hidden;
}

.occupation-ai-scatter {
  display: block;
  height: auto;
  width: 100%;
}

.occupation-ai-scatter .axis {
  stroke: var(--burgundy);
  stroke-width: 1.2;
}

.occupation-ai-scatter .guide {
  stroke: var(--line-strong);
  stroke-dasharray: 4 5;
  stroke-width: 1;
}

.occupation-ai-scatter text {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
}

.occupation-ai-scatter .region-label {
  fill: var(--burgundy);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.occupation-ai-scatter .role-point {
  cursor: pointer;
  fill: #d9d6d1;
  opacity: 0.84;
  stroke: var(--surface);
  stroke-width: 1.5;
}

.occupation-ai-scatter .role-point.minimal { fill: #efc77f; }
.occupation-ai-scatter .role-point.gradient_1 { fill: #cf8e4c; }
.occupation-ai-scatter .role-point.gradient_2 { fill: #be5f3a; }
.occupation-ai-scatter .role-point.gradient_3 { fill: #8e2f19; }
.occupation-ai-scatter .role-point.gradient_4 { fill: #4a1708; }

.occupation-ai-scatter .role-point:hover,
.occupation-ai-scatter .role-point:focus,
.occupation-ai-scatter .role-point.selected {
  opacity: 1;
  outline: 0;
  stroke: var(--orange);
  stroke-width: 3;
}

.occupation-ai-role-focus {
  background: var(--burgundy);
  color: var(--surface);
  display: grid;
  gap: 9px;
  padding: 13px;
}

.occupation-ai-role-focus .eyebrow,
.occupation-ai-role-focus p {
  color: rgb(255 253 249 / 76%);
}

.occupation-ai-role-focus h4 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  line-height: 1.05;
  margin: 0;
}

.occupation-ai-role-focus p {
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
}

.occupation-ai-role-numbers {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.occupation-ai-role-numbers div {
  background: rgb(255 253 249 / 10%);
  display: grid;
  gap: 2px;
  padding: 8px;
}

.occupation-ai-role-numbers strong {
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.occupation-ai-role-numbers span,
.occupation-ai-role-shortlist > span {
  color: rgb(255 253 249 / 72%);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.occupation-ai-role-mode {
  color: var(--gold);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.occupation-ai-role-shortlist {
  border-top: 1px solid rgb(255 253 249 / 24%);
  display: grid;
  gap: 3px;
  padding-top: 8px;
}

.occupation-ai-role-shortlist button {
  align-items: start;
  background: transparent;
  border: 0;
  color: var(--surface);
  display: flex;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  gap: 8px;
  justify-content: space-between;
  padding: 4px 0;
  text-align: left;
}

.occupation-ai-role-shortlist button:hover,
.occupation-ai-role-shortlist button:focus-visible,
.occupation-ai-role-shortlist button[aria-pressed="true"] {
  color: var(--gold);
  outline: 0;
}

.occupation-ai-role-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.occupation-ai-role-legend span {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 4px;
}

.occupation-ai-role-legend i {
  background: #d9d6d1;
  display: inline-block;
  height: 8px;
  width: 8px;
}

.occupation-ai-role-legend .minimal i { background: #efc77f; }
.occupation-ai-role-legend .gradient_1 i { background: #cf8e4c; }
.occupation-ai-role-legend .gradient_2 i { background: #be5f3a; }
.occupation-ai-role-legend .gradient_3 i { background: #8e2f19; }
.occupation-ai-role-legend .gradient_4 i { background: #4a1708; }

.occupation-human-role-summary {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-top: 12px;
}

.occupation-human-role-summary header {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.occupation-human-role-summary header strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--fs-body);
}

.occupation-human-role-summary header span,
.occupation-human-role-summary p,
.occupation-complementarity-source-note {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
  margin: 0;
}

.occupation-human-role-bar {
  display: flex;
  min-height: 76px;
  overflow: hidden;
}

.occupation-human-role-bar > span {
  align-content: end;
  display: grid;
  flex: 0 0 var(--share);
  gap: 2px;
  min-width: 0;
  padding: 9px;
}

.occupation-human-role-bar b {
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.occupation-human-role-bar small {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.2;
}

.occupation-human-role-bar [data-human-role="lower"] { background: #eee8e3; color: var(--muted); }
.occupation-human-role-bar [data-human-role="complementing"] { background: #cbd7ff; color: #1639b8; }
.occupation-human-role-bar [data-human-role="substitution"] { background: #ffd2be; color: var(--burgundy); }

.occupation-ai-complementarity-explorer {
  display: grid;
  gap: 10px;
}

.occupation-ai-scatter .human-role-lower_current_exposure { fill: #c8c1bb; }
.occupation-ai-scatter .human-role-human_complementing_exposure { fill: #3157ff; }
.occupation-ai-scatter .human-role-higher_substitution_risk { fill: #f25d23; }
.occupation-ai-role-legend .human-role-lower i { background: #c8c1bb; }
.occupation-ai-role-legend .human-role-complementing i { background: #3157ff; }
.occupation-ai-role-legend .human-role-substitution i { background: #f25d23; }

.occupation-complementarity-components {
  display: grid;
  gap: 5px;
}

.occupation-complementarity-components > div {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(88px, 0.9fr) minmax(70px, 1fr);
}

.occupation-complementarity-components span {
  color: rgb(255 253 249 / 78%);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.occupation-complementarity-components i {
  background: rgb(255 253 249 / 16%);
  display: block;
  height: 4px;
}

.occupation-complementarity-components em {
  background: var(--gold);
  display: block;
  height: 100%;
  width: var(--component);
}

.occupation-complementarity-source-note {
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.occupation-complementarity-source-note a {
  color: var(--burgundy);
  font-weight: 700;
}

.occupation-wage-explorer,
.occupation-wage-levels {
  display: grid;
  gap: 12px;
  margin: 0;
}

.occupation-wage-explorer > figcaption {
  margin: 0;
}

.occupation-wage-legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 15px;
}

.occupation-wage-legend span {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  gap: 5px;
}

.occupation-wage-legend b {
  color: var(--ink);
  font-size: var(--fs-micro);
}

.occupation-wage-legend i,
.occupation-wage-legend em {
  display: inline-block;
  flex: 0 0 auto;
}

.occupation-wage-legend i {
  border: 1px solid var(--burgundy);
  border-radius: 50%;
  height: 11px;
  width: 11px;
}

.occupation-wage-legend em {
  background: #3157ff;
  height: 8px;
  width: 8px;
}

.occupation-wage-legend .is-substitution em {
  background: var(--orange);
}

.occupation-wage-picker {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(180px, 320px);
  width: fit-content;
}

.occupation-wage-picker span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  text-transform: uppercase;
}

.occupation-wage-picker select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  min-height: 34px;
  padding: 6px 26px 6px 8px;
  width: 100%;
}

.occupation-wage-layout {
  align-items: stretch;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.72fr);
}

.occupation-wage-chart {
  background: var(--surface);
  border: 1px solid var(--line);
  min-width: 0;
  overflow: hidden;
}

.occupation-wage-chart svg {
  display: block;
  height: auto;
  width: 100%;
}

.occupation-wage-chart .axis {
  stroke: var(--burgundy);
  stroke-width: 1.2;
}

.occupation-wage-chart .zero-line {
  stroke: var(--line-strong);
  stroke-dasharray: 5 5;
  stroke-width: 1.2;
}

.occupation-wage-chart text {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.occupation-wage-chart .axis-title {
  fill: var(--ink);
  font-size: var(--fs-caption);
  font-weight: 700;
}

.occupation-wage-point circle {
  cursor: pointer;
  fill: #3157ff;
  fill-opacity: 0.75;
  stroke: var(--surface);
  stroke-width: 2;
}

.occupation-wage-point.is-substitution circle {
  fill: var(--orange);
}

.occupation-wage-point:hover circle,
.occupation-wage-point circle:focus-visible,
.occupation-wage-point.is-selected circle {
  fill-opacity: 1;
  outline: 0;
  stroke: var(--burgundy);
  stroke-width: 3;
}

.occupation-wage-point text {
  fill: var(--ink);
  font-size: var(--fs-micro);
  font-weight: 700;
  pointer-events: none;
}

.occupation-wage-focus {
  align-content: start;
  background: var(--burgundy);
  color: var(--surface);
  display: grid;
  gap: 10px;
  padding: 15px;
}

.occupation-wage-focus .eyebrow,
.occupation-wage-focus p,
.occupation-wage-focus small {
  color: rgb(255 253 249 / 76%);
}

.occupation-wage-focus h4 {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.04;
  margin: 0;
}

.occupation-wage-focus-metrics {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.occupation-wage-focus-metrics > div {
  background: rgb(255 253 249 / 10%);
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
}

.occupation-wage-focus-metrics strong {
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.occupation-wage-focus-metrics span,
.occupation-wage-focus p,
.occupation-wage-focus small {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
}

.occupation-wage-focus p {
  border-top: 1px solid rgb(255 253 249 / 22%);
  margin: 0;
  padding-top: 10px;
}

.occupation-wage-level-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.occupation-wage-level-grid article {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 11px 0;
}

.occupation-wage-level-grid article:nth-child(odd) {
  padding-right: 14px;
}

.occupation-wage-level-grid article:nth-child(even) {
  border-left: 1px solid var(--line);
  padding-left: 14px;
}

.occupation-wage-level-grid span,
.occupation-wage-level-grid small,
.occupation-wage-explorer > footer,
.occupation-wage-levels > footer {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
}

.occupation-wage-level-grid strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--fs-body);
}

.occupation-wage-explorer > footer,
.occupation-wage-levels > footer {
  border-top: 1px solid var(--line);
  padding-top: 9px;
}

.occupation-wage-explorer > footer a,
.occupation-wage-levels > footer a {
  color: var(--burgundy);
  font-weight: 700;
}

.occupation-list {
  border-top: var(--hairline);
  display: grid;
  gap: 0;
}

.occupation-row {
  align-items: center;
  border-bottom: var(--hairline);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(190px, 0.9fr) minmax(160px, 0.8fr) minmax(118px, auto);
  min-width: 0;
  padding: 10px 0;
}

.occupation-row-main {
  align-items: start;
  display: grid;
  gap: 3px 8px;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
}

.occupation-row-main span {
  background: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1;
  min-width: 22px;
  padding: 5px 6px;
  text-align: center;
}

.occupation-row-main strong {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.occupation-row-main em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-style: normal;
  grid-column: 2;
  line-height: 1.25;
}

.occupation-row-chart {
  background: rgb(245 225 225 / 58%);
  border: 1px solid var(--line);
  height: 12px;
  min-width: 0;
  overflow: hidden;
}

.occupation-row-chart i {
  background: linear-gradient(90deg, var(--orange), var(--burgundy));
  display: block;
  height: 100%;
  width: var(--bar-width, 0%);
}

.occupation-row.missing .occupation-row-chart i {
  background: transparent;
}

.occupation-row-value {
  display: grid;
  gap: 3px;
  justify-items: end;
  text-align: right;
}

.occupation-row-value strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.occupation-row-value strong.missing {
  color: var(--muted);
}

.occupation-row-value span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.2;
}

.occupation-row-intel {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  grid-column: 1 / -1;
}

.occupation-row-intel span {
  background: var(--surface-pink);
  border: var(--hairline);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1;
  padding: 5px 6px;
}

.occupation-row-intel b {
  color: var(--muted);
  font-weight: 600;
  margin-right: 4px;
}

.section-list,
.section-groups,
.comparison-section-body {
  display: grid;
  gap: 14px;
}

.indicator-section,
.comparison-section {
  border-top: 1px solid var(--line-strong);
  padding-top: 2px;
}

.indicator-section summary,
.comparison-section summary {
  align-items: start;
  color: var(--burgundy);
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  padding: 14px 0;
}

.indicator-section summary::-webkit-details-marker,
.comparison-section summary::-webkit-details-marker {
  display: none;
}

.indicator-section summary strong,
.comparison-section summary strong {
  display: block;
  font-size: 1.04rem;
}

.indicator-section summary em,
.comparison-section summary em {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-style: normal;
  line-height: 1.32;
  margin-top: 4px;
}

.indicator-section summary::before,
.comparison-section summary::before {
  align-items: center;
  background: var(--burgundy);
  color: var(--pink);
  content: "+";
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 1rem;
  grid-column: 2;
  grid-row: 1;
  height: 18px;
  justify-self: end;
  margin-top: 1px;
  place-content: center;
  width: 18px;
}

.indicator-section[open] summary::before,
.comparison-section[open] summary::before {
  content: "-";
}

.indicator-section-introduction {
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 4px;
  margin: 0 0 16px;
  max-width: 88ch;
  padding: 2px 0 2px 12px;
}

.indicator-section-introduction strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.indicator-section-introduction p {
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
}

.section-count {
  align-self: start;
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  grid-column: 2;
  grid-row: 1;
  margin-right: 18px;
  white-space: nowrap;
}

.indicator-group {
  display: grid;
  gap: 4px;
}

.indicator-group-heading {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.indicator-group-heading h3 {
  color: var(--burgundy);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.14;
  margin: 0;
}

.indicator-group-heading span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  white-space: nowrap;
}

.pillar-row,
.indicator-row,
.comparison-row {
  border-top: var(--hairline);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 10px 0;
  position: relative;
}

.pillar-row label,
.indicator-row label,
.comparison-row label {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
}

.indicator-row > div:first-child > div {
  color: var(--ink);
  font-weight: 550;
  line-height: 1.22;
}

.indicator-row > div:first-child,
.comparison-group h3 {
  min-width: 0;
  overflow-wrap: anywhere;
}

.comparison-row > div:first-child,
.source-status-row strong,
.source-status-row em,
.source-status-row small,
.maintenance-row span,
.maintenance-row strong,
.maintenance-row b {
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-inspector-open="true"] .pillar-row,
body[data-inspector-open="true"] .indicator-row,
body[data-inspector-open="true"] .comparison-row,
body[data-inspector-open="true"] .source-status-row {
  gap: 6px;
  grid-template-columns: minmax(0, 1fr);
}

body[data-inspector-open="true"] .pillar-row > :last-child,
body[data-inspector-open="true"] .indicator-row > :last-child,
body[data-inspector-open="true"] .comparison-row > :last-child {
  justify-self: start;
  text-align: left;
}

.indicator-caption,
.comparison-caption,
.indicator-metric-note,
.comparison-gap {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  line-height: 1.32;
  margin: 4px 0 0;
}

.indicator-metric-note,
.comparison-gap {
  color: var(--burgundy);
}

.indicator-value-wrap,
.comparison-value-wrap {
  align-items: end;
  display: grid;
  gap: 7px;
  justify-items: end;
}

body[data-inspector-open="true"] .indicator-value-wrap,
body[data-inspector-open="true"] .comparison-value-wrap {
  align-items: start;
  justify-items: start;
}

.indicator-value,
.comparison-value {
  color: var(--burgundy);
  font-weight: 700;
  line-height: 1.18;
  max-width: 10.5rem;
  overflow-wrap: anywhere;
  text-align: right;
}

body[data-inspector-open="true"] .indicator-value,
body[data-inspector-open="true"] .comparison-value,
body[data-inspector-open="true"] .comparison-meta {
  max-width: 100%;
  text-align: left;
}

.comparison-meta {
  color: var(--burgundy);
  text-align: right;
}

.comparison-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.detail-button {
  background: transparent;
  border-color: var(--line);
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  padding: 4px 6px;
}

.indicator-value.missing,
.comparison-value.missing {
  color: var(--muted);
  font-weight: 400;
}

.source-link {
  color: var(--orange);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  margin-top: 3px;
  text-decoration: none;
}

.source-link:hover,
.source-link:focus-visible {
  color: var(--burgundy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.indicator-list {
  display: grid;
  gap: 0;
}

.comparison-table {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}

.comparison-group h3 {
  color: var(--burgundy);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.14;
  margin: 0;
}

.comparison-country-values {
  display: grid;
  gap: 0;
  margin-top: 6px;
}

.comparison-matrix-shell {
  display: grid;
  gap: 10px;
}

.comparison-matrix-summary {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  gap: 7px;
}

.comparison-matrix-summary strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 0.98;
}

.comparison-matrix-scroll {
  border: 1px solid var(--line-strong);
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-x: contain;
}

.comparison-matrix {
  border-collapse: collapse;
  color: var(--ink);
  font-size: 0.78rem;
  min-width: max(680px, 100%);
  width: 100%;
}

.comparison-matrix th,
.comparison-matrix td {
  border-bottom: var(--hairline);
  border-right: var(--hairline);
  min-width: 148px;
  padding: 9px;
  text-align: left;
  vertical-align: top;
}

.comparison-matrix th:first-child {
  background: var(--surface);
  left: 0;
  min-width: 210px;
  position: sticky;
  z-index: 3;
}

.comparison-matrix thead th {
  background: var(--surface-pink);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1.2;
  position: sticky;
  top: 0;
  z-index: 4;
}

.comparison-matrix thead th:first-child {
  z-index: 5;
}

.comparison-matrix th span,
.comparison-matrix-method strong,
.matrix-value {
  color: var(--burgundy);
  display: block;
  font-weight: 700;
  line-height: 1.16;
}

.comparison-matrix th em,
.comparison-matrix-method span,
.comparison-matrix-cell em,
.matrix-country {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-style: normal;
  line-height: 1.25;
  margin-top: 3px;
}

.comparison-matrix-section-row th {
  background: var(--burgundy);
  color: var(--pink);
  left: auto;
  position: static;
  z-index: 1;
}

.comparison-matrix-section-row th span,
.comparison-matrix-section-row th em {
  color: inherit;
}

.comparison-matrix-cell {
  background: rgb(255 253 249 / 76%);
  position: relative;
}

.comparison-matrix-cell:hover,
.comparison-matrix-cell:focus-within {
  background: var(--surface-pink);
}

.comparison-matrix-cell.missing .matrix-value {
  color: var(--muted);
  font-weight: 500;
}

.comparison-matrix-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.comparison-matrix-method {
  background: rgb(245 225 225 / 20%);
}

.comparison-matrix-method span {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.labor-comparison-summary {
  border: 1px solid var(--line-strong);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.labor-comparison-summary div {
  border-right: var(--hairline);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 9px;
}

.labor-comparison-summary div:last-child {
  border-right: 0;
}

.labor-comparison-summary strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 0.98;
}

.labor-comparison-summary span,
.labor-comparison-note,
.labor-dimension-cell em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.25;
}

.labor-comparison-note {
  margin: -4px 0 0;
}

.labor-comparison-shell {
  display: grid;
  gap: 10px;
}

.labor-comparison-matrix {
  min-width: max(860px, 100%);
}

.single-labor-panel {
  border-top: var(--hairline);
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding-top: 18px;
}

.single-labor-disclosure > summary {
  align-items: center;
  color: var(--burgundy);
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  padding: 4px 0 14px;
}

.single-labor-disclosure > summary::-webkit-details-marker {
  display: none;
}

.single-labor-disclosure > summary span {
  display: grid;
  gap: 4px;
}

.single-labor-disclosure > summary strong {
  font-family: var(--font-display);
  font-size: 1.04rem;
}

.single-labor-disclosure > summary em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  font-style: normal;
}

.single-labor-disclosure > summary::after {
  align-items: center;
  background: var(--burgundy);
  color: var(--pink);
  content: "+";
  display: inline-flex;
  font-family: var(--font-ui);
  height: 22px;
  justify-content: center;
  width: 22px;
}

.single-labor-disclosure[open] > summary::after {
  content: "-";
}

.single-labor-disclosure-body {
  display: grid;
  gap: 14px;
}

.single-labor-heading {
  display: grid;
  gap: 6px;
}

.single-labor-heading h3 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.26rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.single-labor-heading p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  line-height: 1.35;
  margin: 0;
}

.single-labor-groups {
  display: grid;
  gap: 8px;
}

.labor-slice-filters {
  align-items: end;
  border-bottom: var(--hairline);
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  padding: 12px 0;
}

.labor-slice-filters label {
  color: var(--muted);
  display: grid;
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  gap: 5px;
  min-width: 0;
}

.labor-slice-filters select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, var(--orange) 50%) calc(100% - 14px) 50% / 6px 6px no-repeat,
    linear-gradient(135deg, var(--orange) 50%, transparent 50%) calc(100% - 10px) 50% / 6px 6px no-repeat,
    var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  min-height: 38px;
  padding: 7px 28px 7px 9px;
  width: 100%;
}

.labor-slice-filters select:focus {
  border-color: var(--orange);
  outline: 2px solid rgb(255 103 25 / 20%);
  outline-offset: 2px;
}

.labor-availability-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.labor-filter-reset {
  align-self: stretch;
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  min-height: 38px;
  padding: 7px 10px;
}

.labor-filter-reset:disabled {
  color: var(--muted);
  cursor: default;
  opacity: 0.55;
}

.labor-filter-result {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  grid-column: 1 / -1;
}

.labor-slice-section {
  border-top: var(--hairline);
}

.labor-slice-section summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  padding: 11px 0;
}

.labor-slice-section summary::-webkit-details-marker {
  display: none;
}

.labor-slice-section summary::after {
  color: var(--orange);
  content: "+";
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  font-weight: 700;
}

.labor-slice-section[open] summary::after {
  content: "-";
}

.labor-slice-section summary strong {
  color: var(--burgundy);
  display: block;
  font-size: var(--fs-label);
  line-height: 1.18;
}

.labor-slice-section summary em {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-style: normal;
  margin-top: 2px;
}

.labor-slice-list {
  display: grid;
  gap: 0;
  padding-bottom: 8px;
}

.labor-slice-row {
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
  padding: 10px 0;
  position: relative;
}

.labor-slice-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.labor-slice-main label {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.labor-slice-main strong {
  color: var(--ink);
  font-size: var(--fs-label);
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.labor-slice-main em,
.labor-slice-value span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-style: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.labor-dimension-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}

.labor-dimension-chips span {
  background: rgb(245 225 225 / 54%);
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1;
  padding: 4px 6px;
}

.labor-slice-value {
  align-content: start;
  display: grid;
  gap: 4px;
  justify-items: end;
  text-align: right;
}

.labor-slice-value strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  font-weight: 600;
  line-height: 1;
}

.labor-slice-value strong.missing {
  color: var(--muted);
}

.labor-dimension-cell {
  background: rgb(245 225 225 / 20%);
  min-width: 180px;
}

.labor-dimension-cell strong {
  color: var(--burgundy);
  display: block;
  font-size: var(--fs-label);
  line-height: 1.18;
}

.exports-panel {
  background:
    linear-gradient(180deg, rgb(245 225 225 / 42%) 0%, rgb(255 253 249 / 72%) 100%);
}

.exports-details summary {
  align-items: center;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  font-family: var(--font-ui);
  justify-content: space-between;
  list-style: none;
}

.exports-details summary::-webkit-details-marker {
  display: none;
}

.exports-details summary span {
  display: grid;
  gap: 2px;
}

.exports-details summary strong {
  color: var(--burgundy);
  font-size: 0.9rem;
}

.exports-details summary em {
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
}

.exports-details summary::after {
  color: var(--orange);
  content: "+";
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1;
}

.exports-details[open] summary::after {
  content: "-";
}

.release-summary {
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  display: grid;
  font-family: var(--font-ui);
  font-size: 0.76rem;
  gap: 10px;
  margin-top: 12px;
  padding-top: 13px;
}

.release-summary p {
  align-items: center;
  display: flex;
  gap: 9px;
  justify-content: space-between;
  margin: 0;
}

.release-summary p span {
  color: var(--burgundy);
  font-weight: 600;
}

.release-kpis {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.release-kpis div {
  border-left: 1px solid var(--orange);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-left: 8px;
}

.release-kpis strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.release-kpis span {
  color: var(--muted);
  font-size: 0.68rem;
}

.export-links {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.export-links a {
  border-bottom: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  line-height: 1.15;
  min-width: 0;
  padding: 6px 0;
  text-decoration: none;
}

.export-links a:hover,
.export-links a:focus-visible {
  border-color: var(--orange);
  color: var(--orange);
}

.methodology-panel-body {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
}

.methodology-details summary {
  align-items: baseline;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  padding: 8px 0;
}

.methodology-details summary::-webkit-details-marker {
  display: none;
}

.methodology-details summary span {
  color: var(--muted);
  font-size: 0.72rem;
}

.methodology-kpis {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 7px 0 12px;
}

.methodology-kpis div {
  background: var(--surface-pink);
  border: var(--hairline);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
}

.methodology-kpis strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1;
}

.methodology-kpis span,
.methodology-row em,
.methodology-row dt {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.2;
}

.methodology-crosswalk {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
}

.methodology-crosswalk > div:first-child {
  display: grid;
  gap: 3px;
}

.methodology-crosswalk strong {
  color: var(--burgundy);
}

.methodology-crosswalk > div:first-child span {
  color: var(--muted);
  font-size: 0.72rem;
}

.methodology-crosswalk .methodology-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 4px;
}

.methodology-readiness-list {
  border-top: var(--hairline);
  display: grid;
}

.methodology-readiness-row {
  border-bottom: var(--hairline);
  display: grid;
  gap: 3px;
  padding: 9px 0;
}

.methodology-readiness-row strong {
  color: var(--burgundy);
  font-size: 0.88rem;
  line-height: 1.12;
}

.methodology-readiness-row span,
.methodology-readiness-row small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  line-height: 1.24;
}

.methodology-readiness-row[data-tier="ready_for_methodology_review"] span {
  color: var(--green);
}

.methodology-readiness-row[data-tier="coverage_gap"] span,
.methodology-readiness-row[data-tier="rubric_required"] span,
.methodology-readiness-row[data-tier="scale_review_required"] span {
  color: var(--orange);
}

.methodology-requirements {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
}

.methodology-requirements-head {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.methodology-requirements-head > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.methodology-requirements-head strong,
.methodology-requirement-row strong {
  color: var(--burgundy);
}

.methodology-requirements-head span,
.methodology-requirement-row span,
.methodology-requirement-row dt,
.methodology-requirement-row p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  line-height: 1.24;
}

.methodology-requirements-head > span {
  background: var(--surface-pink);
  border: var(--hairline);
  color: var(--burgundy);
  flex: 0 0 auto;
  padding: 5px 7px;
}

.methodology-requirement-list {
  border-top: var(--hairline);
  display: grid;
  max-height: 360px;
  overflow: auto;
  overscroll-behavior: contain;
}

.methodology-requirement-row {
  border-bottom: var(--hairline);
  display: grid;
  gap: 8px;
  padding: 10px 0;
}

.methodology-requirement-row > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.methodology-requirement-row strong {
  font-size: 0.84rem;
  line-height: 1.12;
}

.methodology-requirement-row dl {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.methodology-requirement-row dl div {
  background: var(--surface-pink);
  border: var(--hairline);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
}

.methodology-requirement-row dd {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.methodology-requirement-row p {
  margin: 0;
}

.methodology-requirement-row[data-status="partial_source_backed"] dl div:first-child dd,
.methodology-requirement-row[data-status="missing"] dl div:first-child dd,
.methodology-requirement-row[data-status="blocked"] dl div:first-child dd {
  color: var(--orange);
}

.methodology-list {
  border-top: var(--hairline);
  display: grid;
}

.methodology-row {
  align-items: start;
  border-bottom: var(--hairline);
  color: var(--burgundy);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 48%);
  padding: 9px 0;
  text-decoration: none;
}

.methodology-row:hover,
.methodology-row:focus-visible {
  color: var(--orange);
}

.methodology-label {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.methodology-label strong {
  font-size: 0.84rem;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.methodology-row dl {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.methodology-row dl div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.methodology-row dd {
  color: currentColor;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.methodology-links {
  border-top: 1px solid var(--line-strong);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
  padding-top: 10px;
}

.methodology-links a {
  color: var(--burgundy);
  font-size: 0.72rem;
  text-decoration: none;
}

.methodology-links a:hover,
.methodology-links a:focus-visible {
  color: var(--orange);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.dictionary-page {
  padding-bottom: 92px;
}

.dictionary-shell {
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(20px, 3vw, 42px);
}

.dictionary-header {
  align-items: start;
  border-bottom: 1px solid var(--line-strong);
  display: grid;
  gap: 18px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding-bottom: 22px;
}

.dictionary-header .brand-mark {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  display: flex;
  height: 48px;
  justify-content: center;
  padding: 8px 10px;
  width: 150px;
}

.dictionary-header .brand-mark img {
  display: block;
  max-height: 30px;
  max-width: 122px;
}

.dictionary-header h1,
.dictionary-results-heading h2,
.dictionary-methodology-heading h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.94;
  margin: 0;
}

.dictionary-results-heading h2,
.dictionary-methodology-heading h2 {
  font-size: clamp(1.6rem, 2.7vw, 2.7rem);
}

.dictionary-header .dek {
  color: var(--muted);
  max-width: 760px;
}

.dictionary-methodology-heading a {
  align-items: center;
  border: 1px solid var(--burgundy);
  color: var(--burgundy);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  justify-content: center;
  line-height: 1;
  min-height: 36px;
  padding: 10px 13px;
  text-decoration: none;
}

.dictionary-methodology-heading a:hover,
.dictionary-methodology-heading a:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
  outline: 0;
}

.dictionary-map-link {
  min-height: 42px;
  padding-inline: 18px;
}

.dictionary-page-links {
  display: grid;
  gap: 8px;
}

.dictionary-page .dictionary-controls {
  align-items: end;
  background: rgb(255 253 249 / 82%);
  border-bottom: 1px solid var(--line-strong);
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: 10px 12px;
  grid-template-columns: auto minmax(260px, 1fr) auto minmax(180px, 260px);
  padding: 14px 0;
  position: sticky;
  top: 0;
  z-index: 20;
}

.dictionary-page .dictionary-controls label {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: 600;
}

.dictionary-page .dictionary-controls input,
.dictionary-page .dictionary-controls select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  min-height: 38px;
  min-width: 0;
  padding: 9px 10px;
}

.dictionary-summary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dictionary-kpi {
  background: var(--surface);
  border-left: 2px solid var(--orange);
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 14px;
}

.dictionary-kpi strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.28rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1;
  overflow-wrap: anywhere;
}

.dictionary-kpi span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.dictionary-methodology,
.dictionary-reference-section,
.dictionary-results-shell {
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: 16px;
  padding-top: 18px;
}

.dictionary-methodology-heading,
.dictionary-reference-heading,
.dictionary-results-heading,
.dictionary-group-heading {
  align-items: start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.dictionary-reference-heading h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.7vw, 2.7rem);
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.dictionary-reference-heading p:last-child {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  line-height: 1.35;
  margin: 6px 0 0;
  max-width: 720px;
}

.dictionary-reference-heading a {
  align-items: center;
  border: 1px solid var(--burgundy);
  color: var(--burgundy);
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--font-ui);
  font-size: 0.76rem;
  line-height: 1;
  min-height: 34px;
  padding: 9px 11px;
  text-decoration: none;
}

.dictionary-reference-heading a:hover,
.dictionary-reference-heading a:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
  outline: 0;
}

.dictionary-results-heading span,
.dictionary-group-heading span,
.dictionary-group-heading strong {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  white-space: nowrap;
}

.methodology-principles {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.strategic-methodology {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding-top: 16px;
}

.integrated-methodology-section {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  padding-top: 18px;
  scroll-margin-top: 18px;
}

.headline-quality-inventory {
  border-block: 1px solid var(--line);
  display: grid;
  gap: 16px;
  padding-block: 18px;
}

.headline-quality-inventory > header {
  align-items: end;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
}

.headline-quality-inventory > header h3 {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.05;
  margin: 4px 0 0;
}

.headline-quality-inventory > header > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
  max-width: 720px;
}

.headline-quality-summary {
  border-block: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.headline-quality-summary > div {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 12px 14px;
}

.headline-quality-summary > div + div {
  border-left: 1px solid var(--line);
}

.headline-quality-summary strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.4rem;
  line-height: 1;
}

.headline-quality-summary span,
.headline-quality-summary small,
.headline-quality-definitions,
.headline-quality-ledger {
  font-family: var(--font-ui);
}

.headline-quality-summary span {
  color: var(--ink);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.headline-quality-summary small {
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.3;
}

.headline-quality-definitions {
  display: grid;
  gap: 10px 18px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}

.headline-quality-definitions div {
  border-left: 2px solid var(--line-strong);
  padding-left: 8px;
}

.headline-quality-definitions dt {
  color: var(--ink);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.headline-quality-definitions dd {
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.35;
  margin: 2px 0 0;
}

.headline-quality-ledger {
  border-top: 1px solid var(--line);
}

.headline-quality-ledger > summary {
  align-items: baseline;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  justify-content: space-between;
  list-style-position: inside;
  padding: 12px 0 0;
}

.headline-quality-ledger > summary strong {
  font-size: var(--fs-label);
}

.headline-quality-ledger > summary span {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.headline-quality-table {
  border: 1px solid var(--line);
  margin-top: 12px;
}

.headline-quality-table-head,
.headline-quality-table-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(180px, 1.45fr) minmax(105px, 0.7fr) minmax(145px, 1fr) minmax(145px, 1fr) minmax(80px, 0.55fr);
  padding: 9px 12px;
}

.headline-quality-table-head {
  background: var(--surface);
  color: var(--muted);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-quality-table-row {
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.3;
}

.headline-quality-table-row > span {
  min-width: 0;
}

.headline-quality-table-row strong {
  color: var(--ink);
  display: block;
  font-size: var(--fs-caption);
}

.headline-quality-table-row small {
  color: var(--muted);
  display: block;
  font-size: var(--fs-micro);
  margin-top: 2px;
}

.integrated-methodology-copy {
  background: var(--surface);
  border-left: 2px solid var(--orange);
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  scroll-margin-top: 18px;
}

.integrated-methodology-copy h3 {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.88rem;
  margin: 8px 0 0;
}

.integrated-methodology-copy h3:first-child {
  margin-top: 0;
}

.integrated-methodology-copy p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  line-height: 1.5;
  margin: 0;
  max-width: 1040px;
}

.integrated-methodology-copy a,
.dictionary-source-action a {
  color: var(--orange);
  font-weight: 650;
}

#occupation-methodology,
#fiscal-methodology,
#external-methodology,
.strategic-methodology-row[id] {
  scroll-margin-top: 18px;
}

.strategic-methodology-note {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  line-height: 1.45;
  margin: 0;
  max-width: 980px;
}

.strategic-methodology-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.strategic-methodology-row {
  background: var(--surface);
  border-left: 2px solid var(--orange);
  display: grid;
  gap: 9px;
  padding: 12px 14px;
}

.strategic-methodology-title,
.strategic-methodology-row strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
}

.strategic-methodology-title {
  font-size: 0.74rem;
  font-weight: 600;
}

.strategic-methodology-row strong {
  font-size: 0.92rem;
}

.strategic-methodology-row dl {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.strategic-methodology-row dl div {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 2px;
  padding-top: 6px;
}

.strategic-methodology-row dt,
.strategic-methodology-row dd {
  font-family: var(--font-ui);
  font-size: 0.68rem;
  line-height: 1.15;
  margin: 0;
}

.strategic-methodology-row dt {
  color: var(--muted);
}

.strategic-methodology-row dd {
  color: var(--ink);
  font-weight: 700;
}

.strategic-methodology-row p,
.strategic-methodology-row em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-style: normal;
  line-height: 1.35;
  margin: 0;
}

.strategic-expansion {
  background: color-mix(in srgb, var(--surface-pink) 52%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--line-strong) 65%, transparent);
  display: grid;
  gap: 8px;
  padding: 9px;
}

.strategic-expansion p {
  color: var(--ink);
}

.strategic-expansion ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 16px;
}

.strategic-expansion li {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  line-height: 1.3;
}

.strategic-expansion-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.strategic-expansion-fields span {
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--line-strong) 68%, transparent);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.64rem;
  line-height: 1;
  padding: 5px 6px;
}

.strategic-methodology-signals,
.strategic-methodology-docs,
.strategic-methodology-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.strategic-methodology-signals span,
.strategic-methodology-signals a,
.strategic-methodology-sources a,
.strategic-methodology-sources span {
  border: 1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  line-height: 1;
  padding: 5px 6px;
}

.strategic-methodology-signals a,
.strategic-methodology-sources a {
  color: var(--orange);
  text-decoration: none;
}

.strategic-methodology-signals a:hover,
.strategic-methodology-signals a:focus-visible,
.strategic-methodology-docs a:hover,
.strategic-methodology-docs a:focus-visible,
.strategic-methodology-sources a:hover,
.strategic-methodology-sources a:focus-visible {
  border-color: var(--burgundy);
  color: var(--burgundy);
  outline: 0;
}

.strategic-methodology-docs {
  display: grid;
}

.strategic-methodology-docs > div {
  border: 1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);
  display: grid;
  gap: 6px;
  padding: 8px;
}

.strategic-methodology-docs strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  line-height: 1.1;
}

.strategic-methodology-docs span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  line-height: 1.25;
}

.strategic-methodology-docs p,
.strategic-methodology-docs em {
  font-size: 0.68rem;
  line-height: 1.35;
}

.methodology-principles article,
.occupation-methodology-row {
  background: var(--surface);
  border-top: 2px solid var(--orange);
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
}

.methodology-principles strong,
.occupation-methodology-row span,
.dictionary-group-heading h3,
.dictionary-row summary strong {
  color: var(--burgundy);
  font-weight: 650;
}

.methodology-principles p,
.occupation-methodology-row p,
.occupation-methodology-row em,
.dictionary-row-body p,
.dictionary-row dd,
.dictionary-row summary em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  line-height: 1.35;
  margin: 0;
}

.occupation-methodology-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.occupation-methodology-row strong {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
}

.occupation-methodology-row em {
  font-style: normal;
}

.reference-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reference-card,
.source-reference-row,
.reference-file-list a {
  background: var(--surface);
  border: var(--hairline);
  color: var(--burgundy);
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  text-decoration: none;
}

.reference-card:hover,
.reference-card:focus-visible,
a.source-reference-row:hover,
a.source-reference-row:focus-visible,
.reference-file-list a:hover,
.reference-file-list a:focus-visible {
  border-color: var(--orange);
  outline: 0;
}

.dictionary-source-action {
  margin: 0;
}

.reference-card strong,
.source-reference-row strong,
.reference-file-list span {
  color: var(--burgundy);
  font-size: 0.86rem;
  line-height: 1.16;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reference-card span,
.source-reference-row em,
.source-reference-row small,
.reference-file-list em,
.reference-details summary span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-style: normal;
  line-height: 1.25;
}

.reference-kpis {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reference-kpi {
  background: var(--surface);
  border-left: 2px solid var(--orange);
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
}

.reference-kpi strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.38rem;
  font-weight: 600;
  line-height: 1;
}

.reference-kpi span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.reference-details {
  background: rgb(255 253 249 / 58%);
  border: var(--hairline);
  padding: 12px;
}

.reference-details summary {
  align-items: center;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
}

.reference-details summary::-webkit-details-marker {
  display: none;
}

.reference-file-list {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
  max-height: 420px;
  overflow: auto;
}

.reference-file-list a {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 8px 10px;
}

.source-reference-list,
.quality-check-list {
  display: grid;
  gap: 8px;
}

.source-reference-row {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(160px, auto);
}

.source-reference-row > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.source-reference-row > span:last-child {
  justify-items: end;
  text-align: right;
}

.source-reference-row b,
.quality-check-row span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
}

.quality-check-row {
  align-items: center;
  background: var(--surface);
  border: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 10px 12px;
}

.quality-check-row strong {
  color: var(--burgundy);
  font-size: 0.84rem;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.quality-check-row[data-status="warning"] span {
  color: var(--orange);
}

.quality-check-row[data-status="fail"] span {
  color: #b20f0f;
}

.dictionary-results,
.dictionary-row-list {
  display: grid;
  gap: 10px;
}

.dictionary-group {
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  padding-top: 14px;
}

.dictionary-group-heading h3 {
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1;
  margin: 0;
}

.dictionary-row {
  background: var(--surface);
  border: var(--hairline);
}

.dictionary-row summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
  list-style: none;
  min-height: 58px;
  padding: 12px 14px;
}

.dictionary-row summary::-webkit-details-marker {
  display: none;
}

.dictionary-row summary > span:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.dictionary-row summary strong,
.dictionary-row summary em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dictionary-row summary > span:last-child {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  justify-self: end;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dictionary-row-body {
  border-top: var(--hairline);
  display: grid;
  gap: 12px;
  padding: 14px;
}

.dictionary-row-body dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.dictionary-row-body dl div {
  border-left: 1px solid var(--line);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-left: 8px;
}

.dictionary-row dt {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 600;
}

.dictionary-row dd {
  overflow-wrap: anywhere;
}

.indicator-dictionary {
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  margin-top: 12px;
  padding-top: 13px;
}

.dictionary-details summary {
  align-items: baseline;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  padding: 8px 0;
}

.dictionary-details summary::-webkit-details-marker {
  display: none;
}

.dictionary-details summary span {
  color: var(--muted);
  font-size: 0.72rem;
}

.dictionary-controls {
  background: var(--surface-pink);
  border: var(--hairline);
  display: grid;
  gap: 9px;
  margin: 7px 0 12px;
  padding: 10px;
}

.dictionary-controls label {
  color: var(--muted);
  display: grid;
  font-size: 0.72rem;
  gap: 5px;
}

.dictionary-controls input {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  color: var(--burgundy);
  min-height: 34px;
  min-width: 0;
  padding: 6px 8px;
}

.dictionary-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.dictionary-list {
  display: grid;
  gap: 14px;
}

.dictionary-group {
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: 0;
  padding-top: 9px;
}

.dictionary-group h3 {
  color: var(--burgundy);
  font-size: 0.88rem;
  line-height: 1.12;
  margin: 0 0 2px;
}

.dictionary-row {
  border-top: var(--hairline);
  display: grid;
  gap: 11px;
  grid-template-columns: minmax(0, 1fr) minmax(118px, 34%);
  padding: 10px 0;
}

.dictionary-row-head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.dictionary-row-head strong {
  color: var(--burgundy);
  font-size: 0.88rem;
  line-height: 1.14;
  overflow-wrap: anywhere;
}

.dictionary-row-head span {
  background: var(--burgundy);
  color: var(--pink);
  display: inline-flex;
  font-size: 0.66rem;
  line-height: 1;
  padding: 4px 5px;
}

.dictionary-row p {
  color: var(--ink);
  line-height: 1.28;
  margin: 4px 0 0;
}

.dictionary-row small {
  color: var(--muted);
  display: block;
  line-height: 1.25;
  margin-top: 4px;
}

.dictionary-row-meta {
  align-content: start;
  display: grid;
  gap: 4px;
  justify-items: end;
  text-align: right;
}

.dictionary-row-meta span,
.dictionary-row-meta a {
  font-size: 0.72rem;
  line-height: 1.16;
}

.dictionary-row-meta span {
  color: var(--muted);
}

.dictionary-row-meta a {
  color: var(--orange);
  text-decoration: none;
}

.dictionary-row-meta a:hover,
.dictionary-row-meta a:focus-visible {
  color: var(--burgundy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.source-status {
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  margin-top: 12px;
  padding-top: 13px;
}

.source-status-kpis {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-inspector-open="true"] .source-status-kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.source-status-kpis div {
  border-left: 1px solid var(--line-strong);
  display: grid;
  gap: 2px;
  padding-left: 8px;
}

.source-status-kpis div[data-status="current"] {
  border-color: var(--green);
}

.source-status-kpis div[data-status="manual_review"] {
  border-color: var(--gold);
}

.source-status-kpis div[data-status="no_observations"] {
  border-color: var(--muted);
}

.source-status-kpis strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 0.98;
}

.source-status-kpis span {
  color: var(--muted);
  font-size: 0.68rem;
}

.source-status-details {
  margin-top: 12px;
}

.source-status-details summary {
  align-items: baseline;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  padding: 9px 0;
}

.source-status-details summary::-webkit-details-marker {
  display: none;
}

.source-status-details summary span {
  color: var(--muted);
  font-size: 0.72rem;
}

.source-status-list {
  border-top: var(--hairline);
  display: grid;
}

.source-status-row {
  align-items: start;
  border-bottom: var(--hairline);
  color: var(--ink);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(118px, 32%);
  padding: 9px 0;
  text-decoration: none;
}

.source-status-row:hover,
.source-status-row:focus-visible {
  color: var(--burgundy);
}

.source-status-row strong,
.source-status-row b {
  color: var(--burgundy);
  display: block;
  font-weight: 700;
  line-height: 1.12;
}

.source-status-row em,
.source-status-row small {
  color: var(--muted);
  display: block;
  font-style: normal;
  line-height: 1.22;
  margin-top: 2px;
}

.source-status-row b {
  font-size: 0.75rem;
}

.source-status-row[data-status="current"] b {
  color: var(--green);
}

.source-status-row[data-status="stale"] b {
  color: var(--orange);
}

.source-status-row[data-status="manual_review"] b {
  color: var(--burgundy);
}

.source-status-row[data-status="no_observations"] {
  opacity: 0.72;
}

.maintenance-console {
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  margin-top: 12px;
  padding-top: 13px;
}

.maintenance-details summary {
  align-items: baseline;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  padding: 8px 0;
}

.maintenance-details summary::-webkit-details-marker {
  display: none;
}

.maintenance-details summary span {
  color: var(--muted);
  font-size: 0.72rem;
}

.maintenance-kpis {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 7px 0 12px;
}

body[data-inspector-open="true"] .maintenance-kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.maintenance-kpis div {
  border: var(--hairline);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
}

.maintenance-kpis div[data-status="pass"] {
  background: rgb(30 128 15 / 8%);
}

.maintenance-kpis div[data-status="warn"],
.maintenance-kpis div[data-status="blank"] {
  background: var(--surface-pink);
}

.maintenance-kpis div[data-status="fail"] {
  background: rgb(255 103 25 / 10%);
}

.maintenance-kpis strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
}

.maintenance-kpis span,
.maintenance-block-head span,
.maintenance-row em,
.maintenance-row small {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.2;
}

.maintenance-grid {
  display: grid;
  gap: 14px;
}

.maintenance-block {
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: 4px;
  padding-top: 9px;
}

.maintenance-block-head {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.maintenance-block-head strong {
  color: var(--burgundy);
  font-size: 0.88rem;
}

.maintenance-list {
  display: grid;
}

.maintenance-row {
  align-items: start;
  border-top: var(--hairline);
  color: var(--burgundy);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(68px, auto);
  padding: 8px 0;
  text-decoration: none;
}

.maintenance-row:hover,
.maintenance-row:focus-visible {
  color: var(--orange);
}

.maintenance-row span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.maintenance-row span:last-child {
  justify-items: end;
  text-align: right;
}

.maintenance-row strong,
.maintenance-row b {
  font-size: 0.78rem;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.maintenance-row b {
  color: var(--burgundy);
}

.maintenance-row[data-status="stale"] b,
.maintenance-row[data-status="no_observations"] b,
.maintenance-row[data-status="manual_review"] b {
  color: var(--orange);
}

.maintenance-empty {
  border-top: var(--hairline);
  color: var(--muted);
  padding: 10px 0;
}

.maintenance-links {
  border-top: 1px solid var(--line-strong);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
  padding-top: 10px;
}

.maintenance-links a {
  color: var(--burgundy);
  font-size: 0.72rem;
  text-decoration: none;
}

.maintenance-links a:hover,
.maintenance-links a:focus-visible {
  color: var(--orange);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.coverage-matrix {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.76rem;
}

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

.coverage-details summary {
  align-items: baseline;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  padding: 13px 0;
}

.coverage-details summary::-webkit-details-marker {
  display: none;
}

.coverage-details summary span {
  color: var(--muted);
  font-size: 0.72rem;
}

.coverage-scroll {
  border: var(--hairline);
  max-height: 420px;
  overflow: auto;
}

.coverage-table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

.coverage-table th,
.coverage-table td {
  border-bottom: var(--hairline);
  padding: 7px 8px;
  text-align: center;
  white-space: nowrap;
}

.coverage-table thead th {
  background: var(--burgundy);
  color: var(--pink);
  position: sticky;
  top: 0;
  z-index: 2;
}

.coverage-table tbody th {
  background: var(--surface);
  color: var(--burgundy);
  left: 0;
  min-width: 210px;
  position: sticky;
  text-align: left;
  z-index: 1;
}

.coverage-table small {
  color: var(--muted);
  display: block;
  font-size: 0.68rem;
  margin-top: 2px;
}

.coverage-filled {
  color: var(--green);
  font-weight: 700;
}

.coverage-empty {
  color: var(--muted);
  opacity: 0.62;
}

.drawer-scrim {
  background: rgb(24 24 26 / 28%);
  inset: 0;
  position: fixed;
  z-index: 800;
}

.detail-drawer {
  background: var(--surface);
  border-left: 1px solid var(--line-strong);
  box-shadow: -18px 0 60px rgb(83 21 2 / 18%);
  color: var(--ink);
  display: grid;
  gap: 18px;
  grid-template-rows: auto auto auto 1fr auto;
  height: 100vh;
  max-width: min(520px, 100vw);
  overflow-y: auto;
  padding: 24px;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 160ms ease;
  width: 520px;
  z-index: 900;
}

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

.detail-drawer-head {
  align-items: start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.detail-drawer h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 0.92;
  margin: 0;
}

#close-detail {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--pink);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  padding: 8px 10px;
}

.detail-value-row {
  border-bottom: var(--hairline);
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 15px 0;
}

.detail-value-row label,
.detail-list dt {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.detail-value-row strong {
  color: var(--burgundy);
  display: block;
  font-size: 1.35rem;
  line-height: 1.05;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.detail-value-row strong.missing {
  color: var(--muted);
  font-weight: 400;
}

.detail-description {
  color: var(--burgundy);
  margin: 0;
}

.detail-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.detail-list div {
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(110px, 34%) minmax(0, 1fr);
  padding: 10px 0;
}

.detail-list dd {
  color: var(--ink);
  margin: 0;
  overflow-wrap: anywhere;
}

.detail-actions {
  border-top: 1px solid var(--line-strong);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 14px;
}

.empty-state {
  border: 1px dashed var(--line-strong);
  color: var(--muted);
  padding: 18px;
}

.selected-panel .empty-state {
  border-color: rgb(245 225 225 / 28%);
}

.empty-title {
  color: var(--burgundy);
  font-weight: 700;
  margin: 0 0 5px;
}

.empty-state p:last-child {
  margin: 0;
}

.scenario-workspace[hidden] {
  display: none;
}

body[data-scenario-mode="true"] {
  overflow: visible;
}

body[data-scenario-mode="true"] .app-shell {
  height: auto;
  min-height: var(--app-viewport-height);
  overflow: visible;
}

.scenario-workspace {
  background:
    linear-gradient(90deg, rgb(83 21 2 / 5%) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%);
  border-top: 2px solid var(--burgundy);
  color: var(--ink);
  padding: clamp(20px, 3vw, 36px);
}

.scenario-shell {
  display: grid;
  gap: 14px;
  margin: 0 auto;
  max-width: 1440px;
}

.scenario-hero {
  align-items: start;
  border-bottom: 1px solid var(--line-strong);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-bottom: 18px;
}

.scenario-hero h2 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 3rem);
  line-height: 0.96;
  margin: 0;
  max-width: 820px;
}

.scenario-hero p {
  color: var(--muted);
  margin: 12px 0 0;
  max-width: 780px;
}

.scenario-version-warning {
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid var(--burgundy);
  background: var(--surface-pink);
  color: var(--burgundy);
  font-size: 14px;
  line-height: 1.4;
}

.scenario-mechanics-summary {
  align-items: center;
  background: var(--pink-02);
  border: 1px solid var(--line);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 9px 12px;
}

.scenario-mechanics-summary > div {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
}

.scenario-mechanics-summary strong,
.scenario-mechanics-summary a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 700;
}

.scenario-mechanics-summary span {
  color: var(--muted);
  font-size: 0.76rem;
}

.scenario-mechanics-summary a {
  white-space: nowrap;
}

.scenario-actions {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.scenario-actions a,
.scenario-close-button {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: 600;
  min-height: 36px;
  padding: 9px 12px;
  text-decoration: none;
}

.scenario-actions a:hover,
.scenario-actions a:focus-visible,
.scenario-close-button:hover,
.scenario-close-button:focus-visible {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
  outline: 2px solid rgb(83 21 2 / 20%);
  outline-offset: 2px;
}

.scenario-hero-tools {
  align-items: end;
  display: grid;
  gap: 9px;
  justify-items: end;
}

.scenario-experience-switch {
  border: 1px solid var(--line-strong);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scenario-experience-switch button {
  background: transparent;
  border: 0;
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  font-weight: 600;
  min-height: 34px;
  padding: 7px 11px;
}

.scenario-experience-switch button + button {
  border-left: 1px solid var(--line-strong);
}

.scenario-experience-switch button[aria-selected="true"] {
  background: var(--burgundy);
  color: var(--surface);
}

.scenario-lab-workspace {
  display: grid;
  gap: 24px;
}

.scenario-lab-dock {
  align-items: end;
  background: rgb(255 253 249);
  border: 1px solid var(--line-strong);
  box-shadow: 0 12px 30px rgb(83 21 2 / 10%);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(170px, 0.55fr) minmax(260px, 0.8fr) minmax(420px, 1.65fr);
  padding: 12px;
  position: sticky;
  top: 8px;
  z-index: 520;
}

.scenario-lab-dock .scenario-year-control {
  margin: 0;
}

.scenario-probability-mixer {
  border: 0;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  min-width: 0;
  padding: 0;
}

.scenario-probability-mixer legend,
.scenario-probability-mixer label > span,
.scenario-target-controls label > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.scenario-probability-mixer legend {
  grid-column: 1 / -1;
  padding: 0;
}

.scenario-probability-mixer label,
.scenario-target-controls label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.scenario-probability-mixer label > span,
.scenario-target-controls label > span {
  display: flex;
  justify-content: space-between;
}

.scenario-probability-mixer input,
.scenario-target-controls input {
  accent-color: var(--burgundy);
  margin: 0;
  width: 100%;
}

.scenario-lab-readout {
  align-items: center;
  background: var(--burgundy-deep);
  color: var(--surface);
  display: grid;
  gap: 7px 14px;
  grid-template-columns: auto minmax(180px, 1fr) auto minmax(130px, 0.5fr) auto;
  padding: 12px 14px;
}

.scenario-lab-readout span,
.scenario-lab-readout em {
  color: var(--pink-strong);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-style: normal;
}

.scenario-lab-readout strong {
  font-size: 0.86rem;
}

.scenario-lab-readout em {
  justify-self: end;
  text-align: right;
}

.scenario-lab-target-grid,
.scenario-lab-analysis-grid {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.scenario-lab-section {
  border-top: 2px solid var(--burgundy);
  margin: 0;
  min-width: 0;
  padding-top: 13px;
}

.scenario-lab-heading {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 13px;
}

.scenario-lab-heading h3 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.08;
  margin: 2px 0 0;
}

.scenario-lab-heading > span {
  background: var(--pink-02);
  border: var(--hairline);
  color: var(--burgundy);
  flex: 0 0 auto;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  padding: 5px 7px;
}

.scenario-lab-heading > span[data-ahead="true"],
.scenario-lab-heading > span[data-over="false"] {
  background: rgb(30 128 15 / 9%);
  border-color: rgb(30 128 15 / 38%);
  color: var(--green);
}

.scenario-lab-heading > span[data-ahead="false"],
.scenario-lab-heading > span[data-over="true"] {
  background: rgb(255 103 25 / 10%);
  border-color: var(--orange);
  color: var(--burgundy-deep);
}

.scenario-target-controls {
  display: grid;
  gap: 14px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-optimized-path {
  align-items: center;
  border-top: var(--hairline);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 16px;
  padding-top: 13px;
}

.scenario-optimized-path div {
  display: grid;
  gap: 3px;
}

.scenario-optimized-path span,
.scenario-sequence-policy span,
.scenario-policy-year small,
.scenario-response-race-note span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
}

.scenario-optimized-path strong {
  color: var(--burgundy);
  font-size: 0.88rem;
  overflow-wrap: anywhere;
}

.scenario-optimized-path button,
.scenario-lab-receipt-actions button {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: 600;
  padding: 9px 11px;
}

.scenario-optimized-path button:disabled {
  background: var(--missing);
  border-color: var(--line);
  color: var(--muted);
  cursor: default;
}

.scenario-response-race svg {
  display: block;
  min-height: 210px;
  overflow: visible;
  width: 100%;
}

.scenario-response-race path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.scenario-response-race path.scenario-race-pressure,
.scenario-response-race circle.scenario-race-pressure {
  fill: var(--orange);
  stroke: var(--orange);
}

.scenario-response-race path.scenario-race-response,
.scenario-response-race circle.scenario-race-response {
  fill: var(--green);
  stroke: var(--green);
}

.scenario-response-race text {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: 12px;
}

.scenario-response-race .scenario-lab-selected-year {
  stroke: var(--line-strong);
  stroke-dasharray: 3 4;
  stroke-width: 1;
}

.scenario-response-race-note {
  align-items: center;
  border-top: var(--hairline);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding-top: 8px;
}

.scenario-response-race-note strong {
  color: var(--burgundy);
  font-size: 0.8rem;
}

.scenario-policy-source-tray {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.scenario-sequence-policy {
  align-items: center;
  background: var(--surface);
  border: var(--hairline);
  cursor: grab;
  display: grid;
  gap: 7px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  padding: 10px;
}

.scenario-sequence-policy[data-scheduled="true"] {
  background: var(--pink-02);
  border-color: var(--line-strong);
}

.scenario-sequence-policy > div {
  display: grid;
  gap: 2px;
  grid-column: 1 / -1;
}

.scenario-sequence-policy strong {
  color: var(--burgundy-deep);
  font-size: 0.9rem;
}

.scenario-sequence-policy a {
  color: var(--blue);
  font-family: var(--font-ui);
  font-size: 0.7rem;
}

.scenario-sequence-policy button {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  padding: 5px 7px;
}

.scenario-policy-timeline {
  border-bottom: 1px solid var(--line-strong);
  border-top: 1px solid var(--line-strong);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 15px;
}

.scenario-policy-year {
  min-height: 154px;
  padding: 8px;
  transition: background-color 130ms ease;
}

.scenario-policy-year + .scenario-policy-year {
  border-left: var(--hairline);
}

.scenario-policy-year[data-dragover="true"] {
  background: rgb(41 81 254 / 9%);
}

.scenario-policy-year > strong {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
}

.scenario-policy-year > div {
  display: grid;
  gap: 6px;
  margin-top: 7px;
}

.scenario-policy-year article {
  background: var(--burgundy);
  color: var(--surface);
  cursor: grab;
  display: grid;
  gap: 4px;
  padding: 8px;
}

.scenario-policy-year article span {
  font-size: 0.78rem;
  font-weight: 600;
}

.scenario-policy-year article small {
  color: var(--pink-strong);
}

.scenario-policy-year article > div {
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(3, 1fr);
}

.scenario-policy-year article button {
  background: rgb(255 253 249 / 10%);
  border-color: rgb(255 253 249 / 35%);
  color: var(--surface);
  font-size: 0.85rem;
  line-height: 1;
  min-height: 25px;
  padding: 3px;
}

.scenario-sequence-context {
  color: var(--muted);
  font-size: 0.82rem;
  margin: 9px 0 0;
}

.scenario-sequence-comparison > .scenario-lab-heading > a {
  color: var(--blue);
  font-family: var(--font-ui);
  font-size: 0.72rem;
}

.scenario-sequence-controls {
  background: var(--pink-02);
  border-block: var(--hairline);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, 0.7fr));
  padding: 12px;
}

.scenario-sequence-controls label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.scenario-sequence-controls label > span,
.scenario-sequence-controls label > small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
}

.scenario-sequence-controls label[data-path="a"] > span {
  color: var(--blue);
}

.scenario-sequence-controls label[data-path="b"] > span {
  color: var(--orange);
}

.scenario-sequence-controls select {
  background: var(--surface);
  min-width: 0;
  width: 100%;
}

.scenario-sequence-body {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, 0.75fr);
  padding-top: 14px;
}

.scenario-sequence-body figure {
  margin: 0;
  min-width: 0;
}

.scenario-sequence-body figcaption {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.scenario-sequence-body figcaption strong {
  color: var(--burgundy-deep);
  font-size: 0.88rem;
}

.scenario-sequence-body figcaption span {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-family: var(--font-ui);
  font-size: 0.68rem;
  gap: 5px;
}

.scenario-sequence-body figcaption i {
  background: var(--blue);
  display: inline-block;
  height: 3px;
  margin-left: 6px;
  width: 18px;
}

.scenario-sequence-body figcaption i[data-path="b"] {
  background: var(--orange);
}

.scenario-sequence-body svg {
  display: block;
  min-height: 170px;
  width: 100%;
}

.scenario-sequence-body svg > line:first-child {
  stroke: var(--line);
  stroke-dasharray: 3 4;
}

.scenario-sequence-body svg path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.scenario-sequence-body svg .scenario-sequence-path-a {
  stroke: var(--blue);
}

.scenario-sequence-body svg .scenario-sequence-path-b {
  stroke: var(--orange);
}

.scenario-sequence-body svg .scenario-sequence-start-a,
.scenario-sequence-body svg .scenario-sequence-start-b {
  stroke-dasharray: 2 5;
  stroke-width: 1;
}

.scenario-sequence-body svg .scenario-sequence-start-a {
  stroke: var(--blue);
}

.scenario-sequence-body svg .scenario-sequence-start-b {
  stroke: var(--orange);
}

.scenario-sequence-body svg text {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: 11px;
}

.scenario-sequence-outcomes {
  border-top: var(--hairline);
  display: grid;
}

.scenario-sequence-outcomes > div {
  border-bottom: var(--hairline);
  display: grid;
  gap: 2px 8px;
  grid-template-columns: minmax(130px, 0.8fr) minmax(170px, 1fr);
  padding: 8px 0;
}

.scenario-sequence-outcomes span,
.scenario-sequence-outcomes strong,
.scenario-sequence-outcomes small {
  font-family: var(--font-ui);
}

.scenario-sequence-outcomes span {
  color: var(--burgundy-deep);
  font-size: 0.72rem;
}

.scenario-sequence-outcomes strong {
  font-size: 0.72rem;
  text-align: right;
}

.scenario-sequence-outcomes strong em {
  color: var(--muted);
  font-style: normal;
  font-weight: 400;
}

.scenario-sequence-outcomes small {
  color: var(--muted);
  font-size: 0.65rem;
  grid-column: 1 / -1;
}

.scenario-sequence-readout {
  align-items: center;
  background: var(--burgundy-deep);
  color: var(--surface);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 14px;
  padding: 12px 14px;
}

.scenario-sequence-readout p {
  font-size: 0.82rem;
  margin: 0;
}

.scenario-sequence-readout > div {
  display: flex;
  gap: 6px;
}

.scenario-sequence-readout button {
  background: var(--surface);
  border-color: var(--surface);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  padding: 7px 9px;
}

.scenario-sequence-comparison > small,
.scenario-worker-transmission > small {
  color: var(--muted);
  display: block;
  font-size: 0.7rem;
  margin-top: 9px;
}

.scenario-transmission-summary {
  align-items: stretch;
  background: var(--burgundy-deep);
  color: var(--surface);
  display: grid;
  grid-template-columns: minmax(150px, 0.45fr) minmax(150px, 0.45fr) minmax(300px, 1.3fr);
}

.scenario-transmission-summary > div,
.scenario-transmission-summary > p {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 13px 14px;
}

.scenario-transmission-summary > * + * {
  border-left: 1px solid rgb(255 253 249 / 22%);
}

.scenario-transmission-summary strong {
  color: var(--pink-strong);
  font-family: var(--font-display);
  font-size: 1.45rem;
}

.scenario-transmission-summary span,
.scenario-transmission-summary p {
  font-size: 0.72rem;
}

.scenario-transmission-legend {
  align-items: center;
  border-bottom: var(--hairline);
  color: var(--muted);
  display: flex;
  font-family: var(--font-ui);
  font-size: 0.68rem;
  justify-content: space-between;
  padding: 9px 0;
}

.scenario-transmission-table {
  display: grid;
}

.scenario-transmission-table article {
  align-items: center;
  border-bottom: var(--hairline);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(210px, 1.2fr) minmax(160px, 0.75fr) minmax(150px, 0.75fr) minmax(210px, 1fr);
  min-width: 0;
  padding: 10px 0;
}

.scenario-transmission-occupation {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.scenario-transmission-occupation strong {
  color: var(--burgundy-deep);
  font-size: 0.86rem;
}

.scenario-transmission-occupation span,
.scenario-transmission-occupation a,
.scenario-transmission-tasks span,
.scenario-transmission-pressure > span,
.scenario-transmission-reach > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.66rem;
}

.scenario-transmission-occupation a {
  color: var(--blue);
  overflow-wrap: anywhere;
}

.scenario-transmission-tasks,
.scenario-transmission-reach {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}

.scenario-transmission-tasks span {
  background: var(--pink-02);
  border: var(--hairline);
  padding: 4px 5px;
}

.scenario-transmission-pressure {
  display: grid;
  gap: 5px;
}

.scenario-transmission-pressure i {
  background: var(--pink);
  display: block;
  height: 7px;
  overflow: hidden;
}

.scenario-transmission-pressure b {
  background: var(--orange);
  display: block;
  height: 100%;
  width: var(--transmission-pressure);
}

.scenario-transmission-reach a {
  border-left: 3px solid var(--green);
  display: grid;
  gap: 1px;
  min-width: 90px;
  padding: 3px 5px;
  text-decoration: none;
}

.scenario-transmission-reach a strong,
.scenario-transmission-reach a span {
  font-family: var(--font-ui);
  font-size: 0.64rem;
}

.scenario-transmission-reach a strong {
  color: var(--burgundy-deep);
}

.scenario-transmission-reach a span {
  color: var(--muted);
}

.scenario-transmission-detail {
  color: var(--muted);
  font-size: 0.76rem;
  margin: 10px 0 0;
}

.scenario-transmission-detail a {
  color: var(--blue);
}

.scenario-shock-options {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-shock-options button {
  align-content: start;
  display: grid;
  gap: 3px;
  min-height: 76px;
  padding: 9px;
  position: relative;
  text-align: left;
}

.scenario-shock-options button span {
  color: var(--burgundy-deep);
  font-size: 0.86rem;
  font-weight: 600;
}

.scenario-shock-options button small {
  color: var(--muted);
  font-size: 0.72rem;
}

.scenario-shock-options button em {
  color: var(--blue);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  font-style: normal;
  margin-top: 4px;
}

.scenario-shock-options button[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
}

.scenario-shock-options button[aria-pressed="true"] span,
.scenario-shock-options button[aria-pressed="true"] small,
.scenario-shock-options button[aria-pressed="true"] em {
  color: var(--surface);
}

.scenario-resource-bars {
  display: grid;
  gap: 9px;
}

.scenario-resource-bars > div {
  display: grid;
  gap: 5px 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.scenario-resource-bars span,
.scenario-resource-bars strong {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
}

.scenario-resource-bars i {
  background: var(--pink);
  display: block;
  grid-column: 1 / -1;
  height: 7px;
  overflow: hidden;
}

.scenario-resource-bars i::before {
  background: var(--green);
  content: "";
  display: block;
  height: 100%;
  width: min(var(--resource-use), 100%);
}

.scenario-resource-bars > div[data-over="true"] i::before {
  background: var(--orange);
}

.scenario-dependency-list {
  border-top: var(--hairline);
  display: grid;
  margin-top: 15px;
}

.scenario-dependency-list > div {
  align-items: baseline;
  border-bottom: var(--hairline);
  display: grid;
  gap: 4px 9px;
  grid-template-columns: minmax(120px, 0.7fr) auto minmax(180px, 1.1fr) auto;
  opacity: 0.64;
  padding: 8px 0;
}

.scenario-dependency-list > div[data-active="true"] {
  opacity: 1;
}

.scenario-dependency-list span,
.scenario-dependency-list strong,
.scenario-dependency-list a {
  font-family: var(--font-ui);
  font-size: 0.68rem;
}

.scenario-dependency-list strong {
  color: var(--green);
  text-transform: uppercase;
}

.scenario-dependency-list > div[data-status="watch"] strong {
  color: var(--orange);
}

.scenario-dependency-list > div[data-status="gap"] strong {
  color: var(--burgundy);
}

.scenario-dependency-list p {
  color: var(--muted);
  font-size: 0.75rem;
  margin: 0;
}

.scenario-dependency-list a {
  color: var(--blue);
}

.scenario-actor-bars {
  display: grid;
  gap: 11px;
}

.scenario-actor-axis {
  color: var(--muted);
  display: grid;
  font-family: var(--font-ui);
  font-size: 0.65rem;
  grid-template-columns: 1fr auto 1fr;
  margin: 0 42px 9px min(28%, 140px);
}

.scenario-actor-axis span:nth-child(2) {
  text-align: center;
}

.scenario-actor-axis span:last-child {
  text-align: right;
}

.scenario-actor-bars > div {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(130px, 0.75fr) minmax(150px, 1fr) 42px;
}

.scenario-actor-bars span,
.scenario-actor-bars strong {
  font-size: 0.78rem;
}

.scenario-actor-bars i {
  background: linear-gradient(90deg, transparent calc(50% - 0.5px), var(--line-strong) 50%, transparent calc(50% + 0.5px));
  display: block;
  height: 18px;
  position: relative;
}

.scenario-actor-bars b {
  background: var(--green);
  height: 8px;
  left: var(--actor-left);
  position: absolute;
  top: 5px;
  width: var(--actor-width);
}

.scenario-actor-bars > div[data-direction="cost"] b {
  background: var(--orange);
}

.scenario-actor-bars > div[data-direction="cost"] strong {
  color: var(--burgundy);
}

.scenario-pathway-steps {
  display: grid;
  gap: 0;
}

.scenario-pathway-steps > p {
  color: var(--muted);
  margin: 0;
}

.scenario-pathway-steps article {
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  grid-template-columns: 28px minmax(0, 1fr);
  padding: 10px 0;
}

.scenario-pathway-steps article > span {
  align-items: center;
  background: var(--burgundy);
  color: var(--surface);
  display: inline-flex;
  font-family: var(--font-ui);
  height: 24px;
  justify-content: center;
  width: 24px;
}

.scenario-pathway-steps article strong {
  color: var(--burgundy-deep);
  font-size: 0.86rem;
}

.scenario-pathway-steps article p {
  color: var(--muted);
  font-size: 0.78rem;
  margin: 3px 0 0;
}

.scenario-lab-receipt {
  background: var(--pink-02);
  border-bottom: 1px solid var(--line-strong);
  padding: 14px;
}

.scenario-lab-receipt > p {
  color: var(--burgundy-deep);
  font-size: 1rem;
  margin: 0;
  max-width: 1120px;
}

.scenario-lab-receipt > small {
  color: var(--muted);
  display: block;
  margin-top: 10px;
}

.scenario-lab-receipt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

.scenario-lab-receipt-actions button:nth-child(n + 2) {
  background: var(--surface);
  color: var(--burgundy);
}

.scenario-copy-fallback {
  border-top: var(--hairline);
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding-top: 12px;
}

.scenario-copy-fallback span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 600;
}

.scenario-copy-fallback textarea {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font-family: var(--font-body);
  padding: 9px;
  resize: vertical;
  width: 100%;
}

.scenario-guided-workspace {
  display: grid;
  gap: 18px;
}

.scenario-guided-controls {
  align-items: stretch;
  background: rgb(255 253 249 / 92%);
  border: 1px solid var(--line-strong);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(210px, 0.58fr) minmax(520px, 1.5fr) minmax(220px, 0.75fr);
  padding: 8px;
}

.scenario-guided-controls .scenario-active-policies,
.scenario-guided-controls .scenario-active-empty {
  align-content: center;
  align-self: stretch;
  border: 1px solid var(--line);
  justify-content: flex-start;
  margin: 0;
  padding: 9px;
}

.scenario-story-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.65fr);
}

.scenario-story-stage {
  background: rgb(255 253 249 / 96%);
  border: 1px solid var(--line-strong);
  margin: 0;
  min-height: 690px;
  padding: 16px;
  position: sticky;
  top: 16px;
}

.scenario-story-stage-content {
  display: grid;
  gap: 12px;
}

.scenario-story-stage-heading {
  align-items: end;
  border-bottom: var(--hairline);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding-bottom: 10px;
}

.scenario-story-stage-heading strong {
  color: var(--burgundy-deep);
  display: block;
  font-family: var(--font-display);
  font-size: 1.2rem;
  line-height: 1;
}

.scenario-story-stage-heading > span {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 0.9;
}

.scenario-story-progress {
  align-items: center;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.scenario-story-progress button {
  align-items: center;
  background: transparent;
  border: 0;
  border-top: 2px solid var(--line);
  color: var(--muted);
  display: flex;
  justify-content: center;
  min-height: 28px;
  padding: 5px;
}

.scenario-story-progress button span {
  align-items: center;
  border: 1px solid currentColor;
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.66rem;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.scenario-story-progress button[aria-selected="true"] {
  border-top-color: var(--orange);
  color: var(--burgundy);
}

.scenario-story-progress button[aria-selected="true"] span {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.scenario-story-model-key {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
}

.scenario-story-model-key span {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.64rem;
  gap: 5px;
}

.scenario-story-model-key span::before {
  background: var(--burgundy);
  content: "";
  height: 8px;
  width: 14px;
}

.scenario-story-model-key span[data-kind="scenario"]::before {
  background: repeating-linear-gradient(90deg, var(--orange) 0 4px, transparent 4px 7px);
  height: 2px;
}

.scenario-story-model-key span[data-kind="policy"]::before {
  background: transparent;
  border: 1px solid var(--blue);
  height: 8px;
}

.scenario-story-system {
  display: grid;
  gap: 18px 26px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 3px 20px;
}

.scenario-story-node {
  align-content: center;
  background: var(--surface);
  border: 1px solid var(--line);
  display: grid;
  gap: 3px;
  min-height: 82px;
  padding: 10px;
  position: relative;
  transition:
    background-color 240ms ease,
    border-color 240ms ease,
    transform 240ms ease;
}

.scenario-story-node:nth-child(1)::after,
.scenario-story-node:nth-child(2)::after,
.scenario-story-node:nth-child(5)::after,
.scenario-story-node:nth-child(6)::after,
.scenario-story-node:nth-child(3)::after {
  color: var(--line-strong);
  font-family: var(--font-display);
  font-size: 1.25rem;
  position: absolute;
}

.scenario-story-node:nth-child(1)::after,
.scenario-story-node:nth-child(2)::after {
  content: "→";
  right: -22px;
  top: 32%;
}

.scenario-story-node:nth-child(3)::after {
  bottom: -22px;
  content: "↓";
  left: 48%;
}

.scenario-story-node:nth-child(5)::after,
.scenario-story-node:nth-child(6)::after {
  content: "←";
  left: -22px;
  top: 32%;
}

.scenario-story-node span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
}

.scenario-story-node strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.98rem;
  line-height: 1.05;
}

.scenario-story-node small {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.68rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.scenario-story-node[data-active="true"] {
  background: var(--pink-02);
  border-color: var(--orange);
  transform: translateY(-3px);
}

.scenario-story-node[data-policy-affected="true"] {
  box-shadow: inset 0 0 0 2px var(--blue);
}

.scenario-story-node[data-policy-affected="true"]::before {
  background: var(--surface);
  color: var(--blue);
  content: "Policy effect";
  font-family: var(--font-ui);
  font-size: 0.55rem;
  font-weight: 600;
  padding: 1px 3px;
  position: absolute;
  right: 4px;
  top: 3px;
  text-transform: uppercase;
}

.scenario-story-trajectory-wrap {
  border-bottom: var(--hairline);
  border-top: var(--hairline);
  display: grid;
  gap: 5px;
  padding: 8px 0 6px;
}

.scenario-story-trajectory {
  display: block;
  height: auto;
  width: 100%;
}

.scenario-story-year-marker {
  stroke: var(--burgundy);
  stroke-dasharray: 4 4;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.scenario-story-decision-marker {
  stroke: var(--orange);
  stroke-dasharray: 2 5;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.scenario-story-decision-symbol {
  fill: var(--orange);
}

.scenario-story-trajectory-series path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.scenario-story-trajectory-series path.scenario-story-trajectory-band {
  opacity: 0.1;
  stroke: none;
}

.scenario-story-trajectory-series circle {
  fill: var(--surface);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.scenario-story-trajectory-series text,
.scenario-story-year-label {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: 11px;
}

.scenario-story-trajectory-series[data-metric="productivityUpside"] path,
.scenario-story-trajectory-series[data-metric="productivityUpside"] circle {
  stroke: var(--orange);
}

.scenario-story-trajectory-series[data-metric="productivityUpside"] .scenario-story-trajectory-band {
  fill: var(--orange);
}

.scenario-story-trajectory-series[data-metric="laborPressure"] path,
.scenario-story-trajectory-series[data-metric="laborPressure"] circle {
  stroke: var(--orange-hot);
}

.scenario-story-trajectory-series[data-metric="laborPressure"] .scenario-story-trajectory-band {
  fill: var(--orange-hot);
}

.scenario-story-trajectory-series[data-metric="sharedGains"] path,
.scenario-story-trajectory-series[data-metric="sharedGains"] circle {
  stroke: var(--blue);
}

.scenario-story-trajectory-series[data-metric="sharedGains"] .scenario-story-trajectory-band {
  fill: var(--blue);
}

.scenario-story-trajectory-series path.scenario-story-trajectory-band {
  stroke: none;
}

.scenario-story-trajectory-series .scenario-story-trajectory-ghost {
  opacity: 0.38;
  stroke: var(--line-strong);
  stroke-dasharray: 5 5;
  stroke-width: 2;
}

.scenario-story-trajectory-key {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.scenario-story-trajectory-key span {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.66rem;
  gap: 4px;
}

.scenario-story-trajectory-key span::before {
  background: var(--orange);
  content: "";
  height: 3px;
  width: 14px;
}

.scenario-story-trajectory-key span:nth-child(2)::before {
  background: var(--orange-hot);
}

.scenario-story-trajectory-key span:nth-child(3)::before {
  background: var(--blue);
}

.scenario-story-trajectory-key span[data-ghost="true"]::before {
  background: repeating-linear-gradient(90deg, var(--line-strong) 0 4px, transparent 4px 7px);
  height: 2px;
}

.scenario-story-trajectory-key span[data-band="true"]::before {
  background: var(--pink-strong);
  border: 1px solid var(--line-strong);
  height: 7px;
}

.scenario-story-decision-note {
  align-items: center;
  border-top: 1px dashed var(--line);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  padding-top: 5px;
}

.scenario-story-decision-note span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.62rem;
  text-transform: uppercase;
}

.scenario-story-decision-note strong {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  text-align: right;
}

.scenario-story-stage-footer {
  align-items: start;
  display: grid;
  min-height: 116px;
}

.scenario-story-stage-footer > p {
  align-self: center;
  color: var(--muted);
  margin: 0;
}

.scenario-story-stage-footer > p strong {
  color: var(--burgundy);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.68rem;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.scenario-objective-fork {
  display: grid;
  gap: 7px;
}

.scenario-objective-heading {
  align-items: end;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.scenario-objective-heading div {
  display: grid;
  gap: 2px;
}

.scenario-objective-heading span,
.scenario-objective-heading em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.61rem;
  font-style: normal;
  text-transform: uppercase;
}

.scenario-objective-heading strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.9rem;
}

.scenario-objective-options {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.scenario-objective-options button {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.62rem;
  font-weight: 600;
  min-height: 34px;
  padding: 5px 6px;
}

.scenario-objective-options button[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.scenario-objective-recommendation {
  align-items: center;
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 5px 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 5px 0 5px 8px;
}

.scenario-objective-recommendation p {
  color: var(--muted);
  font-size: 0.68rem;
  grid-column: 1;
  margin: 0;
}

.scenario-objective-recommendation p strong {
  color: var(--burgundy-deep);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.68rem;
}

.scenario-objective-recommendation a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.62rem;
  grid-column: 1;
  width: fit-content;
}

.scenario-objective-recommendation button {
  align-self: center;
  background: var(--burgundy);
  border: 1px solid var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.64rem;
  font-weight: 600;
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 150px;
  padding: 6px 8px;
}

.scenario-objective-recommendation button:disabled {
  background: var(--pink-02);
  border-color: var(--line);
  color: var(--muted);
}

.scenario-story-desktop-interaction {
  display: grid;
  gap: 6px;
  margin-top: 14px;
}

.scenario-story-desktop-interaction > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.62rem;
  text-transform: uppercase;
}

.scenario-story-policy-tray {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-story-policy-tray button {
  align-content: start;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--burgundy-deep);
  display: grid;
  gap: 3px;
  min-height: 48px;
  padding: 7px 8px;
  text-align: left;
}

.scenario-story-policy-tray button span {
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
}

.scenario-story-policy-tray button small {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.64rem;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.scenario-story-policy-tray button[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.scenario-story-policy-tray button[aria-pressed="true"] small {
  color: rgb(255 253 249 / 76%);
}

.scenario-story-policy-tray button[data-recommended="true"] {
  border-color: var(--orange);
}

.scenario-story-policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  grid-column: 1 / -1;
}

.scenario-story-policy-links a {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.6rem;
}

.scenario-story-receipt {
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 8px;
  padding: 8px 10px 10px;
}

.scenario-story-receipt-summary {
  display: grid;
  gap: 3px;
}

.scenario-story-receipt-summary span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  font-weight: 600;
  text-transform: uppercase;
}

.scenario-story-receipt-summary strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.92rem;
  line-height: 1.08;
}

.scenario-story-receipt-policies {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.scenario-story-receipt-policies span {
  background: var(--pink-02);
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.64rem;
  padding: 4px 6px;
}

.scenario-ending-compare {
  border-bottom: var(--hairline);
  border-top: var(--hairline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scenario-ending-compare > div {
  display: grid;
  gap: 3px;
  padding: 6px 8px;
}

.scenario-ending-compare > div + div {
  border-left: var(--hairline);
}

.scenario-ending-compare > div > span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.61rem;
  font-weight: 600;
  text-transform: uppercase;
}

.scenario-ending-compare p {
  align-items: baseline;
  display: flex;
  gap: 5px;
  justify-content: space-between;
  margin: 0;
}

.scenario-ending-compare p em {
  color: var(--muted);
  font-size: 0.61rem;
  font-style: normal;
}

.scenario-ending-compare p strong {
  color: var(--burgundy-deep);
  font-family: var(--font-ui);
  font-size: 0.62rem;
}

.scenario-story-briefing {
  color: var(--muted);
  font-size: 0.69rem;
  margin: 0;
}

.scenario-story-briefing span {
  color: var(--burgundy);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.61rem;
  font-weight: 600;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.scenario-story-receipt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.scenario-story-receipt-actions button {
  background: var(--burgundy);
  border: 1px solid var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.64rem;
  font-weight: 600;
  min-height: 30px;
  padding: 5px 7px;
}

.scenario-story-receipt-actions button:not([data-policy-pairing]) {
  background: var(--surface);
  color: var(--burgundy);
}

.scenario-story-receipt-actions button:disabled {
  background: var(--pink-02);
  border-color: var(--line);
  color: var(--muted);
  cursor: default;
}

.scenario-story-steps {
  display: grid;
}

.scenario-story-step {
  align-items: center;
  border-left: 2px solid var(--line);
  display: grid;
  min-height: 72svh;
  opacity: 0.52;
  padding: 36px 0 36px 24px;
  transition:
    border-color 240ms ease,
    opacity 240ms ease,
    transform 240ms ease;
}

.scenario-story-step[aria-current="step"] {
  border-left-color: var(--orange);
  opacity: 1;
  transform: translateX(4px);
}

.scenario-story-step h3 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1;
  margin: 0;
}

.scenario-story-step > div > p:not(.eyebrow) {
  color: var(--muted);
  margin: 12px 0;
}

.scenario-story-step .scenario-evidence-chips {
  display: grid;
  grid-template-columns: 1fr;
}

.scenario-story-step .scenario-evidence-chips a {
  min-width: 0;
}

.scenario-story-chapter-evidence > span {
  color: var(--muted);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.66rem;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.scenario-story-mobile-state {
  display: none;
}

.scenario-story-mobile-pulse {
  border-bottom: var(--hairline);
  border-top: 2px solid var(--burgundy);
  display: grid;
  gap: 12px;
  padding: 10px 0 12px;
}

.scenario-story-mobile-pulse-heading {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.scenario-story-mobile-pulse-heading span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.66rem;
  text-transform: uppercase;
}

.scenario-story-mobile-pulse-heading strong {
  color: var(--burgundy);
  font-size: 0.78rem;
  text-align: right;
}

.scenario-story-mobile-metrics {
  display: grid;
  gap: 9px;
  grid-template-columns: 1fr;
}

.scenario-story-mobile-metrics > div {
  align-items: baseline;
  display: grid;
  gap: 4px 10px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.scenario-story-mobile-metrics span,
.scenario-story-mobile-metrics small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.64rem;
}

.scenario-story-mobile-metrics strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.86rem;
  text-align: right;
}

.scenario-story-mobile-metrics i {
  background: var(--pink);
  display: block;
  grid-column: 1 / -1;
  height: 7px;
  overflow: visible;
  position: relative;
}

.scenario-story-mobile-metrics i b {
  background: var(--blue);
  display: block;
  height: 100%;
  width: var(--story-pulse);
}

.scenario-story-mobile-metrics [data-metric="laborPressure"] i b {
  background: var(--orange);
}

.scenario-story-mobile-metrics [data-metric="sharedGains"] i b {
  background: var(--green);
}

.scenario-story-mobile-metrics i em {
  background: var(--burgundy-deep);
  height: 11px;
  left: var(--story-baseline);
  position: absolute;
  top: -2px;
  transform: translateX(-1px);
  width: 2px;
}

.scenario-story-mobile-metrics small {
  grid-column: 1 / -1;
}

.scenario-story-mobile-capabilities {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 10px;
}

.scenario-story-mobile-capabilities div {
  display: grid;
  gap: 2px;
}

.scenario-story-mobile-capabilities span,
.scenario-story-mobile-bottlenecks span,
.scenario-story-mobile-bottlenecks em {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.64rem;
}

.scenario-story-mobile-capabilities strong {
  color: var(--burgundy-deep);
  font-size: 0.74rem;
}

.scenario-story-mobile-flow {
  align-items: stretch;
  border-top: var(--hairline);
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.3fr) auto minmax(0, 1fr);
  padding-top: 10px;
}

.scenario-story-mobile-flow span {
  align-items: center;
  background: var(--pink-02);
  color: var(--burgundy);
  display: flex;
  font-family: var(--font-ui);
  font-size: 0.68rem;
  justify-content: center;
  min-height: 42px;
  padding: 5px;
  text-align: center;
}

.scenario-story-mobile-flow b {
  align-self: center;
  color: var(--orange);
}

.scenario-story-mobile-bottlenecks {
  border-top: var(--hairline);
  display: grid;
  padding-top: 5px;
}

.scenario-story-mobile-bottlenecks div {
  align-items: center;
  border-bottom: var(--hairline);
  display: grid;
  gap: 8px;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  padding: 7px 0;
}

.scenario-story-mobile-bottlenecks strong {
  color: var(--burgundy-deep);
  font-size: 0.76rem;
}

.scenario-story-mobile-bottlenecks em {
  font-style: normal;
  text-transform: uppercase;
}

.scenario-active-policy-chip {
  align-items: stretch;
  display: inline-flex;
}

.scenario-active-policy-chip [data-policy-focus] {
  border-right: 0;
}

.scenario-active-policy-chip [data-policy-remove] {
  align-items: center;
  background: var(--pink-02);
  border: 1px solid var(--line);
  color: var(--burgundy);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.82rem;
  justify-content: center;
  min-width: 25px;
  padding: 3px 6px;
}

.scenario-controls {
  align-items: stretch;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(210px, 0.62fr) minmax(260px, 0.9fr) minmax(440px, 1.55fr);
}

.scenario-field,
.scenario-year-control {
  background: rgb(255 253 249 / 82%);
  border: 1px solid var(--line);
  display: grid;
  gap: 6px;
  padding: 10px;
}

.scenario-control-dock {
  background: rgb(255 253 249 / 96%);
  border: 1px solid var(--line-strong);
  box-shadow: 0 8px 24px rgb(83 21 2 / 8%);
  display: grid;
  gap: 7px;
  padding: 8px;
  position: sticky;
  top: 0;
  z-index: 700;
}

.scenario-field span,
.scenario-year-control span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: 600;
}

.scenario-field select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  min-height: 38px;
  padding: 7px 9px;
}

.scenario-year-control > div:first-child {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

.scenario-year-control strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1;
}

#scenario-year-range {
  accent-color: var(--orange);
  width: 100%;
}

.scenario-year-ticks {
  color: var(--muted);
  display: flex;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  justify-content: space-between;
}

.scenario-toggle-row {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scenario-toggle {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  display: grid;
  gap: 5px;
  justify-items: start;
  min-height: 74px;
  padding: 10px;
  text-align: left;
}

.scenario-toggle span {
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1;
}

.scenario-toggle small {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.7rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.25;
  overflow: hidden;
}

.scenario-control-footer {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-height: 32px;
}

.scenario-control-footer .scenario-capability-details {
  flex: 0 1 470px;
}

.scenario-active-empty {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  margin: 0 4px;
}

.scenario-active-policies {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.scenario-active-policies > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
}

.scenario-active-policies button,
.scenario-policy-focus-tabs button {
  background: var(--pink-02);
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 600;
  padding: 5px 7px;
}

.scenario-active-policies button[aria-pressed="true"],
.scenario-policy-focus-tabs button[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.scenario-toggle[aria-pressed="true"] {
  box-shadow: inset 0 0 0 2px var(--burgundy);
}

.scenario-toggle[data-tone="blue"] {
  border-color: color-mix(in srgb, var(--blue) 38%, var(--line));
}

.scenario-toggle[data-tone="blue"][aria-pressed="true"] {
  background: color-mix(in srgb, var(--blue) 12%, var(--surface));
}

.scenario-toggle[data-tone="gold"] {
  border-color: color-mix(in srgb, var(--gold) 58%, var(--line));
}

.scenario-toggle[data-tone="gold"][aria-pressed="true"] {
  background: color-mix(in srgb, var(--gold) 18%, var(--surface));
}

.scenario-toggle[data-tone="red"] {
  border-color: color-mix(in srgb, #e85c68 54%, var(--line));
}

.scenario-toggle[data-tone="red"][aria-pressed="true"] {
  background: color-mix(in srgb, #e85c68 14%, var(--surface));
}

.scenario-body-grid,
.scenario-topline-grid {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.scenario-panel {
  background: rgb(255 253 249 / 88%);
  border: 1px solid var(--line);
  padding: 14px;
}

.scenario-section-heading {
  align-items: start;
  border-bottom: var(--hairline);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.scenario-section-heading h3 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1;
  margin: 0;
}

.scenario-section-heading > span {
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  padding: 5px 7px;
  white-space: nowrap;
}

.scenario-capability-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.scenario-capability-list div {
  border-top: var(--hairline);
  display: grid;
  gap: 12px;
  grid-template-columns: 140px minmax(0, 1fr);
  padding: 10px 0;
}

.scenario-capability-list div:first-child {
  border-top: 0;
  padding-top: 0;
}

.scenario-capability-list dt {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.scenario-capability-list dd {
  color: var(--ink);
  margin: 0;
}

.scenario-capability-details {
  border: 1px solid var(--line);
  background: rgb(255 253 249 / 68%);
}

.scenario-capability-details summary {
  align-items: center;
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-ui);
  font-size: 0.76rem;
  font-weight: 600;
  gap: 8px;
  justify-content: space-between;
  min-height: 36px;
  padding: 6px 9px;
}

.scenario-capability-details summary strong,
.scenario-capability-details summary em {
  font-style: normal;
}

.scenario-capability-details .scenario-capability-list {
  border-top: var(--hairline);
  padding: 10px 12px 6px;
}

.scenario-policy-summary p {
  color: var(--muted);
  margin: 0;
}

.scenario-country-brief-panel {
  border-color: var(--line-strong);
  display: grid;
  gap: 10px;
}

.scenario-brief-risk {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.4vw, 1.45rem);
  line-height: 1.05;
  margin: 0;
  max-width: 980px;
}

.scenario-brief-lede {
  color: var(--muted);
  margin: 0;
}

.scenario-brief-copy {
  columns: 2 340px;
  column-gap: 28px;
}

.scenario-brief-copy p {
  break-inside: avoid;
  color: var(--ink);
  margin: 0 0 8px;
}

.scenario-breaks-panel {
  display: grid;
  gap: 12px;
}

.scenario-bottleneck-list {
  display: grid;
  gap: 8px;
}

.scenario-bottleneck {
  border: 1px solid var(--line);
  display: grid;
  gap: 8px;
  grid-template-columns: 28px minmax(0, 1fr);
  padding: 9px;
}

.scenario-bottleneck > span {
  align-items: center;
  background: var(--burgundy);
  color: var(--surface);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: 600;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.scenario-bottleneck h4 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.98rem;
  line-height: 1.05;
  margin: 0;
}

.scenario-bottleneck strong {
  color: var(--orange-hot);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  margin-top: 4px;
  text-transform: uppercase;
}

.scenario-bottleneck p {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 5px 0 0;
}

.scenario-stack-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.scenario-stack-chips span {
  background: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  padding: 6px 8px;
}

.scenario-stack-chips span[data-active="false"] {
  background: var(--pink-02);
  border: 1px solid var(--line);
  color: var(--burgundy);
}

.scenario-evidence-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.scenario-evidence-chips a {
  background: var(--pink-02);
  border: 1px solid var(--line);
  color: var(--burgundy);
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 8px 9px;
  text-decoration: none;
}

.scenario-evidence-chips[data-compact="true"] a {
  min-width: 0;
  padding: 6px 7px;
}

.scenario-evidence-chips a:hover,
.scenario-evidence-chips a:focus-visible {
  border-color: var(--burgundy);
  outline: 2px solid rgb(83 21 2 / 18%);
  outline-offset: 2px;
}

.scenario-evidence-chips span {
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 600;
}

.scenario-evidence-chips strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1rem;
  line-height: 1;
}

.scenario-evidence-chips em {
  color: var(--muted);
  font-size: 0.7rem;
  font-style: normal;
  line-height: 1.2;
}

.scenario-results-panel,
.scenario-impact-panel {
  display: grid;
  gap: 10px;
}

.scenario-decision-readout {
  align-items: baseline;
  background: var(--burgundy);
  color: var(--surface);
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 11px 12px;
}

.scenario-decision-readout strong {
  font-family: var(--font-ui);
  font-size: 0.72rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.scenario-decision-readout p {
  color: inherit;
  margin: 0;
}

.scenario-impact-strip {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.scenario-revenue-trigger {
  background: color-mix(in srgb, var(--gold) 11%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--gold) 64%, var(--line));
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.1fr) minmax(240px, 0.72fr);
  padding: 16px;
}

.scenario-revenue-trigger-copy > span {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.62rem;
  text-transform: uppercase;
}

.scenario-revenue-trigger-copy h3 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1.3rem;
  letter-spacing: 0;
  line-height: 1;
  margin: 5px 0 8px;
}

.scenario-revenue-trigger-copy p,
.scenario-revenue-trigger-note p {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.45;
  margin: 0;
}

.scenario-revenue-trigger-copy strong {
  color: var(--ink);
}

.scenario-revenue-trigger > dl {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.scenario-revenue-trigger > dl div {
  align-content: center;
  background: color-mix(in srgb, var(--surface) 74%, transparent);
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
}

.scenario-revenue-trigger dt,
.scenario-revenue-trigger dd,
.scenario-revenue-trigger-note {
  font-family: var(--font-ui);
}

.scenario-revenue-trigger dt {
  color: var(--muted);
  font-size: 0.58rem;
  line-height: 1.2;
}

.scenario-revenue-trigger dd {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.scenario-revenue-trigger-note {
  align-content: start;
  border-left: 1px solid color-mix(in srgb, var(--gold) 60%, var(--line));
  display: grid;
  gap: 7px;
  padding-left: 14px;
}

.scenario-revenue-trigger-note > span {
  color: var(--muted);
  font-size: 0.62rem;
  line-height: 1.35;
}

.scenario-revenue-trigger-note a {
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 700;
  text-underline-offset: 2px;
}

.scenario-impact-item {
  border: 1px solid var(--line);
  min-width: 0;
}

.scenario-impact-item[data-direction="positive"] {
  border-top: 3px solid var(--green);
}

.scenario-impact-item[data-direction="negative"] {
  border-top: 3px solid var(--orange-hot);
}

.scenario-impact-item summary {
  cursor: pointer;
  display: grid;
  gap: 6px;
  min-height: 112px;
  padding: 10px;
  position: relative;
}

.scenario-impact-item summary span {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.98rem;
  line-height: 1.05;
}

.scenario-impact-item summary strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1;
}

.scenario-impact-item summary em {
  color: var(--muted);
  font-style: normal;
  font-size: 0.78rem;
}

.scenario-impact-item summary i {
  align-self: end;
  background: var(--orange);
  display: block;
  height: 6px;
  max-width: 100%;
}

.scenario-impact-item p,
.scenario-impact-item dl {
  border-top: var(--hairline);
  color: var(--muted);
  margin: 0;
  padding: 9px 10px;
}

.scenario-impact-item dl {
  display: grid;
  gap: 5px;
}

.scenario-impact-item dl div {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

.scenario-impact-item dt {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.68rem;
}

.scenario-impact-item dd {
  color: var(--burgundy);
  font-weight: 700;
  margin: 0;
}

.scenario-trajectory {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  margin: 4px 0 0;
  padding-top: 12px;
}

.scenario-trajectory figcaption {
  align-items: end;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.scenario-trajectory figcaption strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1rem;
}

.scenario-trajectory figcaption small {
  color: var(--muted);
  display: block;
  font-size: 0.72rem;
  margin-top: 3px;
}

.scenario-trajectory-legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.scenario-trajectory-legend span {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  gap: 5px;
}

.scenario-trajectory-legend span::before {
  background: var(--line-strong);
  content: "";
  display: inline-block;
  height: 2px;
  width: 22px;
}

.scenario-trajectory-legend span[data-series="policy"]::before {
  background: var(--orange);
  height: 3px;
}

.scenario-trajectory svg {
  display: block;
  height: auto;
  max-height: 356px;
  width: 100%;
}

.scenario-trajectory-row > line {
  stroke: var(--line);
  stroke-width: 1;
}

.scenario-trajectory-scenario,
.scenario-trajectory-policy {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.scenario-trajectory-scenario {
  stroke: var(--line-strong);
  stroke-width: 2;
}

.scenario-trajectory-policy {
  stroke: var(--orange);
  stroke-width: 3;
}

.scenario-trajectory-marker {
  fill: var(--burgundy);
  stroke: var(--surface);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.scenario-trajectory-year {
  stroke: var(--burgundy);
  stroke-dasharray: 4 4;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.scenario-trajectory-label,
.scenario-trajectory-band,
.scenario-trajectory-tick,
.scenario-trajectory-year-label {
  fill: var(--burgundy-deep);
  font-family: var(--font-ui);
  font-size: 14px;
}

.scenario-trajectory-label {
  font-weight: 600;
}

.scenario-trajectory-band,
.scenario-trajectory-tick {
  fill: var(--muted);
  font-size: 12px;
}

.scenario-trajectory-year-label {
  font-weight: 700;
}

.scenario-trajectory-mobile {
  display: none;
}

.scenario-trajectory-mobile-row {
  border-top: var(--hairline);
  display: grid;
  gap: 6px;
  padding: 8px 0;
}

.scenario-trajectory-mobile-row > div {
  align-items: baseline;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.scenario-trajectory-mobile-row strong {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 0.9rem;
}

.scenario-trajectory-mobile-row span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  text-align: right;
}

.scenario-trajectory-mobile-row svg {
  height: 42px;
  width: 100%;
}

.scenario-policy-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.scenario-policy-card {
  align-content: start;
  border: 1px solid var(--line);
  display: grid;
  gap: 9px;
  padding: 12px;
}

.scenario-policy-card[data-selected="true"] {
  border-color: var(--burgundy);
  box-shadow: inset 0 0 0 2px rgb(83 21 2 / 12%);
}

.scenario-policy-card[data-focused="true"] {
  background: rgb(251 230 231 / 38%);
}

.scenario-policy-card button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--burgundy-deep);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 0;
  text-align: left;
}

.scenario-policy-card button span {
  font-family: var(--font-display);
  font-size: 1.03rem;
  font-weight: 600;
  line-height: 1;
}

.scenario-policy-card button strong {
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  padding: 5px 7px;
}

.scenario-policy-card[data-selected="true"] button strong {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--surface);
}

.scenario-policy-card p {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.9rem;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  line-height: 1.32;
  margin: 0;
  overflow: hidden;
}

.scenario-policy-fit {
  display: flex;
}

.scenario-policy-fit span {
  background: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 600;
  padding: 5px 7px;
}

.scenario-policy-tradeoffs {
  border-top: var(--hairline);
  display: grid;
  gap: 10px;
  padding-top: 10px;
}

.scenario-policy-tradeoffs strong {
  color: var(--burgundy);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.scenario-policy-tradeoffs ul {
  color: var(--muted);
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 16px;
}

.scenario-policy-effects {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.scenario-policy-effects span {
  background: var(--pink-02);
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.68rem;
  padding: 5px 6px;
}

.scenario-policy-card a {
  align-self: start;
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: 600;
}

.scenario-policy-detail-tray {
  background: rgb(255 253 249 / 72%);
  border: 1px solid var(--line);
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
}

.scenario-policy-detail-tray[data-empty="true"] {
  color: var(--muted);
  font-size: 0.9rem;
}

.scenario-policy-detail-tray[data-empty="true"] p {
  margin: 0;
}

.scenario-policy-detail-heading {
  align-items: start;
  border-bottom: var(--hairline);
  display: flex;
  justify-content: space-between;
  padding-bottom: 8px;
}

.scenario-policy-detail-heading > div {
  display: grid;
  gap: 7px;
}

.scenario-policy-focus-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.scenario-policy-detail-heading span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 600;
}

.scenario-policy-detail-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);
}

.scenario-policy-detail-card {
  border: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding: 12px;
}

.scenario-policy-detail-title {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.scenario-policy-detail-title h4 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1.08rem;
  line-height: 1;
  margin: 0;
}

.scenario-policy-detail-title p {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.35;
  margin: 6px 0 0;
}

.scenario-policy-detail-title > span {
  align-self: start;
  background: var(--burgundy);
  color: var(--surface);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 600;
  max-width: 220px;
  padding: 6px 8px;
  text-align: right;
}

.scenario-policy-detail-title .scenario-assumption-rationale {
  border-left: 2px solid var(--line-strong);
  font-size: 0.78rem;
  margin-top: 8px;
  padding-left: 8px;
}

.scenario-policy-detail-title .scenario-assumption-rationale strong {
  color: var(--burgundy);
}

.scenario-policy-detail-body {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 0.9fr) minmax(320px, 1.1fr);
}

.scenario-policy-evidence-column {
  display: grid;
  gap: 8px;
}

.scenario-policy-evidence-column > strong {
  color: var(--burgundy);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.scenario-policy-evidence-column > a {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: 600;
}

.scenario-policy-evidence-pack {
  border-top: var(--hairline);
  display: grid;
  gap: 8px;
  grid-column: 1 / -1;
  padding-top: 10px;
}

.scenario-policy-evidence-pack strong {
  color: var(--burgundy);
  display: block;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.scenario-policy-evidence-pack p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}

.scenario-policy-evidence-pack a {
  border: 1px solid var(--line);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  padding: 5px 6px;
  text-decoration: none;
}

.scenario-policy-evidence-pack a:hover,
.scenario-policy-evidence-pack a:focus-visible {
  border-color: var(--burgundy);
  outline: 2px solid rgb(83 21 2 / 18%);
  outline-offset: 2px;
}

.scenario-pairings-panel {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.scenario-pairing-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-pairing-card {
  border: 1px solid var(--line);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 10px;
}

.scenario-pairing-card h4 {
  color: var(--burgundy-deep);
  font-family: var(--font-display);
  font-size: 1rem;
  line-height: 1.05;
  margin: 0;
}

.scenario-pairing-card p {
  color: var(--muted);
  font-size: 0.88rem;
  margin: 0;
}

.scenario-pairing-mechanics {
  border-top: var(--hairline);
  display: grid;
  gap: 7px;
  margin-top: 8px;
  padding-top: 8px;
}

.scenario-pairing-mechanics > p {
  font-size: 0.76rem;
}

.scenario-pairing-mechanics > p strong {
  color: var(--burgundy);
}

.scenario-pairing-mechanics .scenario-evidence-chips {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-pairing-card .scenario-stack-chips {
  align-self: end;
  grid-column: 1;
  margin-top: 2px;
}

.scenario-pairing-card > button {
  align-self: end;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 600;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 34px;
  padding: 7px 9px;
}

.scenario-pairing-card > button:hover,
.scenario-pairing-card > button:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
}

.scenario-pairing-card > button:disabled {
  background: var(--pink-02);
  color: var(--muted);
  cursor: default;
}

@media (max-width: 1080px) {
  .headline-comparison-head,
  .headline-comparison-grid,
  .headline-country-readout {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-comparison-tabs {
    justify-content: flex-start;
  }

  .headline-scatter-stage {
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }

  .headline-country-measure-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .headline-comparison-head {
    padding: 16px;
  }

  .headline-comparison-tabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-comparison-tabs button,
  .headline-comparison-tabs button + button {
    border: 1px solid var(--line-strong);
    width: 100%;
  }

  .headline-comparison-tabs button + button {
    border-top: 0;
  }

  .headline-scatter-stage {
    padding: 8px 6px 0;
  }

  .headline-scatter-desktop {
    display: none;
  }

  .headline-scatter-mobile {
    display: block;
  }

  .headline-comparison-details {
    padding: 16px;
  }

  .headline-comparison-note {
    align-items: flex-start;
    flex-direction: column;
    padding: 10px 16px;
  }

  .headline-metric-compare-head,
  .headline-peer-summary,
  .headline-country-signals {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-metric-compare-head {
    align-items: stretch;
    padding: 16px;
  }

  .headline-metric-compare-head > div {
    justify-items: start;
    text-align: left;
  }

  .headline-peer-summary {
    padding-inline: 16px;
  }

  .headline-peer-summary > span {
    border-bottom: 1px solid var(--line);
    border-right: 0;
    padding-inline: 0;
  }

  .headline-peer-summary > a {
    padding-inline: 0;
  }

  .headline-country-measure {
    gap: 8px;
    grid-template-columns: 2ch minmax(80px, 0.7fr) minmax(58px, 1fr) auto;
  }
}

@media (max-width: 1600px) {
  .headline-dashboard-head {
    grid-template-columns: 1fr;
  }

  .headline-dashboard-key {
    justify-content: flex-start;
  }

  .headline-weight-controls {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .headline-weight-controls > p {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .headline-binding-constraint {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-axis-labels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-axis-labels span:first-child {
    display: none;
  }

  .headline-category {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-category-name {
    grid-column: 1 / -1;
    padding: 0 0 2px;
  }
}

@media (max-width: 1080px) {

  .scenario-hero,
  .scenario-controls,
  .scenario-body-grid,
  .scenario-topline-grid,
  .scenario-pairing-grid {
    grid-template-columns: 1fr;
  }

  .scenario-actions {
    justify-content: flex-start;
  }

  .scenario-hero-tools {
    justify-items: start;
  }

  .scenario-guided-controls {
    grid-template-columns: 1fr;
  }

  .scenario-guided-controls .scenario-active-policies {
    justify-content: flex-start;
  }

  .scenario-lab-dock {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-lab-dock .scenario-probability-mixer {
    grid-column: 1 / -1;
  }

  .scenario-lab-target-grid,
  .scenario-lab-analysis-grid {
    grid-template-columns: 1fr;
  }

  .scenario-policy-source-tray {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-policy-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .scenario-policy-year:nth-child(4) {
    border-left: 0;
  }

  .scenario-policy-year:nth-child(n + 4) {
    border-top: var(--hairline);
  }

  .scenario-sequence-body {
    grid-template-columns: 1fr;
  }

  .scenario-transmission-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-transmission-summary > p {
    border-left: 0;
    border-top: 1px solid rgb(255 253 249 / 22%);
    grid-column: 1 / -1;
  }

  .scenario-transmission-table article {
    grid-template-columns: minmax(200px, 1fr) minmax(150px, 0.8fr) minmax(180px, 1fr);
  }

  .scenario-transmission-pressure {
    grid-column: 2;
  }

  .scenario-transmission-reach {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .scenario-control-dock {
    position: static;
  }

  .scenario-control-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .scenario-control-footer .scenario-capability-details {
    flex: none;
    width: 100%;
  }

  .scenario-active-policies {
    justify-content: flex-start;
  }

  .scenario-toggle-row,
  .scenario-metric-grid,
  .scenario-impact-strip {
    grid-template-columns: 1fr 1fr;
  }

  .scenario-revenue-trigger {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
  }

  .scenario-revenue-trigger-note {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--gold) 60%, var(--line));
    grid-column: 1 / -1;
    padding: 12px 0 0;
  }

  .scenario-policy-detail-body {
    grid-template-columns: 1fr;
  }

  .dictionary-header,
  .dictionary-page .dictionary-controls,
  .dictionary-summary,
  .reference-grid,
  .reference-kpis,
  .reference-file-list,
  .methodology-principles,
  .occupation-methodology-list,
  .strategic-methodology-list,
  .dictionary-row-body dl {
    grid-template-columns: 1fr 1fr;
  }

  .dictionary-header .brand-mark {
    grid-column: 1 / -1;
  }

  .dictionary-map-link {
    justify-self: end;
  }

  body[data-inspector-open="true"] {
    overflow: auto;
  }

  body[data-inspector-open="true"] .app-shell {
    height: auto;
    min-height: 100svh;
    overflow: visible;
  }

  .app-shell {
    align-content: start;
    grid-template-columns: 1fr;
  }

  .inspector {
    border-left: 0;
    border-top: 1px solid var(--line-strong);
    max-height: none;
  }

  body[data-inspector-open="true"] .map-stage {
    height: auto;
    min-height: 0;
    overflow: visible;
    grid-template-rows: auto auto auto auto auto;
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .toolbar {
    min-width: 0;
  }

  .map-layer-controls {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .map-layer-note {
    text-align: left;
  }

  .map-layer-frame {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .map-layer-stats,
  .map-layer-rankings,
  .map-layer-signals,
  .map-layer-sources {
    justify-content: flex-start;
  }

  .map-layer-explorer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .map {
    height: clamp(340px, 56svh, 520px);
    max-height: 520px;
    min-height: 0;
  }

  body[data-inspector-open="true"] .map {
    height: clamp(300px, 46svh, 430px);
    max-height: 430px;
  }

  body[data-country-mode="true"] .app-shell {
    display: grid;
    grid-template-columns: minmax(280px, 36vw) minmax(0, 1fr);
    height: 100svh;
    min-height: 100svh;
    overflow: hidden;
  }

  body[data-country-mode="true"] .map-stage {
    height: 100svh;
    min-height: 0;
    overflow: hidden;
  }

  body[data-country-mode="true"] .inspector {
    min-height: 0;
  }

  .country-workspace-toolbar,
  .country-data-heading,
  .occupation-breakdown-heading {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .country-metric-grid,
  .occupation-summary,
  .occupation-intelligence-summary,
  .occupation-ai-metrics,
  .us-bls-major-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .us-bls-major-summary {
    grid-template-columns: 1fr;
  }

  .occupation-row {
    grid-template-columns: minmax(180px, 0.9fr) minmax(140px, 1fr) minmax(110px, auto);
  }
}

@media (max-width: 980px) {
  .scenario-story-layout {
    grid-template-columns: 1fr;
  }

  .scenario-story-stage {
    display: none;
  }

  .scenario-story-steps {
    gap: 24px;
  }

  .scenario-story-step,
  .scenario-story-step[aria-current="step"] {
    min-height: 0;
    opacity: 1;
    padding: 24px 0 24px 18px;
    transform: none;
  }

  .scenario-story-mobile-state {
    display: grid;
    gap: 12px;
    margin-top: 16px;
  }

  .scenario-story-desktop-interaction {
    display: none;
  }

  .scenario-story-step .scenario-evidence-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .map-layer-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
    overflow-x: visible;
    padding: 0;
  }

  .map-layer-buttons button {
    min-width: 0;
    white-space: normal;
    width: 100%;
  }

  .country-workspace,
  .country-workspace-toolbar,
  .profile-compare-picker,
  .profile-compare-input-row,
  .headline-dashboard {
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  .country-workspace,
  .country-workspace-toolbar,
  .profile-compare-input-row,
  .country-overview-panel,
  .country-data-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-overview-panel > *,
  .country-data-panel > * {
    max-width: 100%;
    min-width: 0;
  }

  .country-data-panel *,
  .occupation-breakdown-panel * {
    min-width: 0;
  }

  .occupation-breakdown-panel,
  .occupation-breakdown-heading,
  .occupation-summary,
  .us-bls-summary,
  .us-bls-major-summary,
  .us-bls-major-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    min-width: 0;
  }

  .country-workspace-toolbar > *,
  .profile-compare-input-row > * {
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  .headline-dashboard,
  .headline-dashboard-loading {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .headline-dashboard-head,
  .headline-category {
    grid-template-columns: 1fr;
  }

  .headline-dashboard-key {
    justify-content: flex-start;
  }

  .headline-weight-controls {
    grid-template-columns: minmax(0, 1fr);
    margin-inline: -16px;
    padding-inline: 16px;
  }

  .headline-weight-controls > p {
    grid-column: auto;
    grid-row: auto;
  }

  .headline-weight-modes {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-weight-modes button,
  .headline-weight-modes button + button,
  .headline-weight-reset {
    border: 1px solid var(--line-strong);
    width: 100%;
  }

  .headline-binding-constraint {
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
    padding: 16px;
  }

  .headline-binding-gaps > span {
    padding: 9px;
  }

  .headline-binding-gaps b {
    font-size: var(--fs-micro);
  }

  .headline-binding-gaps em {
    font-size: 1.25rem;
  }

  .headline-axis-labels {
    display: none;
  }

  .headline-category-name {
    grid-column: auto;
  }

  .headline-composite {
    min-height: 0;
  }

  .headline-composite-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-indicator-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-indicator-value {
    justify-items: start;
    text-align: left;
  }

  .headline-focus-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-focus-header > button {
    justify-self: start;
  }

  .headline-focus-score {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 14px;
  }

  .headline-focus-range-plot li,
  .headline-focus-metric {
    grid-template-columns: minmax(0, 1fr) 28px;
  }

  .headline-focus-range-plot li > div {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .headline-focus-range-plot li > i,
  .headline-focus-range-plot li > small {
    grid-column: 1 / -1;
  }

  .headline-focus-metric-track {
    grid-column: 1;
    grid-row: 2;
  }

  .headline-metric-help {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .headline-country-inputs {
    grid-template-columns: minmax(0, 1fr);
  }

  .occupation-ai-exposure {
    padding: 11px;
  }

  .occupation-ai-view-controls .segmented-control {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .occupation-ai-major-group summary {
    gap: 7px;
    grid-template-columns: 26px minmax(0, 1fr) 62px 14px;
    padding: 8px;
  }

  .occupation-ai-major-group summary > span:nth-of-type(4),
  .occupation-ai-major-group summary > span:nth-of-type(5) {
    display: none;
  }

  .occupation-ai-major-body {
    padding: 10px;
  }

  .occupation-ai-submajor-list > div {
    align-items: start;
    grid-template-columns: 24px minmax(0, 1fr) 62px;
  }

  .occupation-ai-submajor-list > div em,
  .occupation-ai-submajor-list > div b:last-child {
    display: none;
  }

  .occupation-ai-major-filters button {
    flex: 1 1 calc(33.333% - 5px);
    justify-content: flex-start;
  }

  .occupation-ai-scatter .region-label {
    display: none;
  }

  .headline-country-inputs li:nth-child(odd):not(:last-child),
  .headline-country-inputs li:nth-child(even) {
    padding: 0;
  }

  .scenario-workspace {
    padding: 18px 14px 34px;
  }

  .scenario-hero,
  .scenario-mechanics-summary,
  .scenario-section-heading,
  .scenario-decision-readout,
  .scenario-pairing-card,
  .scenario-policy-card button,
  .scenario-policy-detail-title,
  .scenario-policy-detail-body {
    align-items: start;
    display: grid;
    grid-template-columns: 1fr;
  }

  .scenario-mechanics-summary {
    align-items: start;
  }

  .scenario-policy-detail-title > span {
    max-width: none;
    text-align: left;
  }

  .scenario-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .scenario-hero-tools,
  .scenario-experience-switch {
    width: 100%;
  }

  .scenario-experience-switch button {
    flex: 1;
  }

  .scenario-experience-switch button {
    font-size: 0.68rem;
    padding-inline: 5px;
  }

  .scenario-lab-dock {
    grid-template-columns: 1fr;
    position: static;
  }

  .scenario-lab-dock .scenario-probability-mixer {
    grid-column: auto;
  }

  .scenario-probability-mixer,
  .scenario-target-controls,
  .scenario-policy-source-tray,
  .scenario-shock-options,
  .scenario-sequence-controls,
  .scenario-transmission-summary {
    grid-template-columns: 1fr;
  }

  .scenario-transmission-summary > * + * {
    border-left: 0;
    border-top: 1px solid rgb(255 253 249 / 22%);
  }

  .scenario-transmission-summary > p {
    grid-column: auto;
  }

  .scenario-transmission-table article {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .scenario-transmission-pressure,
  .scenario-transmission-reach {
    grid-column: auto;
    grid-row: auto;
  }

  .scenario-transmission-legend,
  .scenario-sequence-body figcaption,
  .scenario-sequence-readout {
    align-items: start;
    display: grid;
    grid-template-columns: 1fr;
  }

  .scenario-sequence-readout > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .scenario-sequence-outcomes > div {
    grid-template-columns: 1fr;
  }

  .scenario-sequence-outcomes strong {
    text-align: left;
  }

  .scenario-lab-readout {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .scenario-lab-readout em {
    justify-self: start;
    text-align: left;
  }

  .scenario-lab-heading,
  .scenario-optimized-path,
  .scenario-response-race-note {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .scenario-lab-heading,
  .scenario-response-race-note {
    display: grid;
  }

  .scenario-policy-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-policy-year:nth-child(3),
  .scenario-policy-year:nth-child(5) {
    border-left: 0;
  }

  .scenario-policy-year:nth-child(n + 3) {
    border-top: var(--hairline);
  }

  .scenario-policy-year:nth-child(4) {
    border-left: var(--hairline);
  }

  .scenario-dependency-list > div {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .scenario-dependency-list p {
    grid-column: 1 / -1;
  }

  .scenario-actor-bars > div {
    gap: 7px;
    grid-template-columns: minmax(92px, 0.7fr) minmax(100px, 1fr) 36px;
  }

  .scenario-actor-axis {
    margin-left: 99px;
    margin-right: 36px;
  }

  .scenario-lab-receipt-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .scenario-story-step,
  .scenario-story-step[aria-current="step"] {
    padding-left: 14px;
  }

  .scenario-story-step .scenario-evidence-chips,
  .scenario-story-mobile-metrics,
  .scenario-story-mobile-capabilities,
  .scenario-story-policy-tray {
    grid-template-columns: 1fr;
  }

  .scenario-story-mobile-pulse-heading {
    align-items: start;
    display: grid;
    gap: 3px;
  }

  .scenario-story-mobile-pulse-heading strong {
    text-align: left;
  }

  .scenario-story-mobile-capabilities div {
    grid-template-columns: minmax(90px, 0.45fr) minmax(0, 1fr);
  }

  .scenario-objective-options {
    grid-template-columns: 1fr 1fr;
  }

  .scenario-objective-recommendation {
    grid-template-columns: 1fr;
  }

  .scenario-objective-recommendation button,
  .scenario-objective-recommendation a,
  .scenario-objective-recommendation p {
    grid-column: 1;
    grid-row: auto;
  }

  .scenario-objective-recommendation button {
    justify-self: start;
    max-width: none;
  }

  .scenario-ending-compare {
    grid-template-columns: 1fr;
  }

  .scenario-ending-compare > div + div {
    border-left: 0;
    border-top: var(--hairline);
  }

  .scenario-control-dock {
    padding: 7px;
  }

  .scenario-toggle small {
    display: none;
  }

  .scenario-toggle {
    min-height: 44px;
  }

  .scenario-trajectory figcaption {
    align-items: start;
    display: grid;
  }

  .scenario-trajectory > svg {
    display: none;
  }

  .scenario-trajectory-mobile {
    display: grid;
  }

  .scenario-pairing-card .scenario-stack-chips,
  .scenario-pairing-card > button {
    grid-column: 1;
    grid-row: auto;
  }

  .scenario-pairing-card > button {
    justify-self: start;
  }

  .scenario-toggle-row,
  .scenario-metric-grid,
  .scenario-impact-strip,
  .scenario-policy-grid,
  .scenario-pairing-grid,
  .scenario-capability-list div {
    grid-template-columns: 1fr;
  }

  .scenario-revenue-trigger {
    grid-template-columns: minmax(0, 1fr);
  }

  .scenario-revenue-trigger > dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-revenue-trigger-note {
    grid-column: auto;
  }

  .scenario-brief-copy {
    columns: auto;
  }

  .scenario-bottleneck {
    grid-template-columns: 1fr;
  }

  .scenario-evidence-chips a {
    min-width: 100%;
  }

  .scenario-toggle {
    min-height: 0;
  }

  .dictionary-shell {
    gap: 18px;
    padding: 18px 14px 96px;
  }

  .dictionary-header,
  .dictionary-page .dictionary-controls,
  .dictionary-summary,
  .methodology-principles,
  .occupation-methodology-list,
  .strategic-methodology-list,
  .dictionary-row-body dl {
    grid-template-columns: 1fr;
  }

  .dictionary-methodology-heading,
  .dictionary-reference-heading,
  .dictionary-results-heading,
  .dictionary-group-heading {
    align-items: start;
    display: grid;
  }

  .dictionary-page .dictionary-controls {
    position: static;
  }

  .dictionary-map-link,
  .dictionary-methodology-heading a,
  .dictionary-reference-heading a {
    justify-self: start;
  }

  .reference-grid,
  .reference-kpis,
  .reference-file-list,
  .source-reference-row,
  .quality-check-row {
    grid-template-columns: 1fr;
  }

  .source-reference-row > span:last-child {
    justify-items: start;
    text-align: left;
  }

  .dictionary-row summary {
    grid-template-columns: 1fr;
  }

  .dictionary-row summary > span:last-child {
    justify-self: start;
    max-width: 100%;
  }

  body[data-inspector-open="true"] {
    --mobile-inspector-height: clamp(284px, 42svh, 360px);
    overflow: hidden;
    overscroll-behavior: none;
  }

  .app-shell {
    height: var(--app-viewport-height);
    min-height: var(--app-viewport-height);
    overflow: hidden;
  }

  body[data-inspector-open="true"] .app-shell {
    display: grid;
    grid-template-rows:
      minmax(0, calc(var(--app-viewport-height) - var(--mobile-inspector-height)))
      minmax(0, var(--mobile-inspector-height));
    height: var(--app-viewport-height);
    min-height: var(--app-viewport-height);
    overflow: hidden;
  }

  body[data-country-mode="true"] .app-shell {
    grid-template-rows:
      minmax(180px, 34svh)
      minmax(0, calc(var(--app-viewport-height) - min(34svh, 280px)));
  }

  body[data-country-mode="true"] .map-stage {
    height: auto;
    min-height: 0;
  }

  .map-stage,
  .panel {
    padding: 16px;
  }

  .map-stage {
    gap: 14px;
    grid-template-rows: auto auto auto minmax(210px, 1fr) auto;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  body[data-inspector-open="true"] .map-stage {
    contain: size layout paint;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    height: 100%;
    gap: 12px;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    overscroll-behavior: contain;
    padding-bottom: 12px;
  }

  body[data-inspector-open="true"] .topbar {
    gap: 0;
  }

  body[data-inspector-open="true"] .brand-heading {
    display: none;
  }

  body[data-inspector-open="true"] .toolbar {
    align-self: stretch;
  }

  body[data-inspector-open="true"] .search-label {
    font-size: 0.72rem;
  }

  body[data-inspector-open="true"] #country-search {
    min-height: 42px;
  }

  body[data-inspector-open="true"] .map-layer-note {
    display: none;
  }

  .map-layer-frame {
    display: none;
  }

  .map-layer-rankings,
  .map-layer-signals,
  .map-layer-sources {
    display: none;
  }

  .map-layer-buttons {
    flex-wrap: nowrap;
    margin-inline: -16px;
    overflow-x: auto;
    padding: 0 16px 4px;
    scrollbar-width: none;
  }

  .map-layer-buttons::-webkit-scrollbar {
    display: none;
  }

  .map-layer-buttons button {
    flex: 0 0 auto;
    font-size: 0.7rem;
    min-height: 32px;
    padding: 6px 9px;
  }

  .map-layer-explorer {
    margin-inline: -16px;
    padding-inline: 16px;
  }

  .map-layer-explorer-head {
    align-items: start;
  }

  .map-layer-explorer-grid {
    align-items: flex-start;
    display: flex;
    margin-inline: -16px;
    overflow-x: auto;
    padding: 0 16px 4px;
    scrollbar-width: none;
  }

  .map-layer-explorer-grid::-webkit-scrollbar {
    display: none;
  }

  .map-layer-country-card {
    align-self: flex-start;
    flex: 0 0 min(280px, 74vw);
    max-height: 182px;
    min-height: 0;
    overflow: hidden;
  }

  .map-layer-country-main {
    min-height: 0;
  }

  .map-layer-country-facets,
  .map-layer-detail,
  .map-layer-country-links {
    display: none;
  }

  body[data-inspector-open="true"] .legend {
    display: none;
  }

  .brand-mark {
    margin-bottom: 14px;
    min-height: 34px;
  }

  .brand-mark img {
    height: 38px;
  }

  .brand-heading::after {
    height: 6px;
    margin-top: 14px;
    width: min(250px, 62vw);
  }

  h1 {
    font-size: clamp(1.65rem, 10vw, 2.45rem);
    line-height: 0.9;
  }

  .dek {
    display: none;
  }

  .brand-heading::after {
    display: none;
  }

  .brand-mark {
    margin-bottom: 10px;
    min-height: 32px;
  }

  .brand-mark img {
    height: 36px;
  }

  .map {
    height: 100%;
    max-height: none;
    min-height: 0;
  }

  body[data-inspector-open="true"] .map {
    align-self: stretch;
    height: 100%;
    max-height: none;
    min-height: 180px;
  }

  body[data-inspector-open="true"] .inspector {
    border-left: 0;
    border-top: 1px solid var(--line-strong);
    box-shadow: 0 -18px 54px rgb(83 21 2 / 18%);
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: relative;
    width: 100%;
    z-index: 700;
  }

  body[data-country-mode="true"] {
    overflow: hidden;
    overscroll-behavior: none;
  }

  body[data-country-mode="true"] .app-shell {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows:
      minmax(180px, 34svh)
      minmax(0, 1fr);
    height: var(--app-viewport-height);
    min-height: var(--app-viewport-height);
    overflow: hidden;
  }

  body[data-country-mode="true"] .map-stage {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  body[data-country-mode="true"] .inspector {
    border-top: 0;
    box-shadow: none;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
  }

  body[data-scenario-mode="true"] {
    overflow: auto;
    overscroll-behavior: auto;
  }

  body[data-scenario-mode="true"] .app-shell {
    height: auto;
    min-height: 100svh;
    overflow: visible;
  }

  body[data-country-mode="true"] .profile-panel,
  body[data-country-mode="true"] .compare-panel {
    padding: 16px;
  }

  .profile-compare-input-row,
  .country-metric-grid,
  .at-a-glance,
  .occupation-summary,
  .occupation-intelligence-summary,
  .occupation-ai-metrics,
  .primary-priority-grid,
  .us-bls-major-grid,
  .us-bls-major-summary,
  .country-brief-lists,
  .brief-comparison-grid,
  .labor-slice-filters {
    grid-template-columns: 1fr;
  }

  .occupation-ai-heading,
  .occupation-ai-top-groups {
    grid-template-columns: 1fr;
  }

  .occupation-ai-view-controls {
    justify-items: start;
  }

  .occupation-ai-section-heading {
    align-items: start;
    display: grid;
  }

  .occupation-ai-section-heading p {
    text-align: left;
  }

  .occupation-ai-major-group summary {
    grid-template-columns: 28px minmax(150px, 1.3fr) repeat(3, minmax(70px, 0.55fr)) 14px;
  }

  .occupation-ai-role-layout {
    grid-template-columns: 1fr;
  }

  .occupation-wage-layout {
    grid-template-columns: 1fr;
  }

  .occupation-human-role-summary header {
    align-items: start;
    display: grid;
  }

  .occupation-ai-footer {
    align-items: start;
    display: grid;
  }

  .occupation-ai-footer .occupation-source-links {
    justify-content: flex-start;
  }

  .country-overview-panel,
  .country-data-panel {
    padding: 16px;
  }

  .country-context-copy {
    columns: auto;
  }

  .country-context-watchpoints ul {
    grid-template-columns: 1fr;
  }

  .country-narrative {
    columns: auto;
  }

  .brief-panel-copy {
    columns: auto;
  }

  .legend {
    align-items: flex-end;
    flex-direction: column;
    gap: 6px;
  }

  .indicator-row,
  .occupation-row,
  .us-bls-detail-row,
  .comparison-row,
  .labor-slice-row,
  .dictionary-row,
  .methodology-row {
    grid-template-columns: 1fr;
  }

  .methodology-kpis,
  .methodology-requirement-row dl,
  .methodology-row dl,
  .maintenance-kpis {
    grid-template-columns: 1fr 1fr;
  }

  .methodology-requirements-head {
    align-items: start;
    flex-direction: column;
    gap: 4px;
  }

  .indicator-value-wrap,
  .occupation-row-value,
  .comparison-value-wrap,
  .labor-slice-value {
    justify-items: start;
    text-align: left;
  }

  .us-bls-search > div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .us-bls-results-heading {
    align-items: start;
    display: grid;
  }

  .us-bls-overview-heading {
    align-items: start;
    display: grid;
  }

  .comparison-overview,
  .comparison-data-metrics,
  .country-brief-signals,
  .brief-panel-signals,
  .labor-comparison-summary,
  .labor-slice-filters {
    grid-template-columns: 1fr;
  }

  .labor-comparison-summary div {
    border-right: 0;
    border-bottom: var(--hairline);
  }

  .labor-comparison-summary div:last-child {
    border-bottom: 0;
  }

  .comparison-data-main {
    align-items: start;
    flex-direction: column;
  }

  .at-a-glance {
    grid-template-columns: 1fr;
  }

  .indicator-section summary,
  .comparison-section summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .indicator-value,
  .comparison-value,
  .comparison-meta {
    text-align: left;
  }

  .comparison-actions {
    justify-content: flex-start;
  }

  .comparison-view-toggle {
    width: 100%;
  }

  .comparison-view-toggle .filter-chip {
    flex: 1;
    justify-content: center;
  }

  .comparison-matrix {
    min-width: 620px;
  }

  .comparison-matrix th,
  .comparison-matrix td {
    min-width: 132px;
    padding: 8px;
  }

  .comparison-matrix th:first-child {
    min-width: 170px;
  }

  .dictionary-row-meta {
    justify-items: start;
    text-align: left;
  }

  .detail-drawer {
    border-left: 0;
    width: 100vw;
  }

  .detail-value-row,
  .detail-list div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .occupation-ai-major-group summary {
    gap: 7px;
    grid-template-columns: 26px minmax(0, 1fr) 62px 14px;
    padding: 8px;
  }

  .occupation-ai-major-group summary > span:nth-of-type(4),
  .occupation-ai-major-group summary > span:nth-of-type(5) {
    display: none;
  }

  .occupation-ai-major-filters button {
    flex: 1 1 calc(33.333% - 5px);
    justify-content: flex-start;
  }
}

@media (max-width: 1080px) {
  .country-conditions-head,
  .country-conditions-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-condition-story + .country-condition-story {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 620px) {
  .country-conditions-head {
    gap: 10px;
  }

  .country-condition-story {
    padding: 17px 0;
  }

  .country-condition-foundations,
  .country-condition-current {
    background: transparent;
  }

  .condition-attainment-row {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

  .condition-attainment-row > i {
    grid-row: 2;
  }

  .condition-attainment-row .condition-source {
    grid-row: 3;
  }

}

@media (prefers-reduced-motion: reduce) {
  .app-shell,
  body[data-country-mode="true"] .map-stage {
    transition: none;
  }

  .scenario-story-node,
  .scenario-story-step {
    transition: none;
  }

  .scenario-story-step[aria-current="step"] {
    transform: none;
  }

  .headline-focus-workspace.is-entering,
  .headline-focus-workspace.is-entering * {
    animation: none !important;
  }

  .headline-focus-sticky {
    transition: none;
  }
}
.headline-special-visual {
  margin: 18px 0 0;
  padding: 20px;
  border: 1px solid var(--line-soft, #d9c8c2);
  background: color-mix(in srgb, var(--paper, #fffaf6) 94%, white);
}

.headline-special-visual figcaption {
  display: flex;
  align-items: end;
  gap: 12px 24px;
  margin-bottom: 18px;
}

.headline-special-visual figcaption > span,
.headline-special-visual figcaption > div > span {
  display: block;
  color: var(--muted, #765c52);
  font-size: var(--fs-label);
  font-weight: 700;
  text-transform: uppercase;
}

.headline-special-visual figcaption strong {
  display: block;
  color: var(--ink, #241915);
  font-size: clamp(1.3rem, 2vw, 2rem);
  line-height: 1.05;
}

.headline-special-visual figcaption p {
  max-width: 46rem;
  margin: 0 0 0 auto;
  color: var(--muted, #765c52);
  font-size: var(--fs-body);
  line-height: 1.4;
}

.headline-adoption-heading {
  flex: 0 1 46%;
  min-width: min(320px, 100%);
}

.headline-adoption-visual figcaption p b {
  color: var(--ink, #241915);
  font-weight: 700;
}

.headline-adoption-question {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 3px 12px;
  justify-content: space-between;
  margin: 0 0 8px;
}

.headline-adoption-question strong {
  color: var(--ink, #241915);
  font-size: var(--fs-label);
}

.headline-adoption-question span {
  color: var(--muted, #765c52);
  font-size: var(--fs-caption);
}

.headline-special-visual footer {
  margin-top: 16px;
  color: var(--muted, #765c52);
  font-size: var(--fs-label);
  line-height: 1.45;
}

.headline-special-visual footer a {
  color: inherit;
  font-weight: 700;
}

.headline-share-bar,
.headline-trade-bar {
  display: flex;
  min-height: 88px;
  overflow: hidden;
  border: 1px solid var(--line, #bd8473);
}

.headline-share-bar > span,
.headline-trade-bar > span {
  display: flex;
  flex: 0 0 var(--share);
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 14px;
}

.headline-share-bar > span:first-child,
.headline-trade-bar > span:first-child {
  background: #ffdbc9;
  color: #5c1e0c;
}

.headline-share-bar > span:last-child,
.headline-trade-bar > span:last-child {
  background: #dcd9ff;
  color: #2f286d;
}

.headline-share-bar b,
.headline-trade-bar b {
  font-size: var(--fs-lead);
}

.headline-share-bar small,
.headline-trade-bar small {
  margin-top: 3px;
  font-size: var(--fs-label);
  line-height: 1.25;
}

.headline-share-bar em {
  font-size: var(--fs-micro);
  font-style: normal;
  line-height: 1.3;
  margin-top: 4px;
  opacity: 0.78;
}

.headline-financing-signals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.headline-financing-signals article {
  border-block: 1px solid var(--line);
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 16px 18px;
}

.headline-financing-signals article + article {
  border-left: 1px solid var(--line);
}

.headline-financing-signals span,
.headline-financing-signals small {
  color: var(--muted);
  font-size: var(--fs-caption);
  line-height: 1.3;
}

.headline-financing-signals strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  line-height: 1;
}

.headline-adaptability-visual figcaption {
  align-items: center;
  gap: 14px;
  justify-content: space-between;
}

.headline-adaptability-granularity {
  flex: 0 0 auto;
}

.headline-adaptability-caption {
  display: grid;
  gap: 3px;
}

.headline-special-visual figcaption .headline-adaptability-caption > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 7px 0 0;
  max-width: 62rem;
}

.headline-adaptability-caption > p b {
  color: var(--ink);
}

.headline-adaptability-caption-tools {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.headline-adaptability-help > div {
  width: min(430px, 82vw);
}

.headline-adaptability-help dl {
  border-block: 1px solid var(--line);
  display: grid;
  margin: 2px 0;
}

.headline-adaptability-help dl > div {
  display: grid;
  gap: 2px;
  padding: 7px 0;
}

.headline-adaptability-help dl > div + div {
  border-top: 1px solid var(--line);
}

.headline-adaptability-help dt {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.headline-adaptability-help dd {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.35;
  margin: 0;
}

.headline-adaptability-help .headline-adaptability-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}

.headline-adaptability-legend {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 7px 14px;
}

.headline-adaptability-legend span {
  align-items: center;
  display: inline-flex;
  gap: 5px;
}

.headline-adaptability-legend b {
  color: var(--burgundy);
  font-size: var(--fs-caption);
}

.headline-adaptability-legend i {
  background: var(--orange);
  border: 1px solid var(--burgundy);
  border-radius: 50%;
  height: 9px;
  width: 9px;
}

.headline-adaptability-legend em {
  border-top: 1px dashed var(--muted);
  height: 1px;
  width: 14px;
}

.headline-adaptability-picker {
  align-items: center;
  display: grid;
  gap: 9px;
  grid-template-columns: auto minmax(180px, 360px);
  justify-content: end;
}

.headline-adaptability-picker > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.headline-adaptability-picker select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  min-height: 34px;
  min-width: 0;
  padding: 6px 28px 6px 8px;
  width: 100%;
}

.headline-adaptability-visual svg {
  aspect-ratio: 760 / 600;
  background: #fffdfb;
  display: block;
  width: 100%;
}

.headline-adaptability-layout {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.7fr);
}

.headline-adaptability-chart {
  border: 1px solid var(--line);
  min-width: 0;
  overflow: hidden;
}

.headline-adaptability-focus {
  background: var(--burgundy);
  color: var(--surface);
  display: grid;
  gap: 10px;
  padding: 15px;
  min-width: 0;
}

.adaptability-destinations h5 {
  font-size: var(--fs-label);
  margin: 4px 0 8px;
}

.adaptability-destinations ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.adaptability-destinations button {
  background: rgb(255 253 249 / 8%);
  border: 0;
  border-left: 2px solid var(--gold);
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
  overflow-wrap: anywhere;
}

.adaptability-destinations button:hover,
.adaptability-destinations button:focus-visible {
  background: rgb(255 253 249 / 18%);
}

.adaptability-destinations button strong {
  font-size: var(--fs-label);
  line-height: 1.25;
}

.adaptability-destinations button span,
.adaptability-destinations p,
.headline-adaptability-breakdown p {
  font-size: var(--fs-caption);
  line-height: 1.4;
}

.adaptability-destinations p {
  margin: 10px 0 0;
}

.headline-adaptability-breakdown summary,
.adaptability-methodology summary {
  cursor: pointer;
  font-size: var(--fs-label);
  font-weight: 700;
  padding-block: 10px;
}

.adaptability-methodology {
  margin-top: 12px;
}

.adaptability-methodology > div {
  font-size: var(--fs-label);
  line-height: 1.5;
  max-width: 80ch;
}

.adaptability-methodology dl {
  display: grid;
  gap: 10px;
}

.adaptability-methodology dt {
  font-weight: 700;
}

.adaptability-methodology dd {
  margin: 3px 0 0;
}

.adaptability-methodology .headline-adaptability-focus-sources a {
  color: var(--burgundy);
}

.headline-adaptability-visual .quadrant-point.is-destination circle {
  stroke: var(--gold);
  stroke-width: 3px;
  stroke-dasharray: 4 3;
}

.headline-adaptability-focus .eyebrow,
.headline-adaptability-focus > p {
  color: rgb(255 253 249 / 76%);
}

.headline-adaptability-focus h4 {
  font-family: var(--font-display);
  font-size: 1.32rem;
  line-height: 1.05;
  margin: 0;
}

.headline-adaptability-focus > p {
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.4;
  margin: 0;
}

.headline-adaptability-focus-metrics {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.headline-adaptability-focus-metrics div {
  background: rgb(255 253 249 / 10%);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
}

.headline-adaptability-focus-metrics strong {
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.headline-adaptability-focus-metrics span,
.headline-adaptability-components > span {
  color: rgb(255 253 249 / 72%);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.2;
}

.headline-adaptability-reading {
  border-left: 2px solid var(--gold);
  padding-left: 9px;
}

.headline-adaptability-reading strong {
  color: var(--surface);
}

.headline-adaptability-components {
  border-top: 1px solid rgb(255 253 249 / 24%);
  display: grid;
  gap: 7px;
  padding-top: 9px;
}

.headline-adaptability-components > div {
  align-items: center;
  display: grid;
  gap: 7px;
  grid-template-columns: minmax(105px, 1fr) minmax(56px, 0.8fr) 24px;
}

.headline-adaptability-components p {
  display: grid;
  gap: 1px;
  margin: 0;
}

.headline-adaptability-components b {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-adaptability-components small {
  color: rgb(255 253 249 / 60%);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-adaptability-components i {
  background: rgb(255 253 249 / 16%);
  display: block;
  height: 6px;
  overflow: hidden;
}

.headline-adaptability-components i em {
  background: var(--gold);
  display: block;
  height: 100%;
  width: var(--adaptability-component);
}

.headline-adaptability-components > div > strong {
  font-family: var(--font-display);
  font-size: var(--fs-label);
  text-align: right;
}

.headline-adaptability-focus-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
}

.headline-adaptability-focus-sources a {
  color: var(--gold);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.headline-segmented {
  display: inline-flex;
  border: 1px solid var(--line-soft, #d9c8c2);
}

.headline-segmented button {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-right: 1px solid var(--line-soft, #d9c8c2);
  background: transparent;
  color: var(--muted, #765c52);
  font: inherit;
  font-size: var(--fs-label);
  font-weight: 700;
  cursor: pointer;
}

.headline-segmented button:last-child { border-right: 0; }
.headline-segmented button[aria-pressed="true"] { background: #281b17; color: white; }

.quadrant-fill { fill: transparent; }
.quadrant-fill-upper { fill: #f0f8ed; }
.quadrant-axis { stroke: #a9968e; stroke-width: 1; stroke-dasharray: 5 5; }
.quadrant-label { fill: #786760; font-size: 11px; font-weight: 650; }
.quadrant-axis-title { fill: #2b1d17; font-size: 16px; font-weight: 700; }
.quadrant-point circle { cursor: pointer; fill: #d8d3cf; fill-opacity: 0.72; outline: 0; stroke: #6d5d57; stroke-width: 1.1; transition: fill-opacity 140ms ease, stroke-width 140ms ease; }
.quadrant-point.is-sheltered circle { fill: #b9d7ee; stroke: #386c98; }
.quadrant-point.is-equipped circle { fill: #69b8c2; stroke: #24666d; }
.quadrant-point.is-lower-pressure circle { fill: #efc37e; stroke: #916121; }
.quadrant-point.is-strained circle { fill: #e6503f; stroke: #8c2017; }
.quadrant-point:hover circle,
.quadrant-point circle:focus,
.quadrant-point.is-selected circle { fill-opacity: 1; stroke: var(--blue); stroke-width: 3; }
.quadrant-point text { fill: #3b170d; font-size: 8px; font-weight: 800; paint-order: stroke; pointer-events: none; stroke: #fffdfb; stroke-width: 3px; }

.headline-fiscal-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 190px;
  border-bottom: 1px solid #8d766d;
}

.headline-fiscal-columns > span {
  display: grid;
  grid-template-rows: 1fr auto auto;
  align-items: end;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  padding: 0 8px 9px;
}

.headline-fiscal-columns i {
  width: min(74px, 50%);
  height: calc(22px + var(--magnitude) * 100px);
  background: #4e72ff;
}

.headline-fiscal-columns .is-negative i { background: #ff7a49; }
.headline-fiscal-columns b { font-size: 1rem; }
.headline-fiscal-columns small { color: var(--muted, #765c52); }

.headline-firm-visual ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.headline-firm-visual li {
  display: grid;
  grid-template-columns: minmax(8rem, 0.9fr) minmax(10rem, 2fr) 4.2rem;
  align-items: center;
  gap: 12px;
}

.headline-firm-visual li > span { display: grid; gap: 2px; font-size: 0.82rem; }
.headline-firm-visual li > span small { color: var(--muted, #765c52); font-size: 0.68rem; }
.headline-firm-visual li > i { height: 12px; background: #eee6e1; }
.headline-firm-visual li > i > em { display: block; width: var(--share); height: 100%; background: #4e72ff; }
.headline-firm-visual li > b { text-align: right; }
.headline-firm-visual li.is-current { padding-bottom: 10px; border-bottom: 1px solid var(--line-soft, #d9c8c2); }
.headline-firm-visual li.is-current > span,
.headline-firm-visual li.is-current > b { font-weight: 800; }

.headline-compute-gauge {
  position: relative;
  height: 18px;
  overflow: hidden;
  background: #eee6e1;
}

.headline-compute-gauge i { display: block; width: var(--share); height: 100%; background: #4e72ff; }

@media (max-width: 720px) {
  .headline-special-visual { padding: 15px; }
  .headline-special-visual figcaption { align-items: start; flex-direction: column; }
  .headline-special-visual figcaption p { margin-left: 0; }
  .headline-adoption-heading { min-width: 0; }
  .headline-financing-signals { grid-template-columns: 1fr; }
  .headline-financing-signals article + article { border-left: 0; border-top: 0; }
  .headline-erosion-flag { grid-template-columns: 1fr; }
  .headline-erosion-flag small { grid-column: 1; }
  .headline-adaptability-caption-tools { align-items: stretch; width: 100%; }
  .headline-adaptability-help > div { right: -4px; width: min(330px, 82vw); }
  .headline-adaptability-layout { grid-template-columns: minmax(0, 1fr); }
  .headline-adaptability-granularity { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); width: 100%; }
  .headline-adaptability-granularity button { min-width: 0; padding-inline: 7px; }
  .headline-adaptability-picker { grid-template-columns: minmax(0, 1fr); justify-content: stretch; }
  .occupation-ai-relationship-explorer > header { align-items: stretch; flex-direction: column; }
  .occupation-ai-relationship-explorer > header .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .headline-share-bar, .headline-trade-bar { min-height: 110px; }
  .headline-share-bar > span, .headline-trade-bar > span { padding: 10px 8px; }
  .headline-firm-visual li { grid-template-columns: minmax(6rem, 1fr) minmax(5rem, 1.5fr) 3.5rem; gap: 8px; }
}

/* Simplified country workspaces */
.country-workspace-country-picker select {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--burgundy);
  cursor: pointer;
  font: 700 var(--fs-body)/1 var(--font-display);
  max-width: 220px;
  padding: 8px 24px 8px 2px;
}

.country-workspace-country-picker {
  position: relative;
}

.country-workspace-country-picker::after {
  border-bottom: 1px solid var(--burgundy);
  border-right: 1px solid var(--burgundy);
  content: "";
  height: 6px;
  pointer-events: none;
  position: absolute;
  right: 7px;
  top: 12px;
  transform: rotate(45deg);
  width: 6px;
}

.country-methods-link {
  align-items: center;
  display: inline-flex;
  font-family: var(--font-display);
  font-size: var(--fs-caption);
  height: 34px;
  justify-content: center;
  padding: 10px 16px;
  width: 34px;
}

.headline-dashboard-overview .headline-dashboard-head {
  align-items: end;
}

.headline-dashboard-overview .headline-dashboard-head > div:first-child {
  max-width: 880px;
}

.headline-dashboard-overview .headline-composite {
  min-height: 88px;
}

.headline-dashboard-overview .headline-composite-copy small {
  display: none;
}

.headline-dashboard-overview .headline-axis-heading {
  min-height: 48px;
  padding-block: 12px;
}

.headline-dashboard-overview .headline-axis-labels small {
  display: none;
}

.headline-dashboard-domain {
  gap: 18px;
}

.headline-dashboard-domain .headline-dashboard-head {
  border-bottom: 0;
  padding-bottom: 0;
}

.headline-dashboard-domain .headline-dashboard-head h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.headline-dashboard-domain .headline-focus-workspace {
  border-top: 0;
  gap: 20px;
  padding-top: 4px;
}

.headline-dashboard-domain .headline-focus-header {
  display: block;
  max-width: 900px;
}

.headline-dashboard-domain .headline-focus-header h3 {
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  margin-bottom: 8px;
}

.headline-dashboard-domain .headline-focus-verdict {
  font-size: clamp(0.88rem, 1.2vw, 1.05rem);
  line-height: 1.5;
  max-width: 76ch;
}

.headline-dashboard-domain .headline-focus-overview {
  grid-template-columns: minmax(0, 1fr);
}

.headline-score-about {
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.headline-score-about > summary {
  cursor: pointer;
  font: 700 var(--fs-caption)/1 var(--font-ui);
  list-style: none;
  padding: 14px 0;
}

.headline-score-about > summary::-webkit-details-marker {
  display: none;
}

.headline-score-about > summary::before {
  content: "+";
  display: inline-block;
  margin-right: 8px;
}

.headline-score-about[open] > summary::before {
  content: "−";
}

.headline-score-about > div {
  display: grid;
  gap: 12px;
  max-width: 720px;
  padding-bottom: 18px;
}

.headline-score-about > div > a {
  color: var(--burgundy);
  font-size: var(--fs-micro);
  font-weight: 700;
  width: fit-content;
}

.headline-focus-explorer > summary {
  min-height: 58px;
}

.headline-focus-explorer > summary small {
  font-size: var(--fs-micro);
}

.headline-evidence-group > header {
  min-height: 0;
  padding-bottom: 8px;
}

.headline-evidence-group > header h4 {
  font-size: var(--fs-body);
}

.headline-focus-metric-value small a {
  color: currentColor;
  text-underline-offset: 2px;
}

.country-context-workspace {
  display: grid;
  gap: clamp(28px, 3vw, 42px);
}

.country-context-summary {
  display: grid;
  gap: 24px;
}

.country-context-summary > header {
  display: grid;
  gap: 8px;
  max-width: 940px;
}

.country-context-summary h2,
.country-conditions-lens h3 {
  color: var(--ink);
  font-family: var(--font-display);
  margin: 0;
}

.country-context-summary h2 {
  font-size: clamp(2.2rem, 5vw, 4.6rem);
  line-height: 0.95;
}

.country-context-thesis {
  font-size: clamp(0.92rem, 1.3vw, 1.1rem);
  line-height: 1.55;
  margin: 0;
  max-width: 76ch;
}

.country-context-signals {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.country-context-signals article {
  background: color-mix(in srgb, var(--pink-light) 42%, var(--surface));
  display: grid;
  gap: 8px;
  padding: 18px 20px;
}

.country-context-signals article + article {
  border-left: 0;
}

.country-context-signals span {
  color: var(--muted);
  font: 800 var(--fs-micro)/1 var(--font-ui);
  text-transform: uppercase;
}

.country-context-signals p {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.5;
  margin: 0;
}

.country-context-full {
  max-width: 900px;
}

.country-context-full > summary {
  color: var(--burgundy);
  cursor: pointer;
  font-size: var(--fs-caption);
  font-weight: 700;
}

.country-context-full > div {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.6;
  padding-top: 12px;
}

.country-conditions-lens h3 {
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
}

.country-condition-story > header {
  min-height: 0;
}

.country-condition-story > header > span,
.country-condition-story > header > p {
  display: none;
}

.country-conditions-note {
  justify-content: flex-end;
}

.occupation-ai-heading {
  align-items: center;
}

.occupation-ai-view-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.occupation-ai-metrics-simple {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.occupation-ai-metrics-simple > div:last-child strong {
  font-size: clamp(1.35rem, 3vw, 2.5rem);
}

.occupation-ai-combined,
.occupation-ai-relationship-explorer {
  margin-top: clamp(20px, 3vw, 34px);
}

.occupation-ai-relationship-explorer > header {
  align-items: center;
}

.occupation-ai-relationship-explorer > header > div:first-child strong,
.occupation-ai-section-heading > div:first-child > strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.65rem);
}

.occupation-ai-footer {
  align-items: center;
}

.occupation-ai-footer details {
  color: var(--muted);
  font-size: var(--fs-micro);
  max-width: 720px;
}

.occupation-ai-footer details summary {
  cursor: pointer;
  font-weight: 700;
}

@media (max-width: 720px) {
  .country-workspace-country-picker select {
    max-width: 155px;
  }

  .headline-dashboard-overview .headline-dashboard-head {
    align-items: stretch;
  }

  .country-context-signals {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-context-signals article + article {
    border-left: 0;
    border-top: 0;
  }

  .occupation-ai-heading,
  .occupation-ai-view-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .occupation-ai-view-controls .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .occupation-ai-view-controls .segmented-control:last-child {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .occupation-ai-metrics-simple {
    grid-template-columns: minmax(0, 1fr);
  }

  .occupation-ai-relationship-explorer > header {
    align-items: stretch;
    display: grid;
  }

  .occupation-ai-relationship-explorer > header .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .occupation-wage-picker {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .occupation-wage-focus-metrics,
  .occupation-wage-level-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .occupation-wage-level-grid article:nth-child(odd),
  .occupation-wage-level-grid article:nth-child(even) {
    border-left: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

/* The map and country analysis remain parts of one continuous workspace. */
body[data-selection-state="empty"] .selected-panel {
  background: var(--surface);
  color: var(--ink);
}

body[data-selection-state="empty"] .selected-panel::before {
  width: 100%;
}

body[data-selection-state="empty"] .selected-countries {
  margin-top: 0;
}

.country-entry-index {
  display: grid;
  gap: 22px;
}

.country-entry-index header {
  display: grid;
  gap: 4px;
}

.country-entry-index header span {
  color: var(--orange);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
}

.country-entry-index h2 {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.6vw, 2.8rem);
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

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

.country-entry-list button {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 48px;
  padding: 10px 9px;
  text-align: left;
  transition: background-color 180ms ease, transform 180ms ease;
}

.country-entry-list button:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.country-entry-list button:hover,
.country-entry-list button:focus-visible {
  background: color-mix(in srgb, var(--orange) 7%, var(--surface));
  outline: none;
  transform: translateX(6px);
}

@media (prefers-reduced-motion: reduce) {
  .country-entry-list button:hover,
  .country-entry-list button:focus-visible {
    transform: none;
  }
}

.country-entry-list strong {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.15;
}

.country-entry-list span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}


.headline-dashboard-overview .headline-composite-copy small {
  display: block;
  max-width: 42ch;
}

.country-workspace {
  gap: 0;
}

.country-workspace-nav {
  align-items: center;
  background: var(--surface);
  border-bottom: 1px solid var(--line-strong);
  display: grid;
  gap: 14px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 12px clamp(18px, 3vw, 44px);
  position: sticky;
  top: 0;
  z-index: 40;
}

.country-workspace-identity,
.country-workspace-identity > span,
.country-workspace-actions,
.country-workspace-nav nav {
  align-items: center;
  display: flex;
}

.country-workspace-identity {
  gap: 12px;
}

.country-workspace-identity > span {
  gap: 7px;
  white-space: nowrap;
}

.country-workspace-identity strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
  line-height: 1;
}

.country-workspace-identity small {
  color: var(--muted);
  font-size: var(--fs-micro);
  font-weight: 700;
}

.country-workspace-nav nav {
  justify-content: center;
  min-width: 0;
}

.country-workspace-nav nav button,
.country-workspace-actions a,
.country-workspace-identity button {
  background: transparent;
  border: 0;
  color: var(--muted);
  font: 600 var(--fs-caption)/1 var(--font-ui);
  padding: 10px 11px;
  text-decoration: none;
  white-space: nowrap;
}

.country-workspace-nav nav button {
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.country-workspace-nav nav button:hover,
.country-workspace-nav nav button:focus-visible,
.country-workspace-nav nav button[aria-current="page"] {
  border-bottom-color: var(--orange);
  color: var(--burgundy);
  outline: none;
}

.country-workspace-identity button,
.country-workspace-actions a {
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
}

.country-workspace-identity button:hover,
.country-workspace-identity button:focus-visible,
.country-workspace-actions a:hover,
.country-workspace-actions a:focus-visible {
  background: var(--burgundy);
  color: var(--surface);
  outline: none;
}

.country-workspace-actions {
  gap: 7px;
}

.country-workspace-view {
  margin-inline: auto;
  max-width: 1500px;
  padding: clamp(22px, 3vw, 46px);
  width: 100%;
}

.country-workspace-view > .headline-dashboard,
.country-workspace-view > .country-conditions,
.country-workspace-view > .country-overview-panel,
.country-workspace-view > .country-task-exposure-panel {
  margin: 0;
  width: 100%;
}

.headline-dashboard-overview {
  box-shadow: none;
  gap: 14px;
}

.headline-dashboard-overview .headline-category {
  padding-block: 9px;
}

.headline-dashboard-overview .headline-composite {
  min-height: 106px;
  padding: 15px 44px 14px 15px;
}

.headline-dashboard-overview .headline-composite-summary {
  gap: 9px;
}

.headline-dashboard-overview .headline-dashboard-head h2 {
  margin-bottom: 7px;
}

.headline-dashboard-domain {
  box-shadow: none;
}

.headline-dashboard-domain .headline-category {
  padding-bottom: 8px;
}

.headline-dashboard-domain .headline-axis-labels,
.headline-dashboard-domain .headline-category {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.headline-dashboard-domain .headline-domain-label,
.headline-dashboard-domain .headline-category-name,
.headline-dashboard-domain [data-headline-focus-close],
.headline-dashboard-domain .headline-focus-sticky {
  display: none;
}

@media (max-width: 1180px) {
  .country-workspace-nav {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .country-workspace-nav nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .country-workspace-actions {
    justify-self: end;
  }
}

@media (max-width: 720px) {
  .country-workspace-nav {
    gap: 9px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 9px 12px 0;
  }

  .country-workspace-identity > span,
  .country-workspace-actions a:first-child {
    display: none;
  }

  .country-workspace-actions a,
  .country-workspace-identity button {
    padding: 9px;
  }

  .country-workspace-nav nav {
    margin-inline: -12px;
    padding-inline: 12px;
  }

  .country-workspace-nav nav button {
    padding: 10px 9px 11px;
  }

  .country-workspace-view {
    padding: 14px 12px 28px;
  }

  .headline-dashboard-overview .headline-composite {
    min-height: 0;
  }
}

/* Six-cell score cards */
.headline-composite-summary {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 18px;
}

.headline-score {
  align-content: start;
  display: grid;
  justify-items: end;
  min-width: 74px;
  padding-right: 1px;
  text-align: right;
}

.headline-score > strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  font-weight: 700;
  line-height: 1;
}

.headline-composite-capacity .headline-score > strong {
  color: var(--blue);
}

.headline-score-subpillars {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  margin-top: 5px;
}

.headline-score-subpillars > span {
  align-content: start;
  background: color-mix(in srgb, var(--orange) 4%, var(--surface));
  display: grid;
  gap: 3px;
  outline: 1px solid var(--line);
  padding: 10px 11px;
}

.headline-focus-capacity .headline-score-subpillars > span {
  background: color-mix(in srgb, var(--blue) 3%, var(--surface));
}

.headline-score-subpillars small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.3;
}

.headline-score-subpillars b {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
}

.headline-focus-capacity .headline-score-subpillars b {
  color: var(--blue);
}

.headline-composite {
  align-self: stretch;
  min-height: 148px;
}

/* Occupation evidence uses one table with three alternate readings. */
.occupation-ai-combined {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 9px;
  margin-top: 5px;
  padding-top: 13px;
}

.occupation-ai-combined .occupation-ai-section-heading {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.occupation-ai-table-note {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0;
}

.occupation-ai-table {
  background: var(--surface);
  border: 1px solid var(--line);
  display: grid;
}

.occupation-ai-table-head,
.occupation-ai-table-row {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(180px, 1.6fr) minmax(86px, 0.5fr) minmax(160px, 1fr);
  padding: 10px 12px;
}

.occupation-ai-table-head {
  background: color-mix(in srgb, var(--burgundy) 5%, var(--surface));
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  text-transform: uppercase;
}

.occupation-ai-table-row + .occupation-ai-table-row {
  border-top: 1px solid var(--line);
}

.occupation-ai-table-row > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.occupation-ai-table-row > span:first-child {
  align-items: center;
  grid-template-columns: 25px minmax(0, 1fr);
}

.occupation-ai-table-row > span:first-child i {
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-style: normal;
  font-weight: 800;
}

.occupation-ai-table-row strong,
.occupation-ai-table-row b {
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.2;
}

.occupation-ai-table-row small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
}

.occupation-ai-table-value {
  grid-template-columns: 58px minmax(72px, 1fr);
  align-items: center;
}

.occupation-ai-table-value > i {
  background: color-mix(in srgb, var(--burgundy) 9%, var(--surface));
  display: block;
  height: 7px;
  overflow: hidden;
}

.occupation-ai-table-value > i em {
  background: var(--orange);
  display: block;
  height: 100%;
  width: var(--occupation-value);
}

@media (max-width: 720px) {
  .headline-composite-summary {
    grid-template-columns: minmax(0, 1fr) 96px;
  }

  .headline-score > strong {
    font-size: 2.15rem;
  }

  .occupation-ai-combined .occupation-ai-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .occupation-ai-combined .segmented-control {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .occupation-ai-table-head,
  .occupation-ai-table-row {
    gap: 9px;
    grid-template-columns: minmax(120px, 1.25fr) 70px minmax(105px, 1fr);
    padding: 9px 8px;
  }

  .occupation-ai-table-value {
    grid-template-columns: 1fr;
  }
}

/* Country condition lenses */
.country-conditions-lens {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.country-conditions-lens > div:first-child {
  display: grid;
  gap: 5px;
  max-width: 760px;
}

.country-conditions-lens p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
}

.country-condition-trends {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.country-condition-trends > * {
  margin: 0;
}

.country-condition-gaps {
  display: grid;
  gap: 20px;
}

.condition-pair-comparison {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-top: 13px;
}

.condition-pair-comparison > strong {
  color: var(--ink);
  font-size: var(--fs-label);
}

.condition-pair-comparison > span {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(55px, 0.45fr) minmax(100px, 1fr) auto;
}

.condition-pair-comparison > span i,
.condition-pair-comparison > span small,
.condition-pair-comparison > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-style: normal;
  margin: 0;
}

.condition-pair-comparison > span b {
  background: color-mix(in srgb, var(--blue) 9%, var(--surface));
  display: block;
  height: 7px;
}

.condition-pair-comparison > span b em {
  background: var(--blue);
  display: block;
  height: 100%;
  width: var(--condition-pair);
}

.condition-pair-comparison > span:nth-of-type(2) b em {
  background: var(--orange);
}

.distribution-mirror {
  border-block: 1px solid var(--line);
  display: grid;
  gap: 18px;
  margin: 0;
  padding: clamp(18px, 2.4vw, 28px) 0;
}

.distribution-mirror figcaption {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.distribution-mirror figcaption > div {
  display: grid;
  gap: 5px;
}

.distribution-mirror h4 {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  line-height: 1;
  margin: 0;
}

.distribution-mirror figcaption p,
.distribution-mirror footer,
.distribution-mirror-empty > p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.45;
  margin: 0;
  max-width: 56ch;
}

.distribution-mirror-bars {
  display: grid;
  gap: 14px;
}

.distribution-mirror-row {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 105px minmax(0, 1fr);
}

.distribution-mirror-row > strong {
  color: var(--ink);
  font-size: var(--fs-label);
}

.distribution-mirror-values {
  display: grid;
  gap: 12px;
  grid-column: 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.distribution-mirror-values > div {
  border-top: 3px solid color-mix(in srgb, var(--orange) 30%, var(--surface));
  min-width: 0;
  padding-top: 6px;
}

.distribution-mirror-values > div:nth-child(2) {
  border-color: color-mix(in srgb, var(--blue) 15%, var(--surface));
}

.distribution-mirror-values > div:nth-child(3) {
  border-color: var(--burgundy);
}

.distribution-mirror-values dt,
.distribution-mirror-top-one {
  font-size: var(--fs-caption);
  line-height: 1.4;
}

.distribution-mirror-values dd {
  font-size: var(--fs-lead);
  font-weight: 700;
  margin: 2px 0 0;
}

.distribution-mirror-top-one {
  color: var(--muted);
  grid-column: 2;
  margin: 0;
}

.distribution-mirror-stack,
.distribution-factor-bar {
  display: flex;
  min-height: 54px;
  overflow: hidden;
}

.distribution-mirror-stack > span,
.distribution-factor-bar > span {
  align-content: center;
  background: color-mix(in srgb, var(--orange) 30%, var(--surface));
  display: grid;
  flex: 0 0 var(--distribution-share);
  gap: 2px;
  min-width: 0;
  padding: 9px 10px;
  position: relative;
}

.distribution-mirror-stack > span:nth-child(2) {
  background: color-mix(in srgb, var(--blue) 15%, var(--surface));
}

.distribution-mirror-stack > span:nth-child(3),
.distribution-factor-bar > span:nth-child(2) {
  background: var(--burgundy);
  color: var(--surface);
}

.distribution-factor-bar b {
  font-family: var(--font-display);
  font-size: 1.05rem;
  line-height: 1;
}

.distribution-factor-bar small {
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  line-height: 1.35;
}

.distribution-factor-bar {
  margin-left: 121px;
  min-height: 42px;
}

.distribution-factor-bar > span:first-child {
  background: color-mix(in srgb, var(--blue) 18%, var(--surface));
}

.distribution-mirror a,
.fiscal-shock-absorber a,
.occupation-transition-pathways a {
  color: var(--burgundy);
  font-weight: 700;
  text-underline-offset: 3px;
}

/* Fiscal accounting sensitivity */
.fiscal-shock-absorber {
  border-block: 1px solid var(--line);
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 20px 0;
}

.fiscal-shock-method > summary {
  cursor: pointer;
  font-size: var(--fs-label);
  font-weight: 700;
  padding-block: 8px;
}

.fiscal-shock-method > div {
  display: grid;
  font-size: var(--fs-label);
  gap: 8px;
  line-height: 1.5;
  max-width: 72ch;
  padding-block: 8px;
}

.fiscal-shock-method p {
  margin: 0;
}

.fiscal-shock-absorber figcaption {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.fiscal-shock-absorber figcaption > div:first-child {
  display: grid;
  gap: 4px;
}

.fiscal-shock-absorber figcaption span,
.fiscal-shock-flow section > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.fiscal-shock-absorber figcaption strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.fiscal-shock-absorber figcaption p,
.fiscal-shock-flow p,
.fiscal-shock-absorber footer {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
  margin: 0;
}

.fiscal-shock-flow {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(210px, 1.25fr) 72px minmax(145px, 0.7fr) 72px minmax(175px, 0.8fr);
}

.fiscal-shock-flow section {
  align-content: center;
  border-left: 2px solid var(--orange);
  display: grid;
  gap: 8px;
  min-height: 130px;
  padding: 12px 0 12px 14px;
}

.fiscal-shock-flow section:last-child {
  border-left-color: var(--blue);
}

.fiscal-shock-flow section > strong,
.fiscal-shock-balance > div strong {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.7rem;
  line-height: 1;
}

.fiscal-shock-flow section > strong small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.fiscal-shock-taxbar {
  display: flex;
  height: 32px;
  overflow: hidden;
}

.fiscal-shock-taxbar > i {
  align-items: center;
  background: var(--orange);
  display: flex;
  flex: 0 0 var(--fiscal-share);
  font-style: normal;
  min-width: 0;
  overflow: hidden;
  padding: 0 7px;
}

.fiscal-shock-taxbar > i + i {
  background: color-mix(in srgb, var(--burgundy) 10%, var(--surface));
}

.fiscal-shock-taxbar b {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  white-space: nowrap;
}

.fiscal-shock-arrow {
  display: grid;
  gap: 6px;
  text-align: center;
}

.fiscal-shock-arrow i {
  border-top: 1px solid var(--burgundy);
  display: block;
  position: relative;
}

.fiscal-shock-arrow i::after {
  border-bottom: 4px solid transparent;
  border-left: 6px solid var(--burgundy);
  border-top: 4px solid transparent;
  content: "";
  position: absolute;
  right: -1px;
  top: -4px;
}

.fiscal-shock-arrow span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
}

.fiscal-shock-balance > div {
  align-items: center;
  display: flex;
  gap: 8px;
}

.fiscal-shock-balance > div i {
  color: var(--muted);
  font-style: normal;
}

.fiscal-shock-commitments {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.fiscal-shock-commitments > span {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.fiscal-shock-commitments > span b {
  color: var(--ink);
}

/* Skill-adjacent occupation routes */
.occupation-transition-pathways {
  border-block: 1px solid var(--line);
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 18px 0;
}

.occupation-transition-pathways figcaption {
  align-items: end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.occupation-transition-pathways figcaption > div:first-child {
  display: grid;
  gap: 4px;
  max-width: 620px;
}

.occupation-transition-pathways figcaption span,
.occupation-transition-origin > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.occupation-transition-pathways figcaption strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--fs-lead);
}

.occupation-transition-pathways figcaption p,
.occupation-transition-method p,
.occupation-transition-pathways footer,
.occupation-transition-origin p {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.45;
  margin: 0;
}

.occupation-transition-controls {
  align-items: end;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}

.occupation-transition-controls label {
  display: grid;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
}

.occupation-transition-controls select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  min-height: 34px;
  max-width: 100%;
  width: 290px;
  padding: 5px 28px 5px 8px;
}

.occupation-transition-map {
  align-items: center;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(190px, 0.55fr) minmax(0, 1.45fr);
}

.occupation-transition-reading {
  align-items: baseline;
  background: color-mix(in srgb, var(--blue) 7%, var(--surface));
  border-left: 3px solid var(--blue);
  display: grid;
  gap: 3px 14px;
  grid-template-columns: auto 1fr auto;
  padding: 10px 12px;
}

.occupation-transition-reading strong {
  color: var(--ink);
  font-size: var(--fs-label);
}

.occupation-transition-reading span,
.occupation-transition-reading small {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.occupation-transition-reading small {
  text-align: right;
}

.occupation-transition-origin {
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 9px;
  padding: 14px 0 14px 15px;
}

.occupation-transition-origin h4 {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1.05;
  margin: 0;
}

.occupation-transition-origin > div {
  display: grid;
  gap: 2px 12px;
  grid-template-columns: auto 1fr;
}

.occupation-transition-origin > div b {
  color: var(--burgundy);
  font-family: var(--font-display);
  font-size: 1.25rem;
}

.occupation-transition-origin > div small {
  align-self: center;
  color: var(--muted);
  font-size: var(--fs-micro);
}

.occupation-transition-routes {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.occupation-transition-routes li {
  align-items: center;
  display: grid;
  gap: 0;
  grid-template-columns: 84px minmax(0, 1fr);
}

.occupation-transition-routes li > i {
  border-top: 1px solid var(--line-strong);
  display: block;
  justify-self: end;
  position: relative;
  width: var(--route-similarity);
}

.occupation-transition-routes li > i em {
  background: var(--blue);
  border: 2px solid var(--surface);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--blue);
  height: 8px;
  position: absolute;
  right: -4px;
  top: -4px;
  width: 8px;
}

.occupation-transition-routes button {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  justify-content: space-between;
  min-height: 64px;
  padding: 9px 11px;
  text-align: left;
  width: 100%;
}

.occupation-transition-routes button:hover,
.occupation-transition-routes button:focus-visible {
  border-color: var(--blue);
  outline: 1px solid var(--blue);
}

.occupation-transition-routes button > span:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.occupation-transition-routes button small {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.occupation-transition-routes button strong {
  font-size: var(--fs-label);
  line-height: 1.2;
}

.occupation-transition-routes button > span:first-child em {
  color: var(--muted);
  font-size: var(--fs-micro);
  font-style: normal;
  font-weight: 700;
}

.occupation-transition-routes li[data-exposure-direction="lower"] button > span:first-child em {
  color: var(--green);
}

.occupation-transition-routes li[data-exposure-direction="higher"] button > span:first-child em {
  color: var(--orange);
}

.occupation-transition-routes li[data-exposure-direction="lower"] > i em {
  background: var(--green);
  box-shadow: 0 0 0 1px var(--green);
}

.occupation-transition-routes li[data-exposure-direction="higher"] > i em {
  background: var(--orange);
  box-shadow: 0 0 0 1px var(--orange);
}

.occupation-transition-route-metrics {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(54px, 1fr));
  width: 100%;
}

.occupation-transition-route-metrics b {
  color: var(--burgundy);
  display: grid;
  font-family: var(--font-display);
  font-size: var(--fs-body);
  line-height: 1;
}

.occupation-transition-route-metrics small {
  font-family: var(--font-ui);
  font-weight: 400;
  line-height: 1.15;
}

.occupation-transition-method {
  border-left: 2px solid var(--blue);
  display: grid;
  gap: 4px;
  padding-left: 10px;
}

.occupation-transition-method summary {
  color: var(--ink);
  cursor: pointer;
  font-size: var(--fs-caption);
  font-weight: 800;
}

.occupation-transition-method[open] summary {
  margin-bottom: 6px;
}

/* ILO labor-rights context stays a direct value because the source cautions
   against cross-country ranking. */
.labor-rights-summary {
  background: color-mix(in srgb, var(--blue) 5%, var(--surface));
  display: grid;
  gap: 7px;
  margin: 0;
  padding: clamp(16px, 2vw, 22px);
}

.labor-rights-summary > span {
  color: var(--muted);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.labor-rights-summary > strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.8vw, 2.35rem);
  line-height: 1;
}

.labor-rights-summary > strong small,
.labor-rights-summary > p,
.labor-rights-summary details {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.4;
}

.labor-rights-summary > p {
  margin: 0;
}

.labor-rights-summary details summary {
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
}

.labor-worker-voice {
  container-name: worker-voice;
  container-type: inline-size;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: 0 clamp(14px, 2vw, 24px) clamp(18px, 2.4vw, 30px);
}

.labor-worker-voice .bargaining-reach-visual,
.labor-worker-voice .labor-rights-summary {
  border: 0;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.labor-worker-voice .labor-rights-summary {
  margin: 0;
}

.occupation-transition-method strong {
  color: var(--ink);
  font-size: var(--fs-caption);
}

@media (max-width: 980px) {
  .country-condition-trends,
  .fiscal-shock-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .fiscal-shock-arrow {
    display: none;
  }

  .fiscal-shock-flow section {
    min-height: 0;
  }

  .occupation-transition-pathways figcaption,
  .occupation-transition-map {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
  }

  .occupation-transition-pathways figcaption {
    display: grid;
  }

  .occupation-transition-map {
    gap: 14px;
  }
}

@media (max-width: 720px) {
  .country-conditions-lens,
  .distribution-mirror figcaption,
  .fiscal-shock-absorber figcaption {
    align-items: stretch;
    flex-direction: column;
  }

  .country-conditions-lens .segmented-control,
  .fiscal-shock-absorber .headline-segmented {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .distribution-mirror-row {
    align-items: stretch;
    gap: 7px;
    grid-template-columns: minmax(0, 1fr);
  }

  .distribution-factor-bar {
    margin-left: 0;
  }

  .distribution-factor-bar b {
    font-size: var(--fs-label);
  }

  .distribution-factor-bar small {
    font-size: var(--fs-micro);
  }

  .occupation-ai-relationship-explorer > header .segmented-control {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .occupation-transition-controls {
    align-items: stretch;
    display: grid;
  }

  .occupation-transition-reading {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

  .occupation-transition-reading small {
    text-align: left;
  }

  .occupation-transition-controls select {
    max-width: none;
    width: 100%;
  }

  .occupation-transition-routes li {
    grid-template-columns: 18px minmax(0, 1fr);
  }

  .occupation-transition-routes button {
    align-items: stretch;
    flex-direction: column;
  }

  .occupation-transition-route-metrics {
    width: 100%;
  }

  .headline-quality-inventory > header {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-quality-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-quality-summary > div + div {
    border-left: 0;
  }

  .headline-quality-summary > div:nth-child(even) {
    border-left: 1px solid var(--line);
  }

  .headline-quality-summary > div:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .headline-quality-summary > div:last-child {
    grid-column: 1 / -1;
  }

  .headline-quality-definitions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-quality-table-head {
    display: none;
  }

  .headline-quality-table-row {
    align-items: start;
    gap: 9px 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
  }

  .headline-quality-table-row > span:first-child {
    grid-column: 1 / -1;
  }

  .headline-quality-table-row > span::before {
    color: var(--muted);
    content: attr(data-label);
    display: block;
    font-size: 0.49rem;
    font-weight: 700;
    margin-bottom: 2px;
    text-transform: uppercase;
  }
}

@media (min-width: 721px) {
  .occupation-ai-combined .occupation-ai-section-heading {
    align-items: center;
    display: flex;
  }

  .occupation-ai-combined .segmented-control {
    display: inline-flex;
    flex-wrap: nowrap;
  }
}

@media (max-width: 720px) {
  .country-workspace-actions a:first-child {
    display: inline-flex;
    padding-inline: 8px;
  }

  .country-workspace-nav nav {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow-x: visible;
    width: calc(100% + 24px);
  }

  .country-workspace-nav nav button {
    font-size: var(--fs-micro);
    min-width: 0;
    overflow: hidden;
    padding-inline: 4px;
    text-overflow: clip;
  }
}

/* Final unified workspace overrides. */
.map-layer-controls[hidden] {
  display: none !important;
}

.headline-dashboard-overview .headline-composite {
  min-height: 116px;
}

.headline-dashboard-overview {
  background: transparent;
  border: 0;
  box-shadow: none;
  gap: 0;
  padding: 0;
}

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

.headline-dashboard-overview .headline-category {
  align-items: stretch;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 18px 0;
}

.headline-dashboard-overview .headline-category-name {
  align-items: center;
  grid-column: 1 / -1;
  padding: 0;
}

.headline-dashboard-overview .headline-category-name > span {
  font-size: var(--fs-lead);
}

.headline-dashboard-overview .headline-composite-copy strong {
  font-size: var(--fs-lead);
}

.headline-dashboard-overview .headline-composite-copy small {
  font-size: var(--fs-label);
  line-height: 1.34;
}

.headline-overview-actions {
  border-top: 1px solid var(--line-strong);
  display: flex;
  justify-content: flex-end;
  padding-top: 12px;
}

.headline-overview-actions button {
  background: transparent;
  border: 0;
  color: var(--burgundy);
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 700;
  padding: 7px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.headline-overview-actions button:hover,
.headline-overview-actions button:focus-visible {
  color: var(--orange);
  outline: none;
}

@media (min-width: 981px) {
  body[data-country-mode="true"] .app-shell {
    display: grid;
    grid-template-columns: clamp(260px, 22vw, 300px) minmax(0, 1fr);
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
  }

  body[data-country-mode="true"] .map-stage {
    background: color-mix(in srgb, var(--pink) 54%, var(--surface));
    border-right: 1px solid var(--line-strong);
    display: grid;
    gap: 12px;
    align-content: start;
    grid-template-rows: auto clamp(235px, 40vh, 320px) auto;
    height: 100vh;
    min-height: 0;
    overflow: hidden;
    padding: 14px;
    transition: padding 520ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  body[data-country-mode="true"] .map-stage > .topbar {
    align-items: stretch;
    display: grid;
    gap: 12px;
    grid-row: 1;
  }

  body[data-country-mode="true"] .map-stage > .map {
    border-color: var(--line-strong);
    grid-row: 2;
    height: 100%;
    max-height: 320px;
    min-height: 0;
  }

  body[data-country-mode="true"] .map-stage > .legend {
    display: flex;
    grid-row: 3;
    justify-content: flex-start;
    row-gap: 6px;
  }

  body[data-country-mode="true"] .brand-heading {
    align-items: center;
    display: grid;
    gap: 4px 12px;
    grid-template-columns: auto;
  }

  body[data-country-mode="true"] .brand-heading::after,
  body[data-country-mode="true"] .mockup-warning,
  body[data-country-mode="true"] .dek,
  body[data-country-mode="true"] .toolbar > a,
  body[data-country-mode="true"] .search-label {
    display: none !important;
  }

  body[data-country-mode="true"] .brand-mark {
    grid-row: 1;
    margin: 0;
    min-height: 0;
  }

  body[data-country-mode="true"] .brand-mark img {
    height: 34px;
  }

  body[data-country-mode="true"] h1 {
    display: none;
  }

  body[data-country-mode="true"] .toolbar {
    min-width: 0;
    width: 100%;
  }

  body[data-country-mode="true"] #country-search {
    min-height: 42px;
  }

  body[data-country-mode="true"] .inspector {
    border-left: 0;
    display: flex;
    height: 100vh;
    max-height: 100vh;
    min-height: 0;
    overflow-y: auto;
    width: 100%;
  }

  body[data-country-mode="true"] .profile-panel {
    display: block;
    margin: 0;
    padding: 0;
  }

  body[data-country-mode="true"] .selected-panel {
    display: none;
  }


}

@media (max-width: 980px) {
  body[data-country-mode="true"] .app-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(170px, 26svh) minmax(0, 1fr);
    height: var(--app-viewport-height);
    min-height: var(--app-viewport-height);
    overflow: hidden;
  }

  body[data-country-mode="true"] .map-stage {
    border-bottom: 1px solid var(--line-strong);
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: 0;
  }

  body[data-country-mode="true"] .map-stage > .topbar,
  body[data-country-mode="true"] .map-stage > .legend {
    display: none;
  }

  body[data-country-mode="true"] .map-stage > .map {
    border: 0;
    display: block;
    grid-row: 1;
    height: 100%;
    max-height: none;
    min-height: 0;
  }

  body[data-country-mode="true"] .inspector {
    border-left: 0;
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
  }

  body[data-country-mode="true"] .profile-panel {
    display: block;
    margin: 0;
    padding: 0;
  }

  body[data-country-mode="true"] .selected-panel {
    display: none;
  }
}

@media (max-width: 620px) {
  body[data-country-mode="true"] .app-shell {
    grid-template-rows: 150px minmax(0, 1fr);
  }

  .country-entry-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-entry-list button:nth-child(odd) {
    border-right: 0;
  }

  .headline-dashboard-overview .headline-category {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Compact evidence workspace: comparison first, detail on demand. */
.headline-dashboard-domain .headline-focus-workspace {
  gap: 0;
  padding-top: 0;
}

.headline-dashboard-domain .headline-focus-header {
  padding-bottom: 18px;
}

.headline-dashboard-domain .headline-focus-overview {
  border-bottom: 0;
}

.headline-dashboard-domain .headline-focus-explorer {
  border-block: 1px solid var(--line);
}

.headline-dashboard-domain .headline-focus-explorer > summary {
  gap: 6px 12px;
  min-height: 0;
  padding: 13px clamp(18px, 2.4vw, 30px);
}

.headline-dashboard-domain .headline-focus-explorer > summary span {
  font-size: var(--fs-caption);
  letter-spacing: 0;
  text-transform: none;
}

.headline-dashboard-domain .headline-focus-explorer > summary small {
  font-size: var(--fs-micro);
}

.headline-focus-explorer-body {
  display: block;
  padding: 0 clamp(18px, 2.4vw, 30px) 14px;
}

.headline-domain-indicator-stack {
  display: grid;
  min-width: 0;
  padding: 0 clamp(18px, 2.6vw, 34px) 20px;
}

.uk-report .headline-domain-indicator-stack {
  padding: 0;
}

.headline-domain-detail-disclosure {
  margin-top: 5px;
}

.headline-domain-detail-disclosure > summary {
  color: var(--muted);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 750;
  list-style: none;
  padding: 12px 2px;
  width: fit-content;
}

.headline-domain-detail-disclosure > summary::-webkit-details-marker {
  display: none;
}

.headline-domain-detail-disclosure > summary::before {
  content: "+";
  display: inline-block;
  margin-right: 8px;
}

.headline-domain-detail-disclosure[open] > summary::before {
  content: "−";
}

.headline-domain-detail-disclosure > div {
  display: grid;
  gap: 16px;
  padding-top: 4px;
}

.headline-domain-detailed-view {
  border: 1px solid var(--line-strong);
  min-width: 0;
}

.headline-domain-detailed-view > header {
  padding: 12px clamp(16px, 2vw, 24px) 0;
}

.headline-domain-detailed-view > header h4 {
  color: var(--ink);
  font: 700 var(--fs-label)/1.2 var(--font-display);
  margin: 0;
}

.headline-domain-detailed-view > .headline-focus-overview {
  border: 0;
  grid-template-columns: minmax(0, 1fr);
}

.headline-measure-list {
  --indicator-card-meta-size: 0.58rem;
  --indicator-card-title-size: 0.74rem;
  --indicator-card-value-size: 1.12rem;
  display: grid;
  gap: 9px;
  padding: 11px 0 4px;
}

.headline-domain-indicator-stack > .headline-measure-list,
.headline-measure-section > .headline-measure-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.headline-measure-row {
  align-items: start;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  display: grid;
  gap: 7px 12px;
  grid-template-areas:
    "name help"
    "value value"
    "source source";
  grid-template-columns: minmax(0, 1fr) 26px;
  height: 100%;
  min-width: 0;
  padding: 14px;
}

.headline-measure-row.is-rich {
  grid-column: 1 / -1;
}

.headline-measure-name {
  display: grid;
  gap: 3px;
  grid-area: name;
  min-width: 0;
}

.headline-measure-name strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--indicator-card-title-size);
  line-height: 1.2;
}

/* Card titles carry the report's existing axis colours, so a mixed list still
   reads as exposure measures against capacity measures. */
.headline-measure-row.is-exposure .headline-measure-name strong {
  color: var(--burgundy);
}

.headline-measure-row.is-capacity .headline-measure-name strong {
  color: var(--blue);
}

.headline-measure-source {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--indicator-card-meta-size);
  line-height: 1.3;
}

.headline-measure-value {
  align-items: center;
  color: var(--ink);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-display);
  grid-area: value;
  gap: 8px 20px;
  justify-content: flex-start;
  justify-self: stretch;
  min-width: 0;
  text-align: left;
}

.headline-measure-value > b {
  font-size: var(--indicator-card-value-size);
  font-weight: 600;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.headline-measure-value > span {
  display: grid;
  gap: 3px;
  min-width: min(180px, 100%);
}

.headline-measure-value > span small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--indicator-card-meta-size);
  line-height: 1.25;
}

.headline-measure-value > span b {
  font-size: var(--indicator-card-value-size);
  font-weight: 600;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.headline-measure-row.is-rich .headline-measure-value {
  justify-content: flex-start;
  justify-self: stretch;
  text-align: left;
}

.youth-prime-exposure-visual {
  display: grid;
  gap: 12px;
  margin: 0;
  max-width: 780px;
  width: 100%;
}

.youth-prime-exposure-heading {
  display: grid;
  gap: 3px;
}

.youth-prime-exposure-heading > strong {
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.2;
}

.youth-prime-exposure-heading > small,
.youth-prime-exposure-visual figcaption,
.youth-prime-exposure-bars span {
  color: var(--muted);
  font-family: var(--font-ui);
}

.youth-prime-exposure-heading > small,
.youth-prime-exposure-visual figcaption {
  font-size: var(--indicator-card-meta-size);
  line-height: 1.35;
}

.youth-prime-exposure-bars {
  display: grid;
  gap: 8px;
}

.youth-prime-exposure-bars > div {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(126px, 0.7fr) minmax(150px, 2fr) 32px;
}

.youth-prime-exposure-bars span {
  font-size: var(--indicator-card-meta-size);
  font-weight: 700;
  line-height: 1.15;
}

.youth-prime-exposure-bars span small {
  display: inline;
  font-size: inherit;
  font-weight: 500;
}

.youth-prime-exposure-bars i {
  background: color-mix(in srgb, var(--burgundy) 12%, transparent);
  display: block;
  height: 9px;
  overflow: hidden;
}

.youth-prime-exposure-bars i b {
  background: var(--orange);
  display: block;
  height: 100%;
  width: var(--youth-prime-width);
}

.youth-prime-exposure-bars .is-reference i b {
  background: var(--burgundy);
}

.youth-prime-exposure-bars > div > strong {
  color: var(--ink);
  font-size: 0.68rem;
  font-weight: 700;
  text-align: right;
}

.youth-prime-exposure-visual figcaption {
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.headline-measure-source {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 8px;
  grid-area: source;
}

.headline-measure-comparison {
  display: grid;
  gap: 5px;
  grid-column: 1 / -1;
  margin-top: 5px;
  min-width: 0;
}

/* One key for the whole list, instead of a legend repeated on every card. */
.headline-measure-list-key {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 6px 16px;
  line-height: 1.3;
  margin: 0 0 12px;
}

.headline-measure-list-key span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.headline-measure-list-key i {
  display: block;
  flex: 0 0 auto;
}

.headline-measure-list-key .is-country {
  background: var(--blue);
  height: 8px;
  width: 8px;
}

.headline-measure-list-key .is-median {
  background: var(--burgundy);
  height: 9px;
  width: 2px;
}

.headline-measure-comparison > small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.2;
}

.headline-measure-comparison-track {
  background: color-mix(in srgb, var(--line-strong) 48%, var(--surface));
  display: block;
  font-style: normal;
  height: 4px;
  margin-inline: 5px;
  position: relative;
}

.headline-measure-comparison-track em {
  display: block;
  left: var(--headline-position);
  position: absolute;
  transform: translateX(-50%);
}

.headline-measure-comparison-track .is-country {
  background: var(--blue);
  height: 14px;
  top: -5px;
  width: 8px;
}

.headline-measure-comparison-track .is-median {
  background: var(--burgundy);
  height: 12px;
  top: -4px;
  width: 2px;
}

.headline-measure-comparison > small {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.headline-measure-comparison > small span:last-child {
  text-align: right;
}

.headline-measure-source a,
.headline-method-disclosure a {
  color: var(--burgundy);
  font-weight: 700;
  text-underline-offset: 2px;
}

.headline-focus-capacity .headline-measure-source a,
.headline-focus-capacity .headline-method-disclosure a {
  color: var(--blue);
}

.headline-measure-row > .headline-metric-help {
  grid-area: help;
}

.headline-analysis-disclosure,
.headline-context-disclosure,
.headline-method-disclosure {
  border-bottom: 1px solid var(--line);
}

.headline-analysis-disclosure > summary,
.headline-context-disclosure > summary,
.headline-method-disclosure > summary {
  color: var(--muted);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 700;
  list-style: none;
  padding: 13px 0;
}

.headline-analysis-disclosure > summary::-webkit-details-marker,
.headline-context-disclosure > summary::-webkit-details-marker,
.headline-method-disclosure > summary::-webkit-details-marker {
  display: none;
}

.headline-analysis-disclosure > summary::before,
.headline-context-disclosure > summary::before,
.headline-method-disclosure > summary::before {
  content: "+";
  display: inline-block;
  margin-right: 8px;
}

.headline-analysis-disclosure[open] > summary::before,
.headline-context-disclosure[open] > summary::before,
.headline-method-disclosure[open] > summary::before {
  content: "−";
}

.headline-analysis-disclosure > div {
  border-top: 1px solid var(--line);
  margin-inline: calc(clamp(18px, 2.4vw, 30px) * -1);
}

.headline-measure-section > h4 {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  margin: 15px 0 0;
  text-transform: uppercase;
}

.headline-context-disclosure > .headline-measure-list {
  border-top: 1px solid var(--line);
}

.headline-method-disclosure > div {
  display: grid;
  gap: 12px;
  max-width: 720px;
  padding: 4px 0 18px;
}

.headline-method-disclosure > div > a {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  width: fit-content;
}

.headline-method-disclosure .headline-evidence-basis {
  margin-top: 0;
}

.headline-analysis-disclosure .headline-special-visual:last-child,
.headline-analysis-disclosure .headline-labor-share-chart:last-child,
.headline-analysis-disclosure .headline-erosion-flag:last-child,
.headline-analysis-disclosure .fiscal-shock-absorber:last-child {
  border-bottom: 0;
}

@media (max-width: 760px) {
  .headline-domain-indicator-stack > .headline-measure-list,
  .headline-measure-section > .headline-measure-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-measure-row {
    padding: 12px;
  }

  .headline-measure-value {
    display: grid;
    gap: 9px;
    justify-self: stretch;
    text-align: left;
  }

  .headline-measure-value > span {
    min-width: 0;
  }

  .youth-prime-exposure-bars > div {
    gap: 7px;
    grid-template-columns: 112px minmax(80px, 1fr) 28px;
  }

  .youth-prime-exposure-bars span small {
    display: block;
  }

  .headline-analysis-disclosure > div {
    margin-inline: -18px;
  }
}

/* Labor Transformation Map */
.labor-transformation-map {
  margin: 0;
  min-width: 0;
}

.labor-transformation-map > figcaption {
  align-items: start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: clamp(18px, 2.5vw, 30px);
}

.labor-transformation-map > figcaption > div:first-child {
  display: grid;
  gap: 5px;
}

.labor-transformation-map > figcaption span,
.labor-transformation-adoption span,
.labor-transformation-detail > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.labor-transformation-map > figcaption strong {
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  letter-spacing: 0;
  line-height: 1.05;
  max-width: 760px;
}

.labor-transformation-adoption {
  align-items: center;
  border-block: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(180px, 0.7fr) minmax(280px, 1fr) minmax(170px, 0.55fr);
  padding: 14px clamp(18px, 2.5vw, 30px);
}

.labor-transformation-adoption > div:first-child {
  display: grid;
  gap: 3px;
}

.labor-transformation-adoption strong {
  font-family: var(--font-display);
  font-size: var(--fs-body);
}

.labor-transformation-adoption > small {
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.35;
}

.labor-transformation-adoption-bar {
  display: flex;
  height: 30px;
  min-width: 0;
}

.labor-transformation-adoption-bar i {
  align-items: center;
  background: #ffd6c5;
  display: flex;
  flex-basis: var(--share);
  font-style: normal;
  min-width: 70px;
  padding-inline: 9px;
}

.labor-transformation-adoption-bar i + i {
  background: #d9d8ff;
  color: #29246d;
}

.labor-transformation-adoption-bar b {
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  white-space: nowrap;
}

.labor-transformation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(245px, 0.65fr);
  min-width: 0;
}

.labor-transformation-chart {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding: 12px 10px 15px 18px;
}

.labor-transformation-chart svg {
  display: block;
  height: auto;
  max-height: 570px;
  overflow: visible;
  width: 100%;
}

.labor-transformation-axis {
  stroke: currentColor;
  stroke-width: 1.5;
}

.labor-transformation-grid {
  stroke: var(--line-strong);
  stroke-dasharray: 5 6;
  stroke-width: 1;
}

.labor-transformation-axis-label,
.labor-transformation-point text {
  fill: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-weight: 700;
  letter-spacing: 0;
}

.labor-transformation-axis-label.is-y {
  font-size: var(--fs-label);
}

.labor-transformation-point {
  cursor: pointer;
  outline: none;
}

.labor-transformation-bubble {
  fill: #d9d4ce;
  stroke: #4f4038;
  stroke-width: 1.5;
  transition: transform 160ms ease, filter 160ms ease;
  transform-box: fill-box;
  transform-origin: center;
}

.labor-transformation-point.state-observed_augmentation .labor-transformation-bubble,
.labor-transformation-point.state-latent_augmentation .labor-transformation-bubble {
  fill: #3157ff;
  stroke: #1732a7;
}

.labor-transformation-point.state-substitution_watch .labor-transformation-bubble,
.labor-transformation-point.state-latent_substitution .labor-transformation-bubble {
  fill: #ff641e;
  stroke: #72210b;
}

.labor-transformation-halo {
  fill: none;
  opacity: 0.42;
  stroke: #111;
  stroke-width: var(--halo-width);
}

.labor-transformation-variation {
  fill: none;
  opacity: 0.9;
  pointer-events: none;
  stroke: #fff;
  stroke-width: 2;
}

.labor-transformation-point:hover .labor-transformation-bubble,
.labor-transformation-point:focus .labor-transformation-bubble,
.labor-transformation-point.is-selected .labor-transformation-bubble {
  filter: brightness(1.05);
  transform: scale(1.1);
}

.labor-transformation-point.is-selected .labor-transformation-halo {
  opacity: 0.9;
  stroke: #111;
}

.labor-transformation-point.is-selected text {
  fill: currentColor;
  font-weight: 900;
}

.labor-transformation-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  justify-content: center;
  padding-inline: 20px;
}

.labor-transformation-legend span {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  gap: 7px;
}

.labor-transformation-legend i {
  border: 1px solid currentColor;
  border-radius: 50%;
  display: inline-block;
  height: 14px;
  width: 14px;
}

.labor-transformation-legend .legend-employment {
  background: #3157ff;
}

.labor-transformation-legend .legend-variation {
  border-style: dashed;
}

.labor-transformation-legend .legend-observed {
  box-shadow: 0 0 0 4px rgb(17 17 17 / 20%);
}

.labor-transformation-detail {
  align-content: start;
  display: grid;
  gap: 13px;
  padding: clamp(20px, 2.6vw, 34px);
}

.labor-transformation-select {
  display: grid;
  gap: 5px;
  min-width: 0;
  position: relative;
}

.labor-transformation-select > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.labor-transformation-select > button {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line-strong);
  color: inherit;
  cursor: pointer;
  display: grid;
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 700;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 12px;
  line-height: 1.05;
  min-height: 48px;
  padding: 4px 5px 9px 0;
  text-align: left;
  width: 100%;
}

.labor-transformation-select > button:hover,
.labor-transformation-select > button:focus-visible,
.labor-transformation-select.is-open > button {
  border-bottom-color: var(--orange);
  outline: none;
}

.labor-transformation-select > button > span {
  overflow-wrap: anywhere;
}

.labor-transformation-select > button > i {
  border-bottom: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  display: block;
  height: 8px;
  justify-self: end;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 120ms ease;
  width: 8px;
}

.labor-transformation-select.is-open > button > i {
  transform: rotate(225deg) translate(-2px, -2px);
}

.labor-transformation-menu {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  box-shadow: 0 12px 28px rgb(76 26 9 / 14%);
  display: grid;
  left: 0;
  max-height: min(340px, 55vh);
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: calc(100% + 5px);
  z-index: 12;
}

.labor-transformation-menu[hidden] {
  display: none;
}

.labor-transformation-menu button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
  cursor: pointer;
  font: 700 var(--fs-label)/1.25 var(--font-ui);
  padding: 11px 12px;
  text-align: left;
}

.labor-transformation-menu button:last-child {
  border-bottom: 0;
}

.labor-transformation-menu button:hover,
.labor-transformation-menu button:focus-visible {
  background: var(--pink-light);
  outline: none;
}

.labor-transformation-menu button[aria-selected="true"] {
  background: var(--burgundy);
  color: var(--surface);
}

.labor-transformation-detail > p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 0;
}

.labor-transformation-detail dl {
  border-top: 1px solid var(--line);
  display: grid;
  margin: 0;
}

.labor-transformation-detail dl > div {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 11px 0;
}

.labor-transformation-detail dt {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.labor-transformation-detail dd {
  font-family: var(--font-display);
  font-size: var(--fs-label);
  line-height: 1.15;
  margin: 0;
}

.labor-transformation-detail dd small {
  color: var(--muted);
  display: block;
  font-family: var(--font-body);
  font-size: var(--fs-micro);
  line-height: 1.35;
  margin-top: 4px;
}

.labor-transformation-detail > button {
  background: transparent;
  border: 1px solid currentColor;
  color: inherit;
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  justify-self: start;
  padding: 9px 11px;
}

.labor-transformation-map > footer {
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  font-size: var(--fs-micro);
  gap: 16px;
  justify-content: space-between;
  line-height: 1.4;
  padding: 12px clamp(18px, 2.5vw, 30px) 15px;
}

.labor-transformation-map > footer p {
  margin: 0;
  max-width: 650px;
}

.labor-transformation-map > footer div {
  text-align: right;
}

@media (max-width: 900px) {
  .labor-transformation-adoption {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .labor-transformation-layout {
    grid-template-columns: 1fr;
  }

  .labor-transformation-chart {
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }

  .labor-transformation-detail dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .labor-transformation-detail dl > div:nth-child(odd) {
    border-right: 1px solid var(--line);
    padding-right: 12px;
  }

  .labor-transformation-detail dl > div:nth-child(even) {
    padding-left: 12px;
  }
}

@media (max-width: 600px) {
  .labor-transformation-map > figcaption,
  .labor-transformation-map > footer {
    align-items: start;
    flex-direction: column;
  }

  .labor-transformation-chart {
    padding-left: 4px;
  }

  .labor-transformation-map > footer div {
    text-align: left;
  }
}

/* Occupation journey inside Labor Market Exposure */
.labor-transformation-views {
  align-items: stretch;
  border-block: 1px solid var(--line);
  display: grid;
  grid-auto-columns: minmax(112px, 1fr);
  grid-auto-flow: column;
  min-height: 54px;
  overflow-x: auto;
  padding-inline: clamp(18px, 2.5vw, 30px);
  scrollbar-width: thin;
}

.labor-transformation-views > button {
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font: 800 var(--fs-caption)/1 var(--font-ui);
  border-bottom: 3px solid transparent;
  padding: 2px 12px 0;
  white-space: nowrap;
}

.labor-transformation-views > button:hover,
.labor-transformation-views > button:focus-visible,
.labor-transformation-views > button[aria-pressed="true"] {
  border-bottom-color: var(--orange);
  color: var(--ink);
  outline: none;
}

.labor-transformation-views > button:disabled {
  border-bottom-color: transparent;
  color: color-mix(in srgb, var(--muted) 48%, var(--surface));
  cursor: not-allowed;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.labor-view-availability-note,
.occupation-evidence-quality-note {
  align-items: baseline;
  background: color-mix(in srgb, var(--pink-light) 45%, var(--surface));
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font: 500 var(--fs-caption)/1.45 var(--font-ui);
  gap: 5px 9px;
  margin: 0;
  padding: 12px clamp(18px, 2.5vw, 30px);
}

.labor-view-availability-note strong,
.occupation-evidence-quality-note strong {
  color: var(--ink);
  font-weight: 800;
}

.labor-view-availability-note span + span::before {
  content: "·";
  margin-right: 9px;
}

.occupation-evidence-quality-note {
  background: color-mix(in srgb, var(--blue) 6%, var(--surface));
  border-bottom: 1px solid var(--line);
}

.labor-transformation-map.is-unavailable > figcaption {
  min-height: 0;
  padding-bottom: clamp(22px, 3vw, 34px);
}

.labor-transformation-map.is-unavailable .labor-transformation-views {
  border-bottom: 0;
}

.labor-transformation-groups {
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 12px clamp(18px, 2.5vw, 30px);
  scrollbar-width: thin;
}

.labor-transformation-groups button {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--muted);
  cursor: pointer;
  flex: 0 0 auto;
  font: 750 var(--fs-micro)/1 var(--font-ui);
  padding: 8px 10px;
}

.labor-transformation-groups button:hover,
.labor-transformation-groups button:focus-visible,
.labor-transformation-groups button[aria-pressed="true"] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--surface);
  outline: none;
}

.labor-transformation-view {
  min-width: 0;
}

.bargaining-reach-visual {
  margin: 0;
  min-width: 0;
  padding: clamp(22px, 3vw, 40px);
}

.bargaining-reach-visual > figcaption {
  display: grid;
  gap: 6px;
  max-width: 760px;
}

.bargaining-reach-visual > figcaption > span,
.bargaining-reach-fields article > header > span {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  font-weight: 800;
  text-transform: uppercase;
}

.bargaining-reach-visual > figcaption > strong {
  color: var(--ink);
  font: 750 clamp(1.45rem, 2.5vw, 2.25rem)/1.06 var(--font-display);
  overflow-wrap: anywhere;
}

.bargaining-reach-visual > figcaption p,
.bargaining-reach-fields article > header p,
.bargaining-reach-reading p,
.bargaining-reach-method p {
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
  overflow-wrap: anywhere;
}

.bargaining-reach-fields {
  display: grid;
  gap: clamp(20px, 3vw, 44px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(24px, 3.5vw, 46px);
}

.bargaining-reach-fields article {
  display: grid;
  gap: 15px;
  min-width: 0;
}

.bargaining-reach-fields article:only-child {
  grid-column: 1 / -1;
  max-width: 560px;
}

.bargaining-reach-fields article > header {
  display: grid;
  gap: 3px;
}

.bargaining-reach-fields article > header > strong {
  color: var(--ink);
  font: 750 clamp(2rem, 4.5vw, 4.2rem)/0.95 var(--font-display);
}

.bargaining-reach-fields article > header > strong small {
  font-size: 0.38em;
}

.bargaining-reach-fields article > small {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.bargaining-reach-reading {
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 5px;
  margin-top: clamp(26px, 4vw, 48px);
  max-width: 850px;
  padding: 4px 0 4px 16px;
}

.bargaining-reach-reading > strong {
  font: 750 var(--fs-label)/1.2 var(--font-display);
}

.bargaining-reach-method {
  margin-top: clamp(20px, 3vw, 34px);
  max-width: 850px;
}

.bargaining-reach-method > summary {
  color: var(--burgundy);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  font-weight: 800;
  list-style: none;
  padding: 8px 0;
}

.bargaining-reach-method > summary::-webkit-details-marker {
  display: none;
}

.bargaining-reach-method > summary::before {
  content: "+";
  display: inline-block;
  margin-right: 8px;
}

.bargaining-reach-method[open] > summary::before {
  content: "\2212";
}

.bargaining-reach-method > div {
  display: grid;
  gap: 10px;
  padding: 4px 0 12px 20px;
}

.bargaining-reach-method a {
  color: var(--burgundy);
  font-weight: 700;
  text-underline-offset: 2px;
}

@media (max-width: 680px) {
  .bargaining-reach-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

.labor-exposure-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  min-width: 0;
}

.labor-exposure-ranking {
  border-right: 1px solid var(--line);
  min-width: 0;
  padding: clamp(20px, 2.6vw, 34px);
}

.labor-exposure-ranking > header {
  display: grid;
  gap: 4px;
  margin-bottom: 16px;
}

.labor-exposure-ranking > header strong {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.45vw, 1.35rem);
  letter-spacing: 0;
}

.labor-exposure-ranking > header span {
  color: var(--muted);
  font-size: var(--fs-caption);
}

.labor-exposure-ranking > div {
  display: grid;
  gap: 2px;
}

.labor-exposure-ranking button {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 0;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 22px minmax(130px, 0.75fr) minmax(90px, 1fr) minmax(82px, auto);
  min-height: 58px;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

.labor-exposure-ranking button:hover,
.labor-exposure-ranking button:focus-visible,
.labor-exposure-ranking button[aria-pressed="true"] {
  background: color-mix(in srgb, var(--orange) 7%, transparent);
  outline: none;
}

.labor-exposure-rank {
  color: var(--muted);
  font: 700 var(--fs-micro)/1 var(--font-ui);
  text-align: center;
}

.labor-exposure-name {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.labor-exposure-name strong {
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  overflow-wrap: anywhere;
}

.labor-exposure-name small,
.labor-exposure-ranking button > b small {
  color: var(--muted);
  display: block;
  font-size: var(--fs-micro);
  font-weight: 600;
}

.labor-exposure-ranking button > i {
  background: var(--line);
  border-radius: 999px;
  display: block;
  height: 8px;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.labor-exposure-ranking button > i em {
  background: var(--orange);
  border-radius: inherit;
  display: block;
  height: 100%;
  width: var(--labor-exposure-width);
}

.labor-exposure-ranking button > b {
  font: 800 var(--fs-label)/1 var(--font-display);
  text-align: right;
}

.labor-exposure-focus {
  align-content: start;
  display: grid;
  gap: 10px;
  padding: clamp(22px, 3vw, 38px);
}

.labor-exposure-focus > span {
  color: var(--orange);
  font: 850 var(--fs-micro)/1 var(--font-ui);
  text-transform: uppercase;
}

.labor-exposure-focus h4 {
  font-size: clamp(1.35rem, 1.9vw, 1.8rem);
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  overflow-wrap: break-word;
}

.labor-exposure-focus > p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.4;
  margin: 0 0 5px;
}

.labor-exposure-focus dl {
  border-top: 1px solid var(--line);
  display: grid;
  margin: 0;
}

.labor-exposure-focus dl > div {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 11px 0;
}

.labor-exposure-focus dt {
  color: var(--muted);
  font: 800 var(--fs-micro)/1 var(--font-ui);
  text-transform: uppercase;
}

.labor-exposure-focus dd {
  font: 750 var(--fs-body)/1.15 var(--font-display);
  margin: 0;
}

.labor-exposure-focus dd small {
  color: var(--muted);
  display: block;
  font: 500 var(--fs-micro)/1.35 var(--font-body);
  margin-top: 3px;
}

.labor-transformation-view .occupation-ai-complementarity-explorer,
.labor-transformation-view .occupation-ai-role-explorer,
.labor-transformation-view .headline-adaptability-visual,
.labor-transformation-view .occupation-wage-explorer,
.labor-transformation-view .occupation-transition-pathways {
  border: 0;
  margin: 0;
}

.labor-transformation-view .occupation-ai-role-explorer {
  box-sizing: border-box;
  gap: clamp(14px, 2vw, 22px);
  min-width: 0;
  padding: clamp(20px, 2.5vw, 30px) clamp(18px, 2.5vw, 30px) 0;
}

.labor-transformation-view .occupation-wage-explorer,
.labor-transformation-view .occupation-wage-levels,
.labor-transformation-view .occupation-transition-pathways {
  min-width: 0;
  padding: 24px 30px;
  container: occupation-detail / inline-size;
}

.labor-transformation-view .occupation-wage-picker {
  display: none;
}

.labor-transformation-view .occupation-wage-explorer > .occupation-ai-section-heading {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
  border: 0;
  padding: 0;
}

.labor-transformation-view .occupation-wage-explorer > .occupation-ai-section-heading p {
  max-width: 70ch;
  text-align: left;
}

@container occupation-detail (max-width: 760px) {
  .occupation-transition-map,
  .occupation-transition-reading,
  .occupation-transition-pathways > figcaption,
  .occupation-wage-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .occupation-transition-pathways > figcaption {
    align-items: start;
    flex-direction: column;
  }

  .occupation-transition-reading small {
    text-align: left;
  }

  .occupation-transition-routes li {
    grid-template-columns: 20px minmax(0, 1fr);
  }
}

@container occupation-detail (max-width: 500px) {
  .occupation-wage-chart text,
  .occupation-wage-chart .axis-title {
    font-size: 26px;
  }

  .occupation-wage-point text {
    display: none;
  }
}

@media (max-width: 600px) {
  .labor-transformation-view .occupation-wage-explorer,
  .labor-transformation-view .occupation-wage-levels,
  .labor-transformation-view .occupation-transition-pathways {
    padding: 20px 18px;
  }
}

.labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading {
  align-items: start;
  display: grid;
  gap: clamp(18px, 3vw, 48px);
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.72fr);
  padding-top: 0;
}

.labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading > div,
.labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading > p {
  min-width: 0;
}

.labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading strong {
  display: block;
  max-width: 22ch;
}

.labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading p {
  justify-self: end;
  max-width: 47ch;
  overflow-wrap: anywhere;
  text-align: left;
}

.labor-transformation-view .occupation-ai-major-filters,
.labor-transformation-view .headline-adaptability-picker {
  display: none;
}

.labor-transformation-view .occupation-ai-complementarity-explorer {
  gap: clamp(14px, 2vw, 22px);
}

.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading,
.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-pressure-note,
.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-role-layout,
.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-role-legend,
.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-complementarity-source-note {
  margin-inline: clamp(18px, 2.5vw, 30px);
}

.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading {
  align-items: start;
  display: grid;
  gap: clamp(18px, 3vw, 48px);
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.72fr);
  padding-top: clamp(22px, 3vw, 38px);
}

.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading > div,
.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading > p {
  min-width: 0;
}

.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading strong {
  display: block;
  max-width: 22ch;
}

.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading p {
  justify-self: end;
  max-width: 47ch;
  text-align: left;
}

.labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-pressure-note {
  line-height: 1.5;
  max-width: 1050px;
  padding-left: 12px;
}

.occupation-ai-complementarity-explorer.is-all-occupations .occupation-ai-scatter .role-point:not(.selected) {
  opacity: 0.62;
  stroke-width: 0.7;
}

@media (max-width: 800px) {
  .labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading,
  .labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .labor-transformation-view .occupation-ai-role-explorer > .occupation-ai-section-heading p,
  .labor-transformation-view .occupation-ai-complementarity-explorer > .occupation-ai-section-heading p {
    justify-self: start;
  }
}

.labor-transformation-view .headline-adaptability-chart svg {
  max-height: 670px;
}

.occupation-anthropic-halo {
  fill: none;
  opacity: calc(0.22 + var(--observed-strength) * 0.58);
  pointer-events: none;
  stroke: #111;
  stroke-width: calc(1px + var(--observed-strength) * 5px);
}

.occupation-ai-role-legend .human-role-observed i {
  background: transparent;
  box-shadow: 0 0 0 3px rgb(17 17 17 / 35%);
}

.occupation-anthropic-reading {
  border-left: 3px solid var(--orange);
  padding-left: 10px;
}

@media (max-width: 900px) {
  .labor-exposure-overview {
    grid-template-columns: 1fr;
  }

  .labor-exposure-ranking {
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }
}

@media (max-width: 600px) {
  .labor-transformation-views {
    grid-auto-columns: auto;
    grid-auto-flow: row;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 92px;
    overflow-x: visible;
    padding-inline: 10px;
  }

  .labor-transformation-views > button {
    line-height: 1.15;
    padding: 5px 7px 0;
    white-space: normal;
  }

  .labor-exposure-ranking,
  .labor-exposure-focus {
    padding: 18px;
  }

  .labor-exposure-ranking button {
    gap: 8px;
    grid-template-columns: 18px minmax(110px, 1fr) 70px;
  }

  .labor-exposure-ranking button > i {
    display: none;
  }
}

/* Purpose-built visual workspaces for the remaining preparedness cells */
.headline-story-workspace {
  border: 1px solid var(--line-strong);
  min-width: 0;
}

.headline-story-workspace > header {
  align-items: end;
  display: flex;
  justify-content: space-between;
  padding: clamp(22px, 3vw, 38px) clamp(18px, 2.6vw, 34px) 18px;
}

.headline-story-workspace > header > div {
  display: grid;
  gap: 6px;
}

.headline-story-workspace > header span,
.headline-story-panel article > span,
.headline-channel-bars header span,
.headline-transition-path article span,
.headline-tax-rate-pair span,
.headline-trade-map header span,
.headline-value-pathway article > span {
  color: var(--muted);
  font: 800 var(--fs-micro)/1.15 var(--font-ui);
  text-transform: uppercase;
}

.headline-story-workspace > header strong {
  font: 750 clamp(1.25rem, 2.1vw, 2rem)/1.04 var(--font-display);
  letter-spacing: 0;
}

.headline-story-panel {
  min-width: 0;
}

/* A chapter whose inputs are missing explains itself instead of rendering blank. */
.headline-story-unavailable {
  border-left: 2px solid var(--line-strong);
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.5;
  margin: 0;
  max-width: 68ch;
  padding-left: 12px;
}

.headline-story-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.headline-story-metric-grid.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.headline-story-metric {
  align-content: start;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: grid;
  gap: 9px;
  min-height: 205px;
  padding: clamp(22px, 3vw, 38px);
}

.headline-story-metric:last-child {
  border-right: 0;
}

.headline-story-metric > strong {
  font: 750 clamp(1.25rem, 2.2vw, 2rem)/1.05 var(--font-display);
  hyphens: none;
  letter-spacing: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.headline-story-capacity .headline-story-metric > strong,
.headline-story-capacity .headline-transition-path article strong,
.headline-story-capacity .headline-tax-rate-pair strong {
  color: var(--blue);
}

.headline-story-metric > p,
.headline-transition-path article p,
.headline-fiscal-position figcaption p,
.headline-concentration-dial p {
  color: var(--muted);
  font-size: var(--fs-caption);
  line-height: 1.42;
  margin: 0;
}

.headline-story-metric > a,
.headline-story-sources a {
  color: inherit;
  font: 700 var(--fs-micro)/1.2 var(--font-ui);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.headline-story-track {
  background: var(--line);
  display: block;
  height: 5px;
  margin-top: auto;
  position: relative;
}

.headline-story-track em {
  background: var(--orange);
  height: 15px;
  left: var(--story-position);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 7px;
}

.headline-story-capacity .headline-story-track em {
  background: var(--blue);
}

.headline-story-track .is-median {
  background: var(--muted);
  height: 11px;
  width: 2px;
}

.headline-story-track-key {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font: 650 var(--fs-micro)/1.2 var(--font-ui);
  gap: 7px 14px;
  margin-top: 7px;
}

.headline-story-track-key span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.headline-story-track-key span::before {
  background: var(--orange);
  content: "";
  display: inline-block;
  height: 11px;
  width: 6px;
}

.headline-story-capacity .headline-story-track-key .is-country::before {
  background: var(--blue);
}

.headline-story-track-key .is-median::before {
  background: var(--muted);
  height: 10px;
  width: 2px;
}

.headline-story-sources {
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.5;
  padding: 12px clamp(20px, 3vw, 38px) 15px;
}

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

.headline-transition-path article {
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: grid;
  min-height: 210px;
  padding: clamp(22px, 3vw, 38px);
  position: relative;
}

.headline-transition-path article:last-child {
  border-right: 0;
}

.headline-support-layout {
  display: grid;
  gap: clamp(14px, 2vw, 22px);
  grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr);
  padding: 0 clamp(14px, 2vw, 24px) clamp(18px, 2.4vw, 30px);
}

.headline-protection-card,
.headline-support-delivery {
  border: 1px solid var(--line);
  min-width: 0;
}

.headline-support-delivery > span {
  color: var(--muted);
  font: 800 var(--fs-micro)/1.15 var(--font-ui);
  text-transform: uppercase;
}

.headline-support-delivery > strong {
  color: var(--blue);
  font: 750 clamp(1.15rem, 1.7vw, 1.55rem)/1.08 var(--font-display);
  overflow-wrap: break-word;
}

.headline-support-delivery > p,
.headline-protection-method > p {
  color: var(--muted);
  font: 500 var(--fs-caption)/1.42 var(--font-ui);
  margin: 0;
}

.headline-support-delivery.is-unavailable > strong {
  color: var(--muted);
  font: 650 var(--fs-label)/1.3 var(--font-ui);
}

.headline-protection-card .headline-story-metric {
  border-right: 0;
}

.headline-protection-method {
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--font-ui);
  padding: 0 clamp(18px, 2.2vw, 28px);
}

.headline-protection-method > summary {
  color: var(--ink);
  cursor: pointer;
  font: 800 var(--fs-caption)/1.2 var(--font-ui);
  list-style: none;
  padding: 15px 0;
}

.headline-protection-method > summary::-webkit-details-marker {
  display: none;
}

.headline-protection-method > summary::before {
  color: var(--blue);
  content: "+";
  display: inline-block;
  margin-right: 10px;
  width: 10px;
}

.headline-protection-method[open] > summary::before {
  content: "−";
}

.headline-protection-method > p {
  max-width: 78ch;
  padding-bottom: 12px;
}

.headline-protection-method .headline-story-sources {
  border: 0;
  padding: 0 0 16px;
}

.headline-support-delivery {
  align-content: start;
  display: grid;
  gap: 12px;
  padding: clamp(18px, 2.2vw, 28px);
}

.headline-support-delivery .headline-story-sources {
  border: 0;
  padding: 8px 0 0;
}

.headline-transition-path article > b,
.headline-value-pathway article > b {
  align-items: center;
  border: 1px solid var(--blue);
  color: var(--blue);
  display: flex;
  font: 800 var(--fs-micro)/1 var(--font-ui);
  height: 24px;
  justify-content: center;
  width: 24px;
}

.headline-transition-path article > div {
  align-content: start;
  display: grid;
  gap: 10px;
  min-width: 0;
}

.headline-transition-path article strong {
  font: 750 clamp(1.05rem, 1.8vw, 1.6rem)/1.08 var(--font-display);
  hyphens: none;
  letter-spacing: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

/* Missing values report the gap without competing with real figures. */
.headline-transition-path article.is-unavailable strong,
.headline-story-metric.is-unavailable > strong {
  color: var(--muted);
  font: 650 var(--fs-label)/1.3 var(--font-ui);
}

.headline-channel-bars,
.headline-trade-map {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 14px;
  padding: clamp(22px, 3vw, 38px);
}

.headline-channel-bars header,
.headline-trade-map header {
  display: grid;
  gap: 5px;
}

.headline-channel-bars header strong,
.headline-trade-map header strong {
  font: 750 clamp(1.05rem, 1.5vw, 1.35rem)/1.1 var(--font-display);
}

.headline-channel-bars > div {
  align-items: center;
  display: grid;
  gap: 13px;
  grid-template-columns: minmax(140px, 0.32fr) minmax(120px, 1fr) 70px;
  padding: 8px 10px;
}

.headline-channel-bars > div > span {
  font: 700 var(--fs-caption)/1.2 var(--font-ui);
}

.headline-channel-bars > div > i {
  background: var(--line);
  border-radius: 999px;
  display: block;
  height: 12px;
  overflow: hidden;
}

.headline-channel-bars > div > i em {
  background: var(--orange);
  border-radius: inherit;
  display: block;
  height: 100%;
  width: var(--channel-width);
}

.headline-channel-bars > div > b {
  font: 750 var(--fs-label)/1 var(--font-display);
  text-align: right;
}

.headline-tax-rate-pair {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 22px clamp(22px, 3vw, 38px) 28px;
}

.headline-tax-rate-pair article {
  display: grid;
  gap: 8px;
}

.headline-tax-rate-pair article:last-child {
  text-align: right;
}

.headline-tax-rate-pair strong {
  font: 750 clamp(1.5rem, 2.8vw, 2.6rem)/1 var(--font-display);
}

.headline-tax-rate-pair article span {
  align-items: center;
  display: flex;
  gap: 7px;
}

.headline-tax-rate-pair article span > i,
.headline-tax-rate-plot > i {
  border-radius: 50%;
  display: block;
  flex: 0 0 auto;
  height: 9px;
  width: 9px;
}

.headline-tax-rate-pair .is-labor {
  background: var(--orange);
}

.headline-tax-rate-pair .is-capital {
  background: var(--blue);
}

.headline-tax-rate-plot {
  grid-column: 1 / -1;
  height: 34px;
  margin-top: 4px;
  position: relative;
}

.headline-tax-rate-plot > span,
.headline-tax-rate-plot > b {
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 10px;
}

.headline-tax-rate-plot > span {
  background: var(--line);
  width: 100%;
}

.headline-tax-rate-plot > b {
  background: var(--line-strong);
  left: var(--tax-start);
  width: var(--tax-gap);
}

.headline-tax-rate-plot > i {
  height: 14px;
  position: absolute;
  top: 4px;
  transform: translateX(-50%);
  width: 14px;
}

.headline-tax-rate-plot > i.is-labor {
  left: var(--tax-labor);
}

.headline-tax-rate-plot > i.is-capital {
  left: var(--tax-capital);
}

.headline-tax-rate-plot > small {
  bottom: 0;
  color: var(--muted);
  font-size: var(--fs-micro);
  position: absolute;
}

.headline-tax-rate-plot > small:last-child {
  right: 0;
}

.headline-fiscal-position {
  margin: 0;
}

.headline-fiscal-position figcaption {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: clamp(22px, 3vw, 38px);
}

.headline-fiscal-position figcaption > div {
  display: grid;
  gap: 6px;
}

.headline-fiscal-position figcaption span {
  color: var(--muted);
  font: 800 var(--fs-micro)/1 var(--font-ui);
  text-transform: uppercase;
}

.headline-fiscal-position figcaption strong {
  font: 750 clamp(1rem, 1.7vw, 1.5rem)/1.1 var(--font-display);
}

.headline-fiscal-compare-control {
  display: grid;
  gap: 6px;
  min-width: min(220px, 38%);
}

.headline-fiscal-compare-control span {
  color: var(--muted);
  font: 700 var(--fs-micro)/1 var(--font-ui);
}

.headline-fiscal-compare-control select {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font: 650 var(--fs-label)/1.2 var(--font-ui);
  min-height: 38px;
  padding: 8px 30px 8px 10px;
}

.headline-fiscal-position svg {
  display: block;
  height: auto;
  width: 100%;
}

.headline-fiscal-position svg circle {
  fill: color-mix(in srgb, var(--blue) 32%, var(--surface));
  stroke: var(--blue);
  stroke-width: 1;
  transition: fill 140ms ease, r 140ms ease, stroke 140ms ease;
}

.headline-fiscal-position svg [data-fiscal-position-point] {
  cursor: pointer;
  outline: none;
}

.headline-fiscal-position svg [data-fiscal-position-point]:hover circle,
.headline-fiscal-position svg [data-fiscal-position-point]:focus circle,
.headline-fiscal-position svg .is-compared circle {
  fill: var(--orange);
  r: 7px;
  stroke: var(--burgundy);
  stroke-width: 2;
}

.headline-fiscal-position svg .is-selected circle {
  fill: var(--blue);
  stroke: var(--ink);
  stroke-width: 2;
}

.headline-fiscal-position svg text {
  fill: var(--muted);
  font: 700 15px var(--font-ui);
}

.headline-fiscal-position svg .is-selected text {
  fill: var(--ink);
  font-weight: 800;
}

.headline-fiscal-compare-readout {
  align-items: baseline;
  background: color-mix(in srgb, var(--orange) 7%, var(--surface));
  border-left: 3px solid var(--orange);
  display: grid;
  gap: 3px 12px;
  grid-template-columns: auto auto minmax(0, 1fr);
  margin: 8px clamp(22px, 3vw, 38px) 0;
  padding: 10px 12px;
}

.headline-fiscal-compare-readout[hidden] {
  display: none;
}

.headline-fiscal-compare-readout strong,
.headline-fiscal-compare-readout span,
.headline-fiscal-compare-readout small {
  font-family: var(--font-ui);
  line-height: 1.3;
}

.headline-fiscal-compare-readout strong {
  color: var(--orange);
  font-size: var(--fs-label);
}

.headline-fiscal-compare-readout span {
  color: var(--ink);
  font-size: var(--fs-caption);
  font-weight: 700;
}

.headline-fiscal-compare-readout small {
  color: var(--muted);
  font-size: var(--fs-micro);
}

.fiscal-position-zero {
  stroke: var(--line-strong);
  stroke-dasharray: 5 6;
}

.headline-trade-split {
  display: flex;
  min-height: 68px;
  overflow: hidden;
  border-radius: 999px;
}

.headline-trade-split > span {
  align-content: center;
  background: color-mix(in srgb, var(--orange) 16%, var(--surface));
  display: grid;
  flex: 0 0 var(--trade-share);
  gap: 3px;
  min-width: 64px;
  padding: 12px 18px;
}

.headline-trade-split > span + span {
  background: color-mix(in srgb, var(--blue) 15%, var(--surface));
}

.headline-trade-split b {
  font: 750 clamp(1.15rem, 2vw, 1.65rem)/1 var(--font-display);
}

.headline-trade-split small {
  font: 750 var(--fs-micro)/1 var(--font-ui);
}

.headline-export-profile {
  margin: 0;
  padding: 16px 0;
}

.headline-export-profile figcaption {
  font-size: 16px;
  margin-bottom: 12px;
}

.headline-export-profile-bar {
  display: flex;
  height: 36px;
  overflow: hidden;
  border-radius: 4px;
}

.headline-export-profile .is-goods { --segment-color: var(--orange); }
.headline-export-profile .is-digital { --segment-color: var(--blue); }
.headline-export-profile .is-other_services { --segment-color: #29734e; }
.headline-export-profile-bar > span {
  flex: 0 0 var(--trade-share);
  background: var(--segment-color);
}

.headline-export-profile dl {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  margin: 16px 0 0;
}

.headline-export-profile dl > div {
  border-left: 4px solid var(--segment-color);
  padding-left: 12px;
}

.headline-export-profile dt { font-size: 16px; }
.headline-export-profile dd { margin: 4px 0 0; font-size: 24px; font-weight: 750; }

.headline-concentration-pair,
.headline-chip-supply {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.headline-concentration-dial {
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding: clamp(24px, 3.5vw, 46px);
}

.headline-concentration-dial:last-child {
  border-right: 0;
}

.headline-concentration-dial > div {
  background: var(--line);
  height: 12px;
  margin-block: 12px 5px;
  position: relative;
}

.headline-concentration-dial > div i {
  background: var(--orange);
  display: block;
  height: 100%;
  width: var(--dial-value);
}

.headline-concentration-dial > div em {
  border-left: 1px solid var(--muted);
  height: 22px;
  left: 10%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.headline-concentration-dial > strong {
  font: 750 clamp(1.15rem, 2vw, 1.7rem)/1.05 var(--font-display);
}

.headline-concentration-dial > small {
  color: var(--muted);
  font: 700 var(--fs-micro)/1 var(--font-ui);
}

.headline-chip-supply > div {
  border-bottom: 1px solid var(--line);
}

.headline-chip-supply .headline-story-metric {
  border: 0;
  height: 100%;
}

.headline-value-pathway {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.headline-value-pathway article {
  align-content: start;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: grid;
  gap: 12px;
  min-height: 250px;
  padding: clamp(18px, 2.2vw, 28px);
}

.headline-value-pathway article:last-child {
  border-right: 0;
}

.headline-value-pathway article > strong {
  color: var(--blue);
  font: 750 clamp(0.85rem, 1.35vw, 1.2rem)/1.08 var(--font-display);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.headline-value-pathway .is-unavailable {
  opacity: 0.45;
}

@media (max-width: 1000px) {
  .headline-value-pathway {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .headline-value-pathway article:nth-child(3) {
    border-right: 0;
  }

  .headline-value-pathway article:nth-child(-n + 3) {
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 1100px) {
  .headline-support-layout {
    grid-template-columns: 1fr;
  }

  .headline-support-delivery {
    grid-template-columns: minmax(0, 0.65fr) minmax(0, 1fr);
  }

  .headline-support-delivery > p,
  .headline-support-delivery .headline-story-sources {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .headline-story-workspace > header {
    align-items: start;
  }

  .headline-transition-path,
  .headline-concentration-pair,
  .headline-chip-supply {
    grid-template-columns: 1fr;
  }

  .headline-transition-path article,
  .headline-concentration-dial {
    border-right: 0;
    min-height: 0;
  }

  .headline-fiscal-position figcaption {
    align-items: start;
    display: grid;
    grid-template-columns: 1fr;
  }

  .headline-fiscal-compare-control {
    min-width: 0;
    width: 100%;
  }

  .headline-fiscal-compare-readout {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .headline-story-metric {
    border-right: 0;
    min-height: 175px;
  }

  .headline-channel-bars > div {
    grid-template-columns: minmax(105px, 0.45fr) minmax(80px, 1fr) 54px;
  }

  .headline-value-pathway {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-value-pathway article:nth-child(3) {
    border-right: 1px solid var(--line);
  }

  .headline-value-pathway article:nth-child(even) {
    border-right: 0;
  }
}

@media (max-width: 480px) {
  .headline-tax-rate-pair {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .headline-tax-rate-pair article:last-child {
    text-align: left;
  }

  .headline-tax-rate-pair > i {
    display: none;
  }

  .headline-value-pathway {
    grid-template-columns: 1fr;
  }

  .headline-value-pathway article,
  .headline-value-pathway article:nth-child(3) {
    border-right: 0;
    min-height: 150px;
  }
}

/* Country overview and continuous domain stories. */
.country-overview-workspace {
  align-items: start;
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  grid-template-areas: "summary map";
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
}

/* The explore actions and their reveal now close the report, below the pillars. */
.country-overview-explore {
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  grid-template-areas:
    "actions"
    "reveal";
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.country-overview-workspace > #country-overview-summary {
  grid-area: summary;
}

.country-overview-workspace > .country-report-map-card {
  grid-area: map;
}

.country-overview-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-area: actions;
  margin-top: 2px;
}

.country-overview-actions button {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  cursor: pointer;
  display: flex;
  font: 700 var(--fs-label)/1.2 var(--font-ui);
  gap: 14px;
  justify-content: space-between;
  min-height: 54px;
  padding: 13px 16px;
  text-align: left;
}

.country-overview-actions button b {
  color: var(--orange);
  font: 500 1.2rem/1 var(--font-ui);
}

.country-overview-actions button:hover,
.country-overview-actions button:focus-visible,
.country-overview-actions button[aria-expanded="true"] {
  background: color-mix(in srgb, var(--orange) 6%, var(--surface));
  border-color: var(--orange);
  outline: 0;
}

.country-overview-reveal {
  display: grid;
  grid-template-rows: 1fr;
  grid-area: reveal;
  min-width: 0;
  transform-origin: top;
}

.country-overview-reveal.is-opening {
  animation: countryOverviewReveal 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.country-overview-reveal-inner {
  display: grid;
  gap: clamp(18px, 2.4vw, 32px);
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.country-overview-reveal-inner > .headline-country-comparison {
  margin-top: 0;
}

.country-overview-reveal.is-conditions .country-conditions {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

@keyframes countryOverviewReveal {
  from { grid-template-rows: 0fr; opacity: 0; transform: translateY(-8px); }
  to { grid-template-rows: 1fr; opacity: 1; transform: translateY(0); }
}

.country-profile-expanded {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2.5vw, 32px) 2px 0;
}

.country-profile-expanded h2 {
  color: var(--ink);
  font: 750 clamp(1.5rem, 2.7vw, 2.35rem)/1 var(--font-display);
  margin: 0;
}

.country-profile-expanded-copy {
  column-gap: clamp(24px, 3vw, 42px);
  columns: 2 320px;
}

.country-profile-expanded-copy p {
  break-inside: avoid;
  color: var(--ink);
  font-size: var(--fs-label);
  line-height: 1.58;
  margin: 0 0 13px;
}

.headline-overview-domains {
  display: grid;
  gap: 18px;
}

.headline-overview-domains > header {
  display: grid;
  gap: 7px;
  max-width: 800px;
}

.headline-overview-domains > header > span,
.headline-domain-story-intro > span,
.headline-domain-axis > header > span {
  color: var(--orange);
  font: 750 var(--fs-label)/1.2 var(--font-ui);
}

.headline-overview-domains > header h2,
.headline-domain-story-intro h2 {
  color: var(--ink);
  font: 750 clamp(1.7rem, 3.2vw, 2.8rem)/1.04 var(--font-display);
  letter-spacing: 0;
  margin: 0;
}

.headline-overview-domains > div {
  border-block: 1px solid var(--line-strong);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.headline-overview-domains button {
  align-content: start;
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 14px;
  min-height: 250px;
  padding: clamp(20px, 2.6vw, 34px);
  text-align: left;
}

.headline-overview-domains button + button {
  border-left: 1px solid var(--line);
}

.headline-overview-domains button:hover,
.headline-overview-domains button:focus-visible {
  background: color-mix(in srgb, var(--orange) 6%, transparent);
  outline: 2px solid var(--orange);
  outline-offset: -2px;
}

.headline-overview-domains button > span {
  color: var(--burgundy);
  font: 750 clamp(1.1rem, 1.8vw, 1.45rem)/1 var(--font-display);
}

.headline-overview-domains button > p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.48;
  margin: 0;
  min-height: 3.9em;
}

.headline-overview-domains dl {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: auto 0 0;
}

.headline-overview-domains dl > div {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding-top: 10px;
}

.headline-overview-domains dt {
  color: var(--muted);
  font-size: var(--fs-caption);
  font-weight: 700;
}

.headline-overview-domains dd {
  color: var(--burgundy);
  font: 700 1.85rem/1 var(--font-display);
  margin: 0;
}

.headline-overview-domains dl > div:last-child dd {
  color: var(--blue);
}

.headline-overview-domains button > small {
  color: var(--burgundy);
  font-size: var(--fs-label);
  font-weight: 700;
}

.headline-dashboard-domain {
  display: grid;
  gap: clamp(24px, 3vw, 42px);
}

.headline-domain-story-intro {
  align-items: end;
  border-bottom: 1px solid var(--line-strong);
  display: grid;
  gap: clamp(24px, 4vw, 54px);
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  max-width: none;
  padding: clamp(12px, 2vw, 26px) 0 clamp(24px, 3vw, 38px);
}

.headline-domain-intro-copy {
  display: grid;
  gap: 9px;
  max-width: 760px;
}

.headline-domain-intro-copy > span {
  color: var(--orange);
  font: 750 var(--fs-label)/1.2 var(--font-ui);
}

.headline-domain-intro-copy h2 {
  color: var(--ink);
  font: 750 clamp(2rem, 4vw, 3.35rem)/1.02 var(--font-display);
  letter-spacing: 0;
  margin: 0;
}

.headline-domain-intro-copy > p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.5;
  margin: 0;
  max-width: 66ch;
}

.headline-domain-score-pair {
  border: 1px solid var(--line-strong);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.headline-domain-score-pair > div {
  align-content: center;
  display: grid;
  gap: 4px;
  min-height: 118px;
  padding: 16px 18px;
}

.headline-domain-score-pair > div + div {
  border-left: 1px solid var(--line);
}

.headline-domain-score-pair span {
  color: var(--burgundy);
  font-size: var(--fs-caption);
  font-weight: 750;
}

.headline-domain-score-pair strong {
  color: var(--burgundy);
  font: 700 clamp(1.35rem, 2.1vw, 1.9rem)/1 var(--font-display);
}

.headline-score-audit {
  color: var(--muted);
  font-size: var(--fs-micro);
  line-height: 1.5;
  margin: 0;
  max-width: 72ch;
}

.headline-score-audit b {
  color: var(--ink);
}

.headline-domain-score-pair small {
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--fs-micro);
  line-height: 1.25;
}

/* An unrated axis reads as a known evidence gap, not a broken value. */
.headline-domain-score-pair > div.is-unrated strong {
  color: var(--muted);
  font: 650 var(--fs-body)/1.2 var(--font-ui);
}

.headline-domain-score-pair .is-capacity span,
.headline-domain-score-pair .is-capacity strong {
  color: var(--blue);
}

.headline-domain-story-sections {
  display: grid;
  gap: clamp(60px, 8vw, 108px);
}

.headline-domain-axis {
  display: grid;
  gap: 20px;
  scroll-margin-top: 80px;
}

.headline-domain-axis > header {
  align-items: center;
  border-block: 1px solid var(--line-strong);
  display: flex;
  gap: 10px;
  padding: 12px 2px;
}

.headline-domain-axis > header > strong {
  color: var(--burgundy);
  font: 700 var(--fs-body)/1.2 var(--font-display);
}

.headline-domain-axis.is-capacity > header > span,
.headline-domain-axis.is-capacity > header > strong {
  color: var(--blue);
}

.headline-dashboard-domain .headline-focus-workspace {
  border: 0;
  margin: 0;
  padding: 0;
}

.headline-story-workspace {
  border: 0;
}

.headline-story-sequence {
  display: grid;
  gap: clamp(20px, 3vw, 34px);
}

.headline-story-chapter {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  display: grid;
  overflow: hidden;
  scroll-margin-top: 80px;
}

.headline-story-chapter + .headline-story-chapter {
  margin-top: 0;
}

.headline-story-chapter > header {
  align-items: start;
  border-bottom: 0;
  display: block;
  padding: clamp(20px, 2.6vw, 32px);
}

.headline-story-chapter > header > div {
  display: grid;
  gap: 8px;
}

.headline-story-chapter > header strong {
  color: var(--ink);
  font: 750 clamp(1.35rem, 2vw, 1.75rem)/1.1 var(--font-display);
}

.headline-story-chapter > header p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.48;
  margin: 0;
  max-width: 64ch;
}

.headline-focus-workspace.is-story-mode .labor-transformation-map,
.headline-focus-workspace.is-story-mode .headline-focus-overview > .headline-focus-range-plot {
  background: var(--surface);
  border: 1px solid var(--line-strong);
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer {
  border: 0;
  margin: 14px clamp(18px, 2.6vw, 34px) 0;
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer > summary {
  align-items: center;
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  display: inline-flex;
  padding: 10px 12px;
  width: fit-content;
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer > summary span {
  font-size: var(--fs-caption);
  text-transform: none;
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer[open] > summary {
  background: color-mix(in srgb, var(--orange) 6%, var(--surface));
  border-color: var(--orange);
}

.headline-focus-workspace.is-story-mode.headline-focus-capacity .headline-focus-explorer[open] > summary {
  background: color-mix(in srgb, var(--blue) 5%, var(--surface));
  border-color: var(--blue);
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer-body {
  margin-inline: calc(clamp(18px, 2.6vw, 34px) * -1);
  margin-top: 12px;
}

.headline-story-workspace > header span,
.headline-story-panel article > span,
.headline-channel-bars header span,
.headline-transition-path article span,
.headline-tax-rate-pair span,
.headline-trade-map header span,
.headline-value-pathway article > span,
.headline-fiscal-position figcaption span,
.country-context-signals span {
  font-size: var(--fs-label);
  line-height: 1.25;
  text-transform: none;
}

.labor-transformation-map > figcaption span {
  font-size: var(--fs-caption);
  line-height: 1.25;
  text-transform: none;
}

.headline-focus-workspace.is-story-mode .labor-transformation-map > figcaption {
  padding-right: 64px;
  position: relative;
}

.headline-focus-workspace.is-story-mode .labor-transformation-map > figcaption > .headline-metric-help {
  position: absolute;
  right: 20px;
  top: 20px;
}

.headline-story-metric > p,
.headline-transition-path article p,
.headline-fiscal-position figcaption p,
.headline-concentration-dial p,
.country-context-signals p {
  font-size: var(--fs-label);
  line-height: 1.48;
}

.headline-story-metric > a,
.headline-story-sources,
.headline-story-sources a {
  font-size: var(--fs-caption);
  line-height: 1.35;
}

.country-workspace-nav nav button,
.country-workspace-actions a,
.country-workspace-identity button {
  font-size: var(--fs-label);
}

@media (max-width: 900px) {
  .headline-overview-domains > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .headline-overview-domains button:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line);
    grid-column: 1 / -1;
    min-height: 220px;
  }

  .headline-domain-story-intro {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-domain-score-pair {
    max-width: none;
  }
}

@media (max-width: 620px) {
  .country-overview-actions,
  .headline-overview-domains > div {
    grid-template-columns: 1fr;
  }

  .headline-overview-domains button + button {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .headline-overview-domains button:nth-child(3) {
    grid-column: auto;
  }

  .headline-overview-domains button {
    min-height: 210px;
  }

  .headline-story-chapter > header {
    grid-template-columns: 26px minmax(0, 1fr);
  }

  .headline-domain-story-intro {
    gap: 22px;
    padding-top: 4px;
  }

  .headline-domain-intro-copy h2 {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
  }

  .headline-domain-score-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
  }

  .headline-domain-score-pair > div {
    min-height: 92px;
    padding: 13px 14px;
  }

  .headline-domain-axis > header > strong {
    font-size: var(--fs-label);
  }
}

/* Quiet scrollytelling: cards provide the hierarchy without extra divider rows. */
.headline-domain-story-sections {
  gap: clamp(34px, 5vw, 58px);
}

.headline-domain-axis {
  container-name: headline-axis;
  container-type: inline-size;
  gap: 0;
  min-width: 0;
}

.headline-story-sequence {
  align-items: start;
}

.headline-domain-axis.is-exposure .headline-story-chapter,
.headline-focus-workspace.is-story-mode.headline-focus-exposure .labor-transformation-map {
  border-top: 3px solid var(--orange);
}

.headline-domain-axis.is-capacity .headline-story-chapter {
  border-top: 3px solid var(--blue);
}

.headline-story-chapter {
  container-name: headline-chapter;
  container-type: inline-size;
  min-width: 0;
}

@container headline-axis (min-width: 1400px) {
  .headline-story-sequence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container headline-chapter (max-width: 700px) {
  .headline-story-metric-grid,
  .headline-transition-path {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-transition-path article {
    border-right: 0;
    min-height: 0;
  }

  .headline-transition-path article + article {
    border-top: 1px solid var(--line);
  }
}

.headline-story-chapter > header {
  border-bottom: 0;
  display: block;
  padding-bottom: 12px;
}

.headline-story-chapter > header > div {
  max-width: 78ch;
}

.headline-story-chapter .headline-story-metric,
.headline-story-chapter .headline-transition-path article,
.headline-story-chapter .headline-channel-bars,
.headline-story-chapter .headline-trade-map,
.headline-story-chapter .headline-tax-rate-pair,
.headline-story-chapter .headline-value-pathway article,
.headline-story-chapter .headline-chip-supply > div {
  border: 0;
}

.headline-story-chapter .headline-story-metric-grid,
.headline-story-chapter .headline-transition-path,
.headline-story-chapter .headline-value-pathway {
  gap: 12px;
}

.headline-story-chapter .headline-story-metric {
  min-height: 180px;
  padding-top: 14px;
}

.headline-story-chapter .headline-story-metric > span {
  font-size: var(--fs-label);
  line-height: 1.28;
}

.headline-story-chapter .headline-story-metric > strong {
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  line-height: 1.08;
}

.headline-story-chapter .headline-story-metric > p {
  max-width: 42ch;
}

.headline-story-chapter .headline-channel-bars,
.headline-story-chapter .headline-trade-map {
  padding-top: 12px;
}

.headline-story-chapter .headline-tax-rate-pair {
  padding-block: 4px;
}

.headline-story-chapter .headline-story-sources {
  display: none;
}

.headline-story-chapter .headline-story-metric > a,
.headline-story-chapter .headline-fiscal-position > footer,
.headline-story-chapter .fiscal-shock-absorber > footer {
  display: none;
}

.headline-focus-workspace.is-story-mode .labor-transformation-map > figcaption {
  padding: 24px 64px 20px 24px;
}

.headline-focus-workspace.is-story-mode .labor-transformation-views {
  background: color-mix(in srgb, var(--pink-light) 46%, transparent);
  border-block: 0;
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-top: 0;
  margin: -1px 0 0;
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer > summary {
  border: 0;
  border-top: 1px solid var(--line);
  font-weight: 800;
  justify-content: flex-start;
  padding: 15px clamp(18px, 2.6vw, 34px);
  width: 100%;
}

.headline-focus-workspace.is-story-mode .headline-focus-explorer-body {
  border-top: 1px solid var(--line);
  margin: 0;
}

/* Selected countries become a single continuous report. */
body[data-country-mode="true"] .app-shell {
  display: block;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}

body[data-country-mode="true"] > .app-shell > .map-stage {
  display: none;
}

body[data-country-mode="true"] .inspector {
  border: 0;
  display: block;
  height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  width: 100%;
}

body[data-country-mode="true"] .profile-panel {
  margin: 0;
  padding: 0;
}

.country-workspace-nav {
  grid-column: 1 / -1;
  grid-row: 1;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 68px;
  padding-block: 10px;
}

.country-workspace {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  grid-template-rows: auto auto;
}

.country-report-sidebar {
  align-self: start;
  background: color-mix(in srgb, var(--paper) 94%, var(--surface));
  border-right: 1px solid var(--line);
  grid-column: 1;
  grid-row: 2;
  max-height: calc(100vh - 68px);
  overflow-y: auto;
  padding: 24px 18px 40px;
  position: sticky;
  top: 68px;
  z-index: 20;
}

.country-report-sidebar nav,
.country-report-nav-group,
.country-report-nav-group > div {
  display: grid;
}

.country-report-sidebar nav {
  gap: 8px;
}

.country-report-nav-group {
  gap: 3px;
  padding: 0 0 8px;
}

.country-report-nav-group button {
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font-family: var(--font-ui);
  text-align: left;
}

.country-report-nav-primary {
  color: var(--ink);
  font-size: 16px;
  font-weight: 850;
  padding: 10px 9px;
}

.country-report-nav-primary:hover,
.country-report-nav-primary:focus-visible,
.country-report-nav-primary[aria-current="page"] {
  background: color-mix(in srgb, var(--orange) 7%, transparent);
  color: var(--ink);
  outline: 0;
}

.country-report-nav-group > div {
  gap: 1px;
  padding-left: 10px;
}

.country-report-nav-group > div button {
  border-left: 2px solid transparent;
  font-size: 13px;
  line-height: 1.25;
  padding: 7px 9px;
}

.country-report-nav-group > div button:hover,
.country-report-nav-group > div button:focus-visible,
.country-report-nav-group > div button[aria-current="location"] {
  border-left-color: var(--orange);
  color: var(--burgundy);
  outline: 0;
}

.country-report-brand {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
}

.country-report-brand img {
  display: block;
  height: 32px;
  width: auto;
}

.country-workspace-identity {
  gap: 10px;
}

.country-workspace-identity .back-to-map-button {
  align-items: center;
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--burgundy);
  display: inline-flex !important;
  gap: 5px;
  min-height: 36px;
  padding: 8px 10px;
}

.country-workspace-actions .country-methods-link {
  height: auto;
  padding: 10px 16px;
  width: auto;
}

.country-workspace-view.country-report {
  display: grid;
  gap: clamp(40px, 5vw, 70px);
  grid-column: 2;
  grid-row: 2;
  margin-inline: 0;
  max-width: none;
  padding: clamp(28px, 3.5vw, 54px);
}

.country-report-section {
  scroll-margin-top: 84px;
}

[data-country-report-subsection] {
  scroll-margin-top: 92px;
}

.country-context-summary > header {
  max-width: 900px;
}

.country-context-summary h1 {
  color: var(--ink);
  font: 750 clamp(2.7rem, 6vw, 5.7rem)/0.92 var(--font-display);
  margin: 0;
  max-width: none;
}

.country-context-thesis {
  font-size: clamp(1rem, 1.45vw, 1.28rem);
  max-width: 68ch;
}

.country-report-map-card {
  align-self: start;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  box-shadow: 0 18px 48px rgb(83 21 2 / 10%);
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.country-report-map-slot {
  height: clamp(240px, 28vw, 360px);
  min-height: 0;
}

.country-report-map-slot .map {
  border: 0;
  box-shadow: none;
  height: 100%;
  max-height: none;
  min-height: 0;
  width: 100%;
}

.country-report-map-card > figcaption {
  border-top: 1px solid var(--line);
  padding: 12px 14px;
}

.country-report-map-card .legend {
  font-size: var(--fs-caption);
  justify-content: flex-start;
}

.country-report-section > .headline-dashboard {
  border: 0;
  box-shadow: none;
  padding: clamp(22px, 3.4vw, 46px);
}

.country-report-section .headline-domain-story-intro {
  padding-top: 0;
}

.country-report-section .headline-domain-intro-copy h2 {
  max-width: 820px;
}

@media (max-width: 1180px) {
  .country-workspace-nav {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .country-workspace-nav nav {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .country-overview-workspace {
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  }
}

@media (max-width: 980px) {
  .country-workspace {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }

  .country-report-sidebar {
    border-bottom: 1px solid var(--line);
    border-right: 0;
    grid-column: 1;
    grid-row: 2;
    max-height: none;
    overflow-x: hidden;
    overflow-y: hidden;
    padding: 0 14px;
    top: 68px;
    /* Fade the trailing edge so off-screen sections stay discoverable. */
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%);
  }

  .country-report-sidebar::-webkit-scrollbar {
    display: none;
  }

  .country-report-sidebar nav {
    display: flex;
    flex: 1;
    gap: 4px;
    min-width: 0;
    overflow-x: auto;
    padding-right: 26px;
    scrollbar-width: none;
  }

  .country-report-nav-group {
    border: 0;
    flex: 0 0 auto;
    padding: 0;
  }

  .country-report-nav-group > div {
    display: none;
  }

  .country-report-nav-primary {
    border-bottom: 2px solid transparent !important;
    padding: 13px 14px 11px;
  }

  .country-report-nav-primary[aria-current="page"] {
    background: transparent;
    border-bottom-color: var(--orange) !important;
  }

  .country-workspace-view.country-report {
    grid-column: 1;
    grid-row: 3;
  }
}

@media (min-width: 821px) and (max-width: 1400px) {
  .country-report-map-slot {
    height: 280px;
  }
}

@media (max-width: 820px) {
  .country-overview-workspace {
    grid-template-areas:
      "summary"
      "map";
    grid-template-columns: minmax(0, 1fr);
  }

  .country-report-map-card {
    grid-row: auto;
  }

  .country-report-map-slot {
    height: clamp(220px, 48vw, 320px);
  }

  .country-context-signals {
    grid-template-columns: 1fr;
  }

  .country-context-signals article + article {
    border-left: 0;
    border-top: 0;
  }
}

@media (max-width: 620px) {
  .country-workspace-nav {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 8px 10px 0;
  }

  .country-workspace-identity {
    gap: 4px;
    justify-content: space-between;
    width: 100%;
  }

  .country-report-brand img {
    height: 28px;
  }

  .country-workspace-identity .back-to-map-button {
    font-size: var(--fs-micro);
    padding-inline: 7px;
  }

  .country-workspace-identity .back-to-map-button span {
    display: none;
  }

  .country-workspace-country-picker select {
    max-width: 175px;
  }

  .country-workspace-actions {
    gap: 4px;
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }

  .country-workspace-actions a,
  .country-workspace-actions .country-methods-link {
    display: inline-flex !important;
    font-size: 0.6rem !important;
    padding: 8px 6px !important;
  }

  .country-report-sidebar {
    position: sticky;
    top: 80px;
  }

  .country-report-section {
    scroll-margin-top: 150px;
  }

  .country-workspace-view.country-report {
    gap: 64px;
    padding: 24px 12px 42px;
  }

  .country-context-summary h1 {
    font-size: clamp(2.55rem, 15vw, 4rem);
  }

  .country-overview-workspace {
    gap: 18px;
  }

  .country-report-section > .headline-dashboard {
    padding: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .country-overview-reveal {
    animation: none;
  }
}

/* Continuous map-to-report flow. Country selection now reveals the report below the map. */
body[data-country-mode="true"],
body[data-country-mode="true"][data-inspector-open="true"] {
  overflow-x: clip;
  overflow-y: auto;
  overscroll-behavior: auto;
}

body[data-country-mode="true"] .app-shell,
body[data-country-mode="true"][data-inspector-open="true"] .app-shell {
  display: block;
  height: auto;
  min-height: 100svh;
  overflow: visible;
}

body[data-country-mode="true"] > .app-shell > .map-stage {
  display: grid;
  height: auto;
  min-height: 100svh;
  overflow: visible;
  padding: clamp(20px, 2.8vw, 44px);
}

body[data-country-mode="true"] .map-stage > .topbar,
body[data-country-mode="true"] .map-stage > .legend,
body[data-country-mode="true"] .map-stage > .map {
  display: flex;
}

body[data-country-mode="true"] .map-stage > .topbar {
  align-items: flex-start;
}

body[data-country-mode="true"] .map-stage > .map {
  display: block;
  height: auto;
  max-height: none;
  min-height: clamp(420px, 54svh, 680px);
}

body[data-country-mode="true"] .map-stage .brand-heading,
body[data-country-mode="true"] .map-stage .toolbar {
  display: flex;
}

body[data-country-mode="true"] .map-stage .brand-heading {
  align-items: flex-start;
}

body[data-country-mode="true"] .map-stage .brand-heading::after,
body[data-country-mode="true"] .map-stage .dek,
body[data-country-mode="true"] .map-stage .toolbar > a,
body[data-country-mode="true"] .map-stage .search-label,
body[data-country-mode="true"] .map-stage h1 {
  display: revert;
}

body[data-country-mode="true"] .inspector {
  border: 0;
  display: block;
  height: auto;
  max-height: none;
  min-height: 0;
  overflow: visible;
  scroll-margin-top: 0;
  width: 100%;
}

body[data-country-mode="true"] .selected-panel {
  display: none;
}

body[data-country-mode="true"] .profile-panel {
  display: block;
  margin: 0;
  padding: 0;
}

.country-workspace {
  grid-template-rows: auto auto;
}

.country-workspace-nav {
  min-height: 62px;
  padding-block: 9px;
}

.country-report-sidebar {
  max-height: calc(100svh - 62px);
  padding-top: 18px;
  top: 62px;
}

@media (min-width: 981px) {
  .country-workspace.is-report-pinned {
    padding-top: var(--country-report-toolbar-height, 62px);
  }

  .country-workspace-nav.is-report-pinned {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
  }

  .country-report-sidebar.is-report-pinned {
    bottom: auto;
    height: calc(100svh - 62px);
    left: 0;
    max-height: none;
    position: fixed;
    top: 62px;
    width: 230px;
  }
}

.country-report-country-picker {
  background: color-mix(in srgb, var(--paper) 94%, var(--surface));
  border-bottom: 1px solid var(--line);
  display: grid;
  margin: 0 0 12px;
  padding: 2px 8px 14px;
  position: sticky;
  top: 0;
  z-index: 2;
}

.country-report-country-picker select {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  font: 750 1.35rem/1.08 var(--font-display);
  max-width: 100%;
  padding: 4px 22px 4px 0;
  width: 100%;
}

.country-report-country-picker.is-long-name select {
  font-size: 1.05rem;
}

.country-report-country-picker label {
  position: relative;
}

.country-report-country-picker label::after {
  content: "\2304";
  pointer-events: none;
  position: absolute;
  right: 2px;
  top: 1px;
}

.country-overview-workspace {
  grid-template-areas: "summary";
  grid-template-columns: minmax(0, 1fr);
}

.country-workspace-view.country-report {
  gap: clamp(28px, 3.5vw, 48px);
  padding-bottom: clamp(32px, 4vw, 56px);
}

.country-report-section > .headline-dashboard {
  padding-bottom: clamp(20px, 2.8vw, 34px);
}

.headline-domain-story-sections {
  gap: clamp(28px, 4vw, 48px);
}

[data-headline-story="labor_transition_capacity"] .headline-story-sequence {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

[data-headline-story="labor_transition_capacity"] .headline-story-chapter {
  grid-column: 1 / -1;
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="mobility"],
[data-headline-story="labor_transition_capacity"] [data-story-chapter="resilience"] {
  grid-column: span 6;
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path {
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  padding: 0 clamp(20px, 2.8vw, 38px) clamp(8px, 1.4vw, 16px);
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px clamp(18px, 3vw, 42px);
  grid-template-columns: minmax(150px, 0.55fr) minmax(190px, 0.65fr) minmax(260px, 1.4fr);
  min-height: 0;
  padding: clamp(18px, 2vw, 26px) 0;
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article:last-child {
  border-bottom: 0;
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article > span {
  color: var(--ink);
  font-size: var(--fs-label);
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article > strong {
  color: var(--blue);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article.is-unavailable > strong {
  color: var(--muted);
  font: 650 var(--fs-label)/1.3 var(--font-ui);
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article > p {
  max-width: 48ch;
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="voice"] .labor-worker-voice {
  gap: clamp(18px, 2.5vw, 30px);
}

[data-headline-story="labor_transition_capacity"] [data-story-chapter="voice"] .bargaining-reach-visual,
[data-headline-story="labor_transition_capacity"] [data-story-chapter="voice"] .labor-rights-summary {
  border-left: 0;
  border-right: 0;
}

.headline-focus-workspace.is-story-mode .headline-focus-overview > .headline-focus-explorer {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-top: 0;
  margin: -1px 0 0;
}

.headline-focus-workspace.is-story-mode .headline-focus-overview > .headline-focus-explorer > summary {
  border: 0;
  border-top: 1px solid var(--line);
  justify-content: flex-start;
  padding: 14px clamp(18px, 2.6vw, 30px);
  width: 100%;
}

.headline-focus-workspace.is-story-mode .headline-focus-overview > .headline-focus-explorer-body {
  border-top: 1px solid var(--line);
}

.bargaining-reach-visual {
  padding: clamp(16px, 2vw, 24px);
}

.bargaining-reach-visual > figcaption {
  max-width: 680px;
}

.bargaining-reach-visual > figcaption > strong {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
}

.bargaining-reach-fields {
  gap: 16px;
  margin-top: 18px;
}

.bargaining-reach-fields article {
  align-items: start;
  background: color-mix(in srgb, var(--blue) 5%, var(--surface));
  border: 0;
  gap: 8px 12px;
  grid-template-columns: minmax(0, 1fr);
  padding: 14px;
}

.bargaining-reach-fields article > header {
  grid-column: 1;
}

.bargaining-reach-fields article > header > strong {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.bargaining-reach-fields article > small {
  grid-column: 1 / -1;
}

.bargaining-reach-method {
  margin-top: 12px;
}

.fiscal-shock-absorber {
  padding: 20px clamp(18px, 2.6vw, 30px);
}

@media (max-width: 980px) {
  body[data-country-mode="true"] > .app-shell > .map-stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 100svh;
    padding: 18px;
  }

  body[data-country-mode="true"] .map-stage > .topbar {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-country-mode="true"] .map-stage > .topbar,
  body[data-country-mode="true"] .map-stage > .legend {
    display: flex;
  }

  body[data-country-mode="true"] .map-stage > .map {
    grid-column: 1;
    grid-row: 4;
    min-height: 52svh;
  }

  body[data-country-mode="true"] .map-stage > .legend {
    grid-column: 1;
    grid-row: 5;
  }

  .country-report-sidebar {
    max-height: none;
    padding: 0 14px;
    top: 62px;
  }

  .country-report-country-picker {
    align-items: center;
    border-bottom: 0;
    border-right: 1px solid var(--line);
    flex: 0 0 auto;
    margin: 0 8px 0 0;
    padding: 8px 16px 8px 0;
  }

  .country-report-country-picker select {
    font-size: var(--fs-body);
    max-width: 210px;
  }

  .country-report-sidebar {
    align-items: center;
    display: flex;
  }

  [data-headline-story="labor_transition_capacity"] .headline-story-sequence {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-headline-story="labor_transition_capacity"] [data-story-chapter="mobility"],
  [data-headline-story="labor_transition_capacity"] [data-story-chapter="resilience"] {
    grid-column: 1;
  }

  [data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article {
    grid-template-columns: minmax(140px, 0.65fr) minmax(180px, 0.75fr) minmax(220px, 1.25fr);
  }
}

@media (max-width: 620px) {
  body[data-country-mode="true"] > .app-shell > .map-stage {
    min-height: 100svh;
  }

  body[data-country-mode="true"] .map-stage > .topbar {
    display: block;
  }

  body[data-country-mode="true"] .map-stage > .legend {
    display: none;
  }

  .country-workspace-nav {
    min-height: 52px;
  }

  .country-report-sidebar {
    top: 52px;
  }

  .country-report-country-picker select {
    max-width: 145px;
  }

  .bargaining-reach-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Country-report interaction and density refinements. */
.country-condition-trends.is-budget-only {
  grid-template-columns: minmax(0, 1fr);
}

.country-condition-trends.is-budget-only > .headline-column-visual {
  min-height: clamp(300px, 36vw, 440px);
  padding: clamp(22px, 3vw, 38px);
}

.country-condition-trends.is-budget-only .headline-fiscal-columns {
  min-height: clamp(180px, 24vw, 300px);
}

.country-condition-gaps,
.country-condition-gaps > *,
.distribution-mirror,
.distribution-mirror-bars,
.distribution-mirror-row,
.distribution-mirror-stack {
  min-width: 0;
}

.distribution-mirror-stack > .distribution-mirror-segment {
  overflow: hidden;
  padding: 0;
}

.distribution-mirror-row > .distribution-mirror-stack {
  min-height: 28px;
}

@media (max-width: 720px) {
  .distribution-mirror-values,
  .distribution-mirror-top-one {
    grid-column: 1 / -1;
  }
}

.labor-transformation-map > figcaption > div:first-child {
  max-width: 760px;
}

.labor-transformation-map > figcaption > div:first-child > p {
  color: var(--muted);
  font-size: var(--fs-label);
  line-height: 1.45;
  margin: 2px 0 0;
  max-width: 62ch;
}

.headline-focus-workspace.is-story-mode .labor-transformation-map > figcaption strong {
  font-size: clamp(1.55rem, 2.5vw, 2.15rem);
}

.labor-exposure-ranking > header strong {
  font-size: clamp(1rem, 1.25vw, 1.2rem);
}

.labor-transformation-map > .headline-focus-explorer {
  background: var(--surface);
  border: 0;
  border-top: 1px solid var(--line);
  margin: 0;
}

.labor-transformation-map > .headline-focus-explorer > summary {
  border: 0;
  color: var(--burgundy);
  font-weight: 800;
  justify-content: flex-start;
  padding: 15px clamp(18px, 2.6vw, 34px);
  width: 100%;
}

.labor-transformation-map > .headline-focus-explorer > summary span {
  font-size: var(--fs-caption);
  text-transform: none;
}

.labor-transformation-map > .headline-focus-explorer[open] > summary {
  background: color-mix(in srgb, var(--orange) 6%, var(--surface));
}

.labor-transformation-map > .headline-focus-explorer > .headline-focus-explorer-body {
  border-top: 1px solid var(--line);
  margin: 0;
}

.bargaining-reach-visual {
  overflow: hidden;
}

.bargaining-reach-fields {
  gap: 12px;
}

.bargaining-reach-fields article {
  align-content: start;
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: 14px;
}

.bargaining-reach-fields article > header,
.bargaining-reach-fields article > small {
  grid-column: 1;
  grid-row: auto;
}

.bargaining-reach-fields article > header > strong {
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  overflow-wrap: anywhere;
}

.bargaining-reach-fields article > small {
  font-size: var(--fs-micro);
  line-height: 1.3;
}

@container worker-voice (max-width: 420px) {
  .bargaining-reach-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .country-condition-trends.is-budget-only > .headline-column-visual {
    min-height: 300px;
  }

  .distribution-mirror-stack {
    min-height: 48px;
  }

  [data-headline-story="labor_transition_capacity"] [data-story-chapter="support"] .headline-transition-path article {
    align-items: start;
    gap: 7px;
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Methodology belongs to the visualization it explains, as a quiet footer. */
.headline-focus-workspace.is-story-mode .headline-story-workspace > .headline-focus-explorer,
.headline-focus-workspace.is-story-mode .labor-exposure-workspace > .headline-focus-explorer {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  margin: 0;
}

.headline-focus-workspace.is-story-mode .headline-story-workspace > .headline-focus-explorer > summary,
.headline-focus-workspace.is-story-mode .labor-exposure-workspace > .headline-focus-explorer > summary {
  background: transparent;
  border: 0;
  color: var(--burgundy);
  font-weight: 800;
  justify-content: flex-start;
  min-height: 0;
  padding: 13px clamp(18px, 2.6vw, 34px);
  width: 100%;
}

.headline-focus-workspace.is-story-mode .headline-story-workspace > .headline-focus-explorer > summary span,
.headline-focus-workspace.is-story-mode .labor-exposure-workspace > .headline-focus-explorer > summary span {
  font-size: var(--fs-caption);
  text-transform: none;
}

.headline-focus-workspace.is-story-mode .headline-story-workspace > .headline-focus-explorer[open] > summary,
.headline-focus-workspace.is-story-mode .labor-exposure-workspace > .headline-focus-explorer[open] > summary {
  background: color-mix(in srgb, var(--orange) 5%, var(--surface));
}

.headline-focus-workspace.is-story-mode.headline-focus-capacity .headline-story-workspace > .headline-focus-explorer[open] > summary {
  background: color-mix(in srgb, var(--blue) 5%, var(--surface));
}

.headline-focus-workspace.is-story-mode .headline-story-workspace > .headline-focus-explorer > .headline-focus-explorer-body,
.headline-focus-workspace.is-story-mode .labor-exposure-workspace > .headline-focus-explorer > .headline-focus-explorer-body {
  background: var(--surface);
  border-top: 1px solid var(--line);
  margin: 0;
}

@media (max-width: 720px) {
  .headline-labor-share-chart svg {
    aspect-ratio: 780 / 340;
  }

  .headline-labor-share-median-label,
  .headline-labor-share-year {
    font-size: var(--fs-label);
  }
}

/* Responsive QA follow-up: keep report navigation and dense evidence inside their containers. */
.headline-metric-help > div,
.headline-metric-help > div p,
.headline-metric-help > div a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.headline-metric-help > div > div {
  flex-wrap: wrap;
  min-width: 0;
}

.headline-focus-workspace.is-story-mode .headline-story-workspace > .headline-focus-explorer,
.headline-focus-workspace.is-story-mode .labor-exposure-workspace > .headline-focus-explorer {
  background: transparent;
  border: 0;
  margin: 0;
}

.fiscal-shock-absorber,
.fiscal-shock-flow,
.fiscal-shock-flow > * {
  min-width: 0;
  max-width: 100%;
}

@container headline-chapter (max-width: 900px) {
  .fiscal-shock-flow {
    grid-template-columns:
      minmax(150px, 1.15fr)
      minmax(32px, 44px)
      minmax(125px, 0.8fr)
      minmax(32px, 44px)
      minmax(145px, 0.9fr);
  }

  .fiscal-shock-flow section {
    padding-left: 10px;
  }

  .fiscal-shock-flow section > strong,
  .fiscal-shock-balance > div strong {
    font-size: clamp(1.25rem, 2vw, 1.55rem);
  }
}

@media (max-width: 980px) {
  .country-workspace.is-report-pinned {
    padding-top: calc(var(--country-report-toolbar-height, 92px) + var(--country-report-section-nav-height, 46px));
  }

  .country-workspace-nav.is-report-pinned {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
  }

  .country-report-sidebar.is-report-pinned {
    left: 0;
    position: fixed;
    right: 0;
    top: var(--country-report-toolbar-height, 92px);
    width: 100%;
    z-index: 35;
  }

  .country-report-section,
  [data-country-report-subsection] {
    scroll-margin-top: 132px;
  }
}

@media (max-width: 620px) {
  body[data-country-mode="true"] > .app-shell > .map-stage {
    gap: 16px;
    grid-template-rows: auto minmax(0, 1fr);
    padding: 16px;
  }

  body[data-country-mode="true"] .map-stage > .topbar {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-country-mode="true"] .map-stage .brand-heading {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body[data-country-mode="true"] .map-stage .brand-mark {
    margin: 0;
  }

  body[data-country-mode="true"] .map-stage h1 {
    display: block;
    font-size: clamp(2.05rem, 10.5vw, 2.8rem);
    line-height: 0.92;
    max-width: 340px;
  }

  body[data-country-mode="true"] .map-stage .dek {
    display: none;
  }

  body[data-country-mode="true"] .map-stage .toolbar {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
  }

  body[data-country-mode="true"] .map-stage .toolbar > a {
    display: inline-flex;
    min-height: 44px;
    padding-inline: 10px;
    text-align: center;
    white-space: normal;
  }

  body[data-country-mode="true"] .map-stage .search-label,
  body[data-country-mode="true"] .map-stage .country-search-box {
    grid-column: 1 / -1;
  }

  body[data-country-mode="true"] .map-stage > .map {
    grid-row: 2;
    min-height: 48svh;
  }

  .country-report-section,
  [data-country-report-subsection] {
    scroll-margin-top: 148px;
  }

  .headline-metric-help > div {
    max-width: calc(100vw - 32px);
    width: min(280px, calc(100vw - 32px));
  }

  .fiscal-shock-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .fiscal-shock-arrow {
    min-height: 28px;
  }
}

/* ============================================================
   Country report: harmonized type scale and reading rhythm.
   Collapses near-duplicate sizes onto the eight-step scale and
   gives prose room to breathe between the data blocks.
   ============================================================ */

.headline-domain-story-intro h2 {
  font-size: var(--fs-display);
  letter-spacing: -0.015em;
  line-height: 1.05;
}

.headline-story-chapter > header strong {
  font-size: var(--fs-title);
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.headline-story-chapter > header p {
  font-size: var(--fs-body);
  line-height: 1.6;
  max-width: var(--measure);
}

.headline-story-metric > span,
.headline-transition-path article > span {
  font-size: var(--fs-label);
  letter-spacing: 0.01em;
}

.headline-story-metric > strong,
.headline-transition-path article > strong {
  font-size: var(--fs-value);
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.headline-story-metric > p,
.headline-transition-path article > p {
  font-size: var(--fs-label);
  line-height: 1.55;
}

.headline-story-track-key,
.headline-story-track-key span,
.headline-focus-range-legend span,
.headline-score-audit {
  font-size: var(--fs-micro);
  line-height: 1.4;
}

.headline-story-sources a,
.headline-story-chapter summary {
  font-size: var(--fs-caption);
}

/* Interpretation paragraphs: the report's reading voice. */
.country-read {
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: 1.65;
  margin: 0;
  max-width: var(--measure);
}

.country-read + .country-read {
  margin-top: 0.85em;
}

.country-read b {
  color: var(--burgundy);
  font-weight: 650;
}

.headline-story-capacity .country-read b,
.headline-story-chapter[data-story-axis="capacity"] .country-read b {
  color: var(--blue);
}

.country-read-block {
  display: grid;
  gap: 10px;
  padding: 0 clamp(20px, 2.6vw, 32px) clamp(18px, 2vw, 26px);
}

/* Where a country has real interpretation, the generic "compare these" line is
   redundant, so the prose replaces it rather than stacking beneath it. */
.headline-story-chapter > header:has(+ .country-read-block) {
  padding-bottom: clamp(10px, 1.2vw, 14px);
}

.headline-story-chapter > header:has(+ .country-read-block) > div > p {
  display: none;
}

.country-read-lead {
  font-size: var(--fs-lead);
  line-height: 1.5;
  max-width: 62ch;
}

/* ============================================================
   Country report: quieter chrome.
   Separation comes from whitespace and hairlines rather than
   slab borders, so the numbers and prose carry the hierarchy.
   ============================================================ */

.headline-domain-axis .headline-story-chapter,
.headline-domain-axis.is-exposure .headline-story-chapter,
.headline-domain-axis.is-capacity .headline-story-chapter {
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
}

.headline-story-sequence > .headline-story-chapter:first-child {
  border-top: 0;
}

/* The axis reads from a short accent above the title, not a full-width slab. */
.headline-story-chapter > header > div > strong {
  display: block;
  position: relative;
  padding-top: 16px;
}

.headline-story-chapter > header > div > strong::before {
  background: var(--line-strong);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  width: 26px;
}

.headline-domain-axis.is-exposure .headline-story-chapter > header > div > strong::before {
  background: var(--orange);
}

.headline-domain-axis.is-capacity .headline-story-chapter > header > div > strong::before {
  background: var(--blue);
}

/* Let sections breathe. */
.headline-story-chapter > header {
  padding-block: clamp(30px, 3.4vw, 46px) clamp(14px, 1.6vw, 18px);
}

.headline-story-chapter:last-child {
  padding-bottom: clamp(20px, 2.4vw, 32px);
}

.headline-story-metric-grid {
  gap: clamp(16px, 2vw, 28px);
}

.headline-transition-path article {
  padding-block: clamp(18px, 2vw, 24px);
}

.headline-focus-workspace.is-story-mode.headline-focus-exposure .labor-transformation-map,
.headline-focus-workspace.is-story-mode .labor-transformation-map {
  border-top-width: 1px;
  border-top-color: var(--line);
}

.headline-dashboard-domain > .country-read-block {
  padding-top: clamp(22px, 2.6vw, 32px);
}

/* ============================================================
   Score health bars
   The rail carries the assessed position. Evidence coverage and
   scoring detail live in the country-level disclosure.
   ============================================================ */

.headline-health-bar {
  --health-color: var(--orange);
  color: var(--ink);
  display: grid;
  gap: 7px;
  min-width: 0;
  width: 100%;
}

.headline-health-bar.is-capacity {
  --health-color: var(--blue);
}

.headline-health-bar-heading {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  justify-content: space-between;
  min-width: 0;
}

.headline-health-bar-heading > span {
  color: var(--muted);
  font: 750 var(--fs-caption)/1.2 var(--font-ui);
}

.headline-health-bar-heading > strong {
  color: var(--health-color);
  font: 700 clamp(1.15rem, 1.7vw, 1.55rem)/1.05 var(--font-display);
  min-width: 0;
}

.headline-health-bar-meter {
  display: block;
  width: 100%;
}

.headline-health-score-track,
.headline-health-evidence-track {
  background: color-mix(in srgb, var(--health-color) 9%, var(--surface));
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.headline-health-score-track {
  border: 1px solid color-mix(in srgb, var(--health-color) 26%, var(--line));
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  height: 17px;
  overflow: hidden;
  padding: 2px;
}

.headline-health-score-track > i {
  background: color-mix(in srgb, var(--health-color) 9%, var(--surface));
  display: block;
  min-width: 0;
}

.headline-health-score-track > i.is-reached {
  background: color-mix(in srgb, var(--health-color) 48%, var(--surface));
}

.headline-health-score-track > i.is-active {
  background: var(--health-color);
}

.headline-health-evidence-track {
  background: var(--surface-muted);
  height: 6px;
}

.headline-health-evidence-track > i {
  background: color-mix(in srgb, var(--health-color) 55%, var(--surface));
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: var(--health-coverage);
}

.headline-health-evidence-track > b {
  background: repeating-linear-gradient(
    135deg,
    #9b9b9b 0,
    #9b9b9b 3px,
    #d8d8d8 3px,
    #d8d8d8 6px
  );
  bottom: 0;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: var(--health-missing);
}

.headline-health-bar-evidence {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font: 650 var(--fs-micro)/1.25 var(--font-ui);
  gap: 4px 12px;
  justify-content: space-between;
}

.headline-health-bar-evidence > span:last-child {
  color: color-mix(in srgb, var(--ink) 72%, #777);
}

.headline-health-bar-caption {
  color: var(--muted);
  font: 550 var(--fs-micro)/1.35 var(--font-ui);
}

.headline-health-bar.is-unrated .headline-health-bar-heading > strong {
  color: var(--muted);
  font: 650 var(--fs-label)/1.15 var(--font-ui);
}

.headline-health-bar.is-unrated .headline-health-score-track {
  background: repeating-linear-gradient(
    135deg,
    #c9c9c9 0,
    #c9c9c9 4px,
    #ececec 4px,
    #ececec 8px
  );
  border-color: #b8b8b8;
}

.headline-health-bar.is-historical .headline-health-evidence-track > i {
  background: #a7a7a7;
}

.headline-health-bar.is-compact {
  gap: 5px;
}

.headline-health-bar.is-compact .headline-health-bar-heading > strong {
  font-size: clamp(0.95rem, 1.25vw, 1.15rem);
}

.headline-health-bar.is-compact .headline-health-score-track {
  height: 14px;
  padding: 2px;
}

.headline-health-bar.is-compact .headline-health-evidence-track {
  height: 5px;
}

.headline-overview-health-bars {
  display: grid;
  gap: 15px;
  margin-top: auto;
  width: 100%;
}

.headline-domain-story-intro {
  grid-template-columns: minmax(0, 1fr) minmax(310px, 0.46fr);
}

.headline-domain-score-pair {
  background: color-mix(in srgb, var(--surface) 94%, var(--ink));
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
}

.headline-domain-score-pair > .headline-health-bar {
  padding: 17px 18px;
}

.headline-domain-score-pair > .headline-health-bar + .headline-health-bar {
  border-top: 1px solid var(--line);
}

.headline-score {
  display: block;
  min-width: 170px;
  padding: 0;
  text-align: left;
  width: clamp(170px, 17vw, 225px);
}

.headline-composite-summary {
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.55fr);
}

@media (max-width: 900px) {
  .headline-domain-story-intro {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-domain-score-pair {
    max-width: 620px;
  }
}

@media (max-width: 720px) {
  .headline-composite-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .headline-score {
    min-width: 0;
    width: 100%;
  }

  .headline-overview-domains button {
    min-height: 0;
  }

  .headline-domain-score-pair > .headline-health-bar {
    padding: 15px;
  }
}

/* The UK pilot route uses the shared Observatory report without exposing the
   wider country or scenario navigation. */
body[data-pilot-mode="uk"] .scenario-entry-button,
body[data-pilot-mode="uk"] .search-label,
body[data-pilot-mode="uk"] .country-search-box,
body[data-pilot-mode="uk"] .country-index-panel,
body.index-page[data-pilot-mode="uk"][data-country-mode="true"] .toolbar .scenario-entry-button,
body.index-page[data-pilot-mode="uk"][data-country-mode="true"] .map-stage .search-label,
body.index-page[data-pilot-mode="uk"][data-country-mode="true"] .country-index-panel {
  display: none !important;
}

body.index-page[data-pilot-mode="uk"][data-country-mode="true"] .app-shell {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.index-page[data-pilot-mode="uk"][data-country-mode="true"] > .app-shell > .map-stage {
  grid-column: 1 / -1 !important;
}

body[data-pilot-mode="uk"] .toolbar {
  align-self: start;
  min-width: min(330px, 32vw);
}

body[data-pilot-mode="uk"] .country-report-country-picker select:disabled {
  color: var(--ink);
  cursor: default;
  opacity: 1;
  -webkit-text-fill-color: var(--ink);
}

body[data-pilot-mode="uk"] .country-report-country-picker label::after {
  display: none;
}

@media (max-width: 620px) {
  body[data-pilot-mode="uk"] .map-stage .toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-pilot-mode="uk"] .map-stage .toolbar > a {
    grid-column: 1;
  }
}
.headline-comparison-context { font-size: 12px; line-height: 1.5; margin-top: 8px; overflow-wrap: anywhere; }
.headline-comparison-context summary { cursor: pointer; }
.headline-comparison-context p { font-size: 12px; line-height: 1.5; margin: 8px 0; }
.headline-channel-bars > div > span > small { display: block; font-size: 11px; line-height: 1.4; font-weight: 400; margin-top: 4px; }
.headline-tax-definition { font-size: 13px; line-height: 1.6; }

/* The index chapter keeps country search primary, including above a selected
   report. These selectors deliberately outrank the shared brand hero rules. */
.country-search-control,
.landing-secondary-nav {
  display: contents;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage > .topbar {
  align-items: start;
  background: var(--brand-pink);
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  overflow: visible;
  padding: clamp(22px, 3vw, 36px);
  position: relative;
  z-index: 3;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .brand-heading {
  display: block;
  min-width: 0;
  padding: 0;
  width: 100%;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .brand-heading::after {
  display: none;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .brand-mark {
  margin: 0 0 22px;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .brand-heading h1 {
  color: var(--brand-pink-light);
  font-size: clamp(2.25rem, 4vw, 3rem);
  line-height: 1.05;
  max-width: 100%;
  overflow-wrap: normal;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .brand-heading .dek {
  color: var(--brand-pink-light);
  display: block;
  font-size: 1rem;
  line-height: 1.5;
  margin: 16px 0 0;
  max-width: 60ch;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .pilot-status {
  color: #ff0000;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .toolbar {
  align-self: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  width: 100%;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .country-search-control {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .search-label {
  color: var(--brand-pink-light);
  display: block;
  font-size: 1rem;
  margin: 0;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .country-search-box {
  min-width: 0;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage #country-search {
  background: var(--brand-pink-light);
  border: 1px solid var(--brand-pink-light);
  border-radius: 1000px;
  color: var(--brand-black);
  font-size: 1rem;
  min-height: 56px;
  min-width: 0;
  padding: 14px 20px;
  width: 100%;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage #country-search::placeholder {
  color: var(--muted);
  opacity: 1;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage #country-search:focus {
  outline: 2px solid var(--brand-pink-light);
  outline-offset: 4px;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .country-search-results {
  max-height: min(310px, 50svh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .landing-secondary-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  min-width: 0;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .landing-secondary-nav .page-nav-button {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--brand-pink-light);
  font-size: 0.875rem;
  justify-content: start;
  line-height: 1.4;
  min-height: 44px;
  padding: 10px 0;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 4px;
  transform: none;
  transition: none;
  white-space: normal;
  width: auto;
}

body.index-page:not([data-pilot-mode="uk"]) .map-stage .landing-secondary-nav .page-nav-button:focus-visible {
  outline: 2px solid var(--brand-pink-light);
  outline-offset: 4px;
}

/* Keep pilot controls in their existing grid slots after grouping the links. */
body.index-page[data-pilot-mode="uk"] .country-search-control {
  display: none;
}

@media (min-width: 1400px) {
  body.index-page:not([data-pilot-mode="uk"]) .map-stage > .topbar {
    align-items: center;
    gap: 32px;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  }
}

@media (max-width: 620px) {
  body.index-page:not([data-pilot-mode="uk"]) .map-stage > .topbar {
    padding: 22px 16px;
  }

  body.index-page[data-pilot-mode="uk"] .map-stage .landing-secondary-nav > a {
    grid-column: 1;
    min-height: 44px;
    white-space: normal;
  }
}

/* Detailed national occupation evidence remains separate from the scored views. */
.uk-occupation-research { border-top: 1px solid var(--burgundy); margin-top: 1.5rem; }
.uk-occupation-research > summary { padding: 1.25rem 0; font-size: 1.2rem; font-weight: 600; cursor: pointer; }
.uk-occupation-research-body { padding: 0 0 1.5rem; min-width: 0; }
.uk-occupation-research-lead { max-width: 52rem; }
.uk-occupation-research-lead > strong { color: var(--blue, #2d4bff); font-size: 1.7em; }
.uk-occupation-research-levels { display: grid; gap: .8rem; margin: 1.5rem 0 2rem; }
.uk-occupation-research-level { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(4rem, 2fr) 4rem; gap: 1rem; align-items: center; }
.uk-occupation-research-level > strong { text-align: right; font-variant-numeric: tabular-nums; }
.uk-occupation-research-track { height: .45rem; background: var(--pink); }
.uk-occupation-research-track > span { display: block; height: 100%; background: var(--blue, #2d4bff); }
.uk-occupation-research-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .95rem; }
.uk-occupation-research-table th, .uk-occupation-research-table td { padding: .75rem .5rem; border-bottom: 1px solid var(--pink-strong); vertical-align: top; overflow-wrap: anywhere; }
.uk-occupation-research-table th:first-child { width: 50%; text-align: left; padding-left: 0; }
.uk-occupation-research-table th:not(:first-child), .uk-occupation-research-table td { text-align: right; font-variant-numeric: tabular-nums; }
.uk-occupation-research-table tbody th { font-weight: 400; }
.uk-occupation-research-table small { display: block; color: var(--burgundy); }
.uk-occupation-research-table [hidden] { display: none; }
.uk-occupation-research-explorer, .uk-occupation-research-method { margin-top: 1.5rem; }
.uk-occupation-research-explorer > summary, .uk-occupation-research-method > summary { cursor: pointer; padding: .5rem 0; font-weight: 600; }
.uk-occupation-research-search { display: grid; gap: .4rem; margin-top: 1rem; max-width: 28rem; }
.uk-occupation-research-search input { width: 100%; min-width: 0; padding: .7rem; border: 1px solid var(--burgundy); border-radius: 0; background: transparent; color: inherit; font: inherit; }
.uk-occupation-research-scroll { max-height: 28rem; overflow: auto; }
.uk-occupation-research-scroll thead { position: sticky; top: 0; background: var(--paper, #fffdf9); }
.uk-occupation-research-method { max-width: 58rem; }
.uk-occupation-research summary:focus-visible, .uk-occupation-research input:focus-visible, .uk-occupation-research-scroll:focus-visible { outline: 2px solid var(--blue, #2d4bff); outline-offset: 3px; }
@media (max-width: 600px) {
  .uk-occupation-research-level { grid-template-columns: minmax(7rem, 1fr) minmax(2rem, 1fr) 3.5rem; gap: .5rem; }
  .uk-occupation-research-table { font-size: .8rem; }
  .uk-occupation-research-table th, .uk-occupation-research-table td { padding: .65rem .25rem; }
  .uk-occupation-research-table th:first-child { width: 43%; }
  .uk-occupation-research-scroll .uk-occupation-research-table th:first-child { width: 38%; }
}
.occupation-mapping-intervals { margin: 1.5rem 0; }
.occupation-mapping-interval { margin-top: 1.2rem; }
.occupation-mapping-interval > div:first-child { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; font-variant-numeric: tabular-nums; }
.occupation-mapping-track { position: relative; height: .4rem; background: var(--pink); }
.occupation-mapping-track > span { position: absolute; height: 100%; background: var(--blue, #2d4bff); }
.occupation-mapping-track > span::before, .occupation-mapping-track > span::after { content: ""; position: absolute; top: -.2rem; height: .8rem; width: 2px; background: var(--blue, #2d4bff); }
.occupation-mapping-track > span::before { left: 0; }
.occupation-mapping-track > span::after { right: 0; }
.occupation-mapping-axis { display: flex; justify-content: space-between; margin-top: .75rem; font-size: .85rem; }
.occupation-mapping-intervals > figcaption { margin-top: 1rem; max-width: 52rem; font-size: .95rem; line-height: 1.5; }

.country-report-page-note {
  border-top: 1px solid var(--rule, rgba(0, 0, 0, 0.12));
  justify-content: flex-end;
  margin: 0;
  padding: 18px 0 0;
}
