:root{
  --ink:#111;
  --paper:#fff;
  --rule:#d8d8d8;
  --accent:#c8102e;
  --measure:34rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
main{
  max-width:var(--measure);
  margin:0 auto;
  padding:4rem 1.5rem 3rem;
}
h1{
  font-size:2.5rem;
  line-height:1.1;
  letter-spacing:-0.02em;
  margin:0 0 .25rem;
  font-weight:600;
}
.tagline{
  margin:0 0 3rem;
  color:#666;
  font-size:1rem;
}
h2{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
  margin:0 0 .75rem;
  color:#666;
}
section{margin:0 0 2.5rem}
p{margin:0}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.links{list-style:none;margin:0;padding:0}
.links li{padding:.5rem 0;border-bottom:1px solid var(--rule)}
.links li:first-child{border-top:1px solid var(--rule)}
footer{
  margin-top:4rem;
  padding-top:1rem;
  border-top:1px solid var(--rule);
  font-size:.8125rem;
  color:#888;
}
@media (max-width:420px){
  main{padding:2.5rem 1.25rem 2rem}
  h1{font-size:2rem}
}

/* --- prose pages --- */
.prose{max-width:42rem}
.prose h2{margin:2.25rem 0 .75rem}
.prose p{margin:0 0 1rem}
.prose ul{margin:0 0 1rem;padding-left:1.25rem}
.prose li{margin:.35rem 0}
.prose a{border-bottom:1px solid var(--rule)}
code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.9em;
  background:#f4f4f4;
  padding:.1em .35em;
  border-radius:3px;
}
table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9375rem}
th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#666;font-weight:600}
.footer-links{display:flex;gap:1.25rem;margin-bottom:.75rem}
.footer-links a{border-bottom:none}
