
/* ============ evidentiary dossier ============ */
:root{
  --paper:#f6f3ea; --paper2:#efeadb; --card:#fbf9f2;
  --ink:#1c2230; --ink2:#4c5567; --ink3:#8b8878;
  --navy:#16324f; --navy2:#1d4468;
  --gilt:#a67c1e; --gilt2:#c9972c; --gilt-soft:#e7d9b4;
  --link:#2563a8; --rule:#ddd5c2; --heroink:#f2ead6;
}
@media (prefers-color-scheme: dark){:root{
  --paper:#12161f; --paper2:#171c27; --card:#1a2029;
  --ink:#e6e1d3; --ink2:#b3ac99; --ink3:#7d7a6d;
  --navy:#0d1a29; --navy2:#132437;
  --gilt:#d4a843; --gilt2:#e0bb62; --gilt-soft:#4a3d1e;
  --link:#7fa9d8; --rule:#2b3140; --heroink:#ece5d2;
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:"Source Serif 4",Charter,Georgia,serif;
font-size:17.5px;line-height:1.66;
font-optical-sizing:auto;}
::selection{background:var(--gilt-soft);}
a{color:var(--link);text-decoration-thickness:1px;
text-underline-offset:2.5px;}
a:focus-visible,button:focus-visible{outline:2px solid var(--gilt);
outline-offset:2px;border-radius:2px;}

/* ---- nav ---- */
header.site{position:sticky;top:0;z-index:60;background:var(--navy);
color:var(--heroink);}
.nav{max-width:1240px;margin:0 auto;padding:12px 22px;display:flex;
flex-wrap:wrap;align-items:baseline;gap:4px 20px;
font-family:"IBM Plex Sans",system-ui,sans-serif;}
.nav .brand{font-family:"Libre Caslon Display",Georgia,serif;
font-size:15.5px;color:var(--heroink);text-decoration:none;
letter-spacing:.02em;margin-right:auto;}
.nav a.item{font-size:12.5px;letter-spacing:.04em;color:#b9c4d2;
text-decoration:none;padding:2px 0;border-bottom:2px solid transparent;}
.nav a.item:hover{color:#fff;}
.nav a.item.active{color:var(--gilt2);border-bottom-color:var(--gilt2);}
#progress{position:sticky;top:0;z-index:59;height:2px;width:0%;
background:linear-gradient(90deg,var(--gilt),var(--gilt2));}

/* ---- hero / masthead ---- */
.hero{background:var(--navy);color:var(--heroink);
padding:64px 22px 58px;position:relative;}
.hero .inner{max-width:860px;margin:0 auto;text-align:center;}
.hero .plate{border-top:1px solid var(--gilt);
border-bottom:1px solid var(--gilt);padding:34px 10px 30px;position:relative;}
.hero .plate::before,.hero .plate::after{content:"";position:absolute;
left:0;right:0;height:1px;background:rgba(201,151,44,.35);}
.hero .plate::before{top:4px}.hero .plate::after{bottom:4px}
.hero .eyebrow-h{font-family:"IBM Plex Sans",sans-serif;font-size:12px;
letter-spacing:.32em;text-transform:uppercase;color:var(--gilt2);
margin:0 0 18px;}
.hero h1{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;
font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.14;margin:0;
letter-spacing:.005em;text-wrap:balance;}
.hero .epigraph{font-style:italic;font-size:1.06rem;line-height:1.6;
color:#cfd8e2;max-width:56ch;margin:26px auto 6px;}
.hero .attrib{font-family:"IBM Plex Sans",sans-serif;font-size:12px;
letter-spacing:.14em;text-transform:uppercase;color:#8fa3b8;margin:0 0 4px;}
.herostats{max-width:1080px;margin:34px auto 0;display:grid;
grid-template-columns:repeat(4,auto);justify-content:center;
font-family:"IBM Plex Sans",sans-serif;}
.herostats .stat{padding:0 26px;text-align:center;
border-left:1px solid rgba(201,151,44,.3);}
.herostats .stat:first-child{border-left:none;}
@media(max-width:860px){.herostats{grid-template-columns:repeat(2,auto);
row-gap:20px;}
.herostats .stat:nth-child(3){border-left:none;}}
.herostats .n{font-family:"Libre Caslon Display",Georgia,serif;
font-size:1.7rem;color:var(--gilt2);display:block;line-height:1.2;}
.herostats .l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;
color:#9db0c2;}
.herosub{background:var(--navy2);color:#c6d1dd;padding:0 22px;}
.herosub .inner{max-width:1240px;margin:0 auto;padding:14px 0;
font-family:"IBM Plex Sans",sans-serif;font-size:13px;display:flex;
gap:26px;flex-wrap:wrap;}
.herosub a{color:var(--gilt2);}

/* ---- compact page masthead (non-index pages) ---- */
.masthead{background:var(--navy);color:var(--heroink);padding:44px 22px 40px;}
.masthead .inner{max-width:900px;margin:0 auto;}
.masthead .eyebrow-h{font-family:"IBM Plex Sans",sans-serif;font-size:11.5px;
letter-spacing:.28em;text-transform:uppercase;color:var(--gilt2);
margin:0 0 12px;}
.masthead h1{font-family:"Libre Caslon Display",Georgia,serif;
font-weight:400;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.16;
margin:0 0 12px;text-wrap:balance;}
.masthead .sub{font-style:italic;color:#cfd8e2;font-size:1.02rem;
max-width:66ch;margin:0;}

/* ---- contents grid (index) ---- */
.contents{max-width:1240px;margin:0 auto;padding:44px 22px 8px;}
.contents .ctitle{font-family:"IBM Plex Sans",sans-serif;font-size:12px;
letter-spacing:.22em;text-transform:uppercase;color:var(--ink3);
margin:0 0 16px;}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
gap:10px;}
.cgrid a{display:flex;gap:12px;align-items:baseline;background:var(--card);
border:1px solid var(--rule);border-radius:8px;padding:13px 15px;
text-decoration:none;color:var(--ink);
font-family:"IBM Plex Sans",sans-serif;font-size:13.5px;line-height:1.45;}
.cgrid a:hover{border-color:var(--gilt);}
.cgrid .cn{font-family:"Libre Caslon Display",Georgia,serif;
font-size:1.25rem;color:var(--gilt);min-width:1.2em;text-align:right;}

/* ---- layout ---- */
.layout{max-width:1240px;margin:0 auto;display:flex;gap:48px;
padding:40px 22px 90px;}
main{max-width:72ch;min-width:0;flex:1;}
aside.toc{width:256px;flex-shrink:0;position:sticky;top:66px;
align-self:flex-start;max-height:calc(100vh - 86px);overflow-y:auto;
font-family:"IBM Plex Sans",sans-serif;font-size:12.5px;padding-right:6px;}
aside.toc .toctitle{text-transform:uppercase;letter-spacing:.18em;
font-size:10.5px;color:var(--ink3);font-weight:600;margin-bottom:10px;}
aside.toc a{display:block;color:var(--ink2);text-decoration:none;
padding:4px 0 4px 12px;border-left:2px solid var(--rule);line-height:1.45;}
aside.toc a:hover{color:var(--gilt);border-left-color:var(--gilt);}
@media(max-width:1080px){aside.toc{display:none}}
.layout.solo{justify-content:center;}
.layout.solo main{max-width:78ch;}

/* ---- typography ---- */
h1{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;
font-size:2rem;line-height:1.16;letter-spacing:.005em;margin:.2em 0 .5em;
text-wrap:balance;}
h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;
font-size:1.55rem;color:var(--ink);margin:2.4em 0 .6em;line-height:1.2;
text-wrap:balance;}
h2.exhibit{display:flex;align-items:baseline;gap:18px;
border-top:2px solid var(--ink);padding-top:18px;margin-top:2.8em;}
h2 .exnum{font-family:"Libre Caslon Display",Georgia,serif;
font-size:2.6rem;color:var(--gilt);line-height:1;}
h2 .extitle{flex:1;}
h3{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;
font-size:1.18rem;margin:1.9em 0 .45em;color:var(--navy2);}
@media (prefers-color-scheme: dark){h3{color:#a9c2dd;}}
h4{font-size:1rem;margin:1.5em 0 .35em;}
p{margin:0 0 1.05em;}
img{max-width:100%;height:auto;border:1px solid var(--rule);
border-radius:6px;background:#fcfcfb;}
strong{font-weight:600;}

.eyebrow{font-family:"IBM Plex Sans",sans-serif;font-size:11.5px;
letter-spacing:.24em;text-transform:uppercase;color:var(--gilt);
font-weight:600;margin:0 0 6px;}
.meta{font-family:"IBM Plex Sans",sans-serif;font-size:13px;
color:var(--ink3);margin:0 0 28px;line-height:1.6;}
.figcap{font-family:"IBM Plex Sans",sans-serif;font-size:13px;
color:var(--ink2);margin:8px 0 28px;line-height:1.55;}

/* ---- document furniture ---- */
.marker{font-family:"IBM Plex Sans",sans-serif;font-size:11.5px;
letter-spacing:.22em;text-transform:uppercase;color:var(--ink3);
font-weight:600;margin:1.8em 0 .8em;display:flex;align-items:center;
gap:12px;}
.marker::after{content:"";flex:1;height:1px;background:var(--rule);}
.claim{background:var(--card);border:1px solid var(--rule);
border-left:3px solid var(--gilt);border-radius:0 8px 8px 0;
padding:16px 20px 14px;margin:0 0 1.3em;}
.claim .claimtag{font-family:"IBM Plex Sans",sans-serif;font-size:11px;
letter-spacing:.22em;text-transform:uppercase;color:var(--gilt);
font-weight:600;display:block;margin-bottom:6px;}
.claim p{margin:0;font-size:1.03rem;}
.objection{background:var(--paper2);border-radius:8px;
padding:15px 18px;margin:0 0 12px;}
.objection .objtag{font-family:"IBM Plex Sans",sans-serif;font-size:10.5px;
letter-spacing:.2em;text-transform:uppercase;font-weight:600;
color:var(--ink3);display:block;margin-bottom:3px;}
.objection .obj{font-style:italic;color:var(--ink2);margin:0 0 10px;}
.objection .obj em{font-style:normal;}
.objection .ans{margin:0;}
.objection .ansTag{color:var(--gilt);}
.thennow{display:grid;grid-template-columns:1fr 1fr;gap:12px;
margin:0 0 1.3em;}
@media(max-width:640px){.thennow{grid-template-columns:1fr;}}
.tn{border:1px solid var(--rule);border-radius:8px;padding:13px 16px;
background:var(--card);}
.tn.now{border-color:var(--gilt-soft);background:var(--paper2);}
.tn .tnlabel{font-family:"IBM Plex Sans",sans-serif;font-size:10.5px;
letter-spacing:.22em;text-transform:uppercase;font-weight:600;
color:var(--ink3);display:block;margin-bottom:4px;}
.tn.now .tnlabel{color:var(--gilt);}
.tn p{margin:0;font-size:.97rem;}
.companion{border:1px solid var(--gilt-soft);background:var(--card);
border-radius:8px;padding:13px 17px;margin:0 0 1.2em;}
.companion .comptag{font-family:"IBM Plex Sans",sans-serif;font-size:10.5px;
letter-spacing:.2em;text-transform:uppercase;font-weight:600;
color:var(--gilt);display:block;margin-bottom:4px;}
.companion p{margin:0;font-size:.95rem;
font-family:"IBM Plex Sans",sans-serif;line-height:1.55;}
.callout{background:var(--paper2);border-left:3px solid var(--gilt);
padding:15px 19px;border-radius:0 8px 8px 0;margin:0 0 1.3em;
font-size:.97rem;}
.callout p{margin:0 0 .55em}.callout p:last-child{margin:0}

/* ---- tables ---- */
.tablewrap{overflow-x:auto;margin:0 0 1.5em;background:var(--card);
border:1px solid var(--rule);border-radius:8px;padding:6px 14px;}
table{border-collapse:collapse;width:100%;font-size:13.5px;
font-family:"IBM Plex Sans",sans-serif;}
th{text-align:left;font-size:11px;letter-spacing:.08em;
text-transform:uppercase;color:var(--ink2);font-weight:600;
padding:10px 14px 8px 0;border-bottom:2px solid var(--gilt);}
td{padding:8px 14px 8px 0;border-bottom:1px solid var(--rule);
vertical-align:top;}
tr:last-child td{border-bottom:none;}
ul,ol{padding-left:24px;margin:0 0 1.05em;}
li{margin-bottom:.5em;}

/* ---- actions / downloads ---- */
.docactions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 34px;
font-family:"IBM Plex Sans",sans-serif;font-size:13px;}
.docactions a{border:1px solid var(--rule);border-radius:6px;
padding:7px 13px;text-decoration:none;color:var(--ink2);
background:var(--card);}
.docactions a:hover{border-color:var(--gilt);color:var(--gilt);}
.dlcard{background:var(--card);border:1px solid var(--rule);
border-radius:10px;padding:18px 20px;margin:0 0 16px;}
.dlcard h3{margin:0 0 4px;}
.dlcard p{margin:0 0 10px;font-size:.92rem;color:var(--ink2);}
.dlcard a.btn{display:inline-block;
font-family:"IBM Plex Sans",sans-serif;font-size:13px;font-weight:600;
color:#fff;background:var(--navy2);padding:8px 16px;border-radius:6px;
text-decoration:none;border:1px solid var(--gilt);}
.dlcard a.btn:hover{background:var(--navy);}
.filelist{font-family:"IBM Plex Sans",sans-serif;font-size:14px;}
.filelist li{margin-bottom:.5em}
code{font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
font-size:.84em;background:var(--paper2);padding:1px 6px;border-radius:4px;}

footer.site{background:var(--navy);color:#9db0c2;margin-top:30px;}
footer.site .inner{max-width:1240px;margin:0 auto;padding:26px 22px 44px;
font-family:"IBM Plex Sans",sans-serif;font-size:12.5px;line-height:1.65;}
footer.site a{color:var(--gilt2);}
