:root {
  --bg: #ffffff;
  --ink: #222222;
  --muted: #7a7a7a;
  --rule: #dddddd;
  --accent: #ef4136;
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: light;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.55;
}

.site-wrap {
  width: min(1010.00px, calc(100% - 72.00px));
  margin: 0 auto;
  padding: 52.00px 0 64.00px;
}

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24.00px;
}

.site-brand,
.site-brand:visited {
  color: var(--ink);
  text-decoration: none;
  font-size: 22.00px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16.00px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 30.00px;
}

.site-nav a,
.site-nav a:visited {
  color: #737373;
  text-decoration: none;
  font-size: 16.00px;
  font-weight: 500;
}

.site-nav a:hover,
.site-nav a.active {
  color: #3b3b3b;
}

.header-circle {
  width: 24.00px;
  height: 24.00px;
  border: 2.00px solid #cdcdcd;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}

.header-circle::before {
  content: "";
  position: absolute;
  top: 6.00px;
  left: 8.00px;
  width: 5.00px;
  height: 9.00px;
  border-radius: 50%;
  background: #c8c8c8;
}

.header-rule {
  border: 0;
  border-top: 1.00px solid var(--rule);
  margin: 16.00px 0 44.00px;
}

.home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350.00px;
  gap: 48.00px;
  align-items: start;
}

.home-copy {
  max-width: 595.00px;
}

.home-name {
  margin: 0 0 20.00px;
  font-size: 44.00px;
  line-height: 1.07;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #353535;
}

.home-role {
  margin: 0;
  color: var(--accent);
  font-size: 18.00px;
  line-height: 1.28;
  font-weight: 500;
}

.home-role a,
.home-role a:visited {
  color: inherit;
  text-decoration: none;
}

.home-role a:hover {
  text-decoration: underline;
}

.home-description {
  margin: 28.00px 0 0;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 15.12px;
  line-height: 1.46;
  color: #4a4a4a;
}

.home-description + .home-description {
  margin-top: 4.20em;
}

.bio-link,
.bio-link:visited,
.bio-link:hover {
  color: inherit;
  text-decoration: none;
}

.home-actions {
  margin-top: 42.00px;
  display: flex;
  flex-wrap: wrap;
  gap: 16.00px;
}

.home-actions a,
.home-actions a:visited {
  color: var(--accent);
  text-decoration: none;
  border: 2.00px solid var(--accent);
  border-radius: 8.00px;
  padding: 10.00px 22.00px;
  font-size: 15.00px;
  font-weight: 500;
  line-height: 1.15;
  background: transparent;
}

.home-actions a:hover {
  background: var(--accent);
  color: #ffffff;
}

.home-conferences {
  margin: 28.00px 0 0;
  font-size: 15.00px;
  color: #2f63c6;
}

.home-conferences a,
.home-conferences a:visited {
  color: inherit;
  text-decoration: none;
}

.home-conferences a:hover {
  text-decoration: underline;
}

.contact-rule {
  border: 0;
  border-top: 1.00px solid var(--rule);
  margin: 52.00px 0 36.00px;
}

.home-contact {
  color: var(--muted);
  font-size: 15.00px;
  line-height: 1.55;
}

.home-contact p {
  margin: 0 0 6.00px;
}

.home-contact a,
.home-contact a:visited {
  color: var(--muted);
  text-decoration: none;
}

.home-contact a:hover {
  text-decoration: underline;
}

.home-photo {
  width: 100%;
}

.photo-shell {
  background: transparent;
  padding: 0;
}

.photo-shell img {
  width: 100%;
  display: block;
  border-radius: 14.00px;
}

.photo-note {
  margin: 10.00px 0 0;
  font-size: 13.00px;
  color: #8a8a8a;
}

.page-main {
  max-width: 760.00px;
}

.page-title {
  margin: 0 0 26.00px;
  font-size: 38.00px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -0.012em;
}

.content-block {
  margin-bottom: 48.00px;
}

.content-block:last-child {
  margin-bottom: 0;
}

h2 {
  margin: 0 0 16.00px;
  font-size: 27.00px;
  line-height: 1.2;
  font-weight: 500;
}

p,
li {
  font-size: 17.00px;
}

ul {
  margin: 0;
  padding-left: 28.00px;
}

li {
  margin-bottom: 14.00px;
}

.inline-link,
.inline-link:visited {
  color: var(--accent);
  text-decoration: none;
}

.inline-link:hover {
  text-decoration: underline;
}

.paper-list {
  margin-top: 2.00px;
}

.paper-entry {
  margin: 0 0 20.00px;
}

.paper-entry:last-child {
  margin-bottom: 0;
}

.paper-title,
.paper-title:visited {
  color: #1f1f1f;
  text-decoration: none;
  font-size: 20.00px;
  font-weight: 500;
  line-height: 1.34;
}

.paper-title:hover {
  text-decoration: underline;
}

.paper-meta {
  margin: 4.00px 0 0;
  color: #858585;
  font-size: 15.00px;
  line-height: 1.5;
}

.coauthor-link,
.coauthor-link:visited {
  color: inherit;
  text-decoration: none;
}

.coauthor-link:hover {
  color: inherit;
  text-decoration: none;
}

.paper-note {
  margin: 2.00px 0 0;
  color: #979797;
  font-size: 14.00px;
  line-height: 1.48;
}

.research-main {
  max-width: 760.00px;
}

.research-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10.00px;
  margin: 0 0 16.00px;
}

.research-tabs a,
.research-tabs a:visited {
  display: inline-block;
  padding: 7.00px 14.00px;
  border-radius: 4.00px;
  background: #efefef;
  color: #696969;
  text-decoration: none;
  font-size: 14.00px;
  line-height: 1.2;
}

.research-tabs a.active,
.research-tabs a:hover {
  color: #4d4d4d;
}

.research-divider {
  border: 0;
  border-top: 1.00px solid #d9d9d9;
  margin: 0 0 28.00px;
}

.research-section-title {
  margin: 0 0 18.00px;
  font-size: 14.00px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #666666;
}

.research-main .paper-list {
  margin: 0;
}

.research-main .paper-entry {
  margin: 0;
  padding: 0 0 16.00px;
  border-bottom: 1.00px solid #dcdcdc;
}

.research-main .paper-entry + .paper-entry {
  margin-top: 14.00px;
}

.research-main .paper-title,
.research-main .paper-title:visited {
  font-size: 20.00px;
  font-weight: 600;
  line-height: 1.32;
  color: #222222;
  text-decoration: none;
}

.research-main .paper-title:hover {
  text-decoration: none;
}

.paper-status {
  color: #b22222;
  font-size: 0.82em;
  font-weight: 700;
  white-space: nowrap;
}

.research-main .paper-meta {
  margin: 6.00px 0 0;
  color: #6f6f6f;
  font-size: 15.00px;
  line-height: 1.5;
}

.research-main .paper-note {
  margin: 4.00px 0 0;
  color: #8b8b8b;
  font-size: 13.00px;
}

.teaching-main {
  max-width: 760.00px;
}

.teaching-list {
  margin: 0;
}

.teaching-entry {
  margin: 0;
  padding: 0 0 14.00px;
  border-bottom: 1.00px solid #dcdcdc;
}

.teaching-entry + .teaching-entry {
  margin-top: 12.00px;
}

.teaching-line {
  margin: 0;
  color: #303030;
  font-size: 16.00px;
  line-height: 1.5;
}

.teaching-line strong {
  color: #222222;
  font-weight: 600;
}

.site-footer {
  margin-top: 62.00px;
  padding-top: 24.00px;
  border-top: 1.00px solid var(--rule);
  color: #8c8c8c;
  font-size: 13.00px;
  text-align: center;
}

@media (max-width: 1200.00px) {
  .site-wrap {
    width: min(980.00px, calc(100% - 54.00px));
    padding-top: 40.00px;
  }

  .site-brand,
  .site-brand:visited {
    font-size: 21.00px;
  }

  .site-nav a,
  .site-nav a:visited {
    font-size: 15.00px;
  }

  .home-grid {
    grid-template-columns: minmax(0, 1fr) 300.00px;
    gap: 34.00px;
  }

  .home-name {
    font-size: 39.00px;
  }

  .home-role {
    font-size: 17.00px;
  }

  .home-description {
    font-size: 14.28px;
  }

  .home-actions a,
  .home-actions a:visited {
    font-size: 14.00px;
  }

  .home-conferences {
    font-size: 14.00px;
  }

  .home-contact {
    font-size: 15.00px;
  }

  .page-title {
    font-size: 33.00px;
  }

  h2 {
    font-size: 25.00px;
  }

  p,
  li {
    font-size: 16.00px;
  }

  .paper-title,
  .paper-title:visited {
    font-size: 19.00px;
  }

  .paper-meta {
    font-size: 14.00px;
  }

  .paper-note {
    font-size: 13.00px;
  }

  .research-tabs a,
  .research-tabs a:visited {
    font-size: 13.00px;
    padding: 6.00px 12.00px;
  }

  .research-section-title {
    font-size: 13.00px;
  }

  .research-main .paper-title,
  .research-main .paper-title:visited {
    font-size: 18.00px;
  }

  .research-main .paper-meta {
    font-size: 14.00px;
  }

  .research-main .paper-note {
    font-size: 12.00px;
  }

  .teaching-line {
    font-size: 15.00px;
  }

  .site-footer {
    font-size: 12.00px;
  }
}

@media (max-width: 860.00px) {
  .site-wrap {
    width: calc(100% - 32.00px);
    padding: 26.00px 0 40.00px;
  }

  .site-header {
    flex-wrap: wrap;
    gap: 10.00px;
  }

  .site-brand,
  .site-brand:visited {
    font-size: 20.00px;
  }

  .header-right {
    width: 100%;
    justify-content: space-between;
  }

  .site-nav {
    gap: 14.00px;
    flex-wrap: wrap;
  }

  .site-nav a,
  .site-nav a:visited {
    font-size: 14.00px;
  }

  .header-circle {
    width: 22.00px;
    height: 22.00px;
  }

  .header-rule {
    margin: 14.00px 0 28.00px;
  }

  .home-grid {
    grid-template-columns: 1fr;
    gap: 22.00px;
  }

  .home-copy {
    max-width: 100%;
  }

  .home-name {
    font-size: 31.00px;
    margin-bottom: 14.00px;
  }

  .home-role {
    font-size: 16.00px;
  }

  .home-description {
    font-size: 13.44px;
    margin-top: 18.00px;
  }

  .home-actions {
    margin-top: 26.00px;
    gap: 12.00px;
  }

  .home-actions a,
  .home-actions a:visited {
    font-size: 14.00px;
    padding: 9.00px 14.00px;
  }

  .home-conferences {
    font-size: 13.00px;
  }

  .contact-rule {
    margin: 30.00px 0 22.00px;
  }

  .home-contact {
    font-size: 14.00px;
  }

  .home-photo {
    max-width: 320.00px;
  }

  .photo-shell {
    padding: 0;
  }

  .page-main {
    max-width: 100%;
  }

  .page-title {
    font-size: 29.00px;
    margin-bottom: 18.00px;
  }

  h2 {
    font-size: 22.00px;
    margin-bottom: 10.00px;
  }

  p,
  li {
    font-size: 15.00px;
  }

  .paper-title,
  .paper-title:visited {
    font-size: 18.00px;
  }

  .paper-meta {
    font-size: 13.00px;
  }

  .paper-note {
    font-size: 12.00px;
  }

  .research-tabs {
    gap: 8.00px;
    margin-bottom: 12.00px;
  }

  .research-tabs a,
  .research-tabs a:visited {
    font-size: 12.00px;
    padding: 5.00px 10.00px;
  }

  .research-divider {
    margin-bottom: 20.00px;
  }

  .research-section-title {
    margin-bottom: 12.00px;
    font-size: 12.00px;
  }

  .research-main .paper-entry {
    padding-bottom: 12.00px;
  }

  .research-main .paper-entry + .paper-entry {
    margin-top: 10.00px;
  }

  .research-main .paper-title,
  .research-main .paper-title:visited {
    font-size: 17.00px;
  }

  .research-main .paper-meta {
    font-size: 13.00px;
  }

  .teaching-entry {
    padding-bottom: 10.00px;
  }

  .teaching-entry + .teaching-entry {
    margin-top: 8.00px;
  }

  .teaching-line {
    font-size: 14.00px;
  }

  .site-footer {
    margin-top: 38.00px;
    padding-top: 18.00px;
    font-size: 11.00px;
  }
}
