@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --ink:#1c1a15;
  --chart-blue:#1a3c5e;
  --chart-blue-deep:#0f2540;
  --paper:#ede6d6;
  --paper-light:#f6f2e9;
  --brass:#b8863b;
  --brass-dim:#8a6529;
  --rule:#c9bfa6;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.5;
}
a{color:var(--chart-blue);}

header.topbar{
  background:var(--chart-blue-deep);
  color:var(--paper-light);
  padding:14px 24px;
  border-bottom:3px solid var(--brass);
  position:sticky;top:0;z-index:500;
}
.topbar-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;max-width:1140px;margin:0 auto;}
.topbar-brand-row{display:flex;grid-column:2;justify-content:center;width:auto;}
.topbar-nav-row{display:flex;grid-column:3;align-items:center;gap:4px;justify-content:flex-end;width:auto;flex-wrap:nowrap;}
@media (min-width:821px){.topbar-inner{display:flex;flex-direction:column;gap:8px;} .topbar-brand-row{justify-content:center;width:100%;} .topbar-nav-row{justify-content:center;flex-wrap:wrap;width:100%;}}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2;}
.brand-line1{font-family:'Inter',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.04em;color:var(--paper-light);}
.brand-line2{font-family:'Source Serif 4',serif;font-weight:700;font-size:1.2rem;letter-spacing:0.01em;color:var(--paper-light);margin-top:1px;}
.brand-line3{font-family:'Inter',sans-serif;font-weight:500;font-size:0.95rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--brass);margin-top:4px;}
nav.toplinks{display:flex;gap:18px;font-size:0.85rem;font-weight:500;flex-wrap:wrap;justify-content:flex-end;}
nav.toplinks a{color:var(--paper-light);text-decoration:none;border-bottom:1px solid transparent;white-space:nowrap;}
nav.toplinks a:hover{border-bottom:1px solid var(--brass);}
.menu-toggle{display:none;}
.menu-btn{display:none;font-size:1.5rem;line-height:1;color:var(--paper-light);cursor:pointer;padding:4px 6px;}
nav.mobile-nav{display:none;flex-direction:column;background:var(--chart-blue-deep);border-top:1px solid rgba(255,255,255,0.15);}
nav.mobile-nav a{color:var(--paper-light);text-decoration:none;padding:14px 24px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.08);font-size:0.95rem;}
.menu-toggle:checked ~ nav.mobile-nav{display:flex;}

/* ---- consolidated nav dropdown (Jaime feedback, Aug 28 2026; extended to research/correspondence pages Aug 30 2026) ---- */
nav.toplinks .nav-drop{position:relative;}
nav.toplinks .nav-drop > .nav-drop-label{color:var(--paper-light);cursor:pointer;border-bottom:1px solid transparent;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
nav.toplinks .nav-drop > .nav-drop-label::after{content:"▾";font-size:0.7em;}
nav.toplinks .nav-drop:hover > .nav-drop-label,
nav.toplinks .nav-drop:focus-within > .nav-drop-label{border-bottom:1px solid var(--brass);}
nav.toplinks .nav-drop-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:10px;background:var(--chart-blue-deep);border:1px solid rgba(255,255,255,0.15);border-top:2px solid var(--brass);min-width:220px;padding:6px 0;z-index:600;box-shadow:0 8px 20px rgba(0,0,0,0.25);}
nav.toplinks .nav-drop:hover .nav-drop-menu,
nav.toplinks .nav-drop:focus-within .nav-drop-menu{display:block;}
nav.toplinks .nav-drop-menu a{display:block;padding:10px 18px;font-size:0.85rem;white-space:nowrap;border-bottom:none;color:var(--paper-light);text-decoration:none;}
nav.toplinks .nav-drop-menu a:hover{background:rgba(255,255,255,0.08);}
nav.mobile-nav .mobile-nav-group-label{color:var(--paper-light);opacity:0.85;font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;padding:14px 24px 4px;text-align:center;}
nav.mobile-nav a.mobile-sub{font-size:0.88rem;padding-top:10px;padding-bottom:10px;background:rgba(0,0,0,0.12);}

footer{background:var(--chart-blue-deep);color:#b9c4cf;padding:34px 24px;font-size:0.85rem;}
.footer-inner{max-width:920px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}
footer a{color:var(--paper-light);}
.not-list{margin-top:6px;color:#8496a5;font-size:0.78rem;}

@media (max-width:820px){
  nav.toplinks{display:none;}
  .menu-btn{display:block;}
}

/* ---- document header (title block) ---- */
section.doc-hero{
  background:
    repeating-linear-gradient(0deg, rgba(0,0,0,0.02) 0px, rgba(0,0,0,0.02) 1px, transparent 1px, transparent 34px),
    var(--paper);
  padding:44px 24px 32px;
  border-bottom:1px solid var(--rule);
}
.doc-hero-inner{max-width:760px;margin:0 auto;}
.doc-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--brass-dim);
  border-bottom:1px solid var(--rule);
  padding-bottom:10px;
  margin-bottom:20px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:6px;
}
h1.doc-title{
  font-family:'Source Serif 4',serif;
  font-weight:700;
  font-size:clamp(1.7rem, 4.4vw, 2.6rem);
  line-height:1.12;
  margin:0 0 8px;
  color:var(--chart-blue-deep);
}
p.doc-subtitle{
  font-family:'Source Serif 4',serif;
  font-style:italic;
  font-size:1.1rem;
  color:#4a4433;
  margin:0 0 22px;
}
.doc-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn{display:inline-block;padding:11px 20px;font-weight:600;font-size:0.9rem;text-decoration:none;border-radius:2px;border:1px solid transparent;}
.btn-primary{background:var(--chart-blue); color:var(--paper-light);}
.btn-primary:hover{background:var(--chart-blue-deep);}
.btn-ghost{background:var(--chart-blue); color:var(--paper-light); border:1px solid var(--chart-blue);}
.btn-ghost:hover{background:var(--chart-blue-deep);}

/* ---- article body ---- */
main.article{padding:8px 24px 64px;}
.article-inner{max-width:760px;margin:0 auto;}

.article-inner h2{
  font-family:'Source Serif 4',serif;
  font-weight:700;
  font-size:1.5rem;
  color:var(--chart-blue-deep);
  margin:44px 0 14px;
  scroll-margin-top:16px;
}
.article-inner h3{
  font-family:'Inter',sans-serif;
  font-weight:700;
  font-size:1rem;
  color:var(--chart-blue-deep);
  margin:26px 0 10px;
}
.article-inner p{
  font-size:1rem;
  color:var(--ink);
  margin:0 0 16px;
  max-width:64ch;
}
.article-inner a[href^="#src-"]{
  color:var(--brass-dim);
  font-family:'IBM Plex Mono',monospace;
  font-size:0.85em;
  text-decoration:none;
  border-bottom:1px dotted var(--brass-dim);
  padding:0 1px;
}
.article-inner a[href^="#src-"]:hover{
  color:var(--chart-blue-deep);
  border-bottom-color:var(--chart-blue-deep);
}
.article-inner ul.bullets{list-style:none;margin:0 0 16px;padding:0;max-width:64ch;}
.article-inner ul.bullets li{
  position:relative;
  padding:0 0 10px 22px;
  font-size:1rem;
}
.article-inner ul.bullets li::before{
  content:'';
  position:absolute;
  left:2px; top:8px;
  width:7px; height:7px;
  border-radius:50%;
  background:var(--brass);
}
.article-inner ul.bullets li p{margin:0 0 8px;max-width:none;}
.article-inner ul.bullets li p:last-child{margin-bottom:0;}
.article-inner table{border-collapse:collapse;margin:0 0 20px;width:100%;max-width:64ch;font-size:0.92rem;}
.article-inner table td, .article-inner table th{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top;}
.article-inner table th{background:var(--paper-light);font-weight:600;}
p.table-caption{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.78rem;
  line-height:1.5;
  color:var(--brass-dim);
  margin:-10px 0 22px;
  max-width:64ch;
}

nav.toc-box{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:0.92rem;
  color:#3a3527;
  background:var(--paper-light);
  border:1px solid var(--rule);
  border-left:3px solid var(--chart-blue-deep);
  padding:16px 20px;
  max-width:64ch;
  margin:0 0 22px;
}
nav.toc-box .toc-label{
  display:block;
  font-family:'IBM Plex Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--chart-blue-deep);
  margin-bottom:10px;
}
nav.toc-box ul{margin:0;padding:0;list-style:none;columns:1;}
nav.toc-box li{margin-bottom:5px;line-height:1.4;}
nav.toc-box a{color:var(--chart-blue);text-decoration:none;}
nav.toc-box a:hover{text-decoration:underline;}
@media (min-width:760px){
  nav.toc-box{max-width:none;}
  nav.toc-box ul{columns:2;column-gap:32px;}
}
p.disclaimer-box{
  font-family:'Inter',sans-serif;
  font-style:italic;
  font-size:0.88rem;
  color:#4a4433;
  background:var(--paper-light);
  border:1px solid var(--rule);
  border-left:3px solid var(--brass);
  padding:14px 16px;
  max-width:64ch;
}
p.sources-intro{
  font-family:'Inter',sans-serif;
  font-style:italic;
  font-size:0.88rem;
  color:#4a4433;
  max-width:64ch;
}
ol.sources{
  padding-left:1.4em;
  max-width:64ch;
}
ol.sources li{
  font-size:0.87rem;
  color:var(--ink);
  margin-bottom:10px;
  line-height:1.55;
}

@media (max-width:640px){
  .doc-eyebrow{flex-direction:column;text-align:left;gap:2px;}
  .doc-actions{justify-content:flex-start;}
}
