.author {
  display: flex;
  align-items: flex-start;
  gap: 1.5em;
  margin: 1.5em auto;
  padding: 1.5em;
  max-width: 80ch;
  text-align: left;
  background-color: white;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}

.author-photo-col {
  flex-shrink: 0;
  width: 20ch;
}

.author-photo {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.author-credit {
  display: block;
  font-size: 0.8em;
  color: #666;
  margin-top: 0.3em;
}

.author-text h3 {
  margin: 0 0 0.5em;
}

.author-text p {
  margin: 0;
  line-height: 1.5;
}

/* Bio toggle */

.bio-toggle { display: none; }

.bio {
  max-height: 8em;
  overflow: hidden;
  position: relative;
}

.bio::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background: linear-gradient(transparent, white);
  pointer-events: none;
}

.bio-toggle:checked ~ .bio {
  max-height: none;
}

.bio-toggle:checked ~ .bio::after {
  display: none;
}

.bio-label {
  cursor: pointer;
  color: var(--blue);
  font-style: italic;
  display: block;
  margin-top: 0.3em;
}

.bio-toggle:not(:checked) ~ .bio-label .when-open { display: none; }
.bio-toggle:checked ~ .bio-label .when-closed { display: none; }
