body {
  margin: 16px;
  background: #fff;
  color: #000;
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.35;
}

a { color: #0000ee; }
a:visited { color: #551a8b; }

.shell {
  width: auto;
  margin: 0;
}

.site-header,
footer,
.eyebrow,
.section-index { display: none; }

.intro,
main > section,
.two-column {
  padding: 0 0 18px;
  margin: 0 0 18px;
  border-bottom: 1px solid #888;
}

.profile-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 16px;
}

.avatar {
  display: block;
  width: 125px;
  height: 125px;
  flex: 0 0 125px;
  margin: 0;
  object-fit: cover;
}

h1 { margin: 0 0 8px; font-size: 1.5em; }
h1 span { font-size: .75em; font-weight: normal; }
h2 { margin: 0 0 12px; font-size: 1.5em; }
h3 { margin: 0 0 4px; font-size: 1em; }

.contact > * { display: block; }
.bio { margin: 0; }

.university-mark {
  width: 1.35em;
  height: 1.35em;
  margin-left: .2em;
  object-fit: contain;
  vertical-align: -.3em;
}

.section-heading { margin: 0; }
.timeline { margin: 0; padding-left: 22px; list-style: disc; }
.timeline li { margin-bottom: 5px; }
.timeline time { font-style: normal; }
.timeline time::after { content: ": "; }
.timeline p { display: inline; margin: 0; }

.publication { margin: 0 0 20px; }
.venue { margin: 0 0 2px; font-weight: bold; }
.authors, .event, .links, .award { margin: 2px 0; }
.authors em, .acceptance { font-size: .9em; }
.acceptance::before { content: "["; }
.acceptance::after { content: "]"; }
.links { display: flex; flex-wrap: wrap; gap: 0 12px; }
.links > * + * { border-left: 1px solid #777; padding-left: 12px; }
.links span { color: #777; }
.award { color: red; }

.two-column { display: block; }
.two-column section + section { margin-top: 24px; }
.compact-list { margin: 0; padding-left: 22px; }
.compact-list li { margin-bottom: 5px; }
.compact-list time { font-style: italic; }
.compact-list strong, .compact-list span { font-weight: normal; }
.compact-list strong::before { content: ", "; }
.compact-list span::before { content: ", "; }
.music p { margin: 0; }

@media (max-width: 480px) {
  body { margin: 10px; }
  .profile-heading { gap: 12px; }
  .avatar { width: 92px; height: 92px; flex-basis: 92px; }
  h1 { font-size: 1.35em; }
  h1 span { display: block; }
  .contact { font-size: .92em; }
  .links { gap: 2px 12px; }
}

@media (max-width: 340px) {
  .profile-heading { display: block; }
  .avatar { margin-top: 12px; }
}
