@font-face { font-family:"Archivo"; src:url("/assets/archivo-400.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Archivo"; src:url("/assets/archivo-600.woff2") format("woff2"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Archivo"; src:url("/assets/archivo-700.woff2") format("woff2"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("/assets/ibm-plex-mono-500.woff2") format("woff2"); font-style:normal; font-weight:500; font-display:swap; }
:root { color-scheme: dark; font-family: Archivo, system-ui, sans-serif; background: #0c2a1e; color: #f4f7f2; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #0c2a1e; }
main { width: min(46rem, calc(100% - 2rem)); margin: 0 auto; padding: 4rem 0 6rem; }
.skip-link { position: fixed; z-index: 10; top: .5rem; left: .5rem; padding: .75rem 1rem; background: #f4f7f2; color: #0c2a1e; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
a { color: #f4f7f2; text-underline-offset: .2em; }
nav { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(244,247,242,.22); }
nav a, footer a, p a, li a { display: inline-flex; align-items: center; min-width: 2.5rem; min-height: 2.5rem; }
a:focus-visible { outline: 2px solid #f4f7f2; outline-offset: 2px; }
h1 { margin: 3rem 0 1rem; font-size: clamp(2rem, 8vw, 3.5rem); letter-spacing: -.035em; }
h2 { margin-top: 2.25rem; font-size: 1.25rem; }
p, li { color: #d3e0d7; line-height: 1.65; }
.eyebrow { color: #ff6b35; font: 500 .75rem/1.2 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.notice { margin: 2rem 0; padding: 1rem; border-left: .25rem solid #ff6b35; background: #103526; }
button { min-height: 2.75rem; padding: .65rem .9rem; border: 1px solid #f4f7f2; border-radius: .2rem; background: transparent; color: #f4f7f2; font: inherit; cursor: pointer; }
button:hover { background: #f4f7f2; color: #0c2a1e; }
button:focus-visible { outline: 2px solid #ff6b35; outline-offset: 3px; }
footer { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(244,247,242,.22); color: #a8c0b2; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }

/* The public record's tables (spec 40): numbers in Plex Mono, the row's name in Archivo. */
.record-table { overflow-x: auto; margin: 1.5rem 0; }
.record-table table { border-collapse: collapse; width: 100%; min-width: 40rem; font-size: 0.95rem; }
.record-table caption { text-align: left; font-weight: 600; padding: 0 0 0.5rem; }
.record-table th, .record-table td { padding: 0.45rem 0.6rem; border-top: 1px solid rgba(255,255,255,0.14); text-align: left; vertical-align: top; }
.record-table th { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.8; }
.record-table td.num { font-family: "IBM Plex Mono", ui-monospace, monospace; text-align: right; white-space: nowrap; }
.record-table th:not(:first-child) { text-align: right; }
.record-note { opacity: 0.8; font-size: 0.9rem; }
