:root {
  --paper: oklch(95.5% 0.018 84);
  --paper-deep: oklch(91% 0.028 79);
  --ink: oklch(24% 0.038 245);
  --ink-soft: oklch(40% 0.028 245);
  --rule: oklch(72% 0.025 78);
  --proof: oklch(48% 0.15 31);
  --proof-soft: oklch(88% 0.055 31);
  --added: oklch(42% 0.092 166);
  --added-soft: oklch(89% 0.055 156);
  --focus: oklch(54% 0.16 248);
  --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", serif;
  --font-body: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --font-ui: "Avenir Next", Avenir, "Century Gothic", "Trebuchet MS", sans-serif;
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-6: 1.5rem; --space-8: 2rem; --space-12: 3rem; --space-16: 4rem; --space-24: 6rem;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.58; font-kerning: normal; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .14em; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 600; top: var(--space-3); left: var(--space-3); transform: translateY(-180%); padding: var(--space-3) var(--space-4); color: var(--paper); background: var(--ink); font-family: var(--font-ui); }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.paper-edge { height: .35rem; background: repeating-linear-gradient(90deg, var(--ink) 0 4rem, var(--proof) 4rem 4.35rem, var(--ink) 4.35rem 8rem); }

.masthead { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); width: min(100% - 2rem, 88rem); margin-inline: auto; padding-block: 1.35rem; border-bottom: 1px solid var(--rule); font-family: var(--font-ui); }
.wordmark { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; font-size: .96rem; font-weight: 700; letter-spacing: .02em; }
.wordmark__proof { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--ink); border-radius: 50%; color: var(--proof); font-family: var(--font-display); font-size: 1.35rem; }
.wordmark__gov { letter-spacing: .08em; }
.masthead nav { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.5rem); font-size: .8rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }

main { width: min(100% - 2rem, 88rem); margin-inline: auto; }
.hero { padding-block: clamp(4rem, 11vw, 9rem) clamp(3rem, 8vw, 7rem); }
.hero__eyebrow, .document-kicker { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-8); color: var(--ink-soft); font-family: var(--font-ui); font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.hero__eyebrow::after { content: ""; width: 5rem; height: 1px; background: var(--proof); }
.hero__grid { display: grid; gap: var(--space-12); }
h1, h2, h3 { font-family: var(--font-display); text-wrap: balance; }
h1 { max-width: 18ch; margin: 0; font-size: clamp(3rem, 9.2vw, 8.6rem); font-weight: 500; line-height: .93; letter-spacing: -.045em; }
h1 em { color: var(--proof); font-weight: 500; }
.hero__lead { max-width: 48ch; margin: var(--space-8) 0 0; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.45; }
.principle { align-self: end; max-width: 22rem; padding: var(--space-6) 0 var(--space-3) var(--space-6); border-left: 1px solid var(--proof); }
.principle__mark { display: block; height: 1.9rem; color: var(--proof); font-family: var(--font-display); font-size: 3.5rem; line-height: 1; }
.principle p { margin: 0; font-size: 1.08rem; font-style: italic; }
.hero-ledger { display: grid; gap: 0; margin: var(--space-16) 0 0; border-block: 1px solid var(--rule); }
.hero-ledger div { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-3); border-bottom: 1px solid var(--rule); }
.hero-ledger div:last-child { border-bottom: 0; }
.hero-ledger dt { color: var(--ink-soft); font-family: var(--font-ui); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.hero-ledger dd { margin: 0; font-family: var(--font-ui); font-size: .82rem; font-variant-numeric: tabular-nums; }

.lookup { display: grid; grid-template-columns: 3rem 1fr; gap: var(--space-6); }
.lookup, .ledger-section { padding-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--ink); }
.section-index { color: var(--proof); font-family: var(--font-ui); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.lookup h2, .section-heading h2, .page-history h2, .diff-section h2, .provenance h2 { margin: 0; font-size: clamp(1.9rem, 4vw, 3.5rem); font-weight: 500; line-height: 1.04; letter-spacing: -.025em; }
.lookup__body > p { max-width: 52ch; margin: var(--space-3) 0 var(--space-8); color: var(--ink-soft); }
.url-form label { display: block; margin-bottom: var(--space-2); font-family: var(--font-ui); font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.url-form__row { display: grid; gap: var(--space-3); }
.url-form input { width: 100%; min-height: 3.75rem; padding: .9rem 1rem; border: 1px solid var(--ink); border-radius: 0; color: var(--ink); background: oklch(98% 0.012 84); font-family: var(--font-ui); font-size: 1rem; }
.url-form input::placeholder { color: oklch(49% 0.025 245); opacity: 1; }
.url-form button, .primary-link { display: inline-flex; min-height: 3.75rem; align-items: center; justify-content: center; padding: .85rem 1.35rem; border: 1px solid var(--ink); border-radius: 0; color: var(--paper); background: var(--ink); font-family: var(--font-ui); font-size: .82rem; font-weight: 750; letter-spacing: .04em; text-decoration: none; cursor: pointer; transition: transform 130ms cubic-bezier(.25,1,.5,1), background 130ms; }
.url-form button:hover, .primary-link:hover { background: var(--proof); transform: translateY(-1px); }
.url-form button:active, .primary-link:active { transform: translateY(1px); }
.form-hint { margin: var(--space-2) 0 0; color: var(--ink-soft); font-family: var(--font-ui); font-size: .78rem; }
.form-error { max-width: 58ch; margin-top: var(--space-4); padding: var(--space-4); border: 1px solid var(--proof); background: var(--proof-soft); }
.ledger-search { max-width: 58rem; margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--rule); }
.ledger-search label { display: block; margin-bottom: var(--space-2); font-family: var(--font-ui); font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.ledger-search__row { display: grid; gap: var(--space-3); }
.ledger-search input { width: 100%; min-height: 3rem; padding: .7rem .85rem; border: 1px solid var(--ink); border-radius: 0; color: var(--ink); background: transparent; font-family: var(--font-ui); font-size: .95rem; }
.ledger-search button { min-height: 3rem; padding: .65rem 1rem; border: 1px solid var(--ink); border-radius: 0; color: var(--ink); background: transparent; font-family: var(--font-ui); font-size: .76rem; font-weight: 750; cursor: pointer; transition: color 130ms, background 130ms, transform 130ms cubic-bezier(.25,1,.5,1); }
.ledger-search button:hover { color: var(--paper); background: var(--ink); transform: translateY(-1px); }
.ledger-search button:active { transform: translateY(1px); }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-8); margin-bottom: var(--space-8); }
.section-heading > div { display: flex; align-items: start; gap: var(--space-6); }
.section-heading > p, .quiet-link { margin: 0; color: var(--ink-soft); font-family: var(--font-ui); font-size: .78rem; }
.change-list, .page-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.change-list li, .page-list li { border-bottom: 1px solid var(--rule); }
.change-list a { display: grid; grid-template-columns: 7rem 1fr auto; gap: var(--space-4); align-items: baseline; min-height: 4.5rem; padding: 1.15rem .25rem; text-decoration: none; }
.change-list a:hover .change-list__title, .page-list a:hover strong { color: var(--proof); }
.change-list time, .change-list__measure, .page-list span { font-family: var(--font-ui); font-size: .75rem; letter-spacing: .03em; }
.change-list__title { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; }
.change-list__measure { display: flex; gap: var(--space-3); font-variant-numeric: tabular-nums; }
.added { color: var(--added); }
.removed { color: var(--proof); }
.page-list a { display: flex; flex-direction: column; gap: var(--space-1); min-height: 4.5rem; padding: 1rem .25rem; text-decoration: none; }
.page-list strong { font-family: var(--font-display); font-size: 1.14rem; transition: color 130ms; }
.page-list span { color: var(--ink-soft); }
.empty-state { max-width: 58ch; padding-block: var(--space-8); }
.empty-state--ruled { padding: var(--space-8); border: 1px solid var(--rule); background: repeating-linear-gradient(var(--paper) 0 2.45rem, var(--paper-deep) 2.45rem calc(2.45rem + 1px)); }
.empty-state__title { margin: 0 0 var(--space-2); font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; }
.empty-state p:last-child { margin-bottom: 0; }
.empty-state__links { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); padding-top: var(--space-2); font-family: var(--font-ui); font-size: .76rem; }

.breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-block: var(--space-6); color: var(--ink-soft); border-bottom: 1px solid var(--rule); font-family: var(--font-ui); font-size: .75rem; }
.notice { margin-top: var(--space-8); padding: var(--space-4) var(--space-6); border: 1px solid var(--added); background: var(--added-soft); }
.document-header, .change-header { padding-block: clamp(4rem, 9vw, 8rem); }
.document-header h1, .change-header h1, .prose-page > h1 { max-width: 17ch; font-size: clamp(2.7rem, 7vw, 6.6rem); line-height: .98; }
.document-deck, .prose-page__lead { max-width: 55ch; margin: var(--space-8) 0 0; font-size: clamp(1.2rem, 2vw, 1.55rem); }
.document-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); margin-top: var(--space-8); font-family: var(--font-ui); font-size: .82rem; }
.evidence-strip { display: grid; margin: 0; border-block: 1px solid var(--ink); }
.evidence-strip div { padding: var(--space-4) 0; border-bottom: 1px solid var(--rule); }
.evidence-strip div:last-child { border-bottom: 0; }
.evidence-strip dt, .provenance dt { color: var(--ink-soft); font-family: var(--font-ui); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.evidence-strip dd, .provenance dd { margin: var(--space-1) 0 0; font-variant-numeric: tabular-nums; }
.page-history { padding-block: clamp(4rem, 9vw, 8rem); }
.timeline { margin: var(--space-12) 0 0; padding: 0; list-style: none; }
.timeline li { display: grid; grid-template-columns: 1.25rem 1fr; gap: var(--space-4); }
.timeline__rule { position: relative; border-left: 1px solid var(--rule); }
.timeline__rule::before { content: ""; position: absolute; top: .55rem; left: -.32rem; width: .55rem; height: .55rem; border-radius: 50%; background: var(--proof); }
.timeline li > div { padding-bottom: var(--space-8); }
.timeline time { font-family: var(--font-ui); font-size: .75rem; }
.timeline h3 { margin: var(--space-1) 0; font-size: 1.35rem; }
.timeline p { margin: 0; font-family: var(--font-ui); font-size: .78rem; }

.change-header blockquote { max-width: 52rem; margin: var(--space-12) 0 0; padding: var(--space-4) 0 var(--space-4) var(--space-6); border-left: 2px solid var(--proof); }
.change-header blockquote span { font-family: var(--font-ui); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.change-header blockquote p { margin: var(--space-2) 0 0; font-size: 1.25rem; }
.change-metrics { display: flex; gap: var(--space-8); margin-top: var(--space-12); }
.change-metrics p { display: flex; flex-direction: column; margin: 0; }
.change-metrics strong { font-family: var(--font-display); font-size: 2.6rem; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1; }
.change-metrics span { font-family: var(--font-ui); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.diff-section { padding-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--ink); }
.diff-toolbar { display: flex; flex-direction: column; gap: var(--space-6); }
.diff-toolbar p { color: var(--ink-soft); }
.diff-controls { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.diff-controls button, .text-button { min-height: 2.75rem; padding: .55rem .9rem; border: 1px solid var(--ink); border-radius: 0; color: var(--ink); background: transparent; font-family: var(--font-ui); font-size: .72rem; font-weight: 750; cursor: pointer; }
.diff-controls button[aria-pressed="true"] { color: var(--paper); background: var(--ink); }
.diff-key { display: flex; gap: var(--space-6); margin: var(--space-8) 0 var(--space-3); font-family: var(--font-ui); font-size: .72rem; }
.diff-key span { display: flex; align-items: center; gap: var(--space-2); }
.diff-key i { width: 1.3rem; height: .75rem; }
.key-added { background: var(--added-soft); border-bottom: 2px solid var(--added); }
.key-removed { background: var(--proof-soft); border-bottom: 2px solid var(--proof); }
.diff-copy { padding: clamp(1.25rem, 4vw, 3.5rem); border: 1px solid var(--ink); background: oklch(98% 0.01 84); font-family: var(--font-body); font-size: clamp(.98rem, 1.5vw, 1.15rem); line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.diff-operation ins, .diff-operation del { padding: .08em .04em; color: inherit; text-decoration: none; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.diff-operation--insert ins { background: var(--added-soft); border-bottom: 2px solid var(--added); }
.diff-operation--delete del { background: var(--proof-soft); border-bottom: 2px solid var(--proof); text-decoration: line-through; text-decoration-thickness: 1px; }
.diff-copy[data-view="additions"] .diff-operation--delete, .diff-copy[data-view="removals"] .diff-operation--insert { display: none; }
.provenance { margin-block: var(--space-12) var(--space-24); padding: clamp(1.5rem, 4vw, 3rem); background: var(--ink); color: var(--paper); }
.provenance h2 { color: var(--paper); }
.provenance dl { display: grid; gap: var(--space-4); margin-block: var(--space-8); }
.provenance dl div { padding-bottom: var(--space-4); border-bottom: 1px solid oklch(45% 0.03 245); }
.provenance dt { color: var(--paper-deep); }
.provenance dd { overflow-wrap: anywhere; }
.provenance code { font-family: ui-monospace, "Cascadia Mono", monospace; }
.provenance__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }
.provenance .primary-link { color: var(--ink); background: var(--paper); }
.provenance .text-button { color: var(--paper); border-color: var(--paper); }
.provenance__note { max-width: 68ch; margin: var(--space-8) 0 0; color: var(--paper-deep); font-size: .9rem; }

.prose-page { max-width: 58rem; padding-block: clamp(4rem, 9vw, 8rem); }
.prose-page section { margin-top: var(--space-16); }
.prose-page h2 { margin-bottom: var(--space-4); font-size: 2rem; font-weight: 550; }
.prose-page li + li { margin-top: var(--space-3); }
.prose-page code { padding: .1em .25em; background: var(--paper-deep); }
.status-ledger { margin: var(--space-12) 0; border-top: 1px solid var(--ink); }
.status-ledger div { display: flex; justify-content: space-between; gap: var(--space-8); padding-block: var(--space-4); border-bottom: 1px solid var(--rule); }
.status-ledger dt { font-family: var(--font-ui); font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.status-ledger dd { margin: 0; font-variant-numeric: tabular-nums; }

.site-footer { width: min(100% - 2rem, 88rem); margin-inline: auto; padding-block: var(--space-12); border-top: 1px solid var(--ink); font-size: .9rem; }
.site-footer p { max-width: 70ch; }
.site-footer__small { color: var(--ink-soft); font-family: var(--font-ui); font-size: .72rem; }

@media (min-width: 44rem) {
  .hero__grid { grid-template-columns: minmax(0, 1fr) 18rem; align-items: end; }
  .hero-ledger { grid-template-columns: 1fr 1fr minmax(18rem, 1.5fr); }
  .hero-ledger div { display: block; padding: var(--space-4); border-right: 1px solid var(--rule); border-bottom: 0; }
  .hero-ledger div:first-child { padding-left: 0; }
  .hero-ledger div:last-child { padding-right: 0; border-right: 0; }
  .hero-ledger dd { margin-top: var(--space-1); }
  .url-form__row { grid-template-columns: minmax(0, 1fr) auto; }
  .ledger-search__row { grid-template-columns: minmax(0, 1fr) auto; }
  .evidence-strip { grid-template-columns: repeat(3, 1fr); }
  .evidence-strip div { padding: var(--space-4); border-right: 1px solid var(--rule); border-bottom: 0; }
  .evidence-strip div:first-child { padding-left: 0; }
  .evidence-strip div:last-child { border-right: 0; }
  .page-list--columns { display: grid; grid-template-columns: repeat(2, 1fr); }
  .page-list--columns li:nth-child(odd) { padding-right: var(--space-6); border-right: 1px solid var(--rule); }
  .page-list--columns li:nth-child(even) { padding-left: var(--space-6); }
  .diff-toolbar { flex-direction: row; justify-content: space-between; align-items: end; }
  .provenance dl { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 43.99rem) {
  .masthead { align-items: flex-start; }
  .masthead nav { flex-direction: column; align-items: flex-end; gap: var(--space-2); }
  .hero h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .lookup { grid-template-columns: 1fr; }
  .section-heading { align-items: start; flex-direction: column; }
  .change-list a { grid-template-columns: 1fr auto; }
  .change-list time { grid-column: 1 / -1; }
  .change-metrics { gap: var(--space-6); }
}

@media (pointer: coarse) {
  .masthead nav a, .quiet-link { min-height: 2.75rem; display: inline-flex; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media print {
  .paper-edge, .masthead nav, .diff-controls, .provenance__actions, .site-footer { display: none; }
  body { background: white; color: #111; }
  main, .masthead { width: 100%; }
  .provenance { color: #111; background: white; border: 1px solid #111; }
}
