:root{
  --ink:#1a1a1a;
  --muted:#555;
  --rule:#d8d3c8;
  --link:#7a1f1f;
  --paper:#fbfaf7;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  margin:0;
  font-size:18px;
}
.wrap{max-width:760px;margin:0 auto;padding:56px 28px 80px;}
header{
  display:flex;gap:28px;align-items:flex-start;
  border-bottom:1px solid var(--rule);
  padding-bottom:28px;margin-bottom:32px;
}
header .photo{
  width:150px;height:150px;flex:0 0 150px;
  border-radius:4px;object-fit:cover;
  filter:grayscale(15%);
}
h1{
  font-size:2.15rem;font-weight:600;margin:0 0 6px;letter-spacing:.2px;
}
.role{color:var(--muted);font-style:italic;margin:0 0 14px;font-size:1.05rem;}
.links a{
  color:var(--link);text-decoration:none;
  border-bottom:1px solid transparent;
}
.links a:hover{border-bottom-color:var(--link);}
.links{font-size:.98rem;}
.links span{color:var(--rule);margin:0 8px;}
.bio{margin:0 0 8px;}
h2{
  font-size:1.02rem;font-weight:600;text-transform:uppercase;
  letter-spacing:1.5px;color:var(--muted);
  border-bottom:1px solid var(--rule);
  padding-bottom:6px;margin:44px 0 18px;
}
ul{list-style:none;margin:0;padding:0;}
li{margin:0 0 20px;}
li a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--rule);}
li a:hover{border-bottom-color:var(--ink);}
.meta{color:var(--muted);font-size:.95rem;display:block;margin-top:2px;}
li a .katex{font-size:1em;}
footer{margin-top:56px;color:var(--muted);font-size:.85rem;font-style:italic;
  border-top:1px solid var(--rule);padding-top:18px;}
@media(max-width:560px){
  header{flex-direction:column;align-items:center;text-align:center;}
  body{font-size:17px;}
}
