:root{
  --paper:#FBFAF6; --ink:#1A1714; --ink-faint:#5E5852;
  --maroon:#800000; --maroon-ink:#6B2A32; --rule:#B9B2A8;
  --display:"Cormorant Garamond",Garamond,"EB Garamond",serif;
  --text:"TeX Gyre Pagella",Palatino,"Palatino Linotype","Book Antiqua",serif;
  --u:1.45rem;
}
@media (prefers-color-scheme:dark){:root{--paper:#15130F;--ink:#E8E2D8;--ink-faint:#A79E92;--maroon:#C0666E;--maroon-ink:#C0666E;--rule:#4A443C}}
html{background:#DDD8CE}
@media (prefers-color-scheme:dark){html{background:#0B0A08}}
body{margin:0;font:19px/1.5 var(--text);color:var(--ink);-webkit-font-smoothing:antialiased}
.page{background:var(--paper);max-width:46rem;margin:2rem auto;padding:4rem 2.5rem 5rem;box-sizing:border-box}
.page + .page{margin-top:2rem}
a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}
a:hover{color:var(--maroon);border-color:var(--maroon)}

/* running head */
.running{display:flex;justify-content:space-between;font-variant-caps:small-caps;letter-spacing:.14em;font-size:.9rem;color:var(--maroon-ink);border-bottom:1px solid var(--rule);padding-bottom:.4rem;margin-bottom:calc(var(--u)*2)}

/* masthead + inline titling */
.masthead{text-align:center}
.inline{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--maroon);line-height:1.1}

.masthead .inline.big{font-size:2.6rem}
.inline.title{font-size:2.4rem}
.masthead .founded{font-variant-caps:small-caps;letter-spacing:.3em;font-size:.8rem;margin-top:.2rem;color:var(--ink-faint)}
hr.long{border:0;border-top:1px solid var(--maroon);margin:calc(var(--u)*.75) 0}
hr.hair{border:0;border-top:1px solid var(--rule);margin:var(--u) 0}
.ital{font-style:italic}
.the{font-style:italic;font-size:1.25rem;margin:calc(var(--u)*2) 0 0}
.ordinal{font-style:italic;font-size:1.4rem;margin:.2rem 0 .6rem}
.session{font-variant-caps:small-caps;letter-spacing:.18em;font-size:1.25rem;margin-top:calc(var(--u)*1.2)}
.date{font-style:italic;font-size:1.25rem;margin:.5rem 0 0}
.chapel{font-variant-caps:small-caps;letter-spacing:.22em;font-size:1rem;text-align:center}

/* section furniture */
h2.sec{font:inherit;font-size:1.15rem;font-variant-caps:small-caps;letter-spacing:.14em;color:var(--maroon);text-align:center;margin:calc(var(--u)*2) 0 calc(var(--u)*.75)}
h3.sub{font:inherit;font-style:italic;font-size:1.3rem;text-align:center;margin:0 0 var(--u)}
h3.num{font:inherit;font-size:1.05rem;font-variant-caps:small-caps;letter-spacing:.1em;text-align:center;margin:calc(var(--u)*1.5) 0 .2rem}

/* prize block */
.prize{margin:0 0 var(--u)}
.prize .cite{font-style:italic;padding-left:2em;text-indent:-2em;margin:0}
.prize .who{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;padding-left:2em;font-size:1.05rem;margin-top:.15rem}
.lab{font-variant-caps:small-caps;letter-spacing:.06em}

/* degree list */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
@media (max-width:600px){.cols,.prize .who{grid-template-columns:1fr}}
.person{margin:0 0 .55rem}
.person .nm{text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem}
.person .cred{font-style:italic;font-size:.9rem;color:var(--ink-faint);padding-left:1.2em;line-height:1.35}
.person .thesis{font-size:.9rem;padding-left:1.2em;line-height:1.3}
.person .thesis i{font-style:italic}

/* person page */
.hdr{text-align:center;margin-bottom:calc(var(--u)*1.5)}
.hdr .nm{text-transform:uppercase;letter-spacing:.07em;font-size:1.9rem;line-height:1.2}
.hdr .cred{font-style:italic;color:var(--ink-faint);margin-top:.3rem}
.hdr .tier{font-variant-caps:small-caps;letter-spacing:.14em;font-size:.85rem;color:var(--ink-faint);margin-top:.6rem}
dl.facts{margin:0}
dl.facts div{display:grid;grid-template-columns:9em 1fr;gap:0 1rem;padding:.35rem 0;border-top:1px solid var(--rule)}
dl.facts div:last-child{border-bottom:1px solid var(--rule)}
dl.facts dt{font-variant-caps:small-caps;letter-spacing:.06em;color:var(--ink-faint)}
dl.facts dd{margin:0}
figure.crop{margin:var(--u) 0}
figure.crop .img{border:1px solid var(--rule);background:#EFECE3;height:3.6rem;display:flex;align-items:center;justify-content:center;font-style:italic;color:var(--ink-faint);font-size:.85rem}
figure.crop figcaption{font-variant-caps:small-caps;letter-spacing:.1em;font-size:.85rem;color:var(--ink-faint);margin-top:.35rem;text-align:center}
.note{font-size:.9rem;color:var(--ink-faint);font-style:italic;text-align:center;margin-top:calc(var(--u)*2)}

/* cover nav */
nav.cover{margin:calc(var(--u)*2.5) 0 0;border-top:1px solid var(--maroon);border-bottom:1px solid var(--maroon);padding:calc(var(--u)*.6) 0}
nav.cover ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 2.2rem}
nav.cover a{font-variant-caps:small-caps;letter-spacing:.2em;font-size:1.35rem;color:var(--maroon);border:0}
nav.cover a:hover{color:var(--ink)}
nav.cover ul.minor{margin-top:.5rem;gap:.2rem 1.8rem}
nav.cover ul.minor a{font-size:1rem;color:var(--ink-faint)}

/* left rail variant */
.page.railed{max-width:72rem;display:grid;grid-template-columns:11rem 1fr;gap:0 3rem}
.page.railed > aside.rail{border-right:1px solid var(--rule);padding-right:1.5rem}
aside.rail .brand{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--maroon);font-size:.95rem;line-height:1.25;margin-bottom:var(--u);word-break:break-all}
aside.rail ul{list-style:none;margin:0;padding:0}
aside.rail li{margin:.35rem 0}
aside.rail a{font-variant-caps:small-caps;letter-spacing:.16em;font-size:1.1rem;color:var(--maroon);border:0}
aside.rail a:hover{color:var(--ink)}
aside.rail ul.minor{margin-top:var(--u);padding-top:var(--u);border-top:1px solid var(--rule)}
aside.rail ul.minor a{font-size:.9rem;color:var(--ink-faint)}
.page.railed > main{min-width:0}
@media (max-width:760px){.page.railed{grid-template-columns:1fr}.page.railed > aside.rail{border-right:0;border-bottom:1px solid var(--rule);padding:0 0 1rem;margin-bottom:var(--u)}aside.rail ul{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}aside.rail ul.minor{border:0;padding:0;margin-top:.3rem}}
.label{font-variant-caps:small-caps;letter-spacing:.2em;font-size:.8rem;color:var(--ink-faint);text-align:center;margin:3rem 0 -1rem}

/* masthead unit */
.mast{text-align:center;border-bottom:1px solid var(--maroon);padding-bottom:calc(var(--u)*.6)}
.mast .name{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--maroon);font-size:2.6rem;line-height:1.1}
.mast .sub{font-variant-caps:small-caps;letter-spacing:.3em;font-size:.85rem;color:var(--ink-faint);margin-top:.25rem}
.mast .cover{font-style:italic;font-size:1.15rem;margin-top:calc(var(--u)*.8)}
.mast .cover b{font-style:normal;font-weight:normal;font-variant-caps:small-caps;letter-spacing:.14em}
nav.cover.tight{margin-top:0;border-top:0}

/* front page */
.page.front{max-width:84rem;padding-top:3rem}
.front .mast{margin-bottom:calc(var(--u)*1.2)}
.front .mast .name{font-size:3.2rem}
.front .grid{display:grid;grid-template-columns:11rem 1fr 16rem;gap:0 3rem}
.front .grid > aside.rail{border-right:1px solid var(--rule);padding-right:1.5rem}
.front .grid > aside.side{border-left:1px solid var(--rule);padding-left:1.5rem}
.front .grid > main{min-width:0}
article.lead{margin:0 0 calc(var(--u)*1.5)}
article.lead + article.lead{border-top:1px solid var(--rule);padding-top:calc(var(--u)*1.2)}
article.lead .kicker{font-variant-caps:small-caps;letter-spacing:.2em;font-size:.8rem;color:var(--maroon);margin:0 0 .3rem}
article.lead h2{font:inherit;font-family:var(--display);font-weight:600;font-size:1.9rem;line-height:1.15;margin:0 0 .4rem}
article.lead h2 a{border:0}
article.lead .dek{font-style:italic;margin:0 0 .5rem;color:var(--ink)}
article.lead p{margin:0 0 .6rem}
article.lead .by{font-variant-caps:small-caps;letter-spacing:.12em;font-size:.85rem;color:var(--ink-faint)}
aside.side h3{font:inherit;font-size:.9rem;font-variant-caps:small-caps;letter-spacing:.16em;color:var(--maroon);margin:0 0 .6rem}
aside.side ul{list-style:none;margin:0 0 var(--u);padding:0}
aside.side li{margin:0 0 .5rem;font-size:.95rem;line-height:1.3}
aside.side li .cred{font-style:italic;font-size:.8rem;color:var(--ink-faint);display:block}
@media (max-width:900px){.front .grid{grid-template-columns:1fr}.front .grid > aside.rail{border-right:0;border-bottom:1px solid var(--rule);padding:0 0 1rem;margin-bottom:var(--u)}.front .grid > aside.side{border-left:0;border-top:1px solid var(--rule);padding:1rem 0 0;margin-top:var(--u)}aside.rail ul{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}aside.rail ul.minor{border:0;padding:0;margin-top:.3rem}}

/* sticky rail */
aside.rail{position:sticky;top:1.5rem;align-self:start;max-height:calc(100vh - 3rem);overflow:auto}
@media (max-width:900px){aside.rail{position:static;max-height:none}}

/* generator additions */
aside.rail .brand a{border:0;color:var(--maroon)}
.chapel.foot{margin-top:calc(var(--u)*3);font-size:.85rem;color:var(--ink-faint)}
.pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1.5rem}
figure.pg{margin:0}figure.pg img{width:100%;border:1px solid var(--rule);background:#fff}
figure.pg figcaption{font-variant-caps:small-caps;letter-spacing:.1em;font-size:.8rem;color:var(--ink-faint);text-align:center;margin-top:.3rem}
figure.crop img{display:block;width:100%;border:1px solid var(--rule);background:#fff}
.person .nm a{border:0}
