/* A compact publication feature, using the existing BPS typography and palette. */
.book-feature__layout { display: grid; grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; max-width: 62rem; }
.book-feature__cover { display: block; }
.book-cover { display: block; width: 100%; height: auto; aspect-ratio: 1838 / 2775; object-fit: contain; border: 1px solid var(--warm-line); }
.book-feature__layout p { max-width: 44rem; }
.book-subtitle { color: var(--color-text); font-size: clamp(1.125rem, 2vw, 1.35rem); line-height: 1.5; }
.book-formats { color: var(--color-muted-text); font-size: .95rem; margin-top: 1rem; }
.book-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, 20rem); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.book-hero__copy { min-width: 0; }
.book-hero__copy h1 { max-width: 12ch; }
.book-hero__cover { width: 100%; max-width: 20rem; justify-self: end; }
.book-page .book-reading { max-width: 54rem; }
.book-lessons { display: grid; gap: 1rem; padding-left: 1.4rem; line-height: 1.7; }
.book-feature .cluster, .book-page .cluster { flex-wrap: wrap; }
.book-feature .text-link, .book-page .text-link { display: inline-block; min-height: 24px; padding-block: 6px; }
@media (max-width: 700px) {
  .book-feature__layout, .book-hero__layout { grid-template-columns: minmax(0, 1fr); }
  .book-feature__cover { width: 8rem; }
  .book-hero__cover { justify-self: start; max-width: 13rem; }
  .book-page .action { white-space: normal; text-align: center; }
}
