
@font-face{font-family:"EB Garamond";src:url(EBGaramond12-Regular.ttf);font-weight:400;font-style:normal}
@font-face{font-family:"EB Garamond";src:url(EBGaramond12-Italic.ttf);font-weight:400;font-style:italic}
@font-face{font-family:"EB Garamond";src:url(EBGaramond12-Bold.ttf);font-weight:700;font-style:normal}
:root{--ink:#22252a;--muted:#5f6670;--accent:#1f4d3a;--tint:#eef3ef;--rule:#c9cfcb;--bg:#fdfdfb;--paper:#f7f5ef}
@media (prefers-color-scheme:dark){:root{--ink:#e4e6e3;--muted:#a3aaa6;--accent:#8fc4a8;--tint:#1d2a24;--rule:#3a443f;--bg:#141816;--paper:#1b1f1c}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"EB Garamond",Georgia,serif;font-size:19px;line-height:1.6}
a{color:var(--accent)}
.topbar{display:flex;gap:1rem;align-items:baseline;padding:.8rem 1.4rem;border-bottom:1px solid var(--rule)}
.brand{font-weight:700;font-size:1.25rem;text-decoration:none}
.brand-sub{color:var(--muted);font-style:italic;font-size:.95rem}
.layout{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:2.5rem;max-width:72rem;margin:0 auto;padding:0 1.4rem}
.sidebar{position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto;padding:1.4rem 0 2rem;font-size:.92rem;line-height:1.4}
.navbox summary{font-weight:700;color:var(--accent);cursor:pointer;margin-bottom:.4rem}
.sidebar ul{list-style:none;margin:0 0 .4rem;padding:0}
.sidebar li a{display:block;padding:.18rem .5rem;text-decoration:none;color:var(--ink);border-left:2px solid transparent}
.sidebar li a:hover{color:var(--accent)}
.sidebar li a[aria-current]{border-left-color:var(--accent);color:var(--accent);font-weight:700;background:var(--tint)}
.navgroup{margin:1rem 0 .2rem;font-weight:700;color:var(--muted);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
main{max-width:44rem;padding:2rem 0 4rem;min-width:0}
h1{font-size:2.3rem;line-height:1.15;color:var(--accent);margin:.1rem 0 .3rem}
h2{font-size:1.5rem;margin:2.4rem 0 .5rem}
h3{font-size:1.35rem;color:var(--accent);margin:2.2rem 0 .5rem;scroll-margin-top:1rem}
h4{font-size:1.1rem;margin:1.3rem 0 .3rem}
p{margin:.45rem 0 .85rem}
.eyebrow{font-weight:700;color:var(--muted);letter-spacing:.06em;font-size:.82rem;text-transform:uppercase;margin:2rem 0 .1rem}
.eyebrow.top{margin-top:0}
.subtitle{font-style:italic;color:var(--muted);font-size:1.15rem;margin-top:0}
.lead{font-size:1.15rem}
.onpage{font-size:.9rem;color:var(--muted);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.5rem 0;margin:1rem 0 1.6rem;line-height:1.7}
.onpage span{font-weight:700}
.caption,figcaption{font-style:italic;color:var(--muted);font-size:.8rem;line-height:1.35}
figure{margin:.6rem 0 1rem}
figure img{display:block;max-width:100%;height:auto;border-radius:2px}
figure.portrait{float:left;clear:left;width:8.5rem;margin:.35rem 1.2rem .6rem 0}
figure.wide{display:inline-block;vertical-align:top;width:calc(50% - .7rem);margin:.6rem 1rem .4rem 0}
figure.wide img{max-height:22rem;width:auto;max-width:100%}
.clear{clear:both}
.tablewrap{overflow-x:auto;margin:.6rem 0 1.2rem;clear:both}
table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.4}
th{color:var(--accent);text-align:left;border-bottom:1.5px solid var(--accent);padding:.35rem .6rem .35rem 0;vertical-align:bottom}
td{border-bottom:1px solid var(--rule);padding:.35rem .6rem .35rem 0;vertical-align:top}
table.spectrum td,table.spectrum th{text-align:center;width:33%}
table.spectrum td{border-bottom:none;color:var(--muted)}
aside.box{background:var(--tint);border-left:4px solid var(--accent);padding:.9rem 1.2rem;margin:1.4rem 0;clear:both}
aside.box p{margin:.3rem 0}
.boxlabel{font-weight:700;color:var(--accent);font-size:1.1rem}
.reading{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:.4rem 1.6rem 1rem 2.4rem;margin:2rem 0;clear:both;position:relative}
.reading h3{margin-top:1rem}
.reading-note{font-style:italic;color:var(--muted);font-size:.9rem}
.reading p{text-indent:1.2em;margin:.2rem 0}
.reading blockquote{margin:.6rem 0 .8rem 1.4rem;font-size:.95rem}
.pg{display:inline-block;font-size:.66rem;font-weight:700;color:var(--accent);border:1px solid var(--rule);border-radius:3px;padding:0 .25rem;margin:0 .3rem;line-height:1.3;vertical-align:.15em;text-indent:0}
a.gl{color:inherit;text-decoration:underline dotted var(--accent);text-underline-offset:3px}
.prevnext{display:flex;justify-content:space-between;gap:1rem;margin-top:3.5rem;border-top:1px solid var(--rule);padding-top:1rem}
.prevnext a{text-decoration:none;max-width:48%}
.prevnext a span{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.prevnext .next{text-align:right;margin-left:auto}
.path li{margin:.6rem 0}
.button{display:inline-block;background:var(--accent);color:var(--bg);padding:.5rem 1rem;border-radius:4px;text-decoration:none;margin-top:1rem}
dl.glossary dt{font-weight:700;color:var(--accent);margin-top:1.1rem;scroll-margin-top:1rem}
dl.glossary dd{margin:.2rem 0 0}
dl.glossary .more{font-size:.85rem;white-space:nowrap}
dl.glossary dt:target{background:var(--tint)}
.people{display:grid;gap:1.1rem}
.person{display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;align-items:start;border-bottom:1px solid var(--rule);padding-bottom:1rem}
.person img,.person .noimg{width:4.5rem;height:4.5rem;object-fit:cover;object-position:top;border-radius:3px;background:var(--tint);display:block}
.pname{font-weight:700;margin:0}
.pbio{margin:.1rem 0;font-size:.95rem}
.pwhere{font-size:.85rem;color:var(--muted);margin:0}
@media (max-width:900px){
 .layout{grid-template-columns:1fr;gap:0;padding:0 16px}
 .sidebar{position:static;max-height:none;padding:.8rem 0 0;border-bottom:1px solid var(--rule)}
 .brand-sub{display:none}
 main{padding-top:1.2rem}
 body{font-size:17.5px}
 figure.portrait{width:6.5rem;margin-right:.9rem}
 .reading{padding:.3rem 1rem .8rem 1.1rem}
}
