/* Classic single-page academic layout: centered 800px column, Lato, blue links. */
:root {
  --text: #222222;
  --soft: #555555;     /* dates */
  --link: #1772d0;
  --hover: #f09228;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #ffffff;
  color: var(--text);
  font: 400 16px/1.55 "Lato", Verdana, Helvetica, sans-serif;
}

a { color: var(--link); text-decoration: none; }
a:hover { color: var(--hover); }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
strong { font-weight: 700; }
img { max-width: 100%; }

.wrap { max-width: 800px; margin: 0 auto; padding: 40px 20px 60px; }

/* Top: name, bio and links on the left, photo on the right */
.top { display: grid; grid-template-columns: 1fr 200px; gap: 32px; align-items: center; }
.name { text-align: center; font-size: 34px; line-height: 1.2; font-weight: 700; margin: 0 0 18px; }
.intro p { margin: 0 0 14px; }
.intro .contact { text-align: center; margin: 18px 0 0; }
.photo img { width: 100%; border-radius: 50%; display: block; }

/* Sections */
main h2 { font-size: 22px; line-height: 1.3; font-weight: 700; margin: 40px 0 12px; padding-bottom: 6px; border-bottom: 1px solid #dddddd; }
main p { margin: 0 0 16px; }

table { border-collapse: collapse; }
.news td { padding: 3px 12px 3px 0; vertical-align: top; }
.news td.when { white-space: nowrap; color: var(--soft); }

.papers { width: 100%; }
.papers td { padding: 12px 0; vertical-align: middle; font-size: 15px; }
.ptitle { font-weight: 700; font-size: 16px; }
.venue { font-style: italic; }
.note { color: #d14; font-weight: 700; }

.edu { margin: 0; padding-left: 20px; }

@media (max-width: 640px) {
  .top { grid-template-columns: 1fr; gap: 20px; }
  .photo { max-width: 160px; margin: 0 auto; order: -1; }
}
