/* Hallmark · macrostructure: Long Document · genre: editorial-dark · theme: Perennos night ground (tokens.css) · enrichment: none · nav: site masthead · footer: site footer + legal row */
/* Hallmark pre-emit critique: P4 H4 E4 S4 R4 V3. Read-only audit of the preview, 10 Nov 2026: 0 critical. */
/* Trust, contact and downloads pages on the site's own dark system (tokens.css night ground, site.v55.css masthead and footer). Left-aligned, hairlines, mono microtype. */
.doc { max-width: 52rem; margin-inline: 0 auto; padding-block: var(--space-12, 4rem) var(--space-12, 4rem); }
.doc .date { margin: 0 0 var(--space-4, 1rem); font: 700 11px/1.5 "JBMono", var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); }
.doc h1 { margin: 0 0 var(--space-6, 1.5rem); max-width: 22ch; font-size: clamp(2rem, 1.2rem + 3.4vw, 3.75rem); font-weight: 750; line-height: 1.05; letter-spacing: -.03em; text-align: start; }
.doc h2 { margin: var(--space-10, 3rem) 0 var(--space-4, 1rem); padding-top: var(--space-4, 1rem); border-top: 1px solid var(--color-rule); font-size: var(--text-xl); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.doc h3 { margin: var(--space-6, 1.5rem) 0 var(--space-2, .5rem); font-size: var(--text-base); font-weight: 700; }
.doc p { max-width: 68ch; margin: 0 0 var(--space-5, 1.25rem); line-height: 1.65; }
.doc .intro { font-size: var(--text-lg); line-height: 1.5; max-width: 56ch; }
.doc a { color: var(--color-ink); text-underline-offset: .2em; text-decoration-thickness: 1px; }
.doc a:hover { text-decoration-thickness: 2px; }
.doc a:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 3px; }
.doc code { font-family: "JBMono", var(--font-mono); font-size: .88em; overflow-wrap: anywhere; }
.doc blockquote { margin: 0 0 var(--space-5, 1.25rem); padding-inline-start: var(--space-5, 1.25rem); border-inline-start: 2px solid var(--color-ink); }
.doc blockquote p { margin: 0; }
.doc .tbl { margin: 0 0 var(--space-6, 1.5rem); overflow-x: auto; max-width: 100%; border-block: 1px solid var(--color-rule); }
.doc .tbl:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
.doc table { border-collapse: collapse; width: 100%; font-size: var(--text-sm); line-height: 1.5; }
.doc th, .doc td { text-align: start; vertical-align: top; padding: var(--space-2, .5rem) var(--space-3, .75rem); border-bottom: 1px solid var(--color-rule); min-width: 9rem; }
.doc th { font: 700 11px/1.5 "JBMono", var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--color-muted); white-space: nowrap; }
.doc td code { word-break: break-all; }
.intake { display: grid; gap: var(--space-5, 1.25rem); max-width: 36rem; }
.intake p { margin: 0; }
.intake label { display: block; margin-bottom: var(--space-2, .5rem); font: 700 11px/1.5 "JBMono", var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.intake input, .intake textarea, .intake select { width: 100%; min-height: 48px; padding: var(--space-3, .75rem); font: inherit; color: var(--color-ink); background: transparent; border: 1px solid var(--color-rule); border-radius: 0; }
.intake select option { color: #07080a; background: #e9e7e2; }
.intake input:focus-visible, .intake textarea:focus-visible, .intake select:focus-visible, .intake button:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
.intake .hint { display: block; margin-top: var(--space-2, .5rem); font-size: var(--text-sm); color: var(--color-muted); line-height: 1.5; }
.intake .hp { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
.intake button { min-height: 48px; padding: 0 var(--space-8, 2rem); font: 700 12px/1.2 "JBMono", var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: #07080a; background: var(--color-ink); border: 1px solid var(--color-ink); border-radius: 0; cursor: pointer; }
.intake button:hover { background: transparent; color: var(--color-ink); }
.err { padding-inline-start: var(--space-4, 1rem); border-inline-start: 2px solid var(--color-ink); }
