/* Shared typography and layout for every academic site page. */
.academic-site {
  max-width: 780px;
  padding: 3.5rem 1.5rem 4rem;
  color: #242424;
  font-size: 18px;
  line-height: 1.65;
}

.academic-site .site-header {
  margin-bottom: 2.25rem;
  padding-bottom: 0;
}

.academic-site .site-title {
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.academic-site .site-nav {
  margin-top: 1rem;
  gap: 0 1.5rem;
  border-bottom: 1px solid #dedede;
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
}

.academic-site .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.25rem 0 0.5rem;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  color: #505050;
  text-decoration: none;
}

.academic-site .site-nav a[aria-current="page"] {
  border-bottom-color: var(--link);
  color: #202020;
}

.academic-site .site-nav a:hover {
  color: var(--link);
  border-bottom-color: var(--link);
}

.academic-site section {
  padding: 0;
  border: 0;
}

.academic-site section + section {
  margin-top: 2rem;
}

.academic-site h2 {
  margin-bottom: 0.65rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.35;
}

.academic-site p {
  margin-bottom: 0.85rem;
}

.academic-site section > :last-child {
  margin-bottom: 0;
}

.academic-site a {
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
  overflow-wrap: anywhere;
}

.academic-site a:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 4px;
}

.home-intro-with-photo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px;
  align-items: start;
  gap: 2rem;
}

.home-intro-with-photo p {
  margin-bottom: 0;
}

.home-portrait {
  display: block;
  width: 200px;
  height: 250px;
  object-fit: cover;
}

@media (max-width: 620px) {
  .home-intro-with-photo {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .home-portrait {
    grid-row: 1;
    width: 160px;
    height: 200px;
  }
}

@media (max-width: 520px) {
  .academic-site {
    padding: 1.75rem 1.25rem 3rem;
    font-size: 17px;
  }

  .academic-site .site-title {
    font-size: 1.85rem;
  }

  .academic-site .site-nav {
    column-gap: 1.15rem;
  }

  .academic-site .site-header {
    margin-bottom: 1.75rem;
  }
}
