﻿:root {
  --navy: #082f4f;
  --navy-deep: #041f36;
  --viridian: #4b9994;
  --viridian-dark: #14645f;
  --saffron: #e78621;
  --paper: #f2f6f5;
  --paper-blue: #e4ecec;
  --ink: #11252e;
  --muted: #50636b;
  --rule: #9fb1b4;
  --white: #ffffff;
  --text-on-dark: var(--white);
  --text-on-dark-muted: #cbdcde;
  --text-on-dark-accent: #9bd1cd;
  --action-primary-bg: var(--navy);
  --action-primary-fg: var(--white);
  --action-primary-hover-bg: var(--viridian-dark);
  --action-primary-hover-fg: var(--white);
  --focus-ring: var(--saffron);
  --signal-light: #f9aa4d;
  --navy-on-dark: var(--text-on-dark);
  --cid-typeface: "Archivo Narrow", "Arial Narrow", Arial, sans-serif;
  --cid-display: var(--cid-typeface);
  --cid-body: var(--cid-typeface);
  --cid-mono: var(--cid-typeface);
  --type-action: 0.75rem;
  --type-section-label: 0.82rem;
  --type-metadata: 0.62rem;
  --type-title: clamp(1.22rem, 1.7vw, 1.65rem);
  --type-headline: clamp(1.68rem, 2.8vw, 3.2rem);
  --type-display: clamp(2.4rem, 4.96vw, 4.8rem);
  --header-h: 78px;
  --rail-w: clamp(156px, 13vw, 184px);
  --page-pad: clamp(1.15rem, 3.4vw, 4rem);
  --section-content-gap: clamp(1.75rem, 3vw, 3rem);
}

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

html {
  scroll-behavior: smooth;
  background: var(--paper);
  overflow-x: clip;
  direction: ltr;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--cid-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  font-synthesis: none;
  font-variant-numeric: lining-nums tabular-nums;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  direction: ltr;
  text-align: left;
}

body.cid-site button,
body.cid-site input,
body.cid-site select,
body.cid-site textarea {
  font-family: var(--cid-typeface);
  font-variant-numeric: inherit;
}

/* Keep the English CID surface independent from the Persian Elementor kit. */
.cid-site {
  font-family: var(--cid-typeface) !important;
  direction: ltr;
  text-align: left;
}

.cid-site h1,
.cid-site h2,
.cid-site h3,
.cid-site h4,
.cid-site h5,
.cid-site h6 {
  font-family: var(--cid-typeface) !important;
}

.cid-site p,
.cid-site a,
.cid-site button,
.cid-site input,
.cid-site select,
.cid-site textarea,
.cid-site label,
.cid-site time,
.cid-site dt,
.cid-site dd,
.cid-site li,
.cid-site small,
.cid-site strong,
.cid-site blockquote,
.cid-site cite {
  font-family: var(--cid-typeface) !important;
}

img,
video {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}

::selection {
  color: var(--white);
  background: var(--viridian-dark);
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100;
  padding: 0.75rem 1rem;
  color: var(--text-on-dark);
  background: var(--navy-deep);
  font-family: var(--cid-mono);
  font-size: 0.75rem;
  transform: translateY(-160%);
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto;
  min-height: var(--header-h);
  border-bottom: 1px solid color-mix(in srgb, var(--navy) 28%, transparent);
  background: color-mix(in srgb, var(--paper) 96%, transparent);
  backdrop-filter: blur(12px);
  transition: box-shadow 240ms ease-out, background-color 240ms ease-out;
}

.site-header.is-condensed {
  box-shadow: 0 9px 26px rgba(4, 31, 54, 0.09);
}

.brand {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  width: max-content;
  padding: 0.75rem var(--page-pad);
  text-decoration: none;
}

.brand img {
  width: 48px;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.brand-copy strong {
  font-family: var(--cid-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.brand-copy small {
  margin-top: 0.2rem;
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.56rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.site-nav {
  display: flex;
  align-items: stretch;
  border-left: 1px solid var(--rule);
}

.site-nav a {
  display: flex;
  align-items: center;
  padding: 0 1.1rem;
  border-right: 1px solid color-mix(in srgb, var(--rule) 65%, transparent);
  font-family: var(--cid-mono);
  font-size: 0.67rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease-out, background-color 160ms ease-out;
}

.site-nav a:hover,
.site-nav a[aria-current="true"] {
  color: var(--white);
  background: var(--viridian-dark);
}

.site-nav .nav-external:hover {
  background: var(--navy);
}

.menu-toggle {
  display: none;
}

.rail-register {
  display: none;
}

.hero {
  min-height: calc(100svh - var(--header-h));
  display: grid;
  grid-template-columns: clamp(180px, 17vw, 270px) 1fr;
  border-bottom: 1px solid var(--navy);
}

.hero-index {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(2rem, 5vw, 5rem) clamp(1.2rem, 2.5vw, 2.5rem) 2.5rem;
  color: var(--white);
  background: var(--navy);
}

.hero-index img {
  width: min(150px, 100%);
  margin: 0 auto;
  filter: brightness(0) invert(1);
}

.index-code {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: auto;
  padding-top: 3rem;
  border-top: 1px solid color-mix(in srgb, var(--white) 35%, transparent);
  font-family: var(--cid-mono);
}

.index-code span {
  color: #a8d2cf;
  font-size: 0.62rem;
}

.index-code strong {
  font-size: 0.92rem;
  font-weight: 500;
}

.hero-index p {
  max-width: 20ch;
  margin: 2rem 0 0;
  color: #cfe1e1;
  font-family: var(--cid-mono);
  font-size: 0.62rem;
  line-height: 1.6;
  text-transform: uppercase;
}

.hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.75fr);
  grid-template-rows: 1fr auto;
  column-gap: clamp(2rem, 6vw, 7rem);
  padding: clamp(2.6rem, 6vw, 6rem) var(--page-pad) clamp(2rem, 4vw, 4rem);
  overflow: hidden;
}

.hero-heading {
  align-self: center;
}

.hero-kicker {
  margin: 0 0 1.4rem;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero h1 {
  max-width: 10ch;
  margin: 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3.8rem, 6.7vw, 6rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 0.82;
  text-transform: uppercase;
}

.hero-intro {
  align-self: center;
  max-width: 33rem;
  padding-top: 2.2rem;
  border-top: 1px solid var(--viridian-dark);
}

.hero-intro p {
  margin: 0 0 1.25rem;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.65;
}

.text-link,
.action-link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 0.75rem;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.72rem;
  font-weight: 500;
  text-underline-offset: 0.3rem;
  text-transform: uppercase;
}

.activity-route {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: clamp(3rem, 7vw, 7rem);
  padding-top: 1.3rem;
}

.route-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--viridian-dark);
  transform: scaleX(0);
  transform-origin: left;
  animation: register-line 1100ms 250ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.activity-route a {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem 0.75rem 0.2rem 0;
  text-decoration: none;
}

.route-node {
  position: absolute;
  top: -1.7rem;
  left: 0;
  width: 13px;
  height: 13px;
  border: 2px solid var(--viridian-dark);
  border-radius: 50%;
  background: var(--paper);
  transition: background-color 160ms ease-out, transform 160ms ease-out;
}

.activity-route a:hover .route-node {
  background: var(--saffron);
  transform: scale(1.25);
}

.route-number {
  color: var(--saffron);
  font-family: var(--cid-display);
  font-size: 1.65rem;
  font-weight: 600;
}

.activity-route strong {
  margin-top: 0.35rem;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.15rem;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.activity-route small {
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.62rem;
}

@keyframes register-line {
  to { transform: scaleX(1); }
}

.snapshot {
  display: grid;
  grid-template-columns: minmax(200px, 0.65fr) minmax(450px, 1.35fr);
  gap: 1.5rem 3rem;
  padding: 1.65rem var(--page-pad);
  color: var(--white);
  background: var(--viridian-dark);
}

.snapshot > div:first-child {
  display: flex;
  flex-direction: column;
}

.snapshot > div:first-child span,
.snapshot-note {
  color: #b9dcda;
  font-family: var(--cid-mono);
  font-size: 0.62rem;
  line-height: 1.5;
  text-transform: uppercase;
}

.snapshot > div:first-child strong {
  max-width: 26ch;
  margin-top: 0.4rem;
  font-family: var(--cid-display);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}

.snapshot dl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
}

.snapshot dl div {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 0.5rem;
  padding: 0 1rem;
  border-left: 1px solid rgba(255,255,255,0.3);
}

.snapshot dt {
  font-family: var(--cid-mono);
  font-size: 0.6rem;
  line-height: 1.45;
  text-transform: uppercase;
}

.snapshot dd {
  margin: 0;
  color: #f9aa4d;
  font-family: var(--cid-display);
  font-size: 2.6rem;
  line-height: 1;
}

.snapshot-note {
  grid-column: 2;
  margin: 0;
  text-transform: none;
}

.archive,
.researchers {
  padding: clamp(5rem, 9vw, 9rem) var(--page-pad);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
  align-items: end;
  gap: 2rem;
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
  padding-bottom: 1.7rem;
  border-bottom: 1px solid var(--navy);
}

.section-code,
.accession,
.content-request-code {
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.64rem;
  letter-spacing: 0.06em;
}

.section-heading h2 {
  max-width: 12ch;
  margin: 0.8rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3rem, 6.2vw, 6rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 0.9;
  text-transform: uppercase;
}

.section-heading > p {
  max-width: 48ch;
  margin: 0;
  color: var(--muted);
}

.filter-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.3rem;
}

.filter-group button {
  min-height: 44px;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--rule);
  border-radius: 0;
  color: var(--navy);
  background: transparent;
  font-family: var(--cid-mono);
  font-size: 0.62rem;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
}

.filter-group button:hover,
.filter-group button.is-active {
  color: var(--white);
  border-color: var(--navy);
  background: var(--navy);
}

.archive-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
  gap: 1px;
  background: var(--navy);
  border: 1px solid var(--navy);
}

.record {
  min-width: 0;
  background: var(--paper);
  transition: opacity 180ms ease-out;
}

.record[hidden] {
  display: none;
}

.record-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--navy);
  color: var(--navy);
  font-family: var(--cid-mono);
  font-size: 0.61rem;
  text-transform: uppercase;
}

.record-head a {
  color: var(--viridian-dark);
  text-underline-offset: 0.2rem;
}

.newsletter-shelf {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  align-items: end;
  gap: 1.1rem;
  min-height: 500px;
  padding: clamp(1.25rem, 3vw, 3rem);
  background: var(--paper-blue);
}

.cover-link {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  color: var(--navy);
  font-family: var(--cid-mono);
  font-size: 0.62rem;
  text-decoration: none;
  text-transform: uppercase;
}

.cover-link img {
  width: 100%;
  border: 1px solid rgba(8,47,79,0.25);
  box-shadow: 13px 15px 0 rgba(8,47,79,0.09);
  transition: transform 240ms cubic-bezier(0.16,1,0.3,1), box-shadow 240ms ease-out;
}

.cover-link:hover img {
  box-shadow: 17px 20px 0 rgba(20,100,95,0.16);
  transform: translate(-4px,-5px);
}

.cover-link-secondary img {
  box-shadow: 8px 10px 0 rgba(8,47,79,0.08);
}

.record-copy {
  padding: 1.3rem clamp(1.2rem, 2.3vw, 2.3rem) 2rem;
}

.record-copy h3 {
  max-width: 23ch;
  margin: 0.6rem 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(1.7rem, 2.4vw, 2.7rem);
  font-weight: 600;
  line-height: 1;
}

.record-copy p {
  max-width: 54ch;
  margin: 0.8rem 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.record-pulse {
  grid-column: 2;
}

.video-frame {
  padding: clamp(1.25rem, 3vw, 3rem);
  background: var(--navy-deep);
}

.video-frame video,
.interview-item video {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  object-fit: cover;
}

.record-copy-horizontal {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 1rem 1.5rem;
}

.duration {
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.68rem;
}

.record-interviews {
  grid-column: 1 / -1;
}

.interview-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.interview-item {
  display: grid;
  grid-template-columns: minmax(240px, 1.3fr) minmax(190px, 0.7fr);
  gap: 1px;
  background: var(--navy);
}

.interview-item + .interview-item {
  border-left: 1px solid var(--navy);
}

.interview-item > div {
  padding: 1.3rem;
  background: var(--paper-blue);
}

.interview-item h3 {
  margin: 0.75rem 0 0.5rem;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.65rem;
  line-height: 1;
}

.interview-item p {
  color: var(--muted);
  font-size: 0.82rem;
}

.record-note {
  grid-column: 1 / -1;
}

.note-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.55fr) minmax(0, 1.45fr);
  min-height: 520px;
}

.note-layout > a {
  max-height: 620px;
  overflow: hidden;
  background: var(--paper-blue);
}

.note-layout img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 360ms cubic-bezier(0.16,1,0.3,1);
}

.note-layout > a:hover img {
  transform: scale(1.018);
}

.note-layout .record-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
  background: var(--white);
}

.note-layout .record-copy h3 {
  max-width: 18ch;
  font-size: clamp(2.5rem, 4.7vw, 5rem);
}

.note-layout .byline {
  color: var(--ink);
  font-family: var(--cid-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.filter-empty {
  padding: 3rem;
  border: 1px solid var(--navy);
  text-align: center;
}

.archive-index-link {
  display: flex;
  justify-content: flex-end;
  padding: 1.5rem 0 0;
}

.network {
  padding: clamp(5rem, 9vw, 9rem) var(--page-pad);
  color: var(--white);
  background: var(--navy);
}

.section-heading-inverse {
  border-color: rgba(255,255,255,0.35);
}

.section-heading-inverse .section-code {
  color: #9bd1cd;
}

.section-heading-inverse h2,
.section-heading-inverse > p {
  color: var(--white);
}

.section-heading-inverse > p {
  color: #cbdcde;
}

.network-register {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(255,255,255,0.45);
  background: rgba(255,255,255,0.45);
}

.network-register > section {
  min-width: 0;
  background: var(--navy);
}

.register-heading,
.roster-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.42);
}

.register-heading h3,
.roster-head h3 {
  margin: 0;
  font-family: var(--cid-display);
  font-size: 1.35rem;
  font-weight: 500;
  text-transform: uppercase;
}

.register-heading span,
.roster-head span {
  font-family: var(--cid-mono);
  font-size: 0.6rem;
}

.logo-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.logo-list figure {
  min-width: 0;
  margin: 0;
  padding: 1.3rem;
  border-right: 1px solid rgba(255,255,255,0.25);
}

.logo-list figure:last-child {
  border-right: 0;
}

.logo-box {
  display: grid;
  place-items: center;
  min-height: 150px;
  padding: 1rem;
  background: var(--white);
}

.logo-box img {
  max-width: 100%;
  max-height: 110px;
  object-fit: contain;
  filter: saturate(0.85);
}

.logo-list-media .logo-box img {
  max-height: 90px;
}

.logo-list figcaption {
  margin-top: 1rem;
  font-family: var(--cid-display);
  font-size: 0.88rem;
  line-height: 1.25;
}

.logo-list figcaption span {
  display: block;
  margin-bottom: 0.35rem;
  color: #9bd1cd;
  font-family: var(--cid-mono);
  font-size: 0.58rem;
}

.researchers .section-heading {
  align-items: start;
}

.roster-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--navy);
  background: var(--navy);
}

.roster {
  min-width: 0;
  background: var(--paper);
}

.roster-head {
  color: var(--white);
  background: var(--navy);
}

.roster-empty {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.4rem;
  min-height: 240px;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.roster-mark {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  border: 1px solid var(--viridian-dark);
  color: var(--viridian-dark);
  font-family: var(--cid-display);
  font-size: 2.2rem;
}

.roster-empty strong {
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.65rem;
  font-weight: 600;
}

.roster-empty p {
  max-width: 48ch;
  margin: 0.7rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.content-request {
  display: grid;
  grid-template-columns: minmax(150px, 0.3fr) minmax(0, 1fr);
  gap: 2rem;
  margin-top: 2.5rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid var(--viridian-dark);
  background: var(--paper-blue);
}

.content-request h3 {
  margin: 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 2rem;
  font-weight: 600;
  text-transform: uppercase;
}

.content-request p {
  max-width: 75ch;
  margin: 0.5rem 0 0;
  color: var(--muted);
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(150px, 0.6fr) 1.4fr 0.8fr 0.8fr;
  gap: 2rem;
  align-items: start;
  padding: clamp(2.2rem, 5vw, 5rem) var(--page-pad);
  color: var(--white);
  background: var(--navy-deep);
}

.footer-brand img {
  width: min(175px, 100%);
  height: auto;
  filter: brightness(0) invert(1);
}

.footer-statement strong {
  display: block;
  max-width: 22ch;
  font-family: var(--cid-display);
  font-size: clamp(1.5rem, 2.3vw, 2.6rem);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.footer-statement p,
.footer-meta p {
  margin: 1.4rem 0 0;
  color: #bdd1d4;
  font-size: 0.75rem;
}

.site-footer nav {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.site-footer nav a {
  width: max-content;
  color: #dce9ea;
  font-family: var(--cid-mono);
  font-size: 0.65rem;
  text-underline-offset: 0.3rem;
  text-transform: uppercase;
}

.footer-meta > span {
  color: #9bd1cd;
  font-family: var(--cid-mono);
  font-size: 0.62rem;
}

@media (max-width: 1180px) {
  .site-nav a {
    padding-inline: 0.75rem;
    font-size: 0.6rem;
  }

  .hero-main {
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.75fr);
  }

  .interview-item {
    grid-template-columns: 1fr;
  }

  .logo-list {
    grid-template-columns: 1fr;
  }

  .logo-list figure {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 1rem;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.25);
  }

  .logo-list figure:last-child {
    border-bottom: 0;
  }

  .logo-box {
    min-height: 100px;
  }
}

@media (max-width: 900px) {
  :root { --header-h: 68px; }

  .site-header {
    grid-template-columns: 1fr auto;
  }

  .brand {
    padding-left: var(--page-pad);
  }

  .menu-toggle {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 92px;
    padding: 0 1rem;
    border: 0;
    border-left: 1px solid var(--rule);
    color: var(--navy);
    background: transparent;
    font-family: var(--cid-mono);
    font-size: 0.65rem;
    text-transform: uppercase;
    cursor: pointer;
  }

  .menu-mark,
  .menu-mark::before {
    display: block;
    width: 18px;
    height: 1px;
    background: currentColor;
    content: "";
    transition: transform 160ms ease-out;
  }

  .menu-mark::before {
    transform: translateY(5px);
  }

  .menu-toggle[aria-expanded="true"] .menu-mark {
    transform: rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] .menu-mark::before {
    transform: rotate(-90deg);
  }

  .site-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    border: 0;
    border-bottom: 1px solid var(--navy);
    background: var(--paper);
  }

  .site-nav.is-open {
    display: flex;
  }

  .site-nav a {
    min-height: 52px;
    padding: 0 var(--page-pad);
    border-top: 1px solid var(--rule);
    border-right: 0;
  }

  .hero {
    grid-template-columns: 92px 1fr;
  }

  .hero-index {
    padding: 1.5rem 0.8rem;
  }

  .hero-index p {
    display: none;
  }

  .hero-main {
    grid-template-columns: 1fr;
    padding-top: 3rem;
  }

  .hero-intro {
    margin-top: 3rem;
  }

  .activity-route {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.4rem;
  }

  .route-line {
    display: none;
  }

  .route-node {
    top: 0.25rem;
    left: auto;
    right: 0;
  }

  .snapshot {
    grid-template-columns: 1fr;
  }

  .snapshot dl {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 0;
  }

  .snapshot-note {
    grid-column: 1;
  }

  .section-heading,
  .network-register,
  .roster-grid {
    grid-template-columns: 1fr;
  }

  .filter-group {
    justify-content: flex-start;
  }

  .archive-grid {
    grid-template-columns: 1fr;
  }

  .record-pulse,
  .record-interviews,
  .record-note {
    grid-column: 1;
  }

  .interview-list {
    grid-template-columns: 1fr;
  }

  .interview-item + .interview-item {
    border-top: 1px solid var(--navy);
    border-left: 0;
  }

  .site-footer {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .brand-copy small {
    display: none;
  }

  .brand-copy strong {
    max-width: 18ch;
    font-size: 0.9rem;
  }

  .hero {
    display: block;
  }

  .hero-index {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem var(--page-pad);
  }

  .hero-index img {
    width: 64px;
    margin: 0;
  }

  .index-code {
    margin: 0;
    padding: 0 0 0 1rem;
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,0.35);
  }

  .hero-main {
    display: block;
    min-height: auto;
    padding: 2.8rem var(--page-pad) 2.5rem;
  }

  .hero h1 {
    font-size: clamp(3.3rem, 15vw, 4.7rem);
    line-height: 0.8;
  }

  .hero-intro {
    padding-top: 1.5rem;
  }

  .activity-route {
    grid-template-columns: 1fr;
    margin-top: 3rem;
  }

  .activity-route a {
    display: grid;
    grid-template-columns: 52px 1fr;
    padding: 0.9rem 2rem 0.9rem 0;
    border-top: 1px solid var(--rule);
  }

  .route-number {
    grid-row: span 2;
  }

  .snapshot dl {
    grid-template-columns: 1fr;
  }

  .snapshot dl div {
    padding: 0.6rem 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.3);
  }

  .section-heading h2 {
    font-size: clamp(2.7rem, 12.5vw, 3.8rem);
  }

  .newsletter-shelf {
    min-height: 0;
    grid-template-columns: 1.2fr 0.8fr;
    padding: 1.2rem;
  }

  .record-copy-horizontal,
  .interview-item,
  .note-layout {
    grid-template-columns: 1fr;
  }

  .record-copy-horizontal .duration {
    grid-column: 1;
  }

  .note-layout {
    min-height: 0;
  }

  .note-layout > a {
    max-height: 420px;
  }

  .logo-list figure {
    grid-template-columns: 110px 1fr;
    padding: 1rem;
  }

  .logo-box {
    min-height: 82px;
  }

  .register-heading,
  .roster-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .roster-empty,
  .content-request {
    grid-template-columns: 1fr;
  }

  .site-footer {
    grid-template-columns: 1fr;
  }

  .footer-brand img {
    width: 145px;
  }
}

/* Archive distillation: six complete output routes in a compact editorial matrix. */
body.cid-site .latest-dispatch {
  padding-block: clamp(2.8rem, 4vw, 4rem);
}

.latest-dispatch .section-heading {
  margin-bottom: clamp(1.4rem, 2.4vw, 2.2rem);
  padding-bottom: 1rem;
}

.latest-dispatch .dispatch-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--navy);
  border-left: 1px solid var(--navy);
}

.latest-dispatch .dispatch-timeline::before,
.latest-dispatch .dispatch-node {
  display: none;
}

.latest-dispatch .dispatch-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  min-height: 0;
  padding-left: 0;
  border-right: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
}

.latest-dispatch .dispatch-channel {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  min-height: 64px;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid var(--rule);
}

.latest-dispatch .dispatch-channel strong {
  max-width: 12ch;
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  line-height: 0.95;
}

.latest-dispatch .dispatch-channel a {
  flex: 0 0 auto;
  min-height: 44px;
  padding-block: 0.65rem;
  font-size: 0.66rem;
}

.latest-dispatch .dispatch-record {
  min-width: 0;
  padding: 1rem;
}

.latest-dispatch .dispatch-record h3,
.latest-dispatch .dispatch-record-pending h3 {
  max-width: 24ch;
  margin-top: 0.55rem;
  font-size: clamp(1.22rem, 1.7vw, 1.65rem);
  line-height: 1;
}

.latest-dispatch .dispatch-record h3 a {
  min-height: 0;
}

.latest-dispatch .dispatch-record > p {
  display: -webkit-box;
  margin-top: 0.55rem;
  overflow: hidden;
  font-size: 0.82rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.latest-dispatch .dispatch-relations {
  gap: 0.3rem;
  margin-top: 0.7rem;
}

.latest-dispatch .dispatch-relations span,
.latest-dispatch .dispatch-relations a {
  padding: 0.22rem 0.4rem;
  font-size: 0.62rem;
  line-height: 1.25;
}

.latest-dispatch .dispatch-open {
  grid-column: auto;
  min-height: 44px;
  margin-left: 0;
  padding: 0.7rem 1rem;
  border-top: 1px solid var(--rule);
  border-left: 0;
}

@media (max-width: 1100px) {
  .latest-dispatch .dispatch-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  body.cid-site .latest-dispatch {
    padding-block: 2.5rem;
  }

  .latest-dispatch .dispatch-timeline {
    grid-template-columns: minmax(0, 1fr);
  }

  .latest-dispatch .dispatch-row {
    padding-left: 0;
  }

  .latest-dispatch .dispatch-channel {
    min-height: 58px;
    padding: 0.55rem 0.8rem;
  }

  .latest-dispatch .dispatch-channel strong {
    font-size: 1.08rem;
  }

  .latest-dispatch .dispatch-record {
    padding: 0.85rem;
  }

  .latest-dispatch .dispatch-record > p {
    display: none;
  }

  .latest-dispatch .dispatch-relations {
    flex-wrap: nowrap;
    max-width: 100%;
    padding-bottom: 0.25rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .latest-dispatch .dispatch-relations span,
  .latest-dispatch .dispatch-relations a {
    flex: 0 0 auto;
  }

  .latest-dispatch .dispatch-open {
    margin-left: 0;
    padding-inline: 0.85rem;
  }
}

/* Compact editorial scale: preserve small copy while reducing display type and large frames. */

.hero-dispatch {
  grid-template-columns: clamp(120px, 10.4vw, 168px) minmax(0, 1fr);
}

.hero-dispatch .hero-index {
  padding-block: clamp(1.6rem, 3.2vw, 3.2rem);
}

.hero-dispatch .hero-index img {
  width: min(92px, 100%);
}

.hero-dispatch .hero-main {
  gap: clamp(1.6rem, 3.2vw, 3.6rem);
  padding-block: clamp(2rem, 4vw, 4rem) 0;
}

.hero-dispatch h1 {
  font-size: clamp(2.8rem, 4.96vw, 4.8rem);
}

.hero-dispatch .hero-intro {
  margin-top: clamp(1.2rem, 2.4vw, 2.4rem);
  padding-top: 1.2rem;
}

.hero-latest-list a {
  min-height: 86px;
  padding: 0.8rem 3.85rem 0.8rem 0.9rem;
}

.hero-latest-list .is-leading a {
  min-height: 200px;
  padding: clamp(0.95rem, 1.6vw, 1.45rem);
}

.hero-latest-list h2 {
  font-size: clamp(1.52rem, 2.24vw, 2.4rem);
}

.hero-latest-list h3 {
  font-size: clamp(0.92rem, 1.24vw, 1.16rem);
}

.featured-stream,
.latest-dispatch,
.world-map-section,
.network-compact,
.researchers-compact {
  padding-block: clamp(3.6rem, 5.6vw, 5.6rem);
}

.stream-heading,
.section-heading {
  gap: 1.6rem;
  margin-bottom: var(--section-content-gap);
  padding-bottom: 1.35rem;
}

.stream-heading h2 {
  font-size: clamp(2.4rem, 4.48vw, 4.4rem);
}

.stream-heading-compact h2 {
  font-size: clamp(2.16rem, 4vw, 3.68rem);
}

.section-heading h2 {
  font-size: clamp(2.4rem, 4.96vw, 4.8rem);
}

.stream-media video,
.stream-media > a,
.stream-media img {
  min-height: 336px;
}

.stream-copy,
.pulse-strip-copy {
  padding: clamp(1.2rem, 2.8vw, 2.8rem);
}

.stream-copy h3,
.pulse-strip-copy h3 {
  font-size: clamp(1.68rem, 2.8vw, 3.2rem);
}

.pulse-strip,
.pulse-strip-media video,
.pulse-strip-media > a,
.pulse-strip-media img {
  min-height: 288px;
}

.linkedin-briefing {
  padding-block: clamp(3.2rem, 4.8vw, 4.8rem);
}

.linkedin-heading {
  grid-template-columns: var(--linkedin-heading-columns, 46px minmax(260px, 0.8fr) minmax(300px, 1.2fr));
  gap: 1.2rem;
  margin-bottom: 1.75rem;
}

.linkedin-mark {
  width: 46px;
  height: 46px;
  font-size: 1.35rem;
}

.linkedin-heading h2 {
  font-size: clamp(1.68rem, 3.04vw, 3.2rem);
}

.linkedin-stream a {
  min-height: 280px;
  padding: clamp(0.9rem, 1.75vw, 1.68rem);
}

.linkedin-stream h3 {
  margin-top: 1.2rem;
  font-size: clamp(1.24rem, 1.76vw, 1.84rem);
}

.network-map-copy h2 {
  font-size: clamp(1.92rem, 3.6vw, 3.84rem);
}

.dispatch-row {
  min-height: 152px;
}

.dispatch-channel {
  padding-block: 1.1rem;
}

.dispatch-channel strong {
  font-size: clamp(1.12rem, 1.6vw, 1.68rem);
}

.dispatch-record {
  padding: 1.08rem clamp(1rem, 2.4vw, 2.4rem);
}

.dispatch-record h3 {
  font-size: clamp(1.36rem, 2.24vw, 2.4rem);
}

.dispatch-record-pending h3 {
  font-size: clamp(1.12rem, 1.76vw, 1.76rem);
}

.network-preview,
.people-preview {
  padding: clamp(1rem, 2vw, 2rem);
}

.network-preview-logo {
  min-height: 136px;
  padding: 0.8rem;
}

.network-preview-logo img,
.network-preview-logo > span {
  height: 74px;
  padding: 0.55rem;
}

.person-preview-row {
  grid-template-columns: 52px minmax(0, 1fr);
  min-height: 74px;
  padding-block: 0.68rem;
}

.person-preview-row img,
.person-preview-mark {
  width: 52px;
  height: 52px;
  font-size: 1.44rem;
}

.person-preview-row h4 {
  font-size: 1.08rem;
}

.homepage-close {
  margin-top: clamp(2.4rem, 4vw, 4rem);
  padding: clamp(1.2rem, 2.4vw, 2.4rem);
}

.homepage-close h3 {
  font-size: clamp(1.44rem, 2.56vw, 2.72rem);
}

@media (max-width: 900px) {
  .linkedin-heading {
    --linkedin-heading-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
  }

  .linkedin-heading-action {
    grid-column: 1;
  }

  .linkedin-heading-action .button-primary {
    width: 100%;
  }

  .stream-media video,
  .stream-media > a,
  .stream-media img,
  .pulse-strip-media video,
  .pulse-strip-media > a,
  .pulse-strip-media img {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .hero-dispatch .hero-main {
    padding-top: 1.75rem;
  }

  .hero-dispatch h1 {
    font-size: clamp(2.4rem, 10.56vw, 3.32rem);
  }

  .stream-heading h2,
  .section-heading h2,
  .directory-hero h1,
  .entity-record-header h1 {
    font-size: clamp(2.24rem, 11.2vw, 3.36rem);
  }

  .hero-latest-list a,
  .hero-latest-list .is-leading a {
    padding: 0.9rem 0.9rem 2.65rem;
  }

  .country-map-shell,
  .country-map {
    min-height: 304px;
  }
}

@media (max-width: 900px) {
  .brand img {
    width: 40px;
    height: 40px;
    aspect-ratio: 1;
    object-fit: contain;
  }

  .hero-dispatch .hero-index img {
    width: 56px;
    height: 56px;
    aspect-ratio: 1;
    object-fit: contain;
  }
}

/* Desktop register rail and thin semantic wayfinding. */

.site-nav a::before,
.section-code::before,
.output-route strong::before {
  flex: 0 0 auto;
  font-family: "Material Symbols Outlined";
  font-size: 1.12rem;
  font-style: normal;
  font-weight: 200;
  font-feature-settings: "liga";
  font-variation-settings: "FILL" 0, "wght" 200, "GRAD" -25, "opsz" 20;
  letter-spacing: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  -webkit-font-smoothing: antialiased;
}

.site-nav a::before {
  content: "\ef42";
  color: var(--text-on-dark-accent);
}

.site-nav a[href*="#outputs"]::before { content: "\e574"; }
.site-nav a[href*="international-records"]::before { content: "\e1a1"; }
.site-nav a[href*="international-network"]::before { content: "\e9f4"; }
.site-nav a[href*="research-community"]::before { content: "\f233"; }
.site-nav .nav-external::before { content: "\f1e1"; }

.section-code {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
}

.section-code::before { content: "\ef42"; }
#interviews .section-code::before { content: "\e04b"; }
#policy-pulse .section-code::before { content: "\f048"; }
#linkedin .section-code::before { content: "\ef49"; }
#latest .section-code::before { content: "\e1a1"; }
#world-map .section-code::before { content: "\e80b"; }
#network .section-code::before { content: "\e9f4"; }
#researchers .section-code::before { content: "\f233"; }

.output-route strong {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
}

.output-route a:nth-child(1) strong::before { content: "\f048"; }
.output-route a:nth-child(2) strong::before { content: "\e04b"; }
.output-route a:nth-child(3) strong::before { content: "\ef42"; }
.output-route a:nth-child(4) strong::before { content: "\e745"; }
.output-route a:nth-child(5) strong::before { content: "\e158"; }
.output-route a:nth-child(6) strong::before { content: "\e878"; }

@media (min-width: 901px) {
  body.cid-site {
    padding-left: var(--rail-w);
  }

  body.cid-site .site-header {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 30;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr);
    width: var(--rail-w);
    min-height: 100dvh;
    overflow-y: auto;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 0;
    color: var(--text-on-dark);
    background: var(--navy-deep);
    backdrop-filter: none;
    transition: background-color 240ms ease-out;
  }

  body.admin-bar.cid-site .site-header {
    top: 32px;
    min-height: calc(100dvh - 32px);
  }

  body.cid-site .site-header.is-condensed {
    box-shadow: none;
  }

  body.cid-site .brand {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.8rem;
    width: 100%;
    padding: 1.2rem 1rem 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  body.cid-site .brand img {
    width: 76px;
    filter: brightness(0) invert(1);
  }

  body.cid-site .brand-copy {
    gap: 0.2rem;
  }

  body.cid-site .brand-copy strong {
    color: var(--text-on-dark);
    font-size: 0.9rem;
    line-height: 1.05;
  }

  body.cid-site .brand-copy small {
    max-width: 18ch;
    margin-top: 0;
    color: var(--text-on-dark-muted);
    font-size: 0.58rem;
    line-height: 1.3;
  }

  body.cid-site .rail-register {
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    line-height: 1.1;
    text-transform: uppercase;
  }

  body.cid-site .rail-register span {
    color: var(--text-on-dark-accent);
    font-size: 0.6rem;
    letter-spacing: 0.06em;
  }

  body.cid-site .rail-register strong {
    color: var(--text-on-dark);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
  }

  body.cid-site .site-nav {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    border-left: 0;
  }

  body.cid-site .site-nav a {
    gap: 0.7rem;
    justify-content: flex-start;
    min-height: 52px;
    padding: 0.7rem 1rem;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--text-on-dark-muted);
    line-height: 1.2;
  }

  body.cid-site .site-nav a:hover,
  body.cid-site .site-nav a:focus-visible,
  body.cid-site .site-nav a[aria-current="true"] {
    color: var(--text-on-dark);
    background: var(--viridian-dark);
  }

  body.cid-site .site-nav a:hover::before,
  body.cid-site .site-nav a:focus-visible::before,
  body.cid-site .site-nav a[aria-current="true"]::before {
    color: var(--text-on-dark);
  }

  body.cid-site .site-nav .nav-external {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }

  body.cid-site .menu-toggle {
    display: none;
  }

  body.cid-site .hero-dispatch {
    grid-template-columns: minmax(0, 1fr);
    min-height: 100svh;
  }

  body.cid-site .hero-dispatch .hero-index {
    display: none;
  }

  body.cid-site .hero-dispatch .hero-main {
    grid-column: 1;
  }

  body.cid-site .skip-link {
    left: calc(var(--rail-w) + 0.75rem);
  }
}

@media (max-width: 900px) {
  .site-nav a::before {
    color: var(--viridian-dark);
  }

  .site-nav a:hover::before,
  .site-nav a:focus-visible::before,
  .site-nav a[aria-current="true"]::before {
    color: inherit;
  }
}

@media print {
  body.cid-site {
    padding-left: 0;
  }
}

/* Official Material Symbols SVG subset: reliable at thin editorial sizes. */

.site-nav a::before,
.section-code::before,
.output-route strong::before {
  width: 1.12rem;
  height: 1.12rem;
  flex: 0 0 auto;
  content: "";
  background: currentColor;
  -webkit-mask: var(--cid-icon) center / contain no-repeat;
  mask: var(--cid-icon) center / contain no-repeat;
}

.site-nav a::before { --cid-icon: url("../icons/material-symbols/article.svg"); }
.site-nav a[href*="#outputs"]::before { --cid-icon: url("../icons/material-symbols/category.svg"); }
.site-nav a[href*="international-records"]::before { --cid-icon: url("../icons/material-symbols/inventory_2.svg"); }
.site-nav a[href*="international-network"]::before { --cid-icon: url("../icons/material-symbols/hub.svg"); }
.site-nav a[href*="research-community"]::before { --cid-icon: url("../icons/material-symbols/groups.svg"); }
.site-nav .nav-external::before { --cid-icon: url("../icons/material-symbols/north_east.svg"); }

.section-code::before { --cid-icon: url("../icons/material-symbols/article.svg"); }
#interviews .section-code::before { --cid-icon: url("../icons/material-symbols/videocam.svg"); }
#policy-pulse .section-code::before { --cid-icon: url("../icons/material-symbols/podcasts.svg"); }
#linkedin .section-code::before { --cid-icon: url("../icons/material-symbols/campaign.svg"); }
#latest .section-code::before { --cid-icon: url("../icons/material-symbols/inventory_2.svg"); }
#world-map .section-code::before { --cid-icon: url("../icons/material-symbols/public.svg"); }
#network .section-code::before { --cid-icon: url("../icons/material-symbols/hub.svg"); }
#researchers .section-code::before { --cid-icon: url("../icons/material-symbols/groups.svg"); }

.output-route a:nth-child(1) strong::before { --cid-icon: url("../icons/material-symbols/podcasts.svg"); }
.output-route a:nth-child(2) strong::before { --cid-icon: url("../icons/material-symbols/videocam.svg"); }
.output-route a:nth-child(3) strong::before { --cid-icon: url("../icons/material-symbols/article.svg"); }
.output-route a:nth-child(4) strong::before { --cid-icon: url("../icons/material-symbols/edit_note.svg"); }
.output-route a:nth-child(5) strong::before { --cid-icon: url("../icons/material-symbols/mail.svg"); }
.output-route a:nth-child(6) strong::before { --cid-icon: url("../icons/material-symbols/event.svg"); }

@media (max-width: 900px) {
  .linkedin-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .linkedin-heading-action {
    grid-column: 1;
  }

  .linkedin-heading-action .button-primary {
    width: 100%;
  }
}

.stream-feature .stream-media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.stream-feature .stream-media video,
.stream-feature .stream-media > a,
.stream-feature .stream-media img {
  height: 100%;
  min-height: 0;
}

@media (max-width: 900px) {
  .stream-feature .stream-media {
    aspect-ratio: 16 / 9;
  }
}

/* Homepage current-work sequence: latest, video, Pulse, LinkedIn, archive, map, relationships, people. */

.latest-proof {
  align-self: start;
  min-width: 0;
  color: var(--white);
  border: 1px solid var(--navy);
  background: var(--navy-deep);
}

.latest-proof-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  color: #dce9ea;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  font-family: var(--cid-mono);
  font-size: 0.68rem;
}

.latest-proof-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
}

.latest-proof-status > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--saffron);
}

.hero-latest-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hero-latest-list li + li {
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.hero-latest-list a {
  position: relative;
  display: block;
  min-height: 108px;
  padding: 1rem 4.8rem 1rem 1.15rem;
  color: var(--white);
  text-decoration: none;
  transition: background-color 180ms ease-out;
}

.hero-latest-list a:hover,
.hero-latest-list a:focus-visible {
  background: #0d3b5b;
}

.hero-latest-list .is-leading a {
  min-height: 250px;
  padding: clamp(1.2rem, 2vw, 1.8rem);
}

.hero-latest-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #9bd1cd;
  font-family: var(--cid-mono);
  font-size: 0.68rem;
}

.hero-latest-list h2,
.hero-latest-list h3 {
  margin: 0.7rem 0 0;
  color: var(--white);
  font-family: var(--cid-display);
  font-weight: 600;
  line-height: 0.98;
}

.hero-latest-list h2 {
  max-width: 20ch;
  font-size: clamp(1.9rem, 2.8vw, 3rem);
  text-transform: uppercase;
}

.hero-latest-list h3 {
  max-width: 34ch;
  font-size: clamp(1.15rem, 1.55vw, 1.45rem);
}

.hero-latest-list p {
  max-width: 58ch;
  margin: 0.8rem 0 2.4rem;
  color: #cbdcde;
  font-size: 0.88rem;
}

.hero-latest-open {
  position: absolute;
  right: 1.15rem;
  bottom: 1rem;
  color: #a8d2cf;
  font-family: var(--cid-mono);
  font-size: 0.68rem;
}

.hero-latest-list .is-leading .hero-latest-open {
  right: 1.8rem;
  bottom: 1.4rem;
}

.latest-proof-empty {
  padding: 2rem;
}

.latest-proof-empty h2 {
  margin: 0;
  color: var(--white);
  font-size: 2rem;
  line-height: 1;
}

.featured-stream {
  padding: clamp(4.5rem, 7vw, 7rem) var(--page-pad);
}

.featured-interview {
  background: var(--white);
}

.stream-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  align-items: end;
  gap: 2rem;
  margin-bottom: clamp(2.25rem, 4vw, 4rem);
}

.stream-heading h2 {
  max-width: 12ch;
  margin: 0.75rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3rem, 5.6vw, 5.5rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 0.9;
  text-transform: uppercase;
}

.stream-heading > div:last-child {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
}

.stream-heading p {
  max-width: 52ch;
  margin: 0;
  color: var(--muted);
}

.stream-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  border: 1px solid var(--navy);
}

.stream-media {
  min-width: 0;
  background: #000;
}

.stream-media video,
.stream-media > a,
.stream-media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.stream-media > a {
  position: relative;
  display: block;
}

.stream-media > a > span,
.pulse-strip-media > a > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.65rem 0.85rem;
  color: var(--white);
  background: var(--navy-deep);
  font-family: var(--cid-mono);
  font-size: 0.72rem;
}

.stream-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 3.5vw, 3.5rem);
  border-left: 1px solid var(--navy);
}

.stream-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
}

.stream-copy h3,
.pulse-strip-copy h3 {
  margin: 1rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(2.1rem, 3.5vw, 4rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 0.94;
}

.stream-copy h3 a,
.pulse-strip-copy h3 a {
  text-decoration: none;
}

.stream-copy > p,
.pulse-strip-copy > p {
  max-width: 58ch;
  color: var(--muted);
}

.stream-relations {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.75rem;
}

.stream-relations span,
.stream-relations a {
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--rule);
  color: var(--navy);
  font-family: var(--cid-mono);
  font-size: 0.64rem;
  text-decoration: none;
}

.stream-relations a:hover,
.stream-relations a:focus-visible {
  border-color: var(--viridian-dark);
  color: var(--viridian-dark);
}

.stream-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 1.1rem;
  margin-top: 1.5rem;
}

.policy-pulse-stream {
  border-block: 1px solid var(--navy);
  background: var(--paper-blue);
}

.stream-heading-compact h2 {
  font-size: clamp(2.7rem, 5vw, 4.6rem);
}

.pulse-strip {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
  min-height: 360px;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
}

.pulse-strip-media {
  min-width: 0;
  background: var(--navy-deep);
}

.pulse-strip-media video,
.pulse-strip-media > a,
.pulse-strip-media img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.pulse-strip-media > a {
  position: relative;
  display: block;
}

.pulse-strip-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 4rem);
  border-left: 1px solid var(--navy);
}

.linkedin-briefing {
  padding: clamp(4rem, 6vw, 6rem) var(--page-pad);
  background: var(--paper);
}

.linkedin-heading {
  display: grid;
  grid-template-columns: 58px minmax(260px, 0.8fr) minmax(300px, 1.2fr);
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 2.2rem;
}

.linkedin-mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--white);
  background: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
}

.linkedin-heading h2 {
  max-width: 18ch;
  margin: 0.65rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(2.1rem, 3.8vw, 4rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 0.92;
  text-transform: uppercase;
}

.linkedin-heading-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem 1.2rem;
}

.linkedin-heading-action p {
  max-width: 54ch;
  margin: 0;
  color: var(--muted);
}

.linkedin-stream {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-block: 1px solid var(--navy);
  list-style: none;
}

.linkedin-stream li {
  min-width: 0;
  border-right: 1px solid var(--navy);
}

.linkedin-stream li:last-child {
  border-right: 0;
}

.linkedin-stream a {
  display: flex;
  min-height: 350px;
  flex-direction: column;
  padding: clamp(1.15rem, 2.2vw, 2.1rem);
  text-decoration: none;
  transition: background-color 180ms ease-out;
}

.linkedin-stream a:hover,
.linkedin-stream a:focus-visible {
  background: var(--paper-blue);
}

.linkedin-meta {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.8rem;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.66rem;
}

.linkedin-stream h3 {
  margin: 1.5rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(1.55rem, 2.2vw, 2.3rem);
  font-weight: 600;
  line-height: 0.98;
}

.linkedin-stream p {
  margin: 1rem 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.linkedin-open {
  margin-top: auto;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
}

.linkedin-empty,
.stream-empty {
  padding: 2rem;
  border: 1px solid var(--navy);
}

.world-map-section {
  padding: clamp(4.5rem, 7vw, 7rem) var(--page-pad);
  color: var(--white);
  background: var(--navy-deep);
}

.world-map-section .network-map-panel {
  margin-bottom: 0;
}

.network-map-copy h2 {
  max-width: 11ch;
  margin: 1rem 0;
  color: var(--white);
  font-family: var(--cid-display);
  font-size: clamp(2.4rem, 4.5vw, 4.8rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 0.9;
  text-transform: uppercase;
}

.leaflet-container {
  font-family: var(--cid-body);
}

@media (max-width: 1100px) {
  .linkedin-heading {
    grid-template-columns: 58px 1fr;
  }

  .linkedin-heading-action {
    grid-column: 2;
  }
}

@media (max-width: 900px) {
  .stream-feature,
  .pulse-strip {
    grid-template-columns: 1fr;
  }

  .stream-media video,
  .stream-media > a,
  .stream-media img {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .stream-copy,
  .pulse-strip-copy {
    border-top: 1px solid var(--navy);
    border-left: 0;
  }

  .linkedin-stream {
    grid-template-columns: 1fr;
  }

  .linkedin-stream li {
    border-right: 0;
    border-bottom: 1px solid var(--navy);
  }

  .linkedin-stream li:last-child {
    border-bottom: 0;
  }

  .linkedin-stream a {
    min-height: 0;
  }

  .network-map-panel {
    grid-template-columns: 1fr;
  }

  .network-map-copy {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  }
}

@media (max-width: 620px) {
  .latest-proof-head,
  .stream-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero-latest-list a,
  .hero-latest-list .is-leading a {
    padding: 1.15rem 1.15rem 3.3rem;
  }

  .hero-latest-list .is-leading .hero-latest-open,
  .hero-latest-open {
    right: 1.15rem;
    bottom: 1rem;
  }

  .stream-heading,
  .linkedin-heading {
    grid-template-columns: 1fr;
  }

  .stream-heading h2 {
    font-size: clamp(2.8rem, 14vw, 4.2rem);
  }

  .linkedin-heading-action {
    grid-column: 1;
  }

  .linkedin-heading-action .button-primary,
  .stream-actions .button-primary {
    width: 100%;
    justify-content: center;
  }

  .pulse-strip-media video,
  .pulse-strip-media > a,
  .pulse-strip-media img {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .linkedin-meta {
    grid-template-columns: auto 1fr;
  }

  .linkedin-meta time {
    grid-column: 2;
  }

  .country-map-shell,
  .country-map {
    min-height: 380px;
  }
}

/* Living archive, entity relationships, and country map */
.live-source-register {
  margin-top: clamp(3rem, 6vw, 6rem);
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
}

.live-source-register > header {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 0.7fr);
  gap: 2rem;
  align-items: end;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--rule);
}

.live-source-register h3 {
  max-width: 18ch;
  margin: 0.55rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(2rem, 3.5vw, 3.8rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 0.95;
  text-transform: uppercase;
}

.live-source-register header p {
  max-width: 48ch;
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.live-source-register ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.live-source-register li + li {
  border-top: 1px solid var(--rule);
}

.live-source-register li a {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) minmax(170px, 0.35fr) 24px;
  gap: 1rem;
  align-items: center;
  min-height: 88px;
  padding: 1rem 0;
  text-decoration: none;
}

.live-source-register li a:hover .live-record-title {
  color: var(--viridian-dark);
}

.live-record-index,
.live-record-type {
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.64rem;
}

.live-record-title {
  color: var(--navy);
  font-family: var(--cid-body);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 500;
  line-height: 1.8;
  transition: color 180ms ease-out;
}

.live-record-arrow {
  color: var(--saffron);
  font-size: 1.25rem;
}

.network-map-panel {
  display: grid;
  grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
  min-height: 480px;
  margin-bottom: clamp(3rem, 6vw, 6rem);
  border: 1px solid rgba(255,255,255,0.45);
}

.network-map-copy {
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-right: 1px solid rgba(255,255,255,0.45);
}

.network-map-copy .section-code {
  color: var(--viridian-pale, #9bd1cd);
}

.network-map-copy h3 {
  max-width: 10ch;
  margin: 1rem 0;
  color: var(--white);
  font-family: var(--cid-display);
  font-size: clamp(2.4rem, 4.5vw, 4.8rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 0.9;
  text-transform: uppercase;
}

.network-map-copy > p {
  max-width: 38ch;
  margin: 0 0 2rem;
  color: #cbdcde;
  font-size: 0.85rem;
}

.country-map-list {
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.country-map-list li {
  border-top: 1px solid rgba(255,255,255,0.24);
}

.country-map-list a,
.country-map-static {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 44px;
  padding: 0.55rem 0;
  color: var(--text-on-dark);
  font-family: var(--cid-mono);
  font-size: 0.66rem;
  text-decoration: none;
}

.country-map-list a:hover span {
  color: var(--text-on-dark-accent);
}

.country-map-static {
  color: var(--navy-on-dark);
}

.country-map-list strong {
  color: var(--signal-light, #f9aa4d);
}

.country-map-shell {
  position: relative;
  min-width: 0;
  min-height: 480px;
  background: var(--paper-blue);
}

.country-map {
  position: absolute;
  inset: 0;
  min-height: 480px;
  color: var(--navy);
  font-family: var(--cid-body);
}

.country-map.has-map-error {
  display: grid;
  place-items: center;
  padding: 3rem;
  text-align: center;
}

.map-attribution {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 500;
  margin: 0;
  padding: 0.25rem 0.4rem;
  color: var(--navy);
  background: rgba(255,255,255,0.9);
  font: 0.55rem/1.3 var(--cid-mono);
}

.cid-map-popup {
  display: grid;
  gap: 0.25rem;
  min-width: 180px;
  color: var(--ink);
  font-family: var(--cid-mono);
  font-size: 0.68rem;
}

.cid-map-popup strong {
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.1rem;
}

.cid-map-popup a {
  margin-top: 0.4rem;
  color: var(--viridian-dark);
  font-weight: 600;
}

.cid-map-marker-wrap {
  display: grid;
  place-items: center;
  width: 44px !important;
  height: 44px !important;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.cid-map-marker-wrap > span {
  display: block;
  width: var(--cid-marker-diameter, 12px);
  height: var(--cid-marker-diameter, 12px);
  border: 2px solid var(--signal-light);
  border-radius: 50%;
  background: var(--navy);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.45);
  transition: transform 160ms ease-out;
}

@media (hover: hover) {
  .cid-map-marker-wrap:hover > span {
    transform: scale(1.12);
  }
}

.cid-map-marker-wrap:active > span {
  transform: scale(0.94);
}

.country-map .leaflet-control-zoom a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  line-height: 1;
}

.logo-box {
  position: relative;
  text-decoration: none;
}

.logo-monogram {
  display: none;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 2.4rem;
  font-weight: 600;
}

.logo-box.has-logo-fallback img {
  display: none;
}

.logo-box.has-logo-fallback .logo-monogram {
  display: block;
}

.researcher-card h4 a {
  text-decoration-color: var(--rule);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.record-index,
.activity-record {
  min-height: 70svh;
}

.record-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.34fr);
  gap: 2rem;
  align-items: end;
  padding: clamp(5rem, 9vw, 9rem) var(--page-pad) clamp(3rem, 6vw, 6rem);
  color: var(--white);
  background: var(--navy);
}

.record-index-hero .section-code {
  color: #9bd1cd;
}

.record-index-hero h1 {
  max-width: 12ch;
  margin: 0.9rem 0 0;
  font-family: var(--cid-display);
  font-size: clamp(4rem, 9vw, 8.5rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 0.82;
  text-transform: uppercase;
}

.record-index-summary {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.42);
}

.record-index-summary strong,
.record-index-summary span {
  display: block;
}

.record-index-summary strong {
  color: #f9aa4d;
  font-family: var(--cid-display);
  font-size: clamp(3.5rem, 6vw, 6rem);
  line-height: 0.85;
}

.record-index-summary span {
  margin-top: 0.5rem;
  color: #9bd1cd;
  font-family: var(--cid-mono);
  font-size: 0.64rem;
  text-transform: uppercase;
}

.record-index-summary p {
  margin: 1.5rem 0 0;
  color: #dce9ea;
  font-size: 0.83rem;
}

.record-index-controls,
.record-table,
.record-pagination {
  margin-inline: var(--page-pad);
}

.record-index-controls {
  padding: clamp(2rem, 4vw, 4rem) 0 1.5rem;
  border-bottom: 1px solid var(--navy);
}

.record-index-controls form {
  display: grid;
  grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
  align-items: end;
  gap: 1rem;
}

.record-index-controls label {
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.4rem;
  font-weight: 600;
  text-transform: uppercase;
}

.record-index-controls form > div {
  display: grid;
  grid-template-columns: 1fr auto;
}

.record-index-controls input {
  min-width: 0;
  min-height: 48px;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--navy);
  border-radius: 0;
  color: var(--ink);
  background: var(--white);
  font: 0.9rem var(--cid-body);
}

.record-index-controls button,
.button-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.7rem 1rem;
  border: 1px solid var(--navy);
  border-radius: 0;
  color: var(--action-primary-fg);
  background: var(--action-primary-bg);
  font: 600 var(--type-action)/1.35 var(--cid-mono);
  letter-spacing: 0.015em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.record-index-controls button:hover,
.button-primary:hover {
  border-color: var(--viridian-dark);
  color: var(--action-primary-hover-fg);
  background: var(--action-primary-hover-bg);
}

.record-type-tabs {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-top: 2rem;
  border: 1px solid var(--navy);
}

.record-type-tabs a {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 58px;
  padding: 0.85rem;
  border-right: 1px solid var(--navy);
  color: var(--navy);
  font: 500 0.64rem/1.3 var(--cid-mono);
  text-decoration: none;
  text-transform: uppercase;
}

.record-type-tabs a:last-child {
  border-right: 0;
}

.record-type-tabs a:hover,
.record-type-tabs a.is-active {
  color: var(--white);
  background: var(--navy);
}

.record-type-tabs span {
  color: var(--viridian-dark);
}

.record-type-tabs .is-active span {
  color: #f9aa4d;
}

.active-index-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: baseline;
  margin-top: 1rem;
  font: 0.64rem var(--cid-mono);
}

.active-index-filter span {
  color: var(--muted);
}

.active-index-filter a {
  margin-left: auto;
  color: var(--viridian-dark);
}

.record-table {
  margin-bottom: clamp(4rem, 8vw, 8rem);
}

.record-table-head,
.record-row {
  display: grid;
  grid-template-columns: minmax(118px, 0.16fr) minmax(0, 1fr) minmax(170px, 0.28fr) minmax(128px, 0.18fr);
  gap: 1.25rem;
}

.record-table-head {
  padding: 0.75rem 0;
  color: var(--muted);
  font: 0.58rem var(--cid-mono);
  text-transform: uppercase;
}

.record-row {
  align-items: start;
  padding: 1.4rem 0;
  border-top: 1px solid var(--rule);
}

.record-row:last-of-type {
  border-bottom: 1px solid var(--navy);
}

.record-row-index,
.record-row-type,
.record-row-action {
  display: grid;
  gap: 0.4rem;
  font-family: var(--cid-mono);
  font-size: 0.61rem;
}

.record-row-index time,
.record-row-index span,
.record-row-type span {
  color: var(--muted);
}

.record-row-main h2 {
  max-width: 34ch;
  margin: 0;
  color: var(--navy);
  font-family: var(--cid-body);
  font-size: clamp(1rem, 1.6vw, 1.28rem);
  font-weight: 500;
  line-height: 1.65;
}

.record-row-main h2 a {
  text-decoration: none;
}

.record-row-main h2 a:hover {
  color: var(--viridian-dark);
}

.record-relations {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.65rem;
  color: var(--muted);
  font: 0.62rem/1.55 var(--cid-mono);
}

.record-relations b {
  margin-right: 0.35rem;
  color: var(--viridian-dark);
  font-weight: 500;
  text-transform: uppercase;
}

.record-relations a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.record-relations a:hover,
.record-relations a:focus-visible {
  color: var(--viridian-dark);
}

.record-row-type strong {
  color: var(--navy);
  font-weight: 500;
  text-transform: uppercase;
}

.record-row-action a {
  color: var(--viridian-dark);
  text-underline-offset: 0.2em;
}

.record-index-empty {
  padding: clamp(3rem, 7vw, 7rem) 0;
  text-align: center;
}

.record-index-empty h2 {
  margin: 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(2.5rem, 5vw, 5rem);
  text-transform: uppercase;
}

.record-pagination {
  padding-bottom: 4rem;
}

.record-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.record-pagination a,
.record-pagination .current {
  display: grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  border: 1px solid var(--navy);
  font: 0.68rem var(--cid-mono);
  text-decoration: none;
}

.record-pagination .current {
  color: var(--white);
  background: var(--navy);
}

.record-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 1.25rem var(--page-pad);
  border-bottom: 1px solid var(--rule);
  color: var(--muted);
  font: 0.62rem var(--cid-mono);
  text-transform: uppercase;
}

.record-breadcrumb a {
  color: var(--viridian-dark);
}

.activity-record-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
  gap: 3rem;
  padding: clamp(3rem, 7vw, 7rem) var(--page-pad);
  border-bottom: 1px solid var(--navy);
}

.activity-record-title h1 {
  max-width: 22ch;
  margin: 1rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3rem, 6.5vw, 6.5rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 0.94;
}

.activity-record-title h1[dir="rtl"] {
  margin-left: auto;
  font-family: var(--cid-body);
  font-size: clamp(2.2rem, 4.5vw, 4.8rem);
  line-height: 1.55;
}

.source-language-note {
  max-width: 55ch;
  margin: 1.25rem 0 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.activity-record-facts {
  margin: 0;
  border-top: 1px solid var(--navy);
}

.activity-record-facts div {
  display: grid;
  grid-template-columns: minmax(100px, 0.42fr) 1fr;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--rule);
}

.activity-record-facts dt,
.activity-record-facts dd {
  margin: 0;
  font: 0.62rem/1.5 var(--cid-mono);
}

.activity-record-facts dt {
  color: var(--muted);
  text-transform: uppercase;
}

.sync-status-dot {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  background: var(--viridian);
}

.activity-record-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.32fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
  padding: clamp(3rem, 7vw, 7rem) var(--page-pad) clamp(5rem, 9vw, 9rem);
}

.activity-record-body {
  min-width: 0;
}

.activity-record-cover {
  max-width: 860px;
  margin: 0 0 3rem;
  border: 1px solid var(--rule);
  background: var(--paper-blue);
}

.activity-record-cover img {
  width: 100%;
  max-height: 760px;
  object-fit: contain;
}

.source-entry-content {
  max-width: 72ch;
}

.source-entry-content[dir="rtl"] {
  margin-left: auto;
  font-size: 1.05rem;
  line-height: 2;
  text-align: right;
}

.source-entry-content img {
  height: auto;
  margin: 2rem 0;
}

.source-entry-content a {
  color: var(--viridian-dark);
  overflow-wrap: anywhere;
}

.activity-record-relations {
  position: sticky;
  top: calc(var(--header-h) + 1.5rem);
  border-top: 1px solid var(--navy);
}

.activity-record-relations > section {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--rule);
}

.activity-record-relations h2 {
  margin: 0 0 0.8rem;
  color: var(--navy);
  font: 600 1.1rem var(--cid-display);
  text-transform: uppercase;
}

.activity-record-relations ul {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.activity-record-relations li {
  display: grid;
  gap: 0.15rem;
  font-size: 0.83rem;
}

.activity-record-relations li a {
  color: var(--viridian-dark);
}

.activity-record-relations li span {
  color: var(--muted);
  font: 0.58rem var(--cid-mono);
  text-transform: uppercase;
}

.country-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.country-chips a {
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--rule);
  font: 0.58rem var(--cid-mono);
  text-decoration: none;
  text-transform: uppercase;
}

.country-chips a:hover {
  color: var(--white);
  border-color: var(--navy);
  background: var(--navy);
}

.activity-record-actions {
  display: grid;
  gap: 1rem;
  padding-top: 1.5rem;
}

@media (max-width: 980px) {
  .network-map-panel,
  .record-index-hero,
  .activity-record-header,
  .activity-record-layout {
    grid-template-columns: 1fr;
  }

  .record-index-hero > * {
    min-width: 0;
  }

  .network-map-copy {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.45);
  }

  .country-map-list {
    columns: 2;
    margin-top: 1rem;
  }

  .activity-record-relations {
    position: static;
  }

  .record-table-head {
    display: none;
  }

  .record-row {
    grid-template-columns: 110px minmax(0, 1fr) minmax(150px, 0.3fr);
  }

  .record-row-action {
    grid-column: 2 / -1;
    display: flex;
    gap: 1rem;
  }
}

@media (max-width: 720px) {
  .live-source-register > header,
  .record-index-controls form {
    grid-template-columns: 1fr;
  }

  .live-source-register li a {
    grid-template-columns: 82px minmax(0, 1fr) 20px;
  }

  .live-record-type {
    grid-column: 2;
  }

  .live-record-arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .record-type-tabs {
    grid-template-columns: 1fr 1fr;
  }

  .record-type-tabs a,
  .record-type-tabs a:last-child {
    border-right: 1px solid var(--navy);
    border-bottom: 1px solid var(--navy);
  }

  .record-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .record-row-index,
  .record-row-type,
  .record-row-action {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
  }

  .record-row-action {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .country-map-list {
    columns: 1;
  }

  .country-map-shell,
  .country-map {
    min-height: 420px;
  }

  .record-index-hero h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 10vw, 3rem);
    letter-spacing: -0.04em;
    line-height: 0.86;
  }

  .record-index-controls form > div {
    grid-template-columns: 1fr;
  }

  .record-type-tabs {
    grid-template-columns: 1fr;
  }

  .activity-record-title h1[dir="rtl"] {
    font-size: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .route-line {
    animation: none;
    transform: scaleX(1);
  }

  .record,
  .note-layout img,
  .menu-mark,
  .menu-mark::before,
  .cid-map-marker-wrap > span {
    transition: none;
  }

  .route-node {
    transition: background-color 120ms ease-out;
  }

  .cover-link img {
    transition: box-shadow 120ms ease-out;
  }

  .activity-route a:hover .route-node,
  .cover-link:hover img,
  .note-layout > a:hover img,
  .cid-map-marker-wrap:hover > span,
  .cid-map-marker-wrap:active > span {
    transform: none;
  }
}

@media print {
  .site-header,
  .menu-toggle,
  .filter-group,
  video {
    display: none !important;
  }

  .hero {
    min-height: 0;
  }

  body {
    color: #000;
    background: #fff;
  }
}

/* WordPress and Elementor integration */
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-widget-html > .elementor-widget-container,
.cid-main > .elementor {
  width: 100%;
}

.cid-main .elementor-widget-shortcode {
  margin: 0;
  padding: 0;
}

.cid-entry {
  width: min(100% - (2 * var(--page-pad)), 1120px);
  min-height: 70svh;
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 8rem) 0;
}

.cid-entry > article > header h1,
.cid-entry > header h1,
.cid-not-found h1 {
  max-width: 12ch;
  margin: 0 0 2.5rem;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: 0.92;
  text-transform: uppercase;
}

.entry-content {
  max-width: 75ch;
}

.elementor-page .entry-content {
  max-width: none;
}

.researcher-list {
  display: grid;
}

.researcher-card {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 1.25rem;
  padding: 1.5rem;
  border-bottom: 1px solid var(--rule);
}

.researcher-card:last-child {
  border-bottom: 0;
}

.researcher-card img {
  width: 120px;
  height: 144px;
  object-fit: cover;
}

.researcher-card h4 {
  margin: 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.45rem;
}

.researcher-card p {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.researcher-card .researcher-role {
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.64rem;
  text-transform: uppercase;
}

@media (max-width: 620px) {
  .researcher-card {
    grid-template-columns: 84px 1fr;
  }

  .researcher-card img {
    width: 84px;
    height: 104px;
  }
}

/* Narrow-phone adaptation: preserve the information architecture at 320-430px. */
@media (max-width: 440px) {
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("../fonts/material-symbols-outlined-subset.woff2") format("woff2");
}

:root {
    --header-h: 64px;
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .brand {
    gap: 0.55rem;
    width: auto;
    min-width: 0;
    padding: 0.5rem 0.5rem 0.5rem max(0.75rem, env(safe-area-inset-left));
  }

  .brand img {
    flex: 0 0 auto;
    width: 40px;
    height: 38px;
  }

  .brand-copy {
    min-width: 0;
  }

  .brand-copy strong {
    max-width: 15ch;
    font-size: 0.78rem;
    line-height: 1.05;
  }

  .menu-toggle {
    gap: 0.5rem;
    min-width: 76px;
    min-height: var(--header-h);
    padding-right: max(0.65rem, env(safe-area-inset-right));
    padding-left: 0.65rem;
  }

  .hero-dispatch .hero-main {
    min-width: 0;
    padding-right: max(1rem, env(safe-area-inset-right));
    padding-left: max(1rem, env(safe-area-inset-left));
  }

  .hero-thesis,
  .hero-dispatch .hero-intro,
  .hero-latest,
  .hero-latest-list,
  .hero-latest-list li,
  .hero-latest-list a {
    min-width: 0;
    max-width: 100%;
  }

  .hero-dispatch .hero-intro p,
  .hero-latest-list h2,
  .hero-latest-list h3,
  .hero-latest-list p {
    overflow-wrap: break-word;
  }

  .hero-actions,
  .hero-actions > * {
    min-width: 0;
    max-width: 100%;
  }

  .world-map-section {
    padding-right: max(0.75rem, env(safe-area-inset-right));
    padding-left: max(0.75rem, env(safe-area-inset-left));
  }

  .network-map-copy {
    padding: 1.25rem;
  }

  .country-map-list a,
  .country-map-static {
    min-height: 44px;
  }
}

/* Output-first redesign: compact networked timeline */

.hero-dispatch {
  min-height: auto;
  grid-template-columns: clamp(150px, 13vw, 210px) minmax(0, 1fr);
}

.hero-dispatch .hero-index {
  padding-block: clamp(2rem, 4vw, 4rem);
}

.hero-dispatch .hero-index img {
  width: min(116px, 100%);
}

.hero-dispatch .hero-main {
  grid-template-columns: minmax(300px, 0.8fr) minmax(420px, 1.2fr);
  grid-template-rows: auto auto;
  gap: clamp(2rem, 4vw, 4.5rem);
  padding-block: clamp(2.5rem, 5vw, 5rem) 0;
  overflow: visible;
}

.hero-thesis {
  align-self: center;
  min-width: 0;
}

.hero-dispatch h1 {
  max-width: none;
  font-size: clamp(3.5rem, 6.2vw, 6rem);
  line-height: 0.86;
}

.hero-dispatch h1 span {
  display: block;
}

.hero-dispatch h1 span:first-child {
  color: var(--viridian-dark);
  font-size: 0.56em;
  letter-spacing: 0;
  line-height: 1.05;
}

.hero-dispatch .hero-intro {
  margin-top: clamp(1.5rem, 3vw, 3rem);
  padding-top: 1.5rem;
}

.hero-dispatch .hero-intro p {
  font-size: clamp(0.96rem, 1.15vw, 1.08rem);
}

.hero-actions,
.section-heading-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}

.button-primary,
.button-primary-light,
.hero-actions .text-link,
.dispatch-channel a,
.dispatch-open,
.output-route a,
.directory-controls a,
.directory-controls button {
  min-height: 44px;
}

.button-primary-light {
  border-color: var(--paper);
  color: var(--navy-deep);
  background: var(--paper);
}

.button-primary-light:hover {
  border-color: var(--saffron);
  color: var(--white);
  background: var(--viridian-dark);
}

.hero-actions .text-link,
.action-link {
  margin-top: 0;
  padding-block: 0.65rem;
}

.action-link,
.section-heading-action .text-link,
.dispatch-record h3 a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.pulse-proof {
  align-self: start;
  min-width: 0;
  border: 1px solid var(--navy);
  background: var(--navy-deep);
}

.pulse-proof-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 44px;
  padding: 0.65rem 0.85rem;
  color: #dce9ea;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  font-family: var(--cid-mono);
  font-size: 0.68rem;
  line-height: 1.4;
}

.pulse-feed-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
}

.pulse-feed-status > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--saffron);
}

.cid-pulse-player {
  position: relative;
  background: #000;
}

.cid-pulse-player video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #000;
}

.pulse-proof-copy,
.pulse-proof-empty {
  padding: clamp(1.1rem, 2vw, 1.8rem);
  color: var(--white);
}

.pulse-proof-copy > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #9bd1cd;
  font-family: var(--cid-mono);
  font-size: 0.72rem;
}

.pulse-proof h2 {
  max-width: 20ch;
  margin: 0.8rem 0 0;
  color: var(--white);
  font-family: var(--cid-display);
  font-size: clamp(1.75rem, 2.5vw, 2.7rem);
  font-weight: 600;
  line-height: 0.98;
  text-transform: uppercase;
}

.pulse-proof p {
  max-width: 60ch;
  margin: 0.8rem 0 0;
  color: #cbdcde;
  font-size: 0.9rem;
}

.pulse-proof .action-link {
  color: #a8d2cf;
}

.output-route {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-inline: calc(-1 * var(--page-pad));
  border-top: 1px solid var(--navy);
  background: var(--paper-blue);
}

.output-route a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 1rem clamp(0.7rem, 1.4vw, 1.25rem);
  border-right: 1px solid var(--rule);
  text-decoration: none;
  transition: color 160ms ease-out, background-color 160ms ease-out;
}

.output-route a:last-child {
  border-right: 0;
}

.output-route a:hover,
.output-route a:focus-visible {
  color: var(--white);
  background: var(--viridian-dark);
}

.output-route-mark {
  position: absolute;
  top: -5px;
  left: 1rem;
  width: 10px;
  height: 10px;
  border: 2px solid var(--viridian-dark);
  border-radius: 50%;
  background: var(--paper);
}

.output-route strong {
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  line-height: 1;
  text-transform: uppercase;
}

.output-route small {
  margin-top: 0.4rem;
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
}

.output-route a:hover strong,
.output-route a:focus-visible strong,
.output-route a:hover small,
.output-route a:focus-visible small {
  color: inherit;
}

.latest-dispatch,
.researchers-compact,
.directory-index,
.entity-record {
  padding: clamp(4.5rem, 7vw, 7rem) var(--page-pad);
}

.section-heading-action {
  align-items: flex-start;
  justify-content: space-between;
}

.section-heading-action p {
  max-width: 54ch;
  margin: 0;
  color: var(--muted);
}

.section-heading-inverse .section-heading-action p {
  color: #cbdcde;
}

.dispatch-timeline {
  position: relative;
  border-top: 1px solid var(--navy);
}

.dispatch-timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(168px, 17vw, 240px);
  width: 1px;
  background: var(--viridian-dark);
  content: "";
}

.dispatch-row {
  position: relative;
  display: grid;
  grid-template-columns: clamp(168px, 17vw, 240px) minmax(0, 1fr) minmax(100px, 0.24fr);
  min-height: 190px;
  border-bottom: 1px solid var(--navy);
}

.dispatch-channel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.4rem clamp(1rem, 2vw, 2rem) 1.4rem 0;
}

.dispatch-node {
  position: absolute;
  top: 2rem;
  right: -6px;
  z-index: 1;
  width: 12px;
  height: 12px;
  border: 2px solid var(--viridian-dark);
  border-radius: 50%;
  background: var(--paper);
}

.dispatch-channel strong {
  max-width: 12ch;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(1.4rem, 2vw, 2.1rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.dispatch-channel a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.72rem;
}

.dispatch-record {
  align-self: stretch;
  padding: 1.35rem clamp(1.25rem, 3vw, 3rem);
}

.dispatch-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.6rem 1rem;
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.72rem;
}

.dispatch-record h3 {
  max-width: 36ch;
  margin: 0.65rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(1.7rem, 2.8vw, 3rem);
  font-weight: 600;
  line-height: 0.98;
}

.dispatch-record h3 a {
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 0.18em;
}

.dispatch-record h3 a:hover {
  text-decoration-color: var(--viridian-dark);
}

.dispatch-record > p {
  max-width: 70ch;
  margin: 0.65rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.dispatch-relations {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1rem;
}

.dispatch-relations span,
.dispatch-relations a {
  padding: 0.28rem 0.5rem;
  border: 1px solid var(--rule);
  color: var(--navy);
  font-family: var(--cid-mono);
  font-size: 0.68rem;
  text-decoration: none;
}

.dispatch-relations a:hover,
.dispatch-relations a:focus-visible {
  border-color: var(--viridian-dark);
  color: var(--viridian-dark);
}

.dispatch-record-pending {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--paper-blue);
}

.dispatch-record-pending h3 {
  font-size: clamp(1.4rem, 2.2vw, 2.2rem);
}

.dispatch-open {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  align-self: stretch;
  padding: 1.2rem;
  border-left: 1px solid var(--rule);
  color: var(--navy);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
  text-decoration: none;
  text-transform: uppercase;
}

.dispatch-open:hover {
  color: var(--white);
  background: var(--viridian-dark);
}

.network-compact {
  padding: clamp(4.5rem, 7vw, 7rem) var(--page-pad);
}

.network-preview-grid,
.people-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.42);
}

.network-preview,
.people-preview {
  min-width: 0;
  padding: clamp(1.25rem, 2.5vw, 2.5rem);
  background: var(--navy);
}

.network-preview > h3,
.people-preview > h3 {
  margin: 0 0 1.2rem;
  color: #a8d2cf;
  font-family: var(--cid-mono);
  font-size: var(--type-section-label);
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
}

.network-preview-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, 0.28);
}

.network-preview-list article {
  min-width: 0;
  background: var(--navy-deep);
}

.network-preview-logo {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 170px;
  padding: 1rem;
  text-decoration: none;
}

.network-preview-logo img,
.network-preview-logo > span {
  width: 100%;
  height: 92px;
  padding: 0.7rem;
  object-fit: contain;
  color: var(--navy);
  background: var(--white);
  font-family: var(--cid-display);
  font-size: 2rem;
  text-align: center;
}

.network-preview-logo strong {
  margin-top: 0.8rem;
  color: var(--white);
  font-family: var(--cid-display);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1;
}

.researchers-compact .section-heading {
  align-items: end;
}

.people-preview-grid {
  border-color: var(--navy);
  background: var(--navy);
}

.people-preview {
  color: var(--ink);
  background: var(--paper);
}

.people-preview > h3 {
  color: var(--viridian-dark);
}

.people-preview-list {
  border-top: 1px solid var(--navy);
}

.person-preview-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 92px;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--rule);
}

.person-preview-row img,
.person-preview-mark {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  object-fit: cover;
  color: var(--white);
  background: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.8rem;
}

.person-preview-row h4 {
  margin: 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.35rem;
  line-height: 1;
}

.person-preview-row p {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
}

.homepage-close {
  display: grid;
  grid-template-columns: minmax(120px, 0.25fr) minmax(0, 1fr) minmax(210px, 0.4fr);
  gap: 1.5rem;
  align-items: center;
  margin-top: clamp(3rem, 5vw, 5rem);
  padding: clamp(1.5rem, 3vw, 3rem);
  color: var(--white);
  background: var(--viridian-dark);
}

.homepage-close > span {
  font-family: var(--cid-mono);
  font-size: 0.72rem;
}

.homepage-close h3 {
  margin: 0;
  font-family: var(--cid-display);
  font-size: clamp(1.8rem, 3.2vw, 3.4rem);
  font-weight: 600;
  line-height: 0.95;
  text-transform: uppercase;
}

.homepage-close p {
  margin: 0;
  color: #dce9ea;
  font-size: 0.86rem;
}

.homepage-close .button-primary {
  grid-column: 3;
  justify-self: start;
  color: var(--navy);
  background: var(--white);
}

.directory-index,
.entity-record {
  padding-top: calc(var(--header-h) + clamp(2rem, 4vw, 4rem));
}

.directory-hero,
.entity-record-header {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
  padding-bottom: clamp(2rem, 4vw, 4rem);
  border-bottom: 1px solid var(--navy);
}

.directory-hero h1,
.entity-record-header h1 {
  max-width: 14ch;
  margin: 0.75rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.88;
  text-transform: uppercase;
}

.directory-hero > p,
.entity-record-header p {
  max-width: 56ch;
  margin: 0;
  color: var(--muted);
}

.directory-controls {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--navy);
}

.directory-controls label {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--navy);
  font-family: var(--cid-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.directory-controls form > div {
  display: flex;
}

.directory-controls input {
  min-width: 0;
  min-height: 46px;
  flex: 1;
  border: 1px solid var(--navy);
  border-radius: 0;
  background: var(--white);
  padding: 0.7rem 0.85rem;
  font: inherit;
}

.directory-controls button,
.directory-controls nav a {
  display: inline-flex;
  align-items: center;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--navy);
  border-radius: 0;
  color: var(--navy);
  background: transparent;
  font-family: var(--cid-mono);
  font-size: 0.7rem;
  text-decoration: none;
  text-transform: uppercase;
}

.directory-controls button,
.directory-controls nav a.is-active,
.directory-controls nav a:hover {
  color: var(--white);
  background: var(--navy);
}

.directory-controls nav {
  display: flex;
}

.directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 2rem;
  border: 1px solid var(--navy);
  background: var(--navy);
}

.directory-entry {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 1.1rem;
  min-width: 0;
  min-height: 150px;
  padding: 1.25rem;
  background: var(--paper);
}

.directory-entry-logo {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  padding: 0.65rem;
  color: var(--white);
  background: var(--navy);
  text-decoration: none;
  font-family: var(--cid-display);
  font-size: 2rem;
}

.directory-entry-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--white);
}

.directory-entry > div > span {
  color: var(--viridian-dark);
  font-family: var(--cid-mono);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.directory-entry h2 {
  margin: 0.45rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 1.45rem;
  line-height: 1;
}

.directory-entry p {
  margin: 0.65rem 0 0;
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
}

.entity-record .record-breadcrumb {
  margin-bottom: 2rem;
}

.entity-record-header {
  grid-template-columns: clamp(180px, 24vw, 340px) minmax(0, 1fr);
  align-items: center;
}

.entity-record-mark {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  padding: clamp(1rem, 3vw, 3rem);
  color: var(--white);
  background: var(--navy);
  font-family: var(--cid-display);
  font-size: clamp(3rem, 8vw, 7rem);
}

.entity-record-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--white);
}

.entity-person-header .entity-record-mark img {
  object-fit: cover;
}

.entity-role {
  color: var(--viridian-dark) !important;
  font-family: var(--cid-mono);
  text-transform: uppercase;
}

.entity-profile-summary {
  max-width: 66ch;
}

.entity-evidence {
  display: grid;
  grid-template-columns: minmax(190px, 0.35fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  margin-top: clamp(3rem, 6vw, 6rem);
}

.entity-evidence h2 {
  margin: 0.5rem 0 0;
  color: var(--navy);
  font-family: var(--cid-display);
  font-size: 2rem;
  text-transform: uppercase;
}

.entity-evidence ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--navy);
}

.entity-evidence li a {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 140px;
  gap: 1rem;
  align-items: center;
  min-height: 70px;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--rule);
  text-decoration: none;
}

.entity-evidence time,
.entity-evidence li span {
  color: var(--muted);
  font-family: var(--cid-mono);
  font-size: 0.7rem;
}

.relation-note {
  margin: -0.4rem 0 0.8rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.activity-record-relations li .relation-origin {
  width: max-content;
  margin-top: 0.2rem;
  padding: 0.22rem 0.4rem;
  border: 1px solid currentColor;
  color: var(--viridian-dark);
  font: 500 0.56rem/1.35 var(--cid-mono);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.activity-record-relations li .relation-origin.is-extracted {
  color: var(--muted);
  border-style: dashed;
}

.cid-pulse-player-record {
  margin-bottom: 2rem;
  border: 1px solid var(--navy);
}

@media (max-width: 1100px) {
  .hero-dispatch .hero-main {
    grid-template-columns: minmax(270px, 0.75fr) minmax(360px, 1.25fr);
  }

  .output-route {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .output-route a:nth-child(3) {
    border-right: 0;
  }

  .output-route a:nth-child(-n + 3) {
    border-bottom: 1px solid var(--rule);
  }

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

@media (max-width: 900px) {
  .hero-dispatch {
    grid-template-columns: 1fr;
  }

  .hero-dispatch .hero-index {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem var(--page-pad);
  }

  .hero-dispatch .hero-index img {
    width: 64px;
    margin: 0;
  }

  .hero-dispatch .index-code {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .hero-dispatch .hero-index p {
    margin: 0;
    text-align: right;
  }

  .hero-dispatch .hero-main {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .output-route {
    grid-column: 1;
  }

  .dispatch-timeline::before {
    left: 150px;
  }

  .dispatch-row {
    grid-template-columns: 150px minmax(0, 1fr);
  }

  .dispatch-open {
    grid-column: 2;
    min-height: 52px;
    border-top: 1px solid var(--rule);
    border-left: 0;
  }

  .network-preview-list {
    grid-template-columns: 1fr;
  }

  .network-preview-logo {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-height: 108px;
  }

  .network-preview-logo img,
  .network-preview-logo > span {
    width: 84px;
    height: 76px;
  }

  .homepage-close {
    grid-template-columns: 1fr 1fr;
  }

  .homepage-close > span {
    grid-column: 1 / -1;
  }

  .homepage-close .button-primary {
    grid-column: 2;
  }

  .directory-hero,
  .directory-controls,
  .entity-evidence {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .hero-dispatch .hero-index {
    grid-template-columns: 56px 1fr;
  }

  .hero-dispatch .hero-index img {
    width: 52px;
  }

  .hero-dispatch .hero-index p {
    display: none;
  }

  .hero-dispatch .hero-main {
    padding-top: 2.2rem;
  }

  .hero-dispatch h1 {
    max-width: 100%;
    font-size: clamp(3rem, 13.2vw, 4.15rem);
    letter-spacing: -0.025em;
    line-height: 0.9;
    overflow-wrap: anywhere;
  }

  .hero-dispatch h1 span:first-child {
    font-size: 0.58em;
  }

  .hero-actions {
    align-items: stretch;
  }

  .hero-actions > * {
    width: 100%;
    justify-content: center;
  }

  .pulse-proof-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .output-route {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .output-route a,
  .output-route a:nth-child(3) {
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
  }

  .output-route a:nth-child(even) {
    border-right: 0;
  }

  .output-route a:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .section-heading,
  .network-preview-grid,
  .people-preview-grid,
  .homepage-close,
  .entity-record-header {
    grid-template-columns: 1fr;
  }

  .section-heading h2,
  .directory-hero h1,
  .entity-record-header h1 {
    font-size: clamp(2.8rem, 14vw, 4.4rem);
  }

  .dispatch-timeline::before {
    left: 9px;
  }

  .dispatch-row {
    grid-template-columns: 1fr;
    padding-left: 1.5rem;
  }

  .dispatch-channel {
    min-height: 86px;
    padding: 1rem 0;
    border-bottom: 1px solid var(--rule);
  }

  .dispatch-node {
    top: 1.4rem;
    right: auto;
    left: -1.35rem;
  }

  .dispatch-channel strong {
    font-size: 1.5rem;
  }

  .dispatch-record {
    padding: 1.2rem 0;
  }

  .dispatch-open {
    grid-column: 1;
    margin-left: -1.5rem;
    padding-left: 1.5rem;
  }

  .network-preview-grid {
    border: 0;
  }

  .network-preview,
  .people-preview {
    padding-inline: 0;
  }

  .homepage-close .button-primary {
    grid-column: 1;
  }

  .directory-index,
  .entity-record {
    padding-top: calc(var(--header-h) + 2rem);
  }

  .directory-controls form > div,
  .directory-controls nav {
    flex-wrap: wrap;
  }

  .directory-controls input {
    width: 100%;
    flex-basis: 100%;
  }

  .directory-controls button,
  .directory-controls nav a {
    flex: 1;
    justify-content: center;
  }

  .directory-grid {
    grid-template-columns: 1fr;
  }

  .directory-entry {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .directory-entry-logo {
    width: 72px;
    height: 72px;
  }

  .entity-record-mark {
    width: min(280px, 100%);
  }

  .entity-evidence li a {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

/*
 * WordPress/Elementor color cascade shield.
 * The Persian site kit publishes important anchor colors after the CID theme;
 * keep semantic foreground roles authoritative on the English CID surface.
 */
body.cid-site .skip-link {
  color: var(--text-on-dark) !important;
  background-color: var(--navy-deep) !important;
}

body.cid-site a.button-primary:not(.button-primary-light),
body.cid-site a.button-primary:not(.button-primary-light) > * {
  color: var(--action-primary-fg) !important;
}

body.cid-site a.button-primary:not(.button-primary-light) {
  border-color: var(--action-primary-bg) !important;
  background-color: var(--action-primary-bg) !important;
}

body.cid-site a.button-primary:not(.button-primary-light):hover,
body.cid-site a.button-primary:not(.button-primary-light):focus-visible {
  border-color: var(--action-primary-hover-bg) !important;
  color: var(--action-primary-hover-fg) !important;
  background-color: var(--action-primary-hover-bg) !important;
}

body.cid-site a.button-primary-light,
body.cid-site a.button-primary-light > * {
  color: var(--navy-deep) !important;
}

body.cid-site a.button-primary-light {
  border-color: var(--paper) !important;
  background-color: var(--paper) !important;
}

body.cid-site a.button-primary-light:hover,
body.cid-site a.button-primary-light:focus-visible {
  border-color: var(--action-primary-hover-bg) !important;
  color: var(--action-primary-hover-fg) !important;
  background-color: var(--action-primary-hover-bg) !important;
}

body.cid-site .homepage-close a.button-primary,
body.cid-site .homepage-close a.button-primary > * {
  color: var(--navy) !important;
}

body.cid-site .homepage-close a.button-primary {
  border-color: var(--white) !important;
  background-color: var(--white) !important;
}

body.cid-site .country-map-list a,
body.cid-site .country-map-list a span,
body.cid-site .country-map-static,
body.cid-site .country-map-static span {
  color: var(--text-on-dark) !important;
}

body.cid-site .country-map-list strong {
  color: var(--signal-light) !important;
}

body.cid-site .country-map-list a:hover span,
body.cid-site .country-map-list a:focus-visible span {
  color: var(--text-on-dark-accent) !important;
}

/* Final compact-scale overrides. Kept last so every responsive branch inherits the tighter rhythm. */

.hero-dispatch {
  grid-template-columns: clamp(120px, 10.4vw, 168px) minmax(0, 1fr);
}

.hero-dispatch .hero-index {
  padding-block: clamp(1.6rem, 3.2vw, 3.2rem);
}

.hero-dispatch .hero-index img {
  width: min(92px, 100%);
}

.hero-dispatch .hero-main {
  gap: clamp(1.6rem, 3.2vw, 3.6rem);
  padding-block: clamp(2rem, 4vw, 4rem) 0;
}

.hero-dispatch h1 {
  font-size: clamp(2.8rem, 4.96vw, 4.8rem);
}

.hero-dispatch .hero-intro {
  margin-top: clamp(1.2rem, 2.4vw, 2.4rem);
  padding-top: 1.2rem;
}

.hero-latest-list a {
  min-height: 86px;
  padding: 0.8rem 3.85rem 0.8rem 0.9rem;
}

.hero-latest-list .is-leading a {
  min-height: 200px;
  padding: clamp(0.95rem, 1.6vw, 1.45rem);
}

.hero-latest-list h2 {
  font-size: clamp(1.52rem, 2.24vw, 2.4rem);
}

.hero-latest-list h3 {
  font-size: clamp(0.92rem, 1.24vw, 1.16rem);
}

.featured-stream,
.latest-dispatch,
.world-map-section,
.network-compact,
.researchers-compact {
  padding-block: clamp(3.6rem, 5.6vw, 5.6rem);
}

.stream-heading,
.section-heading {
  gap: 1.6rem;
  margin-bottom: var(--section-content-gap);
  padding-bottom: 1.35rem;
}

.stream-heading h2 {
  font-size: clamp(2.4rem, 4.48vw, 4.4rem);
}

.stream-heading-compact h2 {
  font-size: clamp(2.16rem, 4vw, 3.68rem);
}

.section-heading h2 {
  font-size: clamp(2.4rem, 4.96vw, 4.8rem);
}

.stream-media video,
.stream-media > a,
.stream-media img {
  min-height: 336px;
}

.stream-copy,
.pulse-strip-copy {
  padding: clamp(1.2rem, 2.8vw, 2.8rem);
}

.stream-copy h3,
.pulse-strip-copy h3 {
  font-size: clamp(1.68rem, 2.8vw, 3.2rem);
}

.pulse-strip,
.pulse-strip-media video,
.pulse-strip-media > a,
.pulse-strip-media img {
  min-height: 288px;
}

.linkedin-briefing {
  padding-block: clamp(3.2rem, 4.8vw, 4.8rem);
}

.linkedin-heading {
  grid-template-columns: var(--linkedin-heading-columns, 46px minmax(260px, 0.8fr) minmax(300px, 1.2fr));
  gap: 1.2rem;
  margin-bottom: 1.75rem;
}

.linkedin-mark {
  width: 46px;
  height: 46px;
  font-size: 1.35rem;
}

.linkedin-heading h2 {
  font-size: clamp(1.68rem, 3.04vw, 3.2rem);
}

.linkedin-stream a {
  min-height: 280px;
  padding: clamp(0.9rem, 1.75vw, 1.68rem);
}

.linkedin-stream h3 {
  margin-top: 1.2rem;
  font-size: clamp(1.24rem, 1.76vw, 1.84rem);
}

.network-map-copy h2 {
  font-size: clamp(1.92rem, 3.6vw, 3.84rem);
}

.dispatch-row {
  min-height: 152px;
}

.dispatch-channel {
  padding-block: 1.1rem;
}

.dispatch-channel strong {
  font-size: clamp(1.12rem, 1.6vw, 1.68rem);
}

.dispatch-record {
  padding: 1.08rem clamp(1rem, 2.4vw, 2.4rem);
}

.dispatch-record h3 {
  font-size: clamp(1.36rem, 2.24vw, 2.4rem);
}

.dispatch-record-pending h3 {
  font-size: clamp(1.12rem, 1.76vw, 1.76rem);
}

.network-preview,
.people-preview {
  padding: clamp(1rem, 2vw, 2rem);
}

.network-preview-logo {
  min-height: 136px;
  padding: 0.8rem;
}

.network-preview-logo img,
.network-preview-logo > span {
  height: 74px;
  padding: 0.55rem;
}

.person-preview-row {
  grid-template-columns: 52px minmax(0, 1fr);
  min-height: 74px;
  padding-block: 0.68rem;
}

.person-preview-row img,
.person-preview-mark {
  width: 52px;
  height: 52px;
  font-size: 1.44rem;
}

.person-preview-row h4 {
  font-size: 1.08rem;
}

.homepage-close {
  margin-top: clamp(2.4rem, 4vw, 4rem);
  padding: clamp(1.2rem, 2.4vw, 2.4rem);
}

.homepage-close h3 {
  font-size: clamp(1.44rem, 2.56vw, 2.72rem);
}

@media (max-width: 900px) {
  .stream-media video,
  .stream-media > a,
  .stream-media img,
  .pulse-strip-media video,
  .pulse-strip-media > a,
  .pulse-strip-media img {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .hero-dispatch .hero-main {
    padding-top: 1.75rem;
  }

  .hero-dispatch h1 {
    font-size: clamp(2.4rem, 10.56vw, 3.32rem);
  }

  .stream-heading h2,
  .section-heading h2,
  .directory-hero h1,
  .entity-record-header h1 {
    font-size: clamp(2.24rem, 11.2vw, 3.36rem);
  }

  .hero-latest-list a,
  .hero-latest-list .is-leading a {
    padding: 0.9rem 0.9rem 2.65rem;
  }

  .country-map-shell,
  .country-map {
    min-height: 304px;
  }
}

/* CID Core 1.5 editorial density controls. */
.stream-items {
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
}

.stream-items > .stream-feature + .stream-feature,
.stream-items > .pulse-strip + .pulse-strip {
	padding-top: clamp(1.5rem, 3vw, 3rem);
	border-top: 1px solid var(--cid-rule, #9fb1b4);
}

.dispatch-records {
	display: contents;
}

/* Interview register: one playable lead with an always-visible recent queue. */
.interview-register {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(310px, 0.55fr);
	border: 1px solid var(--navy);
	background: var(--white);
}

.interview-lead {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 0;
}

.interview-lead .stream-media {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.interview-lead .stream-copy {
	flex: 1;
	justify-content: flex-start;
	padding: clamp(1.35rem, 2.4vw, 2.4rem);
	border-top: 1px solid var(--navy);
	border-left: 0;
}

.interview-lead .stream-copy h3 {
	max-width: 16ch;
	font-size: clamp(1.68rem, 2.8vw, 3.2rem);
}

.interview-queue {
	display: grid;
	grid-auto-rows: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	border-left: 1px solid var(--navy);
	list-style: none;
}

.interview-queue > li {
	min-width: 0;
}

.interview-queue > li + li {
	border-top: 1px solid var(--navy);
}

.interview-queue-item {
	display: grid;
	grid-template-rows: auto 1fr;
	height: 100%;
	min-height: 0;
}

.interview-queue-media {
	position: relative;
	display: block;
	min-height: 152px;
	overflow: hidden;
	background: var(--navy-deep);
}

.interview-queue-media img,
.interview-media-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 152px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1), filter 180ms ease-out;
}

.interview-media-placeholder {
	position: relative;
	background: var(--navy-deep);
}

.interview-media-placeholder::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	background: var(--dark-accent, #9bd1cd);
	content: "";
	transform: translate(-50%, -50%);
	-webkit-mask: url("../icons/material-symbols/videocam.svg") center / contain no-repeat;
	mask: url("../icons/material-symbols/videocam.svg") center / contain no-repeat;
}

.interview-play {
	position: absolute;
	right: 0;
	bottom: 0;
	display: inline-flex;
	min-width: 56px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 0.8rem;
	color: var(--white);
	background: var(--navy-deep);
	font-family: var(--cid-mono);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
}

.interview-queue-media:hover img,
.interview-queue-media:focus-visible img {
	transform: scale(1.025);
	filter: saturate(1.04) contrast(1.03);
}

.interview-queue-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1rem, 1.8vw, 1.5rem);
}

.interview-queue-meta {
	display: flex;
	width: 100%;
	justify-content: space-between;
	gap: 0.75rem;
	color: var(--viridian-dark);
	font-family: var(--cid-mono);
	font-size: 0.62rem;
}

.interview-queue-copy h3 {
	margin: 0.7rem 0 0;
	color: var(--navy);
	font-family: var(--cid-display);
	font-size: clamp(1.22rem, 1.7vw, 1.65rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
	overflow-wrap: anywhere;
}

.interview-queue-copy h3 a,
.interview-queue-action {
	text-decoration: none;
}

.interview-queue-copy p {
	margin: 0.55rem 0 0;
	color: var(--muted);
	font-size: 0.82rem;
}

.interview-queue-action {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.75rem;
	color: var(--viridian-dark);
	font-family: var(--cid-mono);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
}

.interview-queue-action:hover,
.interview-queue-action:focus-visible {
	color: var(--navy);
}

@media (max-width: 900px) {
	.interview-register {
		grid-template-columns: 1fr;
	}

	.interview-queue {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid var(--navy);
		border-left: 0;
	}

	.interview-queue > li + li {
		border-top: 0;
		border-left: 1px solid var(--navy);
	}
}

@media (max-width: 700px) {
	.interview-queue {
		grid-template-columns: 1fr;
	}

	.interview-queue > li + li {
		border-top: 1px solid var(--navy);
		border-left: 0;
	}

	.interview-queue-item {
		grid-template-columns: minmax(118px, 0.72fr) minmax(0, 1.28fr);
		grid-template-rows: 1fr;
	}

	.interview-queue-media,
	.interview-queue-media img,
	.interview-media-placeholder {
		height: 100%;
		min-height: 176px;
		aspect-ratio: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.interview-queue-media img,
	.interview-media-placeholder {
		transition: filter 180ms ease-out;
	}

	.interview-queue-media:hover img,
	.interview-queue-media:focus-visible img {
		transform: none;
	}
}

/* 1.4 — Gutenberg output register */
.hero-archive-count { display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:end; margin-top:auto; padding-top:1rem; color:var(--text-on-dark); text-decoration:none; border-top:1px solid var(--text-on-dark-accent); }
.hero-archive-count strong { font-size:2rem; line-height:.8; color:var(--signal-light); }
.hero-archive-count span { font-size:.68rem; line-height:1.25; color:var(--text-on-dark-muted); }
.output-collection,.directory-section,.about-register,.support-register,.social-register { padding:clamp(3.8rem,7vw,7rem) var(--page-pad); border-top:1px solid var(--rule); }
.output-collection:nth-of-type(even),.directory-partners,.about-register { background:var(--paper-blue); }
.output-collection-head,.directory-section>header { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr); gap:var(--section-content-gap); align-items:end; margin-bottom:clamp(2rem,4vw,3.5rem); }
.output-collection-head h2,.directory-section h2,.about-register h2,.support-register h2 { max-width:12ch; margin:.55rem 0 0; color:var(--navy); font-size:clamp(2.5rem,5vw,4.8rem); line-height:.9; letter-spacing:-.025em; }
.output-collection-head p,.directory-section>header p { max-width:48ch; margin:0 0 1rem; color:var(--muted); }
.output-register { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--navy); }
.output-register.is-single { grid-template-columns:minmax(0,1fr); }
.output-entry { display:grid; grid-template-rows:auto 1fr; min-width:0; background:var(--white); }
.output-entry+.output-entry { border-left:1px solid var(--navy); }
.output-entry-media { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--navy-deep); }
.output-entry-media img,.output-entry-media video { width:100%; height:100%; object-fit:cover; }
.output-register.is-single .output-entry { grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr); grid-template-rows:none; }
.output-register.is-single .output-entry-media { aspect-ratio:16/9; }
.output-entry-body { display:flex; flex-direction:column; padding:1.25rem; }
.output-entry-meta { display:flex; flex-wrap:wrap; gap:.3rem .7rem; color:var(--viridian-dark); font-size:.68rem; font-weight:600; }
.output-entry h3 { margin:1rem 0 .65rem; color:var(--navy); font-size:clamp(1.45rem,2.1vw,2rem); line-height:1; }
.output-entry h3 a { text-decoration:none; }
.output-entry p { margin:0; color:var(--muted); }
.output-expert { margin-top:.85rem; color:var(--ink); font-size:.78rem; }
.output-media-identity { display:flex; gap:.6rem; align-items:center; margin-top:.8rem; color:var(--navy); font-size:.75rem; font-weight:600; }
.output-media-identity img { width:2.2rem; height:2.2rem; object-fit:contain; }
.output-entry-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:auto; padding-top:1.35rem; }
.output-entry-actions a { min-height:44px; padding:.65rem .8rem; color:var(--white); background:var(--navy); font-size:var(--type-action); font-weight:600; text-decoration:none; }
.output-entry-actions a+a { color:var(--navy); background:transparent; border:1px solid var(--navy); }
.output-empty { padding:2rem; color:var(--muted); border:1px solid var(--rule); background:var(--white); }
.output-empty strong { color:var(--navy); }
.people-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--navy); }
.person-entry { min-width:0; background:var(--white); }
.person-entry+.person-entry { border-left:1px solid var(--navy); }
.person-entry img { width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.75); }
.person-entry>div { padding:1rem; }
.person-entry span { color:var(--viridian-dark); font-size:.7rem; font-weight:600; }
.person-entry h3 { margin:.45rem 0; font-size:1.45rem; line-height:1; }
.person-entry h3 a { text-decoration:none; }
.person-entry p { margin:.7rem 0 0; color:var(--muted); }
.partner-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--navy); border-left:1px solid var(--navy); }
.partner-entry { display:grid; align-content:start; gap:.7rem; min-height:13rem; padding:1.25rem; border-right:1px solid var(--navy); border-bottom:1px solid var(--navy); background:var(--white); }
.partner-entry img { width:100%; height:4.4rem; object-fit:contain; object-position:left center; }
.partner-entry .partner-image { margin:-1.25rem -1.25rem .3rem; overflow:hidden; }
.partner-entry .partner-image img { height:8rem; object-fit:cover; }
.partner-entry .partner-logo { width:auto; max-width:100%; }
.partner-entry h3 { margin:0; font-size:1.35rem; line-height:1; }
.partner-entry span { color:var(--muted); }
.partner-entry a { margin-top:auto; color:var(--viridian-dark); font-weight:600; }
.about-register>header { margin-bottom:2rem; }
.about-pages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--navy); }
.about-pages article { padding:1.4rem; background:var(--white); }
.about-pages article+article { border-left:1px solid var(--navy); }
.about-pages h3 { margin:0 0 1rem; color:var(--navy); font-size:1.7rem; line-height:1; }
.about-pages h3 a { text-decoration:none; }
.about-pages p { display:flex; flex-wrap:wrap; gap:.8rem; color:var(--muted); }
.about-pages p a { font-weight:600; }
.governance-register { display:grid; gap:2.5rem; margin-top:3rem; }
.governance-register>section>h3 { margin:0 0 .9rem; color:var(--navy); font-size:1.7rem; }
.governance-cards,.department-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
.governance-cards article,.department-cards article { display:flex; gap:.8rem; align-items:center; min-height:6rem; padding:.85rem; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); background:var(--white); }
.governance-cards img,.department-cards img { width:3.3rem; height:3.3rem; object-fit:cover; }
.department-cards img { object-fit:contain; }
.governance-cards div { display:grid; }
.governance-cards span { color:var(--muted); font-size:.75rem; }
.support-register { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr); gap:var(--section-content-gap); color:var(--text-on-dark); background:var(--navy); }
.support-register h2 { color:var(--white); }
.support-register p { max-width:55ch; color:var(--text-on-dark-muted); }
.account-number { display:grid; width:max-content; padding:1rem; border:1px solid var(--text-on-dark-accent); }
.account-number span { font-size:.7rem; }
.donor-register { padding:1.2rem; border:1px solid var(--text-on-dark-accent); }
.donor-register h3 { margin:0 0 .8rem; }
.donor-register ol { margin:0; padding:0; list-style:none; }
.donor-register li { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-top:1px solid var(--text-on-dark-accent); }
.donor-register li strong { color:var(--signal-light); }
.social-register { display:flex; align-items:center; gap:1rem; padding-block:1.4rem; background:var(--viridian-dark); color:var(--white); }
.social-register span { margin-right:auto; font-weight:600; }
.social-register a { min-height:44px; padding:.6rem 1rem; border:1px solid var(--text-on-dark-accent); font-weight:600; text-decoration:none; }
.country-register-control { display:grid; gap:.35rem; margin:1rem 0 .65rem; }
.country-register-control label { color:var(--text-on-dark); font-size:.75rem; font-weight:600; }
.country-register-control select { width:100%; min-height:44px; padding:.6rem 2.4rem .6rem .7rem; color:var(--navy-deep); border:1px solid var(--text-on-dark-accent); background:var(--white); font:inherit; cursor:pointer; }
.country-register-control select:focus-visible { outline:2px solid var(--signal-light); outline-offset:2px; }
.country-register-control small { color:var(--text-on-dark-muted); font-size:.68rem; }
body.cid-site .country-map-list button { display:grid; grid-template-columns:1fr auto; align-items:center; width:100%; min-height:54px; padding:.55rem .75rem; color:var(--text-on-dark); text-align:left; border:0; border-bottom:1px solid var(--text-on-dark-accent); background:transparent; cursor:pointer; }
body.cid-site .country-map-list button:hover,body.cid-site .country-map-list button.is-active { color:var(--navy-deep); background:var(--signal-light); }
body.cid-site .country-map-list button>span { display:grid; min-width:0; }
body.cid-site .country-map-list button small { overflow:hidden; color:var(--text-on-dark-muted); font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
body.cid-site .country-map-list button:hover small,body.cid-site .country-map-list button.is-active small { color:var(--navy-deep); }
.country-map-shell { display:grid; grid-template-rows:minmax(25rem,1fr) auto; min-height:38rem; }
.country-map { position:relative; inset:auto; min-height:25rem; }
.cid-map-fallback { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; padding:clamp(.75rem,2vw,1.5rem) clamp(.75rem,2vw,1.5rem) 2.4rem; background:var(--paper-blue); }
.cid-map-fallback svg { display:block; width:100%; height:100%; overflow:visible; }
.cid-map-grid { fill:none; stroke:rgba(16,52,76,.11); stroke-width:1; vector-effect:non-scaling-stroke; }
.cid-map-land { fill:rgba(0,112,104,.16); stroke:rgba(16,52,76,.58); stroke-width:.72; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.cid-map-fallback-markers a { cursor:pointer; }
.cid-map-marker-hit { fill:transparent; pointer-events:all; }
.cid-map-marker-halo { fill:rgba(249,170,77,.2); stroke:rgba(255,255,255,.92); stroke-width:2; transform-box:fill-box; transform-origin:center; transition:transform 160ms ease-out,fill 160ms ease-out; }
.cid-map-marker-dot { fill:var(--signal-light,#f9aa4d); stroke:var(--navy-deep,#0b2338); stroke-width:2; pointer-events:none; }
.cid-map-fallback-markers a:hover .cid-map-marker-halo,.cid-map-fallback-markers a:focus .cid-map-marker-halo,.cid-map-fallback-markers a.is-active .cid-map-marker-halo { fill:rgba(249,170,77,.52); transform:scale(1.22); }
.cid-map-fallback-markers a:focus { outline:none; }
.cid-map-source { position:absolute; right:clamp(.75rem,2vw,1.5rem); bottom:.65rem; left:clamp(.75rem,2vw,1.5rem); color:var(--navy); font-size:.62rem; text-align:right; }
.country-map.leaflet-container .cid-map-fallback { display:none; }
.cid-map-empty { display:grid; min-height:inherit; margin:0; padding:3rem; place-items:center; text-align:center; }
.country-map-detail { min-height:13rem; padding:1.1rem; color:var(--ink); background:var(--white); border-top:1px solid var(--navy); }
.country-map-detail-head { display:flex; justify-content:space-between; gap:1rem; }
.country-map-detail-head>strong { color:var(--navy); font-size:1.35rem; }
.country-map-detail-head>span { color:var(--viridian-dark); font-size:.75rem; font-weight:600; }
.country-output-mix { display:flex; flex-wrap:wrap; gap:.35rem; margin:.8rem 0; }
.country-output-mix span { padding:.25rem .45rem; color:var(--navy); border:1px solid var(--rule); font-size:.65rem; font-weight:600; }
.country-map-empty-state { max-width:62ch; margin:.9rem 0 0; color:var(--muted); }
.country-map-detail ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0 0 1rem; padding:0; list-style:none; background:var(--rule); }
.country-map-detail li { background:var(--paper); }
.country-map-detail li a { display:grid; min-height:62px; padding:.65rem; text-decoration:none; }
.country-map-detail li span { color:var(--viridian-dark); font-size:.62rem; }
.country-map-detail li strong { font-size:.85rem; line-height:1.15; }
.cid-map-marker-wrap>span { display:grid!important; place-items:center; }
.cid-map-marker-wrap>span b { color:var(--navy-deep); font-size:.62rem; line-height:1; }
.igt-application { margin-top:1.4rem; padding-top:1.4rem; border-top:1px solid var(--rule); }
.igt-application form { display:grid; gap:.8rem; }
.igt-application label { display:grid; gap:.3rem; font-size:.75rem; font-weight:600; }
.igt-application input { min-height:44px; padding:.65rem; border:1px solid var(--navy); background:var(--white); }
.igt-application button { border:0; cursor:pointer; }
.cid-form-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.application-notice { padding:.8rem; border:1px solid var(--viridian-dark); }
.application-notice.is-error { border-color:var(--saffron); color:var(--navy); }
@media (max-width:1100px) {
  .output-register { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .output-entry+.output-entry { border-left:0; }
  .output-entry:nth-child(even) { border-left:1px solid var(--navy); }
  .output-entry:nth-child(n+3) { border-top:1px solid var(--navy); }
  .people-grid,.partner-grid,.governance-cards,.department-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .output-collection-head,.directory-section>header,.support-register { grid-template-columns:1fr; }
  .output-register,.output-register.is-single,.about-pages { grid-template-columns:1fr; }
  .output-register.is-single .output-entry { grid-template-columns:1fr; }
  .output-entry:nth-child(even),.output-entry+.output-entry,.about-pages article+article { border-left:0; border-top:1px solid var(--navy); }
  .people-grid,.partner-grid,.governance-cards,.department-cards { grid-template-columns:1fr; }
  .person-entry+.person-entry { border-left:0; border-top:1px solid var(--navy); }
  .country-map-detail ol { grid-template-columns:1fr; }
  .social-register { align-items:stretch; flex-wrap:wrap; }
  .social-register span { flex-basis:100%; }
}

/* 1.5 — About institutional dossier */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.about-dossier {
  min-height: 100svh;
  background: var(--paper);
}

.about-dossier-hero {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1.58fr);
  min-height: min(82svh, 780px);
  border-bottom: 1px solid var(--navy);
}

.about-accession {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.2rem, 2.5vw, 2.2rem);
  color: var(--text-on-dark);
  background: var(--navy);
}

.about-accession > span,
.about-accession li b {
  color: var(--text-on-dark-accent);
  font-size: var(--type-metadata);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.about-accession > strong {
  margin-top: 0.3rem;
  font-size: 1rem;
  font-weight: 600;
}

.about-accession ol {
  display: grid;
  gap: 0;
  margin: auto 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--text-on-dark-accent);
}

.about-accession li {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.6rem;
  align-items: start;
  min-height: 58px;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--text-on-dark-accent);
}

.about-accession li span {
  color: var(--text-on-dark);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.25;
}

.about-dossier-lead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(3rem, 7vw, 7rem) var(--page-pad);
  background: var(--paper-blue);
}

.about-dossier-lead h1 {
  max-width: 12ch;
  margin: clamp(1rem, 2vw, 1.8rem) 0 1.5rem;
  color: var(--navy);
  font-size: var(--type-display);
  font-weight: 600;
  line-height: 0.91;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.about-dossier-intro {
  max-width: 60ch;
  color: var(--ink);
  font-size: 1rem;
}

.about-dossier-intro p {
  margin: 0;
}

.about-dossier-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.about-dossier-actions a,
.about-dossier-close > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.7rem 1rem;
  font-size: var(--type-action);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

.about-dossier-actions .button-secondary {
  color: var(--navy);
  border: 1px solid var(--navy);
  background: transparent;
}

.about-dossier-actions .button-secondary:hover,
.about-dossier-actions .button-secondary:focus-visible {
  color: var(--white);
  background: var(--viridian-dark);
  border-color: var(--viridian-dark);
}

.about-identity,
.about-governance {
  padding: clamp(3.6rem, 6vw, 6rem) var(--page-pad);
}

.about-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: var(--section-content-gap);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.about-section-head h2,
.about-output-system h2,
.about-dossier-close h2 {
  max-width: 13ch;
  margin: 0.7rem 0 0;
  color: var(--navy);
  font-size: var(--type-headline);
  line-height: 0.94;
  letter-spacing: -0.022em;
  text-wrap: balance;
}

.about-section-head > p,
.about-section-head > div:last-child,
.about-section-head > div:last-child p {
  max-width: 52ch;
  margin: 0;
  color: var(--muted);
}

.institution-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.28fr) minmax(0, 1fr);
  border: 1px solid var(--navy);
  background: var(--white);
}

.institution-route article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 22rem;
  padding: clamp(1.3rem, 2.6vw, 2.2rem);
}

.institution-route article > span {
  color: var(--viridian-dark);
  font-size: var(--type-metadata);
  font-weight: 600;
  letter-spacing: 0.03em;
}

.institution-route h3 {
  max-width: 15ch;
  margin: 1.2rem 0 1rem;
  color: var(--navy);
  font-size: var(--type-title);
  line-height: 0.96;
}

.institution-route article > div {
  max-width: 58ch;
  color: var(--muted);
}

.institution-route article > div p {
  margin-top: 0;
}

.institution-route article > a {
  width: fit-content;
  min-height: 44px;
  margin-top: auto;
  padding-top: 1rem;
  color: var(--viridian-dark);
  font-size: var(--type-action);
  font-weight: 600;
}

.institution-route-mark {
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  gap: 0.8rem;
  align-items: center;
  justify-items: center;
  padding: 1rem;
  color: var(--text-on-dark);
  background: var(--navy-deep);
}

.institution-route-mark span {
  width: 1px;
  height: 100%;
  background: var(--text-on-dark-accent);
}

.institution-route-mark b {
  color: var(--text-on-dark-accent);
  font-size: var(--type-metadata);
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
}

.about-output-system {
  padding: clamp(3.6rem, 6vw, 6rem) var(--page-pad);
  color: var(--text-on-dark);
  background: var(--navy-deep);
}

.about-output-system > header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.55fr);
  gap: var(--section-content-gap);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.about-output-system > header .section-code,
.about-dossier-close .section-code {
  color: var(--text-on-dark-accent);
}

.about-output-system h2,
.about-dossier-close h2 {
  color: var(--text-on-dark);
}

.about-output-system > header p {
  max-width: 48ch;
  margin: 0 0 0.5rem;
  color: var(--text-on-dark-muted);
}

.about-output-register {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--text-on-dark-accent);
  border-left: 1px solid var(--text-on-dark-accent);
}

.about-output-register li {
  min-width: 0;
  border-right: 1px solid var(--text-on-dark-accent);
  border-bottom: 1px solid var(--text-on-dark-accent);
}

.about-output-register a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  min-height: 78px;
  padding: 1rem;
  text-decoration: none;
  transition: color 160ms ease-out, background-color 160ms ease-out;
}

.about-output-register a:hover,
.about-output-register a:focus-visible {
  color: var(--white);
  background: var(--viridian-dark);
}

.about-output-register a > span,
.about-output-register small {
  color: var(--text-on-dark-accent);
  font-size: var(--type-metadata);
  font-weight: 600;
}

.about-output-register strong {
  font-size: 1rem;
  line-height: 1.1;
}

.about-governance {
  background: var(--paper-blue);
}

.about-governance-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--navy);
  border-left: 1px solid var(--navy);
}

.about-governance-groups > section {
  min-width: 0;
  border-right: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
  background: var(--white);
}

.about-governance-groups > section > header,
.about-departments > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.8rem;
  min-height: 64px;
  padding: 1rem;
  border-bottom: 1px solid var(--rule);
}

.about-governance-groups h3,
.about-departments h3 {
  margin: 0;
  color: var(--navy);
  font-size: var(--type-title);
  line-height: 1;
}

.about-governance-groups header span,
.about-departments header span {
  flex: 0 0 auto;
  color: var(--viridian-dark);
  font-size: var(--type-metadata);
  font-weight: 600;
}

.about-governance-groups ul,
.about-departments ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-governance-groups li + li,
.about-departments li + li {
  border-top: 1px solid var(--rule);
}

.about-governance-groups li a,
.about-departments li a {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  min-height: 72px;
  padding: 0.7rem 1rem;
  text-decoration: none;
}

.about-governance-groups li a:hover,
.about-governance-groups li a:focus-visible,
.about-departments li a:hover,
.about-departments li a:focus-visible {
  background: var(--paper);
}

.about-governance-groups img,
.about-departments img {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  object-fit: cover;
  background: var(--paper-blue);
}

.about-departments img {
  object-fit: contain;
}

.about-governance-groups li span {
  display: grid;
  min-width: 0;
}

.about-governance-groups li strong,
.about-departments li strong {
  color: var(--navy);
  line-height: 1.15;
}

.about-governance-groups li small {
  margin-top: 0.15rem;
  color: var(--muted);
  line-height: 1.25;
}

.about-register-empty {
  min-height: 88px;
  margin: 0;
  padding: 1rem;
  color: var(--muted);
}

.about-departments {
  margin-top: 2rem;
  border: 1px solid var(--navy);
  background: var(--white);
}

.about-departments ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-departments li + li {
  border-top: 0;
  border-left: 1px solid var(--rule);
}

.about-dossier-close {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.55fr) auto;
  gap: var(--section-content-gap);
  align-items: end;
  padding: clamp(3.6rem, 6vw, 6rem) var(--page-pad);
  color: var(--text-on-dark);
  background: var(--navy);
}

.about-dossier-close p {
  max-width: 42ch;
  margin: 0 0 0.45rem;
  color: var(--text-on-dark-muted);
}

.about-dossier-close .button-inverse {
  color: var(--navy-deep);
  background: var(--paper);
}

.about-dossier-close .button-inverse:hover,
.about-dossier-close .button-inverse:focus-visible {
  color: var(--white);
  background: var(--viridian-dark);
}

@media (max-width: 1100px) {
  .about-output-register,
  .about-departments ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-governance-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-departments li + li:nth-child(odd) {
    border-left: 0;
  }

  .about-departments li:nth-child(n + 3) {
    border-top: 1px solid var(--rule);
  }
}

@media (max-width: 800px) {
  .about-dossier-hero {
    grid-template-columns: minmax(170px, 0.45fr) minmax(0, 1.55fr);
    min-height: 680px;
  }

  .about-section-head,
  .about-output-system > header,
  .about-dossier-close {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

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

  .institution-route article {
    min-height: 19rem;
  }

  .institution-route-mark {
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto;
    min-height: 58px;
  }

  .institution-route-mark span {
    width: 100%;
    height: 1px;
  }

  .about-dossier-close > a {
    width: fit-content;
  }
}

@media (max-width: 620px) {
  .about-dossier-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .about-accession {
    padding: 1.2rem var(--page-pad);
  }

  .about-accession ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.2rem;
  }

  .about-accession li {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
    padding: 0.7rem;
    border-right: 1px solid var(--text-on-dark-accent);
  }

  .about-accession li:last-child {
    border-right: 0;
  }

  .about-accession li span {
    overflow-wrap: anywhere;
  }

  .about-dossier-lead {
    padding-block: 3.5rem;
  }

  .about-output-register,
  .about-departments ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-output-register a {
    min-height: 68px;
  }

  .about-departments li + li {
    border-left: 0;
    border-top: 1px solid var(--rule);
  }
}

@media (max-width: 380px) {
  .about-dossier-actions {
    display: grid;
  }

  .about-dossier-actions a,
  .about-dossier-close > a {
    width: 100%;
  }

  .about-output-register a {
    grid-template-columns: 1.7rem minmax(0, 1fr);
  }

  .about-output-register small {
    grid-column: 2;
  }
}

/* 1.5.1 — zoomable country map and country evidence pages */
.country-map .leaflet-control-zoom {
  margin: 0.9rem 0 0 0.9rem;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.country-map .leaflet-control-zoom a {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--white);
  border: 0;
  border-bottom: 1px solid var(--text-on-dark-accent);
  border-radius: 0;
  background: var(--navy-deep);
  font: 600 1.35rem/1 var(--cid-typeface);
}

.country-map .leaflet-control-zoom a:hover,
.country-map .leaflet-control-zoom a:focus-visible {
  color: var(--white);
  background: var(--viridian-dark);
}

.cid-map-instruction {
  position: absolute;
  z-index: 500;
  right: 0.8rem;
  bottom: 1.8rem;
  max-width: 18rem;
  padding: 0.45rem 0.65rem;
  color: var(--text-on-dark);
  background: var(--navy-deep);
  font-size: var(--type-metadata);
  font-weight: 600;
  pointer-events: none;
}

.country-map .cid-country-tooltip {
  padding: 0;
  color: var(--text-on-dark);
  border: 0;
  border-radius: 0;
  background: var(--navy-deep);
  box-shadow: 0 8px 20px rgba(4, 31, 54, 0.18);
}

.country-map .cid-country-tooltip::before {
  border-top-color: var(--navy-deep);
}

.cid-country-tooltip-content {
  display: grid;
  min-width: 9rem;
  padding: 0.65rem 0.75rem;
  line-height: 1.15;
}

.cid-country-tooltip-content strong {
  color: var(--text-on-dark);
  font-size: var(--type-section-label);
}

.cid-country-tooltip-content small {
  margin-top: 0.25rem;
  color: var(--text-on-dark-accent);
  font-size: var(--type-metadata);
}

.country-map .cid-country-point {
  cursor: pointer;
  transition: fill 160ms ease-out, stroke 160ms ease-out, stroke-width 160ms ease-out;
}

.country-map .cid-country-point:hover {
  fill: var(--signal-light);
  fill-opacity: 0.9;
  stroke: var(--navy-deep);
  stroke-width: 2;
}

.country-dossier {
  min-height: 75svh;
  background: var(--paper);
}

.country-dossier-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.55fr);
  gap: var(--section-content-gap);
  align-items: end;
  padding: clamp(3.6rem, 6vw, 6rem) var(--page-pad);
  border-bottom: 1px solid var(--navy);
  background: var(--paper-blue);
}

.country-dossier-hero h1 {
  max-width: 13ch;
  margin: 0.8rem 0 1.2rem;
  color: var(--navy);
  font-size: var(--type-display);
  line-height: 0.92;
  letter-spacing: -0.025em;
}

.country-dossier-hero p {
  max-width: 58ch;
  margin: 0;
  color: var(--muted);
}

.country-dossier-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.5rem;
}

.country-dossier-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  color: var(--navy);
  border: 1px solid var(--navy);
  font-size: var(--type-action);
  font-weight: 600;
  text-decoration: none;
}

.country-dossier-actions .button-primary {
  color: var(--white);
  border-color: var(--navy);
}

.country-dossier-summary {
  margin: 0;
  border-top: 1px solid var(--navy);
}

.country-dossier-summary > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: baseline;
  min-height: 58px;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--navy);
}

.country-dossier-summary dt {
  color: var(--muted);
  font-size: var(--type-section-label);
}

.country-dossier-summary dd {
  margin: 0;
  color: var(--navy);
  font-size: var(--type-title);
  font-weight: 600;
}

.country-dossier-mix,
.country-dossier-records,
.country-dossier-network {
  padding: clamp(3rem, 5vw, 5rem) var(--page-pad);
  border-bottom: 1px solid var(--rule);
}

.country-dossier-mix {
  display: grid;
  grid-template-columns: minmax(11rem, 0.35fr) minmax(0, 1fr);
  gap: var(--section-content-gap);
  color: var(--text-on-dark);
  background: var(--navy-deep);
}

.country-dossier-mix h2,
.country-dossier-records > header h2,
.country-dossier-network > header h2 {
  margin: 0.7rem 0 0;
  font-size: var(--type-headline);
  line-height: 0.95;
}

.country-dossier-mix h2 {
  color: var(--text-on-dark);
}

.country-dossier-mix ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--text-on-dark-accent);
  border-left: 1px solid var(--text-on-dark-accent);
}

.country-dossier-mix li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  min-height: 64px;
  padding: 0.8rem;
  border-right: 1px solid var(--text-on-dark-accent);
  border-bottom: 1px solid var(--text-on-dark-accent);
}

.country-dossier-mix li span {
  color: var(--text-on-dark-muted);
  line-height: 1.15;
}

.country-dossier-mix li strong {
  color: var(--signal-light);
}

.country-dossier-records > header,
.country-dossier-network > header {
  margin-bottom: 2rem;
}

.country-dossier-records > header h2,
.country-dossier-network > header h2 {
  color: var(--navy);
}

.country-record-list {
  border-top: 1px solid var(--navy);
}

.country-record-list article {
  display: grid;
  grid-template-columns: minmax(8rem, 0.28fr) minmax(0, 1.2fr) minmax(15rem, 0.48fr);
  gap: 1rem;
  align-items: start;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--navy);
}

.country-record-list article > div {
  display: grid;
  color: var(--viridian-dark);
  font-size: var(--type-metadata);
  font-weight: 600;
}

.country-record-list h3 {
  grid-column: 2;
  margin: 0;
  color: var(--navy);
  font-size: var(--type-title);
  line-height: 1;
}

.country-record-list h3 a {
  text-decoration: none;
}

.country-record-list p {
  grid-column: 2;
  margin: -0.3rem 0 0;
  color: var(--muted);
}

.country-record-list footer {
  display: flex;
  grid-column: 3;
  grid-row: 1 / span 2;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.country-record-list footer strong {
  flex-basis: 100%;
  color: var(--viridian-dark);
  font-size: var(--type-section-label);
}

.country-record-list footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0.7rem;
  color: var(--navy);
  border: 1px solid var(--navy);
  font-size: var(--type-action);
  font-weight: 600;
  text-decoration: none;
}

.country-dossier-network {
  background: var(--paper-blue);
}

.country-dossier-network ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--navy);
  border-left: 1px solid var(--navy);
}

.country-dossier-network li {
  border-right: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
  background: var(--white);
}

.country-dossier-network li a {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  min-height: 82px;
  padding: 0.9rem;
  text-decoration: none;
}

.country-dossier-network img {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  object-fit: contain;
}

.country-dossier-network li span {
  display: grid;
  min-width: 0;
}

.country-dossier-network li strong {
  color: var(--navy);
  line-height: 1.1;
}

.country-dossier-network li small {
  margin-top: 0.2rem;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--type-metadata);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-dossier-empty {
  padding: 1.2rem;
  color: var(--muted);
  border: 1px solid var(--rule);
  background: var(--white);
}

.country-dossier-empty strong {
  color: var(--navy);
}

.country-dossier-empty p {
  max-width: 60ch;
  margin: 0.35rem 0 0;
}

@media (max-width: 900px) {
  .country-dossier-hero,
  .country-dossier-mix {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-record-list article {
    grid-template-columns: minmax(7rem, 0.3fr) minmax(0, 1fr);
  }

  .country-record-list footer {
    grid-column: 2;
    grid-row: auto;
  }

  .country-dossier-network ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .cid-map-instruction {
    right: 0.55rem;
    bottom: 1.65rem;
    max-width: 11rem;
  }

  .country-dossier-mix ul,
  .country-dossier-network ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-record-list article {
    grid-template-columns: minmax(0, 1fr);
  }

  .country-record-list h3,
  .country-record-list p,
  .country-record-list footer {
    grid-column: 1;
  }

  .country-record-list p {
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .country-map .cid-country-point {
    transition: fill 160ms ease-out, stroke 160ms ease-out;
  }
}
