/* Historicism — A Reference Guide. Scholarly "theology library" system.
   Palette: oxblood/burgundy + aged parchment + ink + antique gold. Serif-forward. */
:root{
  --ox:#6b2131; --ox-dark:#521826; --ox-light:#8a3346;
  --gold:#a67c3d; --gold-light:#c69a4e;
  --parch:#f5efe2; --parch-2:#efe7d5; --paper:#fbf7ee;
  --ink:#211d18; --ink-soft:#4a423a; --muted:#7a6f60;
  --rule:#d9cdb4; --rule-soft:#e6dcc7;
  --maxw:1120px; --measure:70ch;
  --shadow:0 1px 2px rgba(45,30,20,.07), 0 8px 28px rgba(45,30,20,.08);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--parch); color:var(--ink);
  font-family:"Spectral",Georgia,"Times New Roman",serif;
  font-size:1.075rem; line-height:1.72; font-weight:400;
  background-image:radial-gradient(1200px 600px at 100% -10%, rgba(166,124,61,.06), transparent 60%),
                   radial-gradient(900px 500px at -10% 0%, rgba(107,33,49,.05), transparent 55%);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ox);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--rule)}
a:hover{color:var(--ox-dark);text-decoration-color:var(--gold)}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.25rem)}

/* Typography */
h1,h2,h3,h4{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;line-height:1.14;color:var(--ox-dark);font-weight:700;letter-spacing:.2px}
h1{font-size:clamp(2.1rem,5vw,3.15rem);margin:0 0 .35em}
h2{font-size:clamp(1.55rem,3vw,2.05rem);margin:2.1em 0 .5em;font-weight:600}
h3{font-size:1.28rem;margin:1.4em 0 .35em;font-weight:600;color:var(--ox)}
p{margin:0 0 1.05em;max-width:var(--measure)}
strong{font-weight:600;color:var(--ink)}
em{color:var(--ink-soft)}
ul,ol{max-width:var(--measure);margin:0 0 1.15em;padding-left:1.25em}
li{margin:.35em 0}
.eyebrow{font-family:"Spectral",serif;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--gold);margin:0 0 .6em}

.skip-link{position:absolute;left:-999px;top:0;background:var(--ox);color:#fff;padding:.6em 1em;border-radius:0 0 6px 0;z-index:200}
.skip-link:focus{left:0}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--ox);color:var(--paper);box-shadow:0 2px 0 var(--gold), 0 6px 18px rgba(40,15,20,.22)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.55rem;color:var(--paper);text-decoration:none;font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:700;letter-spacing:.3px}
.brand .mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold-light);color:var(--gold-light);border-radius:5px;font-size:1.15rem;font-weight:700;background:rgba(0,0,0,.12)}
.brand-text strong{color:var(--gold-light);font-weight:600}
.nav-links{display:flex;flex-wrap:wrap;gap:.15rem .35rem;list-style:none;margin:0;padding:0;max-width:none}
.nav-links a{color:var(--paper);text-decoration:none;font-size:.94rem;padding:.5em .7em;border-radius:5px;display:inline-block;letter-spacing:.01em}
.nav-links a:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-links a[aria-current="page"]{color:var(--gold-light);box-shadow:inset 0 -2px 0 var(--gold-light)}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.4);color:var(--paper);font-size:1.2rem;line-height:1;padding:.35em .55em;border-radius:6px;cursor:pointer}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--ox-dark);color:#fff}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,12,18,.55),rgba(40,12,18,.82))}
.hero-inner{position:relative;padding:clamp(2.4rem,7vw,5rem) 0;max-width:820px}
.hero .eyebrow{color:var(--gold-light)}
.hero h1{color:#fbf5ea;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-home .hero-inner{padding-block:clamp(3rem,9vw,6.5rem)}
.hero-sub{font-size:1.16rem;color:#efe4d3;max-width:60ch;margin-top:.6em}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}

/* Buttons */
.btn{display:inline-block;font-family:"Spectral",serif;font-weight:600;font-size:.98rem;text-decoration:none;padding:.7em 1.3em;border-radius:6px;border:1px solid transparent;transition:transform .12s ease, background .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--gold);color:#241a0c;border-color:var(--gold)}
.btn-primary:hover{background:var(--gold-light);color:#241a0c}
.btn-outline{background:transparent;color:#fbf5ea;border-color:rgba(251,245,234,.55)}
.btn-outline:hover{background:rgba(255,255,255,.1);color:#fff}
main .btn-primary{background:var(--ox);color:#fff;border-color:var(--ox)}
main .btn-primary:hover{background:var(--ox-dark);color:#fff}

/* Article */
.article{padding-block:clamp(1.8rem,4vw,3rem)}
.page-header{margin-bottom:1.4rem;padding-bottom:1.1rem;border-bottom:2px solid var(--rule)}
.page-header h1{margin:0}
.article .lead{font-size:1.22rem;line-height:1.6;color:var(--ink-soft);max-width:64ch;font-weight:500}
.article > .lead:first-of-type::first-letter{}
.hero + .article{padding-top:clamp(1.6rem,3vw,2.4rem)}

/* Inline figures */
.inline-figure{margin:1.8rem 0;max-width:820px}
.inline-figure img{border-radius:8px;box-shadow:var(--shadow);border:1px solid var(--rule)}
.inline-figure figcaption{font-size:.86rem;color:var(--muted);margin-top:.5em;font-style:italic;padding-left:.2em}

/* Card grid (home) */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin:1.7rem 0 2rem;max-width:none}
.topic-card{background:var(--paper);border:1px solid var(--rule);border-radius:9px;padding:1.15rem 1.2rem;box-shadow:var(--shadow)}
.topic-card h3{margin:0 0 .35em}
.topic-card h3 a{text-decoration:none;color:var(--ox-dark)}
.topic-card h3 a:hover{color:var(--ox)}
.topic-card p{margin:0;font-size:.98rem;color:var(--ink-soft)}

/* Tables */
.table-wrap{overflow-x:auto;margin:1.6rem 0;border:1px solid var(--rule);border-radius:9px;box-shadow:var(--shadow)}
table.compare{width:100%;border-collapse:collapse;background:var(--paper);font-size:.98rem;min-width:520px}
table.compare caption{caption-side:top;text-align:left;font-family:"Cormorant Garamond",serif;font-size:1.15rem;font-weight:600;color:var(--ox);padding:.8rem 1rem .3rem}
table.compare th,table.compare td{padding:.7rem .95rem;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:top}
table.compare thead th{background:var(--parch-2);color:var(--ox-dark);font-weight:600;border-bottom:2px solid var(--rule)}
table.compare tbody th[scope="row"]{font-weight:600;color:var(--ink);background:rgba(166,124,61,.05)}
table.compare tbody tr:last-child td,table.compare tbody tr:last-child th{border-bottom:none}

/* Definition/glossary + reading lists */
dl.glossary{max-width:var(--measure)}
dl.glossary dt{font-family:"Cormorant Garamond",serif;font-size:1.22rem;font-weight:700;color:var(--ox-dark);margin-top:1.1em}
dl.glossary dd{margin:.15em 0 0;padding-left:0;color:var(--ink-soft)}
ul.reading-list{list-style:none;padding-left:0}
ul.reading-list li{padding:.7em 0 .7em 1.1em;border-bottom:1px solid var(--rule-soft);position:relative}
ul.reading-list li::before{content:"\201D";position:absolute;left:-.05em;top:.5em;color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:1.4rem;line-height:1}
ul.reading-list li:last-child{border-bottom:none}

/* 404 */
.error-links{list-style:none;padding-left:0;max-width:var(--measure)}
.error-links li{padding:.5em 0;border-bottom:1px solid var(--rule-soft)}

/* Footer */
.site-footer{margin-top:3rem;background:var(--ox-dark);color:#e9ddca}
.site-footer .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem;padding-block:2.6rem 1.6rem}
.site-footer h2{font-size:1.12rem;color:var(--gold-light);margin:0 0 .6em;font-weight:600}
.footer-brand{font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:#fbf5ea;font-weight:700;display:flex;align-items:center;gap:.5rem;margin-bottom:.5em}
.footer-brand .mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold-light);color:var(--gold-light);border-radius:5px;font-size:1rem}
.footer-about p{color:#d8c9b1;font-size:.95rem;max-width:42ch}
.site-footer ul{list-style:none;margin:0;padding:0;max-width:none}
.site-footer li{margin:.28em 0}
.site-footer a{color:#e9ddca;text-decoration:none;font-size:.94rem;text-decoration-color:transparent}
.site-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-block:1.2rem 1.8rem}
.footer-bottom p{color:#c3b298;font-size:.85rem;margin:.25em 0;max-width:none}

/* Responsive */
@media (max-width:820px){
  .nav-toggle{display:inline-block}
  .header-inner{flex-wrap:wrap}
  nav[aria-label="Primary"]{flex-basis:100%;max-height:0;overflow:hidden;transition:max-height .25s ease}
  nav[aria-label="Primary"].open{max-height:640px;padding-bottom:.6rem}
  .nav-links{flex-direction:column;gap:.1rem}
  .nav-links a{display:block;padding:.6em .4em}
  .site-footer .footer-grid{grid-template-columns:1fr;gap:1.4rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Safeguard: content is never hidden waiting on JS (defensive; no AOS used) */
[data-aos]{opacity:1!important;transform:none!important}
