@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/archivo-normal-500-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/archivo-normal-600-2.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/archivo-normal-700-3.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/source-serif-4-normal-400-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/source-serif-4-normal-600-2.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-mono-normal-400-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-mono-normal-500-2.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-mono-normal-600-3.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  color-scheme: light dark;

  
  --paper: #fbfaf7;        
  --paper-sunk: #f1efe8;   
  --paper-raised: #ffffff; 

  
  --ink: #14171c;          
  --ink-soft: #4d545d;     
  
  --ink-faint: #5f656d;

  
  --rule: #dcd8cd;         
  --rule-strong: #b6b1a3;

  
  --stamp: #1c4e5a;        
  --stamp-wash: #e6eef0;
  --flag: #9c3b26;         
  --flag-wash: #f6eae6;
  --changed: #7a5514;      
  --changed-wash: #f7f0e2;

  
  --on-signal: #fbfaf7;

  --focus: #0f6d8c;

  
  --font-display: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --step--2: clamp(0.69rem, 0.67rem + 0.10vw, 0.75rem);
  --step--1: clamp(0.83rem, 0.80rem + 0.15vw, 0.92rem);
  --step-0: clamp(1rem, 0.96rem + 0.20vw, 1.12rem);
  --step-1: clamp(1.20rem, 1.13rem + 0.35vw, 1.42rem);
  --step-2: clamp(1.44rem, 1.32rem + 0.60vw, 1.80rem);
  --step-3: clamp(1.73rem, 1.54rem + 0.95vw, 2.28rem);
  --step-4: clamp(2.07rem, 1.77rem + 1.50vw, 2.90rem);
  --step-5: clamp(2.49rem, 2.01rem + 2.40vw, 3.90rem);

  
  --s-1: 0.375rem;
  --s-2: 0.75rem;
  --s-3: 1.25rem;
  --s-4: 2rem;
  --s-5: 3.25rem;
  --s-6: 5rem;

  --measure: 34rem;
  --wrap: 74rem;
  --radius: 2px; 
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #14161a;
    --paper-sunk: #1b1e24;
    --paper-raised: #1f232a;

    --ink: #e9e7e1;
    --ink-soft: #b0b5bd;
    --ink-faint: #838a93;

    --rule: #33383f;
    --rule-strong: #4b515a;

    --stamp: #7fc2d1;
    --stamp-wash: #16323a;
    --flag: #e0917c;
    --flag-wash: #3a211a;
    --changed: #d6b169;
    --changed-wash: #332a15;

    
    --on-signal: #14161a;

    --focus: #66c7e6;
  }
}

:root[data-theme='light'] {
  --paper: #fbfaf7;
  --paper-sunk: #f1efe8;
  --paper-raised: #ffffff;
  --ink: #14171c;
  --ink-soft: #4d545d;
  --ink-faint: #5f656d;
  --rule: #dcd8cd;
  --rule-strong: #b6b1a3;
  --stamp: #1c4e5a;
  --stamp-wash: #e6eef0;
  --flag: #9c3b26;
  --flag-wash: #f6eae6;
  --changed: #7a5514;
  --changed-wash: #f7f0e2;
  --on-signal: #fbfaf7;
  --focus: #0f6d8c;
}

:root[data-theme='dark'] {
  --paper: #14161a;
  --paper-sunk: #1b1e24;
  --paper-raised: #1f232a;
  --ink: #e9e7e1;
  --ink-soft: #b0b5bd;
  --ink-faint: #838a93;
  --rule: #33383f;
  --rule-strong: #4b515a;
  --stamp: #7fc2d1;
  --stamp-wash: #16323a;
  --flag: #e0917c;
  --flag-wash: #3a211a;
  --changed: #d6b169;
  --changed-wash: #332a15;
  --on-signal: #14161a;
  --focus: #66c7e6;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.62;
  font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -0.011em;
  margin: 0 0 var(--s-2);
  text-wrap: balance;
}

h1 {
  font-size: var(--step-4);
}
h2 {
  font-size: var(--step-2);
}
h3 {
  font-size: var(--step-1);
}
h4,
h5,
h6 {
  font-size: var(--step-0);
}

p,
ul,
ol,
dl,
figure,
table,
blockquote {
  margin: 0 0 var(--s-3);
}

a {
  color: var(--stamp);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

a:hover {
  text-decoration-thickness: 2px;
}

:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: var(--radius);
}

img {
  max-width: 100%;
  height: auto;
}

hr {
  border: 0;
  border-top: 1px solid var(--rule);
  margin: var(--s-4) 0;
}

code,
kbd,
samp {
  font-family: var(--font-mono);
  font-size: 0.9em;
}

strong {
  font-weight: 600;
}

.wrap {
  width: min(100% - 2.5rem, var(--wrap));
  margin-inline: auto;
}

.vh {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: var(--ink);
  color: var(--paper);
  padding: var(--s-2) var(--s-3);
  font-family: var(--font-mono);
  font-size: var(--step--1);
}

.skip:focus {
  left: var(--s-2);
  top: var(--s-2);
}

.mono-sm {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.02em;
  color: var(--ink-faint);
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 var(--s-2);
}

.eyebrow a {
  color: inherit;
}

.more {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--step--1);
  letter-spacing: 0.02em;
}

.prose-page {
  padding-block: var(--s-4) var(--s-6);
}

.prose {
  max-width: var(--measure);
}

.prose > h2 {
  margin-top: var(--s-5);
  padding-top: var(--s-2);
  border-top: 1px solid var(--rule);
}

.prose > h3 {
  margin-top: var(--s-4);
}

.prose li {
  margin-bottom: var(--s-1);
}

.prose figure {
  margin-inline: 0;
}

.prose figcaption,
.prose .wp-caption-text {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  color: var(--ink-faint);
  margin-top: var(--s-1);
}

.prose img {
  border: 1px solid var(--rule);
  border-radius: var(--radius);
}

.prose blockquote {
  border-left: 3px solid var(--stamp);
  padding-left: var(--s-3);
  margin-left: 0;
  color: var(--ink-soft);
}

.embed {
  position: relative;
  aspect-ratio: 16 / 9;
  margin-bottom: var(--s-3);
  max-width: var(--measure);
  background: var(--paper-sunk);
  border: 1px solid var(--rule);
}

.embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-head {
  max-width: 48rem;
  margin-bottom: var(--s-4);
}

.lede {
  font-size: var(--step-1);
  line-height: 1.45;
  color: var(--ink-soft);
  max-width: 40rem;
}

.lede-note {
  font-family: var(--font-mono);
  font-size: var(--step--1);
  background: var(--changed-wash);
  border-left: 3px solid var(--changed);
  padding: var(--s-2) var(--s-3);
  max-width: 40rem;
}

.hero-fig {
  margin: 0 0 var(--s-4);
  max-width: var(--measure);
}

.hero-fig img {
  width: 100%;
  border: 1px solid var(--rule);
  border-radius: var(--radius);
}
.masthead {
  border-bottom: 1px solid var(--rule-strong);
  background: var(--paper);
}

.masthead-in {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  align-items: baseline;
  justify-content: space-between;
  padding-block: var(--s-3);
}

.wordmark {
  text-decoration: none;
  color: var(--ink);
  display: block;
}

.wordmark-name {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-1);
  letter-spacing: -0.02em;
}

.wordmark-em {
  color: var(--stamp);
}

.wordmark-sub {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.06em;
  color: var(--ink-faint);
  text-transform: lowercase;
}

.nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav a {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--step--1);
  letter-spacing: 0.01em;
  text-decoration: none;
  color: var(--ink);
  padding-bottom: 2px;
  border-bottom: 2px solid transparent;
}

.nav a:hover,
.nav a[aria-current='page'] {
  border-bottom-color: var(--stamp);
}

.crumbs {
  border-bottom: 1px solid var(--rule);
  background: var(--paper-sunk);
}

.crumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-1);
  list-style: none;
  margin: 0;
  padding: var(--s-2) 0;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  color: var(--ink-faint);
}

.crumbs li + li::before {
  content: '/';
  margin-right: var(--s-1);
  color: var(--rule-strong);
}

.crumbs a {
  color: var(--ink-soft);
}

.stamp {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.15em 0.5em;
  border-radius: var(--radius);
  white-space: nowrap;
  border: 1px solid currentColor;
}

.stamp-checked {
  color: var(--stamp);
  background: var(--stamp-wash);
}

.stamp-archive {
  color: var(--ink-faint);
  background: transparent;
  border-style: dashed;
}

.tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.03em;
  padding: 0.15em 0.5em;
  border-radius: var(--radius);
  white-space: nowrap;
}

.tag-ok {
  color: var(--ink-soft);
  background: var(--paper-sunk);
}
.tag-changed {
  color: var(--changed);
  background: var(--changed-wash);
}
.tag-gone,
.tag-unknown {
  color: var(--flag);
  background: var(--flag-wash);
}

.nodata {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  color: var(--ink-faint);
  font-style: normal;
  letter-spacing: 0.03em;
}

.table-scroll {
  overflow-x: auto;
  margin-bottom: var(--s-4);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
}

.ledger,
.prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--step--1);
  margin: 0;
}

.ledger th,
.ledger td,
.prose th,
.prose td {
  text-align: left;
  vertical-align: top;
  padding: var(--s-2) var(--s-3);
  border-bottom: 1px solid var(--rule);
}

.ledger thead th,
.prose thead th {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--ink-faint);
  background: var(--paper-sunk);
  border-bottom: 1px solid var(--rule-strong);
  white-space: nowrap;
}

.ledger tbody tr:last-child th,
.ledger tbody tr:last-child td {
  border-bottom: 0;
}

.ledger tbody th[scope='row'] {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--step-0);
  min-width: 13rem;
}

.ledger td.num,
.ledger th.num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.ledger tr.row-flag th[scope='row'] {
  box-shadow: inset 3px 0 0 var(--flag);
}

.was {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  font-weight: 400;
  color: var(--ink-faint);
  letter-spacing: 0.02em;
}

.record {
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius);
  background: var(--paper-raised);
  padding: var(--s-3) var(--s-4) var(--s-4);
  margin-bottom: var(--s-4);
  max-width: 52rem;
}

.record-h {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
  padding-bottom: var(--s-2);
  margin-bottom: var(--s-3);
  border-bottom: 1px solid var(--rule);
}

.record-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--s-3);
  margin: 0 0 var(--s-3);
}

.record-grid dt {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: var(--s-1);
}

.record-grid dd {
  margin: 0;
  font-size: var(--step--1);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.record-note {
  font-size: var(--step--1);
  background: var(--changed-wash);
  border-left: 3px solid var(--changed);
  padding: var(--s-2) var(--s-3);
  margin-bottom: var(--s-3);
}

.record-gaps {
  font-size: var(--step--1);
  color: var(--ink-soft);
  margin-bottom: var(--s-3);
}

.gap-chip {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  border: 1px dashed var(--rule-strong);
  border-radius: var(--radius);
  padding: 0.1em 0.45em;
  margin-right: 0.25em;
  color: var(--ink-faint);
}

.record-verify {
  font-size: var(--step--2);
  color: var(--ink-faint);
  margin: 0;
  padding-top: var(--s-2);
  border-top: 1px solid var(--rule);
}

.hero {
  border-bottom: 1px solid var(--rule-strong);
  background: var(--paper-sunk);
}

.hero-in {
  padding-block: var(--s-5) var(--s-4);
}

.hero-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 var(--s-3);
}

.hero-h {
  font-size: var(--step-5);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0 0 var(--s-3);
  max-width: 16ch;
}

.hero-lede {
  font-size: var(--step-1);
  line-height: 1.45;
  color: var(--ink-soft);
  max-width: 44rem;
  margin-bottom: var(--s-4);
}

.ledger-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0;
  margin: 0 0 var(--s-3);
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--rule-strong);
}

.ledger-strip > div {
  padding: var(--s-3) var(--s-3) var(--s-3) 0;
  border-right: 1px solid var(--rule);
}

.ledger-strip > div:last-child {
  border-right: 0;
}

.ledger-strip dt {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: var(--s-1);
  max-width: 14ch;
}

.ledger-strip dd {
  margin: 0;
}

.fig {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-4);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.03em;
}

.hero-foot {
  font-size: var(--step--1);
  color: var(--ink-faint);
  max-width: 46rem;
  margin: 0;
}

.band {
  padding-block: var(--s-5);
  border-bottom: 1px solid var(--rule);
}

.band-h {
  font-size: var(--step-2);
  padding-bottom: var(--s-2);
  border-bottom: 2px solid var(--ink);
  margin-bottom: var(--s-4);
}

.band-lede {
  max-width: 46rem;
  color: var(--ink-soft);
  margin-bottom: var(--s-4);
}

.band-aside {
  font-size: var(--step--1);
  color: var(--ink-soft);
  margin-top: var(--s-3);
  margin-bottom: 0;
}

.type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 1px;
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.type-grid a {
  display: block;
  height: 100%;
  padding: var(--s-3);
  background: var(--paper);
  text-decoration: none;
  color: var(--ink);
}

.type-grid a:hover {
  background: var(--stamp-wash);
}

.type-n {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  color: var(--stamp);
  letter-spacing: 0.08em;
  margin-bottom: var(--s-1);
}

.type-name {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--step-1);
  letter-spacing: -0.015em;
  margin-bottom: var(--s-1);
}

.type-blurb {
  display: block;
  font-size: var(--step--1);
  color: var(--ink-soft);
  line-height: 1.45;
}

.flag-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--s-3);
}

.flag-list li {
  border-left: 3px solid var(--flag);
  padding-left: var(--s-3);
  max-width: 52rem;
}

.flag-head {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--step-0);
  margin-bottom: var(--s-1);
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  align-items: center;
}

.flag-note {
  font-size: var(--step--1);
  color: var(--ink-soft);
  margin: 0;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: var(--s-3);
  list-style: none;
  margin: 0 0 var(--s-3);
  padding: 0;
}

.card {
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  background: var(--paper-raised);
  padding: var(--s-3);
}

.card h3 {
  font-size: var(--step-0);
  margin-bottom: var(--s-1);
}

.card h3 a {
  text-decoration: none;
}

.card h3 a:hover {
  text-decoration: underline;
}

.card p {
  font-size: var(--step--1);
  color: var(--ink-soft);
  margin-bottom: var(--s-1);
}

.card-meta {
  margin: 0;
}

.table-intro {
  max-width: 46rem;
  font-size: var(--step--1);
  color: var(--ink-soft);
}

.hub-table,
.index-block {
  margin-bottom: var(--s-5);
}

.index-block h2 {
  padding-bottom: var(--s-2);
  border-bottom: 2px solid var(--ink);
  margin-bottom: var(--s-3);
}

.index-block h2 a {
  text-decoration: none;
}

.count {
  font-family: var(--font-mono);
  font-size: var(--step--1);
  color: var(--ink-faint);
  font-weight: 400;
}

.hub-foot {
  font-size: var(--step--1);
  color: var(--ink-soft);
  max-width: 46rem;
}

.pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pill-list a {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: 0.03em;
  text-decoration: none;
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius);
  padding: 0.3em 0.7em;
  color: var(--ink-soft);
}

.pill-list a:hover {
  border-color: var(--stamp);
  color: var(--stamp);
  background: var(--stamp-wash);
}

.hub-nav,
.siblings,
.merged {
  margin-top: var(--s-5);
  padding-top: var(--s-3);
  border-top: 1px solid var(--rule);
}

.hub-nav h2,
.siblings h2,
.merged h2 {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: var(--s-3);
}

.siblings ul,
.merged ul {
  columns: 2 14rem;
  column-gap: var(--s-4);
  list-style: none;
  margin: 0 0 var(--s-3);
  padding: 0;
  font-size: var(--step--1);
}

.siblings li,
.merged li {
  break-inside: avoid;
  margin-bottom: var(--s-1);
}

.merged {
  max-width: 52rem;
}

.merged p {
  font-size: var(--step--1);
  color: var(--ink-soft);
}

.dated-note {
  max-width: var(--measure);
  font-size: var(--step--1);
  background: var(--flag-wash);
  border-left: 3px solid var(--flag);
  padding: var(--s-2) var(--s-3);
  margin-bottom: var(--s-4);
}

.sitemap-cols {
  columns: 2 20rem;
  column-gap: var(--s-5);
}

.sitemap-cols section {
  break-inside: avoid-column;
}

.sitemap-cols h2,
.sitemap-cols h3 {
  break-after: avoid;
}

.sitemap-cols ul {
  list-style: none;
  padding: 0;
  font-size: var(--step--1);
}

.footsite {
  border-top: 2px solid var(--ink);
  background: var(--paper-sunk);
  margin-top: var(--s-6);
}

.footsite-in {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: var(--s-4);
  padding-block: var(--s-5) var(--s-4);
}

.foot-mark {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-1);
  letter-spacing: -0.02em;
  margin-bottom: var(--s-2);
}

.foot-note {
  font-size: var(--step--2);
  color: var(--ink-soft);
  line-height: 1.5;
}

.foot-col h2 {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: var(--s-2);
}

.foot-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: var(--step--1);
}

.foot-col li {
  margin-bottom: var(--s-1);
}

.foot-col a {
  color: var(--ink-soft);
  text-decoration: none;
}

.foot-col a:hover {
  color: var(--stamp);
  text-decoration: underline;
}

.foot-legal {
  border-top: 1px solid var(--rule);
  padding-block: var(--s-3);
}

.foot-legal p {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  color: var(--ink-faint);
  margin: 0;
}

@media (max-width: 40rem) {
  .siblings ul,
  .merged ul,
  .sitemap-cols {
    columns: 1;
  }
  .ledger-strip > div {
    border-right: 0;
    border-bottom: 1px solid var(--rule);
  }
  .ledger-strip > div:last-child {
    border-bottom: 0;
  }
}
