/* SSP Library: Dossier. Manila records-room, folder tabs, index cards. */
:root{
  --bg:#ece2c8; --surface:#f6efdb; --card:#f8f3e2; --ink:#33302a; --muted:#7a7261;
  --accent:#8c2f2f; --accent-ink:#f8f3e2; --line:#d8c9a4; --olive:#5a5a34;
  --font-display:'Oswald','Arial Narrow',sans-serif;
  --font-stencil:'Saira Stencil One','Oswald',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);
  background:var(--bg) repeating-linear-gradient(0deg,transparent 0 34px,rgba(51,48,42,.045) 34px 35px);
  font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.7}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:720px}
a{color:var(--accent)}
.banner{background:var(--olive);color:#efe9d2;font-family:var(--font-stencil);
  font-size:12px;letter-spacing:3px;text-align:center;padding:9px 12px;
  text-transform:uppercase}
.lib-head{background:var(--surface);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:24px;padding:18px 20px}
.wordmark{font-family:var(--font-display);font-size:27px;font-weight:700;
  color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:1px}
.wordmark::after{content:"";display:block;height:4px;background:var(--accent);margin-top:2px}
.lib-head nav{margin-left:auto;display:flex;gap:18px}
.lib-head nav a{color:var(--muted);text-decoration:none;font-size:14px;
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px}
.lib-head nav a:hover{color:var(--accent)}
.lib-intro{padding:40px 0 6px}
.lib-intro h1{font-family:var(--font-display);font-size:40px;text-transform:uppercase;
  letter-spacing:.5px;line-height:1.15;margin:.2em 0}
.lib-intro h1::before{content:"DOSSIER // ";font-family:var(--font-stencil);
  font-size:15px;letter-spacing:3px;color:var(--accent);display:block;margin-bottom:10px}
.lede{font-size:19px;color:var(--muted)}
.lib-cols{display:grid;grid-template-columns:1fr 290px;gap:30px;margin:26px 0 50px;
  align-items:start}
.chapters{display:flex;flex-direction:column;gap:0}
.chapter{display:block;text-decoration:none;color:var(--ink);background:var(--card);
  border:1px solid var(--line);border-top-width:10px;border-top-color:var(--surface);
  padding:20px 24px;margin-bottom:-1px;position:relative}
.chapter:first-child{border-top:10px solid var(--accent)}
.chapter:hover{background:#fffdf2}
.chap-num{font-family:var(--font-mono);font-size:12px;letter-spacing:2px;
  text-transform:uppercase;color:var(--accent)}
.chap-title{font-family:var(--font-display);font-size:23px;text-transform:uppercase;
  letter-spacing:.4px;display:block;margin:4px 0}
.chap-desc{display:block;color:var(--muted);font-size:15px}
.rail{background:var(--surface);border:1px solid var(--line);padding:22px;position:sticky;top:20px}
.rail-title{font-family:var(--font-stencil);font-size:13px;letter-spacing:2px;
  text-transform:uppercase;color:var(--olive);margin:0 0 10px}
.rail ol{margin:0;padding-left:1.3em;font-size:15px}
.rail li{margin:.45em 0}
.rail a{color:var(--ink);text-decoration:none}
.rail a:hover{color:var(--accent)}
.rail-cta{margin-top:20px;border-top:2px dashed var(--line);padding-top:16px}
.rail-cta p{font-size:15px;margin:0 0 12px}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);
  padding:11px 20px;text-decoration:none;font-weight:700;
  font-family:var(--font-display);font-size:14px;text-transform:uppercase;letter-spacing:1px}
.chapter-body{padding:36px 0}
.chapter-body .chap-num{margin-bottom:4px}
.chapter-body h1{font-family:var(--font-display);font-size:38px;line-height:1.18;
  text-transform:uppercase;letter-spacing:.5px;margin:.2em 0 .5em}
.meta{color:var(--muted);font-size:13px;font-family:var(--font-mono);
  letter-spacing:1px;text-transform:uppercase}
.body h2{font-family:var(--font-display);font-size:25px;margin-top:1.7em;
  text-transform:uppercase;letter-spacing:.4px;color:var(--accent)}
.body p{margin:1em 0}
.body ul,.body ol{margin:1em 0;padding-left:1.4em}
.body li{margin:.4em 0}
.entity{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--accent);
  padding:6px 22px;margin:24px 0}
.lib-cta{background:var(--surface);border:1px dashed var(--line);padding:24px;
  margin:34px 0;text-align:center}
.lib-foot{background:var(--olive);color:#e6dfc4;margin-top:20px;padding:28px 0;font-size:15px}
.lib-foot strong{color:#fff}
.fine{font-size:13px}
@media(max-width:900px){.lib-cols{grid-template-columns:1fr}.rail{position:static}.head-row{flex-wrap:wrap}}
