/* Editorial replacement for the former faux book-cover treatment. */
.book-section {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: clamp(3.5rem, 9vw, 9rem);
  align-items: center;
  background: #f1ece2;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.25rem, 13vw, 13rem);
  border-top: 1px solid #e2dacd;
  border-bottom: 1px solid #e2dacd;
}

.book-index {
  min-height: 350px;
  padding: 1.65rem 1.8rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #b7a689;
  background: #f8f5ee;
  color: var(--navy);
  box-shadow: 10px 10px 0 #d9cfbe;
}

.book-index-author,
.book-index-label {
  font-size: .66rem;
  letter-spacing: .15em;
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
}

.book-section .book-index-number {
  font: 500 clamp(7.5rem, 12vw, 11rem)/.8 var(--serif);
  letter-spacing: -.09em;
  margin: 0;
  color: var(--gold);
}

.book-index-rule {
  width: 76px;
  height: 2px;
  background: var(--gold);
  margin-top: auto;
  margin-bottom: 1.2rem;
}

.book-section h2 {
  font-size: clamp(2.8rem, 4.3vw, 4.7rem);
  max-width: 650px;
}

.book-section h2 em {
  font-weight: 500;
  color: var(--gold);
}

.book-copy > p:not(.eyebrow) {
  font-size: 1.06rem;
  max-width: 570px;
  margin: 1.3rem 0 0;
}

.book-details {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin: 2rem 0 1.65rem;
}

.book-details span {
  font-size: .64rem;
  letter-spacing: .11em;
  font-weight: 700;
  border: 1px solid #cfc2ad;
  padding: .55rem .7rem;
  color: #536177;
}

@media (max-width: 900px) {
  .book-section { grid-template-columns: 1fr; padding-left: 12vw; padding-right: 12vw; }
  .book-index { max-width: 380px; }
}

@media (max-width: 560px) {
  .book-section { padding: 4.5rem 1.5rem; gap: 3rem; }
  .book-index { min-height: 285px; padding: 1.35rem; box-shadow: 7px 7px 0 #d9cfbe; }
  .book-index-number { font-size: 7rem; }
  .book-copy > p:not(.eyebrow) { font-size: 1rem; }
}
