/* Book page only; shared typography, navigation and controls remain unchanged. */
.book-page .book-intro { padding-block: clamp(3rem, 6vw, 5rem); }
.book-page .book-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}
.book-page .book-intro-copy { min-width: 0; max-width: 680px; }
.book-page h1 {
  font-size: clamp(2.5rem, 4.4vw, 4rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -0.035em;
}
.book-page .book-subtitle { font-size: 1.125rem; max-width: 48ch; }
.book-page .book-byline { font-size: 0.875rem; margin-block: 1.5rem; }
.book-page .book-cover-link { display: block; }
.book-page .book-cover { width: 100%; height: auto; }
.book-page .book-description { padding-block: 3rem 5rem; background: var(--surface); }
.book-page .book-prose { max-width: 760px; }
.book-page .book-prose h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.book-page .book-prose h2:not(:first-child) { margin-top: 2.75rem; }
.book-page .book-prose p { font-size: 1.0625rem; line-height: 1.7; }
@media (min-width: 768px) and (max-width: 1023px) {
  .book-page .book-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 2rem; }
}
@media (max-width: 767px) {
  .book-page .book-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .book-page h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .book-page .book-cover-link { width: min(100%, 280px); justify-self: center; }
  .book-page .book-cover { width: 100%; }
  .book-page .book-description { padding-block: 2.5rem 3.5rem; }
}
