body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: 'Lora', Georgia, 'Times New Roman', serif;
  font-size: 18px;
  line-height: 1.7;
  color: #333;
}

h1, heading, papertitle, .when, email {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
}

h1 { font-size: 2.5rem; font-weight: 700; line-height: 1.2; margin: 5px 0 6px; }

.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 15px 15px;
}

.top { text-align: center; padding-top: 30px; }
.subtitle { color: #666; font-style: italic; margin-bottom: 4px; }
email { font-size: 16px; color: #666; }

.pic img {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  object-fit: cover;
  margin: 20px 0 10px;
  background: #f2f2f2;
}

.icons a { display: inline-block; margin: 0 8px; color: #444; }
.icons a:hover { color: #2b68aa; }
.icons svg { width: 34px; height: 34px; fill: currentColor; }

.row { padding: 7px 0; }

a { color: #2b68aa; text-decoration: none; }
a:hover { text-decoration: underline; }

hr {
  border: 0;
  height: 1px;
  background-image: linear-gradient(to right, #ccc, #333, #ccc);
  margin: 20px 0;
}

heading { display: block; font-size: 24px; font-weight: 700; margin-bottom: 6px; }

.item { padding: 8px 0; }
.when { float: right; font-size: 15px; color: #888; margin-left: 12px; }
papertitle { font-size: 17px; font-weight: 700; }
.meta { color: #666; font-size: 16px; font-style: italic; }
.award { color: #b5651d; font-size: 15px; }
ul { margin: 4px 0 0; padding-left: 22px; }
li { margin: 2px 0; }

#bottom { padding: 20px 0 50px; text-align: center; color: #888; font-size: 15px; }

@media (max-width: 600px) {
  body { font-size: 16px; }
  .when { float: none; display: block; margin: 0; }
}

.links { font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 14px; }
