:root{--paper:#f7f7f4;--ink:#1f2340;--blue:#1f4e8c;--red:#a3222b;--muted:#51566b;--rule:#cbd4df;--serif:"Hoefler Text","Baskerville","Baskerville Old Face","Times New Roman",serif;--sans:"Gill Sans","Gill Sans MT","Seravek","Trebuchet MS",system-ui,sans-serif}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;text-size-adjust:100%;scroll-padding-top:1rem}
body{margin:0}
img{display:block;max-width:100%;height:auto}
a{color:var(--blue);text-decoration-thickness:.065em;text-underline-offset:.18em;overflow-wrap:break-word}
a:hover{text-decoration-thickness:.13em}
a:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--red);outline-offset:4px;border-radius:2px}
p{margin:0 0 1.45rem}
strong{font-weight:600}
em{font-family:var(--serif);font-size:1.06em}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;overflow-wrap:break-word}
h1{font-size:clamp(2.05rem,2.7vw + 1rem,3.3rem);letter-spacing:-.022em;margin:0 0 1.65rem;max-width:29ch}
h2{font-size:1.9rem;margin:2.65rem 0 1.05rem;letter-spacing:-.012em}
h3{font-size:1.4rem;margin:1.9rem 0 .8rem}
ul,ol{padding-left:1.3rem;margin:.8rem 0 1.6rem}
li{padding-left:.15rem;margin:.45rem 0}
.shell{width:min(100% - 2.2rem,1160px);margin-inline:auto;min-width:0}
.site-header{padding-top:1.65rem;background:var(--paper)}
.brand{display:flex;align-items:center;gap:.8rem;color:var(--ink);width:fit-content;max-width:100%;text-decoration:none}
.brand-mark{width:2rem;height:2rem;flex:0 0 2rem}
.brand-name{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.75rem);font-weight:600;letter-spacing:-.035em;line-height:1.1}
.tagline{font-size:.95rem;color:var(--muted);max-width:72ch;margin:.8rem 0 1rem}
.primary-nav{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .55rem;padding:.55rem 0 .8rem;border-top:1px solid var(--rule)}
.primary-nav>details,.primary-nav>.nav-single{min-width:0;max-width:100%}
.primary-nav summary,.nav-single{min-height:44px;padding:.5rem .6rem;font-size:.9rem;font-weight:600;line-height:1.4;color:var(--ink)}
.primary-nav summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none}
.primary-nav summary::-webkit-details-marker{display:none}
.primary-nav summary::after{content:"⌄";color:var(--blue);font-size:1rem;line-height:1}
.primary-nav summary:hover,.nav-single:hover{background:#edf0f3}
.primary-nav details[open]{flex-basis:100%;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}
.primary-nav details[open] summary{width:fit-content;color:var(--blue)}
.primary-nav details[open] summary::after{content:"⌃"}
.primary-nav ul{display:flex;flex-wrap:wrap;gap:.2rem .5rem;list-style:none;padding:0 .3rem;margin:.25rem 0 .15rem}
.primary-nav li{margin:0;padding:0;min-width:0;max-width:100%}
.primary-nav li a{display:block;padding:.5rem .6rem;min-height:44px;font-size:.9rem;line-height:1.4}
.nav-single{display:block;text-decoration:none}
.stitch-band{display:block;width:100%;height:14px;color:var(--red);overflow:hidden}
.site-main{padding-top:1.75rem;padding-bottom:4rem}
.breadcrumbs{font-size:.8rem;line-height:1.55;margin:0 0 1.55rem;max-width:90ch;color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.3rem .5rem;list-style:none;margin:0;padding:0}
.breadcrumbs li{padding:0;margin:0;min-width:0;overflow-wrap:break-word}
.breadcrumbs li+li::before{content:"/";padding-right:.5rem;color:#747a8c}
.page-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0}
.article-opening,.article-body{min-width:0;max-width:68ch}
.article-opening>p:last-child{margin-bottom:1.5rem}
.era-tag{display:inline-block;color:var(--red);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:.8rem}
.at-a-glance{border-top:2px solid var(--blue);border-left:1px solid var(--rule);padding:1.05rem 1.1rem .35rem;margin:0 0 1.65rem;background:#fff;max-width:68ch}
.at-a-glance h2{font-family:var(--sans);font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;margin:0 0 1rem}
.at-a-glance dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:0 1.15rem}
.at-a-glance dt{font-size:.74rem;color:var(--muted);line-height:1.4;margin:0 0 .2rem}
.at-a-glance dd{font-family:var(--serif);font-size:1.06rem;line-height:1.35;margin:0 0 1.15rem;overflow-wrap:break-word}
.page-image{margin:.25rem 0 2.1rem;padding:.35rem;border:1px solid var(--rule);background:#fff}
.page-image img{width:100%;height:auto}
.inline-image{margin:1.4rem 0 2rem}
.article-body h2::before{content:"";display:block;width:1.5rem;height:3px;background:var(--red);margin:0 0 .6rem}
.body-notice{border-left:3px solid var(--blue);background:#edf0f3;padding:1.15rem 1.25rem;font-size:.92rem}
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:1.5rem 0 1.8rem;border-top:1px solid var(--blue)}
table{border-collapse:collapse;max-width:none;width:100%;font-size:.9rem;line-height:1.5}
caption{text-align:left;font-family:var(--serif);font-size:1.12rem;padding:.8rem 0;color:var(--ink)}
th,td{text-align:left;vertical-align:top;padding:.8rem .7rem;border-bottom:1px solid var(--rule);overflow-wrap:break-word}
th{font-weight:600}
thead th{background:#eaf0f5;color:var(--ink);font-size:.8rem}
.table-scroll table{min-width:31rem}
.table-scroll th:first-child,.table-scroll td:first-child{padding-left:.3rem}
.topic-index{margin-top:2.6rem}
.topic-index table{font-size:.9rem}
.topic-index caption{font-size:1.75rem;font-weight:600;padding:.7rem 0 1rem}
.topic-index .topic-group th{color:var(--red);padding:1.4rem .3rem .5rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;background:var(--paper)}
.topic-index .topic-name{width:29%;font-family:var(--serif);font-size:1.12rem;line-height:1.35;padding-left:.3rem}
.topic-index .topic-read{width:12%;white-space:nowrap}
.period-neighbours{display:grid;grid-template-columns:minmax(0,1fr);gap:1.05rem;border-top:1px solid var(--blue);margin:2.6rem 0 0;padding-top:1.25rem;max-width:68ch}
.period-neighbours .direction{display:block;color:var(--red);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem}
.period-neighbours a{display:block;font-family:var(--serif);font-size:1.1rem;line-height:1.4;max-width:100%}
.site-footer{background:var(--ink);color:var(--paper);padding:2.15rem 0 2rem}
.site-footer a{color:#e4ecfa}
.footer-brand{font-family:var(--serif);font-size:1.9rem;line-height:1.2;margin-bottom:.65rem}
.footer-home{font-size:.9rem;margin:0 0 1.8rem}
.footer-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:1.7rem 2rem;padding:1.65rem 0 2.05rem;border-block:1px solid #4f5471}
.footer-group{min-width:0}
.footer-group h2{font-family:var(--sans);font-size:.8rem;letter-spacing:.07em;font-weight:600;line-height:1.4;margin:0 0 .75rem;color:#f7f7f4}
.footer-group ul{list-style:none;margin:0;padding:0}
.footer-group li{padding:0;margin:.5rem 0}
.footer-group a{font-size:.85rem;line-height:1.45;display:inline-block;padding:.1rem 0}
.affiliation-notice{font-size:.85rem;line-height:1.7;margin:1.65rem 0 0;max-width:100ch;color:#edf0f8}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:650px){.shell{width:min(100% - 3.6rem,1160px)}.primary-nav{gap:.35rem .8rem}.period-neighbours{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.site-header{padding-top:2.15rem}.site-main{padding-top:2.2rem;padding-bottom:5rem}.page-layout{grid-template-columns:minmax(0,68ch) minmax(0,14rem);column-gap:clamp(2rem,4vw,3.5rem);align-items:start}.article-opening{grid-column:1;grid-row:1}.article-body{grid-column:1;grid-row:2}.at-a-glance{grid-column:2;grid-row:1 / span 2;position:sticky;top:2rem;margin-top:.1rem}.at-a-glance dl{display:block}.no-glance{grid-template-columns:minmax(0,68ch)}.no-glance .article-opening,.no-glance .article-body{grid-column:1}.period-neighbours{grid-column:1}.site-footer{padding-top:2.75rem;padding-bottom:2.75rem}}
@media(max-width:649px){.topic-index table,.topic-index tbody,.topic-index tr,.topic-index th,.topic-index td{display:block;width:100%}.topic-index thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.topic-index .topic-group th{padding:1.3rem 0 .55rem;border:0}.topic-index tr:not(.topic-group){padding:1rem 0;border-bottom:1px solid var(--rule)}.topic-index .topic-name,.topic-index td{border:0;padding:.2rem 0;width:100%}.topic-index .topic-name{font-size:1.2rem}.topic-index .topic-read{padding:.5rem 0 .1rem}.topic-index .topic-read a{display:inline-block;min-height:36px;padding:.2rem .4rem .2rem 0}}
