:root {
  --ink: #0d1512;
  --paper: #f7f7f1;
  --acid: #d5ff2e;
  --signal: #315cff;
  --alert: #b43f32;
  --quiet: #69706b;
  --line: #cfd4c6;
  --dark: #122018;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); }
a { color: inherit; text-underline-offset: .18em; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
.skip-link { position: absolute; left: -999px; top: 0; background: var(--acid); padding: .75rem; z-index: 10; }
.skip-link:focus { left: 1rem; }
.topbar, main, footer { max-width: 1280px; margin: 0 auto; }
.topbar { min-height: 78px; display: flex; justify-content: space-between; align-items: center; padding: 1rem 2rem; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; font-size: .88rem; font-weight: 700; letter-spacing: .02em; }
.brand-mark { display: inline-grid; place-items: center; width: 2.35rem; height: 2.35rem; background: var(--ink); color: var(--acid); font-family: var(--serif); font-size: 1.25rem; font-weight: 700; }
nav { display: flex; gap: 1.35rem; font-size: .86rem; }
nav a { text-decoration: none; }
nav a:hover { text-decoration: underline; }
.hero { padding: 4.5rem 2rem 4rem; }
.eyebrow { margin: 0 0 1rem; color: #596300; font-size: .72rem; font-weight: 800; letter-spacing: .15em; }
h1, h2 { margin: 0; font-family: var(--serif); font-weight: 500; letter-spacing: 0; }
h1 { max-width: 850px; font-size: 7rem; line-height: .88; }
h2 { font-size: 3.6rem; line-height: .95; }
.hero-copy { max-width: 650px; margin: 2rem 0 3rem; color: #3e4841; font-size: 1.14rem; line-height: 1.5; }
.workbench { display: grid; grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr); gap: 2rem; align-items: end; background: #f8f7ef; border-bottom: 1px solid var(--line); }
.hero-copyblock { min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end; }
.desk-panel { min-height: 420px; padding: 1.1rem; background: #101713; color: white; border: 1px solid #26372d; box-shadow: 8px 8px 0 var(--acid); }
.desk-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; padding-bottom: 1rem; border-bottom: 1px solid #33443a; }
.desk-head div { display: grid; gap: .2rem; }
.desk-head strong { font: 500 1.9rem/1 var(--serif); }
.desk-head a { min-width: 3.2rem; height: 3.2rem; display: inline-grid; place-items: center; border: 1px solid var(--acid); color: var(--acid); text-decoration: none; font-weight: 900; }
.desk-kicker { color: #9ca6a0; font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.desk-panel label { display: block; margin-bottom: .55rem; color: #dce5de; font-size: .82rem; font-weight: 800; }
.desk-formats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 1rem; background: #33443a; border: 1px solid #33443a; }
.desk-formats a { min-height: 3rem; display: grid; place-items: center; background: #17231c; color: white; text-decoration: none; font-size: .74rem; font-weight: 900; }
.desk-formats a:hover { background: var(--acid); color: var(--ink); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: -1.3rem 0 2.4rem; }
.button-primary, .button-secondary { display: inline-flex; align-items: center; min-height: 3rem; padding: .75rem 1rem; font-weight: 800; text-decoration: none; }
.button-primary { background: var(--ink); color: var(--acid); }
.button-secondary { border: 1px solid var(--ink); color: var(--ink); }
.search-panel { max-width: 860px; padding: 1.2rem; background: var(--dark); color: white; box-shadow: 7px 7px 0 var(--acid); }
.search-panel label { display: block; margin-bottom: .55rem; font-size: .82rem; font-weight: 700; }
.search-row { display: flex; gap: .65rem; }
.search-row input { flex: 1; min-width: 0; border: 0; border-radius: 0; padding: .85rem 1rem; background: white; color: var(--ink); }
.search-row button { min-width: 3rem; border: 1px solid var(--acid); padding: .7rem 1rem; background: transparent; color: var(--acid); font-size: 1.35rem; line-height: 1; }
.filter-row { display: flex; flex-wrap: wrap; gap: .45rem; padding-top: 1rem; }
.filter { border: 1px solid #718277; padding: .45rem .65rem; background: transparent; color: #d9e1d8; font-size: .78rem; }
.filter.is-active, .filter:hover { border-color: var(--acid); background: var(--acid); color: var(--ink); }
.ledger { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border-block: 1px solid var(--line); }
.ledger div { min-height: 116px; padding: 1.35rem 2rem; background: var(--paper); display: grid; align-content: center; gap: .25rem; color: #566059; font-size: .82rem; }
.metric { color: var(--ink); font-size: 1.7rem; font-family: var(--serif); }
.records-section, .how { padding: 5rem 2rem; }
.newsroom, .delivery { padding: 5rem 2rem; }
.newsroom { background: #e7f6cb; }
.newsroom-heading > p { max-width: 25rem; margin: 0; color: #465248; line-height: 1.55; }
.workflow-grid, .delivery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2.5rem; background: var(--line); border: 1px solid var(--line); }
.workflow-grid article, .delivery-grid article { min-height: 250px; padding: 1.5rem; background: #fffefa; display: flex; flex-direction: column; }
.workflow-index, .delivery-state { color: #546300; font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.workflow-grid h3, .delivery-grid h3 { margin: 2.1rem 0 .7rem; font: 500 2rem/1 var(--serif); letter-spacing: 0; }
.workflow-grid p, .delivery-grid p { margin: 0; color: #526057; line-height: 1.5; }
.workflow-grid a, .delivery-grid a { margin-top: auto; padding-top: 1.5rem; font-weight: 800; }
.product-suite { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1px; background: var(--line); border: 1px solid var(--line); border-top: 0; }
.product-suite article { min-height: 190px; padding: 1.25rem; background: #f8f7ef; display: grid; align-content: start; gap: .65rem; }
.product-suite span { color: var(--signal); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.product-suite strong { font: 500 1.45rem/1.08 var(--serif); }
.product-suite p { margin: 0; color: #526057; font-size: .86rem; line-height: 1.48; }
.delivery { background: var(--ink); color: white; }
.delivery .eyebrow { color: var(--acid); }
.delivery-grid { grid-template-columns: repeat(3, 1fr); }
.delivery-grid article { background: #1a2a20; }
.delivery-grid p { color: #d1d8d1; }
.delivery-state { color: var(--acid) !important; }
.delivery-state.is-next { color: #aeb8b0 !important; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
#result-status { color: var(--quiet); font-size: .88rem; }
.records-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.api-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.api-grid article { min-height: 180px; padding: 1.5rem; background: #fffefa; }
.api-grid h3 { margin: 0 0 1rem; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; line-height: 1.05; }
.api-grid p { margin: 0; color: #556059; line-height: 1.5; }
.record-card { min-height: 360px; display: flex; flex-direction: column; padding: 1.4rem; background: #fffefa; scroll-margin-top: 1rem; transition: background .18s ease; }
.record-card:hover { background: #f0ffc2; }
.record-meta, .record-bottom { display: flex; align-items: center; justify-content: space-between; gap: .75rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.verified { color: #315020; font-weight: 800; }
.record-quote { margin: 2.4rem 0 1rem; font-family: var(--serif); font-size: 1.85rem; line-height: 1.08; letter-spacing: 0; }
.record-context { margin: 0 0 auto; color: #556059; font-size: .88rem; line-height: 1.5; }
.record-bottom { margin-top: 2rem; }
.record-controls { display: flex; align-items: center; gap: .7rem; }
.bundle-record { border: 1px solid #b5c3b7; padding: .38rem .55rem; background: transparent; color: #415047; font-size: .72rem; font-weight: 800; }
.bundle-record[aria-pressed="true"] { background: var(--acid); border-color: var(--acid); color: var(--ink); }
.record-topic { color: #546300; font-weight: 700; }
.open-record { border: 0; padding: 0; background: none; color: var(--ink); font-weight: 750; }
.open-record:hover { text-decoration: underline; }
.empty-state { grid-column: 1 / -1; padding: 3rem; background: #fffefa; color: var(--quiet); }
.quote-bundle { position: sticky; bottom: 1rem; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem 1.25rem; background: var(--ink); color: white; box-shadow: 6px 6px 0 var(--acid); }
.quote-bundle .eyebrow { margin-bottom: .2rem; color: var(--acid); }
.bundle-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.bundle-actions button { border: 1px solid #698074; padding: .55rem .7rem; background: transparent; color: white; font-size: .78rem; font-weight: 800; }
.bundle-actions button:first-child { background: var(--acid); border-color: var(--acid); color: var(--ink); }
.how { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6rem; background: var(--dark); color: white; }
.how .eyebrow { color: var(--acid); }
.how ol { margin: 0; padding: 0; list-style: none; counter-reset: item; }
.how li { position: relative; padding: 1.3rem 0 1.3rem 3.2rem; border-top: 1px solid #506054; line-height: 1.5; color: #dce1dc; }
.how li::before { counter-increment: item; content: "0" counter(item); position: absolute; left: 0; color: var(--acid); font-size: .77rem; font-weight: 800; }
.how strong { color: white; }
footer { display: flex; justify-content: space-between; gap: 2rem; padding: 2rem; color: #5e6861; font-size: .8rem; line-height: 1.45; }
footer > * { max-width: 45rem; }
dialog { width: min(780px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow-y: auto; border: 0; padding: 0; background: #fffefa; box-shadow: 0 20px 70px #0008; }
dialog::backdrop { background: #0b110ddd; }
.dialog-close { position: absolute; top: .7rem; right: .7rem; width: 2.4rem; height: 2.4rem; border: 0; background: var(--acid); font-size: 1.6rem; }
.dialog-body { padding: 3rem; }
.dialog-body h3 { max-width: 650px; margin: .75rem 0 1.5rem; font: 500 3.25rem/.95 var(--serif); letter-spacing: 0; }
.dialog-body p { line-height: 1.55; color: #445048; }
.provenance { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 2rem 0; background: var(--line); border: 1px solid var(--line); }
.provenance div { padding: 1rem; background: var(--paper); font-size: .82rem; }
.provenance span { display: block; margin-bottom: .25rem; color: var(--quiet); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.dialog-actions a, .dialog-actions button { border: 1px solid var(--ink); padding: .75rem 1rem; background: transparent; color: var(--ink); text-decoration: none; font-weight: 750; }
.dialog-actions a { background: var(--acid); }
.toast { position: fixed; right: 1.2rem; bottom: 1.2rem; max-width: 24rem; padding: .8rem 1rem; background: var(--ink); color: white; box-shadow: 4px 4px 0 var(--acid); }
@media (max-width: 980px) { .workbench { grid-template-columns: 1fr; } .hero-copyblock, .desk-panel { min-height: 0; } .product-suite, .delivery-grid { grid-template-columns: repeat(2, 1fr); } h1 { font-size: 5rem; } h2 { font-size: 3rem; } }
@media (max-width: 760px) { .topbar, footer, .section-heading, .quote-bundle { align-items: flex-start; flex-direction: column; } .topbar { gap: 1rem; } nav { gap: 1rem; flex-wrap: wrap; } .hero { padding-top: 3rem; } h1 { font-size: 4rem; } h2 { font-size: 2.45rem; } .ledger, .records-grid, .api-grid, .how, .workflow-grid, .delivery-grid, .product-suite { grid-template-columns: 1fr; } .how { gap: 2rem; } .ledger div { min-height: 0; } .search-row { flex-direction: column; } .desk-formats { grid-template-columns: repeat(2, 1fr); } .provenance { grid-template-columns: 1fr; } .dialog-body { padding: 2rem; } .dialog-body h3 { font-size: 2.25rem; } }
