@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/instrument-sans.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/plex-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/plex-mono-600.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --paper:#f7f2e8;--paper-2:#efe7d7;--ink:#1b1510;--ink-2:#4e4439;--ink-3:#84755f;
  --rule:rgba(27,21,16,.18);--seal:#a5341f;
  --display:"Instrument Serif",Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.68;font-size:1.02rem}
a{color:inherit}
.wrap{width:min(980px,92vw);margin-inline:auto}
header.bar{border-bottom:1px solid var(--ink);position:sticky;top:0;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);z-index:5}
header.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;flex-wrap:wrap;padding-block:.4rem}
.brand{font-family:var(--display);font-size:1.35rem;text-decoration:none}
.back{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.6rem 0}
.back:hover{color:var(--seal)}
.crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;margin:2rem 0 0}
h1{font-family:var(--display);font-size:clamp(2.4rem,1.9rem + 2.6vw,3.9rem);line-height:1.03;letter-spacing:-.02em;margin:.6rem 0 .8rem;max-width:20ch}
.meta{display:flex;gap:1.2rem;flex-wrap:wrap;font-family:var(--mono);font-size:.75rem;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.8rem 0;margin-bottom:2.4rem}
.draft{display:inline-block;border:1px solid var(--seal);color:var(--seal);font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .6rem;margin-bottom:1rem}
.toc{border:1px solid var(--rule);padding:1.2rem 1.4rem;margin-bottom:2.6rem;background:var(--paper-2)}
.toc p{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .7rem;color:var(--ink-3)}
.toc ol{margin:0;padding-left:1.4rem;font-size:.92rem}
.toc li{margin:.25rem 0}
.toc a{text-decoration:none;border-bottom:1px solid transparent}
.toc a:hover{border-color:var(--seal);color:var(--seal)}
main{padding-bottom:4rem}
h2{font-family:var(--display);font-size:clamp(1.5rem,1.25rem + 1vw,2.05rem);line-height:1.15;margin:2.6rem 0 .7rem;padding-top:1.4rem;border-top:1px solid var(--rule)}
h2 .num{font-family:var(--mono);font-size:.78rem;color:var(--seal);letter-spacing:.12em;display:block;margin-bottom:.35rem;font-weight:600}
h3{font-family:var(--sans);font-size:1.02rem;font-weight:700;margin:1.4rem 0 .4rem}
p,li{color:var(--ink-2);max-width:72ch}
ul,ol{padding-left:1.3rem}
li{margin:.3rem 0}
strong{color:var(--ink)}
table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}
th{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--ink-3);padding:.6rem .8rem .6rem 0;border-bottom:1px solid var(--ink)}
td{padding:.7rem .8rem .7rem 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-2)}
.note{border-left:2px solid var(--seal);padding:.2rem 0 .2rem 1rem;margin:1.4rem 0;font-size:.95rem;color:var(--ink-2)}
.note b{color:var(--ink)}
.ph{background:var(--paper-2);border-bottom:1px dashed var(--seal);color:var(--seal);font-family:var(--mono);font-size:.82em;padding:0 .3em}
footer{border-top:1px solid var(--ink);padding:2rem 0 3rem;font-family:var(--mono);font-size:.78rem;color:var(--ink-3)}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
footer a{text-decoration:none;border-bottom:1px solid var(--rule);margin-right:1rem}
footer a:hover{color:var(--seal);border-color:var(--seal)}
@media (max-width:620px){.meta{gap:.5rem}.toc{padding:1rem}}

/* keep anchor targets clear of the sticky header */
[id]{scroll-margin-top:90px}

/* document stamp (legal set) */
main.wrap{position:relative}
.doc-stamp{position:absolute;top:clamp(.6rem,2vw,1.6rem);right:0;width:clamp(92px,8.5vw,136px);transform:rotate(-9deg);opacity:.45;pointer-events:none}
@media (max-width:760px){.doc-stamp{display:none}}
