/* Approved official title and publisher excerpt; book-only presentation. */
@font-face {
  font-family: "Libre Baskerville";
  src: url("/assets/libre-baskerville-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
.book-page .book-hero { min-height: 0; border-color: var(--line); }
.book-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  max-width: 960px;
  padding-block: calc(var(--header-height) + 28px) 48px;
}
.book-copy { position: relative; z-index: 3; min-width: 0; text-align: center; }
.book-page .book-hero h1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 .16em;
  font-size: clamp(46px, 8.5vw, 82px);
  line-height: 1.03;
  letter-spacing: -.015em;
  margin-bottom: 0;
}
.book-page .book-hero h1 > span { display: inline-block; transform: none; color: var(--ink); -webkit-text-fill-color: currentColor; white-space: nowrap; }
.book-page .book-hero h1 > .teal-letter { color: var(--accent-ink, var(--teal)); }
.book-description { max-width: 58ch; margin: 18px auto 0; color: #d3dde0; font-size: 16px; line-height: 1.65; }
:root[data-theme="light"] .book-page .book-description { color: var(--muted); }
.book-pair {
  display: grid;
  grid-template-columns: minmax(0, .47fr) minmax(0, .53fr);
  gap: 26px clamp(28px, 4vw, 56px);
  align-items: center;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
}
.book-art { width: min(100%, 360px); justify-self: center; }
.book-display-photo {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 35px #0003;
}
.book-words { min-width: 0; }
.book-quote { margin: 0; }
.book-quote p { color: var(--ink); -webkit-text-fill-color: currentColor; font: italic 400 clamp(32px, 5vw, 50px)/1.28 "Libre Baskerville", Georgia, serif; letter-spacing: -.025em; text-wrap: pretty; }
.book-quote .book-quote-mark { color: var(--accent-ink, var(--teal)); -webkit-text-fill-color: currentColor; }
.book-quote p > .book-quote-mark:first-child { margin-inline-end: .12em; }
.book-quote footer { margin-top: 22px; color: var(--muted); font: 400 12px/1.5 var(--body); }
.book-quote footer a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.book-context { margin-top: 24px; color: #d3dde0; font: 400 15px/1.7 var(--body); }
:root[data-theme="light"] .book-page .book-context { color: var(--muted); }
.book-actions { width: min(100%, 260px); grid-column: 1; justify-self: center; }
.book-amazon { width: 100%; min-height: 52px; }
@media (max-width: 900px) {
  .book-intro { padding-block: 40px; gap: 28px; }
  .book-art { width: min(100%, 300px); }
}
@media (max-width: 800px) {
  .book-copy { text-align: left; }
  .book-page .book-hero h1 { display: block; font-size: clamp(46px, 12vw, 64px); }
  .book-page .book-hero h1 > span { display: block; }
  .book-description { margin-inline: 0; }
  .book-pair { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .book-quote p { font-size: 34px; }
  .book-context { margin-top: 20px; }
  .book-actions { grid-column: auto; }
}
@media (max-width: 600px) {
  .book-intro { padding-block: 34px 36px; }
  .book-description { max-width: 36ch; font-size: 16px; }
  .book-art { width: min(100%, 280px); }
}
@media (max-width: 359px) {
  .book-quote p { font-size: 30px; }
}
@media (forced-colors: active) {
  .book-display-photo { border-color: CanvasText; box-shadow: none; }
}
