/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'),
    url(https://fonts.gstatic.com/s/lato/v15/S6u8w4BMUTPHjxsAUi-qNiXg7eU0.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'),
    url(https://fonts.gstatic.com/s/lato/v15/S6u8w4BMUTPHjxsAXC-qNiXg7Q.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'),
    url(https://fonts.gstatic.com/s/lato/v15/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'),
    url(https://fonts.gstatic.com/s/lato/v15/S6uyw4BMUTPHjx4wXiWtFCc.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

a {
  color: #1772d0;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #f09228;
}

body {
  margin: 0;
  background: #ffffff;
  color: #1f1f1f;
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}

p,
li,
td,
th,
tr {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 15px;
}

strong {
  font-weight: 700;
}

code {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.92em;
}

.container {
  box-sizing: border-box;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 32px 24px 48px;
}

.section {
  margin-top: 28px;
}

.section-top {
  margin-top: 0;
}

.section-title {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 400;
}

.section-note {
  margin: 0 0 18px;
  color: #5e6673;
}

.profile-row {
  display: flex;
  align-items: center;
  gap: 28px;
}

.profile-text {
  flex: 1 1 0;
  min-width: 0;
}

.profile-media {
  flex: 0 0 220px;
  display: flex;
  justify-content: center;
}

.name {
  margin: 0 0 8px;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.12;
}

.role,
.location {
  margin: 0;
  color: #5e6673;
}

.location {
  margin-bottom: 14px;
}

.meta-links {
  margin: 18px 0 0;
  font-size: 15px;
}

.link-divider {
  margin: 0 8px;
  color: #9aa3af;
}

.profile-photo,
.paper-media {
  position: relative;
  background-color: #edf2f7;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.profile-photo {
  width: 220px;
  height: 220px;
  border-radius: 10%;
  box-shadow: inset 0 0 0 1px #dbe3ee;
}

.paper-media {
  flex: 0 0 248px;
  width: 248px;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px #dbe3ee;
  overflow: hidden;
  align-self: flex-start;
  background: #0f172a;
  line-height: 0;
}

.paper-visual {
  width: 100%;
  height: auto;
  display: block;
  background: #0f172a;
}

.profile-photo.is-placeholder::after,
.paper-media.is-placeholder::after {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: linear-gradient(135deg, rgba(240, 244, 248, 0.92), rgba(232, 238, 247, 0.92));
  color: #52606d;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  content: "Upload " attr(data-media);
}

.paper-media.is-placeholder {
  min-height: 150px;
  background: linear-gradient(135deg, #f3f6fb, #e7edf6);
  line-height: normal;
}

.year-block + .year-block {
  margin-top: 0;
}

.paper-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid #ebeff5;
}

.paper-content {
  flex: 1 1 0;
  min-width: 0;
}

.paper-title {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 16px;
  font-weight: 700;
}

.paper-authors,
.paper-venue,
.paper-links,
.paper-summary {
  margin: 4px 0;
}

.paper-venue {
  color: #000000;
}

.paper-links {
  font-size: 14px;
}

.paper-summary {
  color: #313843;
}

.experience-item {
  border-top: 1px solid #ebeff5;
  padding-top: 16px;
}

.experience-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.experience-heading h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.experience-role,
.experience-meta {
  margin: 4px 0 0;
  color: #000000;
}

.experience-supervisors {
  margin: 8px 0 0;
  font-size: 14px;
  color: #000000;
  line-height: 1.5;
}

.experience-supervisors-sep {
  margin: 0 0.35em;
  color: #b8c0cc;
  user-select: none;
}

.experience-meta {
  text-align: right;
  white-space: nowrap;
}

.experience-list {
  margin: 14px 0 0 18px;
  padding: 0;
}

.experience-list li + li {
  margin-top: 8px;
}

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

.award-list li + li {
  margin-top: 8px;
}

.footer-note {
  padding-top: 4px;
  border-top: 1px solid #ebeff5;
  color: #5e6673;
}

@media (max-width: 720px) {
  .container {
    padding: 24px 16px 40px;
  }

  .profile-row,
  .paper-item,
  .experience-heading {
    flex-direction: column;
  }

  .profile-media,
  .paper-media {
    width: 100%;
  }

  .profile-photo {
    width: min(240px, 100%);
    height: min(240px, calc(100vw - 80px));
    border-radius: 50px;
  }

  .paper-media {
    flex-basis: auto;
    width: 100%;
  }

  .experience-meta {
    text-align: left;
    white-space: normal;
  }

  .name {
    font-size: 32px;
  }
}
