/* Registry Ledger — design system for the re-scoped business.
   Deliberately unlike the parent build's Codex (white paper / serif / margin notes):
   this is a working ledger — slate ink on pale grey-green, double-ruled tables,
   tabular mono for every datum, stamps rendered as ruled boxes, no cards, no gradients. */
@font-face { font-family:"Plex Mono"; src:url("fonts/pm-400.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Plex Mono"; src:url("fonts/pm-700.woff2") format("woff2"); font-weight:700; font-display:swap; }
:root{
  --ink:#17201c; --slate:#33413a; --faint:#5c6a63;
  --paper:#eef1ec; --sheet:#ffffff; --line:#17201c; --hair:#b9c2ba;
  --signal:#7a1f1f; --ok:#1d5c38; --amber:#8a5a00;
  --mono:"Plex Mono", ui-monospace, monospace;
  --sans:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55}
a{color:var(--ink);text-decoration-color:var(--signal);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:9}
.skip:focus{left:0}
header.mast{border-bottom:3px double var(--line);background:var(--sheet)}
.mast-in{max-width:72rem;margin:0 auto;padding:.9rem 1.25rem;display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:baseline}
.wordmark{font-family:var(--mono);font-weight:700;letter-spacing:.08em;font-size:1rem;text-transform:uppercase}
.wordmark small{display:block;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--faint);font-size:.78rem}
nav.mainnav{display:flex;gap:1.4rem;font-family:var(--mono);font-size:.85rem;margin-left:auto}
nav.mainnav a{text-decoration:none;border-bottom:1px solid transparent}
nav.mainnav a:hover{border-bottom-color:var(--signal)}
main{max-width:72rem;margin:0 auto;padding:0 1.25rem 4rem}
h1{font-size:2.1rem;line-height:1.15;margin:2.2rem 0 .6rem;font-weight:650;letter-spacing:-.01em}
h2{font-size:1.3rem;margin:2.6rem 0 .7rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}
h3{font-size:1.05rem;margin:1.6rem 0 .4rem}
.lede{font-size:1.13rem;max-width:44rem;color:var(--slate)}
.name-notice{border:2px solid var(--signal);background:var(--sheet);padding:1.1rem 1.25rem;margin:1.6rem 0;max-width:52rem}
.name-notice p{margin:.35rem 0}
.name-notice .nh{font-family:var(--mono);font-weight:700;color:var(--signal);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}
table.ledger{border-collapse:collapse;width:100%;background:var(--sheet);font-size:.95rem;margin:1rem 0}
table.ledger caption{text-align:left;font-family:var(--mono);font-size:.8rem;color:var(--faint);padding:.4rem 0}
table.ledger th,table.ledger td{border-top:1px solid var(--hair);padding:.55rem .7rem;text-align:left;vertical-align:top}
table.ledger thead th{border-top:3px double var(--line);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
table.ledger td.num,table.ledger td.mono{font-family:var(--mono);font-size:.88rem}
.scrollx{overflow-x:auto}
.recordbox{border:1.5px solid var(--line);background:var(--sheet);padding:1.1rem 1.25rem;margin:1.2rem 0;max-width:52rem}
.recordbox .prov{border-top:1px dashed var(--faint);margin-top:.8rem;padding-top:.6rem;font-family:var(--mono);font-size:.8rem;color:var(--slate)}
.stamp{display:inline-block;border:1.5px solid var(--ok);color:var(--ok);font-family:var(--mono);font-size:.75rem;padding:.15rem .5rem;text-transform:uppercase;letter-spacing:.05em}
.stamp.off{border-color:var(--signal);color:var(--signal)}
.stamp.amb{border-color:var(--amber);color:var(--amber)}
ul.tight li{margin:.3rem 0}
.small{font-size:.88rem;color:var(--faint)}
.cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin:1.8rem 0}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:.8rem 1.4rem;font-family:var(--mono);font-size:.9rem;text-decoration:none;border:1.5px solid var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
fieldset{border:1.5px solid var(--line);background:var(--sheet);padding:1.1rem 1.25rem;max-width:38rem}
legend{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:0 .4rem}
label{display:block;font-family:var(--mono);font-size:.8rem;margin:.8rem 0 .25rem}
input[type="email"],input[type="text"]{width:100%;padding:.6rem;font-family:var(--mono);font-size:.95rem;border:1px solid var(--slate);background:#fff}
footer.colophon{border-top:3px double var(--line);background:var(--sheet);font-family:var(--mono);font-size:.78rem;color:var(--slate)}
.colophon .mast-in{align-items:flex-start}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
@media (max-width:640px){ h1{font-size:1.6rem} nav.mainnav{margin-left:0} }
