/* Shared author identity: directory, article credit and full profile. */
.gh-author-directory { margin: 0 0 4rem; }
.gh-author-card {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  align-items: start;
  gap: 2rem;
  padding: 2rem 0;
  border-top: 1px solid var(--gh-soft-border, #e7d4c6);
}
.gh-author-card__portrait {
  display: block;
  width: 8rem;
  height: 10rem;
  margin: 0;
  object-fit: cover;
  background: var(--gh-paper);
}
.gh-author-card .gh-author-card__name {
  margin: 0 0 .75rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.015em;
}
.gh-author-card__name a { color: var(--gh-link); text-decoration: none; }
.gh-author-card__name a:hover { text-decoration: underline; }
.gh-author-card__bio { max-width: 68ch; }
.gh-author-card__bio p {
  margin: 0 0 1rem;
  color: var(--gh-ink);
  font-size: 1.125rem;
  line-height: 1.7;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.gh-author-card__link { font-size: 1rem; line-height: 1.5; text-underline-offset: .18em; }
.gh-author-card__link span { color: var(--gh-muted); }
.gh-author-card--text .gh-author-card__content { grid-column: 2; }
.gh-author-profile { margin-bottom: 3rem; }
.gh-author-card--full { border: 0; padding-top: 0; padding-bottom: 0; }
.gh-author-card--full:has(.gh-author-card__bio:empty):not(:has(img)) { display: none; }
@media (max-width: 599px) {
  .gh-author-card { grid-template-columns: 5rem minmax(0, 1fr); gap: 1.25rem; padding: 1.5rem 0; }
  .gh-author-card__portrait { width: 5rem; height: 6.25rem; }
  .gh-author-card:not(.gh-author-card--full) .gh-author-card__content { display: contents; }
  .gh-author-card:not(.gh-author-card--full) .gh-author-card__portrait { grid-row: 1; }
  .gh-author-card:not(.gh-author-card--full) .gh-author-card__name { grid-column: 2; align-self: center; }
  .gh-author-card:not(.gh-author-card--full) :is(.gh-author-card__bio, .gh-author-card__link) { grid-column: 1 / -1; }
  .gh-author-card .gh-author-card__name { font-size: 1.25rem; margin-bottom: 0; }
  .gh-author-card--text:not(.gh-author-card--full) .gh-author-card__name { grid-column: 1; }
  .gh-author-card__bio:empty { display: none; }
  .gh-author-card__bio p:last-child { margin-bottom: 0; }
  .gh-author-card__bio p { font-size: 1.0625rem; }
  .gh-author-card--text { grid-template-columns: 1fr; }
  .gh-author-card--text .gh-author-card__content { grid-column: 1; }
  .gh-author-card--full { grid-template-columns: 1fr; padding-top: 0; }
  .gh-author-card--full .gh-author-card__portrait { width: 8rem; height: 10rem; }
}
