:root{
--paper:#F3EFE3;--paper-2:#EBE5D4;--paper-3:#E2DAC4;--ink:#1A1712;--ink-soft:#473F33;
--gold:#9A7B2E;--gold-2:#7E6322;--green:#2B463A;--line:#C8BC9E;--line-2:#B7AB8B;--muted:#6E6553;--measure:680px;
}
:root{--line:#C8BC9E}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:"PT Serif",Georgia,serif;font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased;
background-image:radial-gradient(rgba(120,100,60,.035) 1px,transparent 1px);background-size:4px 4px}
a{color:var(--gold-2);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;display:block}
h1,h2,h3,h4,.np-title,.lead-main h1,.dept-h2,.ah h1,.seal h2,.rcard h3,.lead-cols h3{font-family:"Libre Caslon Text","Times New Roman",serif;font-weight:700;line-height:1.12;color:var(--ink)}
.mono,.dateline,.kick,.lab,.np-nav a,.c-row .ci,.byl,.tag,.dept-h2 .n,.ledger-cap,.factbox th,.factbox caption,.toc b,.foot h4,.crumb,.seal .lab,.bl,.bv,.src,.contents-h{font-family:"Space Mono",ui-monospace,monospace}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
.measure{max-width:var(--measure);margin:0 auto;padding:0 26px}

/* ornamental rule */
.orn{display:flex;align-items:center;gap:14px;margin:0;color:var(--gold)}
.orn::before,.orn::after{content:"";height:1px;background:var(--line-2);flex:1}
.orn svg{width:42px;height:14px;flex:none;display:block}
.rule-fine{height:1px;background:var(--line-2);border:0;margin:0}
.rule-double{border:0;border-top:3px double var(--ink);margin:0}

/* nameplate masthead */
.masthead{background:var(--paper);border-bottom:3px double var(--ink)}
.dateline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 26px;max-width:1180px;margin:0 auto;
text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line)}
.dateline .c{color:var(--gold-2)}
.nameplate{text-align:center;padding:22px 26px 8px}
.nameplate a{color:var(--ink);display:inline-flex;align-items:center;gap:18px}.nameplate a:hover{text-decoration:none}
.np-emblem{width:54px;height:54px;flex:none}
.np-title{font-size:clamp(34px,6vw,58px);letter-spacing:.02em;font-weight:700;line-height:.95}
.np-motto{text-align:center;font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.22em;font-size:9.5px;color:var(--muted);margin:6px 0 14px}
.guilloche{width:100%;height:18px;display:block;color:var(--gold);opacity:.8}
.np-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;padding:11px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.np-nav a{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:var(--ink)}
.np-nav a:hover{color:var(--gold-2);text-decoration:none}
@media(max-width:620px){.nameplate a{gap:10px}.np-emblem{width:38px;height:38px}}

/* ===== FRONT PAGE (broadsheet) ===== */
.front{padding-top:30px}
.lead{display:grid;grid-template-columns:1fr 308px;gap:0}
.lead-main{padding-right:38px;border-right:1px solid var(--line-2)}
.lead-main .kick{display:inline-block;color:var(--gold-2);text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.lead-main h1{font-size:clamp(34px,5.2vw,58px);margin:12px 0 14px;letter-spacing:-.01em}
.lead-main h1 a{color:var(--ink)}
.lead-main .byl{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin-bottom:18px}
.lead-cols{columns:2;column-gap:34px;column-rule:1px solid var(--line)}
.lead-cols p{margin:0 0 14px;font-size:16px;line-height:1.6}
.lead-cols p:first-of-type::first-letter{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:62px;line-height:.78;float:left;margin:7px 9px 0 0;color:var(--ink)}
.lead-cols .more{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--gold-2);border-bottom:1px solid var(--gold);padding-bottom:3px}
.contents{padding-left:30px}
.contents-h{text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:4px}
.c-row{display:grid;grid-template-columns:26px 1fr;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}
.c-row .ci{font-size:12px;color:var(--gold-2)}
.c-row a{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:16px;color:var(--ink);line-height:1.22}
.c-row a:hover{color:var(--gold-2)}
.c-row .cd{display:block;font-family:"Space Mono",monospace;text-transform:uppercase;font-size:9px;letter-spacing:.1em;color:var(--muted);margin-top:5px}
@media(max-width:860px){.lead{grid-template-columns:1fr}.lead-main{padding-right:0;border-right:0}.contents{padding-left:0;margin-top:30px;border-top:3px double var(--ink);padding-top:18px}.lead-cols{columns:1}}

/* section dividers + department blocks */
.section{margin-top:54px}
.dept-h2{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:18px 0 2px}
.dept-h2 .l{display:flex;align-items:baseline;gap:13px}
.dept-h2 .n{font-size:13px;color:var(--gold-2)}
.dept-h2 h2{font-size:27px}
.dept-h2 a{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;color:var(--gold-2)}
.dept-sub{color:var(--muted);font-size:15.5px;margin:10px 0 0;max-width:74ch;font-style:italic}
.dept-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:6px}
@media(max-width:760px){.dept-list{grid-template-columns:1fr}}
.item{padding:18px 0;border-bottom:1px solid var(--line)}
.item .tag{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-2);margin-bottom:6px}
.item h3{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:20px;margin:0 0 5px}
.item h3 a{color:var(--ink)}.item h3 a:hover{color:var(--gold-2)}
.item p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}

/* ledger / data */
.ledger{border:1px solid var(--ink);background:var(--paper-2);margin-top:20px;display:grid;grid-template-columns:1fr 1fr}
@media(max-width:760px){.ledger{grid-template-columns:1fr}}
.ledger .panel{padding:22px 24px;border-right:1px solid var(--line-2)}
.ledger .panel:last-child{border-right:0}
@media(max-width:760px){.ledger .panel{border-right:0;border-bottom:1px solid var(--line-2)}}
.ledger-cap{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--gold-2);display:block;margin-bottom:3px}
.ledger .ct{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:19px;margin:0 0 16px;line-height:1.18}
.barrow{display:grid;grid-template-columns:92px 1fr;gap:11px;align-items:center;margin:9px 0}
.bl{font-family:"Space Mono",monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);text-align:right}
.bt{height:22px;background:repeating-linear-gradient(45deg,rgba(120,100,60,.10) 0 4px,transparent 4px 8px);border:1px solid var(--line-2);position:relative;overflow:hidden}
.bf{height:100%;background:var(--gold);display:flex;align-items:center}
.bv{font-size:10px;color:#fff;margin-left:8px;white-space:nowrap}
.src{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:14px;line-height:1.6}

/* certificate / trust */
.seal{margin-top:56px;border:2px solid var(--ink);padding:6px}
.seal-in{border:1px solid var(--gold);padding:34px 30px;text-align:center}
.seal .em{width:60px;height:60px;margin:0 auto 14px}
.seal .lab{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--gold-2);display:block;margin-bottom:8px}
.seal h2{font-size:25px;max-width:22ch;margin:0 auto 20px}
.seal .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:760px;margin:0 auto;text-align:center}
@media(max-width:640px){.seal .stats{grid-template-columns:1fr 1fr}}
.seal .st .n{font-family:"Libre Caslon Text",serif;font-size:32px;color:var(--ink);line-height:1}
.seal .st .t{display:block;font-family:"Space Mono",monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:8px;line-height:1.5}
.seal .note{font-size:13px;color:var(--muted);max-width:74ch;margin:22px auto 0;font-style:italic}
.seal .note a{color:var(--gold-2)}

/* ===== ARTICLE + HUB ===== */
.ah{border-bottom:3px double var(--ink);background:var(--paper)}
.ah .measure{padding:36px 26px 26px;text-align:center}
.crumb{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted)}.crumb a{color:var(--muted)}
.ah .kick{display:inline-block;margin:16px 0 0;color:var(--gold-2);text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.ah h1{font-size:clamp(30px,4.6vw,46px);margin:13px 0 15px;letter-spacing:-.01em}
.ah .stand{font-size:19px;color:var(--ink-soft);line-height:1.5;margin:0 auto 18px;font-style:italic;max-width:62ch}
.ah .byl{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;display:inline-block}
.prose{max-width:var(--measure);margin:0 auto;padding:32px 26px 6px;font-size:18.5px;line-height:1.74}
.prose p,.prose ul,.prose ol{margin:0 0 20px}
.prose>p:first-of-type::first-letter{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:66px;line-height:.76;float:left;margin:7px 11px 0 0;color:var(--ink)}
.prose h2{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:25px;margin:38px 0 12px}
.prose h2::before{content:"";display:block;width:42px;height:2px;background:var(--gold);margin-bottom:14px}
.prose h3{font-family:"Libre Caslon Text",serif;font-weight:700;font-size:20px;margin:26px 0 9px}
.prose ul,.prose ol{padding-left:24px}.prose li{margin:7px 0}
.prose a{color:var(--gold-2);text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--ink)}
.pullquote{font-family:"Libre Caslon Text",serif;font-style:italic;font-size:25px;line-height:1.3;text-align:center;color:var(--ink);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:22px 10px;margin:30px 0}
.disclaimer{border:1px solid var(--line-2);background:var(--paper-2);padding:15px 18px;margin:28px 0;font-size:13.5px;color:var(--ink-soft);font-style:italic}
.disclaimer .h{font-family:"Space Mono",monospace;font-style:normal;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--gold-2);display:block;margin-bottom:5px}
.factbox{border:1px solid var(--ink);margin:28px 0;background:var(--paper-2)}
.factbox table{width:100%;border-collapse:collapse;font-size:15px}
.factbox caption{caption-side:top;text-align:left;background:var(--ink);color:var(--paper);text-transform:uppercase;letter-spacing:.08em;font-size:10px;padding:11px 16px}
.factbox th,.factbox td{padding:10px 16px;border-top:1px solid var(--line-2);text-align:left;vertical-align:top}
.factbox th{text-transform:uppercase;font-size:10px;letter-spacing:.05em;color:var(--muted)}
.factbox tr td:first-child{font-weight:700}
.toc{border:1px solid var(--line-2);background:var(--paper-2);padding:16px 20px;margin:6px 0 28px}
.toc b{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--muted);margin-bottom:9px}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:t;font-size:15px}
.toc li{counter-increment:t;padding:5px 0 5px 28px;position:relative}
.toc li::before{content:counter(t,decimal-leading-zero);position:absolute;left:0;color:var(--gold-2);font-family:"Space Mono",monospace;font-size:11px}
.toc a{color:var(--ink)}
.author-card{max-width:var(--measure);margin:22px auto 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.author-card .av{width:44px;height:44px;flex:none}
.author-card .r{font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--gold-2);display:block;margin-bottom:3px}
.author-card b{font-family:"Libre Caslon Text",serif;font-size:16px}
.author-card p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.related{max-width:var(--measure);margin:0 auto;padding:26px 26px 12px}
.rel-row{padding:15px 0;border-bottom:1px solid var(--line)}
.rel-row a{font-family:"Libre Caslon Text",serif;font-size:19px;color:var(--ink)}.rel-row a:hover{color:var(--gold-2)}
.rel-row p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
/* hub uses front-page list styles */
.hubhead{text-align:center;padding:34px 26px 8px;border-bottom:3px double var(--ink)}
.hubhead h1{font-size:clamp(30px,4.4vw,44px);margin:12px 0 10px}
.hubhead .stand{font-style:italic;color:var(--ink-soft);max-width:62ch;margin:0 auto;font-size:18px}

/* footer certificate */
.site-footer{margin-top:60px;border-top:3px double var(--ink);background:var(--paper)}
.site-footer .wrap{padding:40px 26px 22px;display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:30px}
@media(max-width:700px){.site-footer .wrap{grid-template-columns:1fr}}
.site-footer .bm{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.site-footer .bm b{font-family:"Libre Caslon Text",serif;font-size:22px;color:var(--ink)}
.site-footer .bm svg{width:30px;height:30px}
.site-footer h4{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--gold-2);margin:0 0 12px}
.site-footer a{color:var(--ink-soft)}.site-footer a:hover{color:var(--gold-2)}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:8px 0;font-size:14.5px}
.site-footer p{font-size:13.5px;color:var(--muted);margin:0;max-width:46ch}
.foot-legal{border-top:1px solid var(--line)}
.foot-legal .wrap{display:block;padding:15px 26px;font-family:"Space Mono",monospace;font-size:10px;color:var(--muted);max-width:1180px;line-height:1.7}
