.page-book { --book-yellow:var(--yellow); }
.book-overview { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr); align-items:center; gap:64px; padding-block:42px 52px; max-width:1120px; }
.book-cover-column { min-width:0; }
.original-book-cover { position:relative; width:100%; max-width:460px; display:block; margin:auto; padding:0; border:0; background:transparent; perspective:1600px; perspective-origin:100% 50%; cursor:pointer; isolation:isolate; }
.original-book-cover::before { content:""; position:absolute; inset:3px 0 1px 2px; border:1px solid #c9c3b7; border-radius:0 2px 2px 0; background:repeating-linear-gradient(to right,#f2eee4 0 2px,#d4cdbf 2px 3px); box-shadow:0 12px 36px #0005; }
.original-book-cover:focus-visible,.book-read:focus-visible { outline-color:var(--accent); outline-offset:8px; }
.original-book-cover img { position:relative; display:block; width:100%; height:auto; border:1px solid #dedbd5; transform-origin:left center; backface-visibility:hidden; transition:transform .65s cubic-bezier(.2,.65,.25,1),box-shadow .65s ease; }
.original-book-cover:focus-visible img { transform:rotateY(-14deg); box-shadow:14px 8px 24px #0006; }
@media(hover:hover) and (pointer:fine) {
  .original-book-cover:hover img { transform:rotateY(-14deg); box-shadow:14px 8px 24px #0006; }
}
@media(prefers-reduced-motion:reduce) {
  .original-book-cover img { transition:none; }
  .original-book-cover:hover img,.original-book-cover:focus-visible img { transform:none; box-shadow:0 0 0 2px var(--book-yellow); }
}
.book-summary h2 { font-family:var(--sans); font-weight:650; font-size:27px; letter-spacing:-.5px; margin-bottom:20px; }
.book-summary p { color:var(--muted); font-size:16px; line-height:1.7; margin-bottom:22px; }
.book-summary-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.book-buy { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-width:210px; padding:15px 24px; background:var(--book-yellow); color:var(--ink); border-radius:4px; font-size:14px; font-weight:650; }
.book-buy:hover { background:#dfbf50; }
.book-buy svg { width:16px; height:16px; }
.book-read { display:flex; align-items:center; gap:16px; padding:10px 0; background:none; color:var(--ink); border-bottom:1px solid var(--rule); font-size:14px; }
.book-read:hover { border-bottom-color:var(--ink); }
.book-endorsements { max-width:1120px; padding-block:8px 64px; }
.book-endorsements h2 { font-family:var(--sans); font-size:clamp(24px,2.6vw,35px); font-weight:650; letter-spacing:-.7px; margin-bottom:30px; }
.book-endorsements h2 em { font-weight:650; }
.book-quote-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.book-quote-grid figure { display:flex; flex-direction:column; padding:25px 23px; border:1px solid var(--rule); }
.book-quote-grid blockquote { font-family:var(--sans); font-size:16px; line-height:1.7; color:var(--ink); margin:0 0 28px; }
.book-quote-grid figcaption { display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:14px; line-height:1.5; margin-top:auto; }
.book-quote-grid figcaption strong { font-weight:650; font-size:16px; color:var(--ink); }
.book-quote-grid figcaption a { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; color:var(--ink); text-decoration:underline; text-decoration-color:var(--rule); text-underline-offset:4px; }
.book-quote-grid figcaption a:hover { text-decoration-color:currentColor; }
.book-quote-grid figcaption a svg { width:14px; height:14px; }
@media(max-width:1000px) {
  .book-overview { gap:36px; }
  .book-summary p { font-size:14px; line-height:1.65; margin-bottom:18px; }
  .book-summary-actions { gap:18px; }.book-buy { min-width:175px; padding:13px 18px; }
  .book-quote-grid { gap:18px; }.book-quote-grid figure { padding:20px 18px; }.book-quote-grid blockquote { font-size:14px; }
}
@media(max-width:760px) {
  .book-overview { grid-template-columns:1fr; gap:34px; padding-block:28px 44px; }
  .original-book-cover { max-width:360px; }
  .book-summary h2 { font-size:26px; }.book-summary p { font-size:16px; line-height:1.75; }
  .book-quote-grid { grid-template-columns:1fr; gap:20px; }.book-quote-grid blockquote { font-size:16px; }
  .book-endorsements h2 { line-height:1.3; }.book-endorsements { padding-bottom:40px; }
}
@media(max-width:420px) {
  .book-summary-actions { gap:18px; }.book-buy { min-width:170px; }.book-read { font-size:13px; gap:10px; }
}
