/* Individual-book layout. Site tokens, typography, menu and footer are shared. */
.book-page [aria-current="location"] { color:var(--accent); }
.book-page #primary-nav [aria-current="location"] { text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:1px; }
.book-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:8%; align-items:center; padding-block:58px 62px; }
.book-hero h1 { font-size:clamp(46px,4.8vw,72px); margin:22px 0 26px; }
.book-lead { font:400 clamp(24px,2.2vw,30px)/1.4 var(--display); max-width:530px; }
.book-introduction { color:var(--muted); font-size:14px; max-width:510px; margin-top:24px; }
.book-actions { display:flex; align-items:start; flex-wrap:wrap; gap:20px 30px; margin-top:30px; }
.retailer-links { display:flex; flex-wrap:wrap; gap:12px; scroll-margin-top:110px; }
.retailer-links .button { padding-inline:20px; }
.purchase-pending small { display:block; color:var(--muted); font-size:10px; margin-top:9px; }
.purchase-placeholder { cursor:default; }
.purchase-placeholder:hover { transform:none; background:var(--accent); }
.book-actions>.text-link { min-height:48px; }
.book-hero-art { display:flex; justify-content:center; align-items:center; padding:20px 30px; min-width:0; }
.book-hero-art img { width:320px; aspect-ratio:5/8; object-fit:contain; box-shadow:0 22px 40px #0008; }
.book-warm .book-hero-art { background:radial-gradient(ellipse at 50% 65%,#b4763720,transparent 72%); }
.book-intimate .book-hero-art { background:radial-gradient(ellipse at 50% 65%,#79526b22,transparent 72%); }
.book-cool .book-hero-art { background:radial-gradient(ellipse at 50% 65%,#647b9022,transparent 72%); }
.book-spectral .book-hero-art { background:radial-gradient(ellipse at 50% 65%,#77569d24,transparent 72%); }
.book-interior .book-hero-art { background:radial-gradient(ellipse at 38% 60%,#b476371a,transparent 60%),radial-gradient(ellipse at 70% 50%,#647b9020,transparent 68%); }
.book-rose .book-hero-art { background:radial-gradient(ellipse at 50% 65%,#a2707a1c,transparent 72%); }
.book-details { border-block:1px solid var(--line); padding-block:26px; }
.book-details dl { margin:0; display:grid; grid-template-columns:1.2fr .6fr .6fr 1.5fr; gap:24px; }
.book-details dt { font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:var(--accent); margin-bottom:8px; }
.book-details dd { margin:0; font-size:13px; color:var(--muted); }
.book-details dd a { display:inline-flex; align-items:center; min-height:44px; margin-block:-10px; }
.book-passage,.book-sample { display:grid; grid-template-columns:1fr 1.25fr; gap:8%; border-bottom:1px solid var(--line); }
.book-passage h2,.book-sample h2 { margin-top:18px; max-width:440px; }
.book-prose { max-width:650px; font-size:15px; color:var(--muted); }
.book-prose p+p { margin-top:22px; }
.book-characters { border-bottom:1px solid var(--line); }
.book-character-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.book-character-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.book-character-grid-four { row-gap:32px; }
.book-character-grid-five { grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px 4%; }
.book-character-grid-five article { grid-column:span 2; }
.book-character-grid-five article:nth-child(4) { grid-column:2 / span 2; }
.book-character-grid-five article:nth-child(5) { grid-column:4 / span 2; }
.book-character-grid article { border-top:1px solid var(--line); padding-top:26px; }
.book-character-grid h3 { font-size:40px; margin:16px 0 20px; }
.book-character-grid article>p:last-child { color:var(--muted); font-size:15px; max-width:450px; }
.book-editorial-copy { font:400 27px/1.45 var(--display); max-width:650px; }
.book-support { margin-top:24px; }
.book-excerpt { border-left:1px solid #c7ae8455; padding:12px 0 12px 28px; max-width:650px; color:var(--muted); font-size:13px; }
.book-excerpt .excerpt-status { color:var(--text); font:400 26px/1.3 var(--display); margin-bottom:14px; }
.book-continuation { border-bottom:1px solid var(--line); }
.book-next-grid { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:0; margin:0; }
.book-next-grid>li { border-top:1px solid var(--line); padding-top:22px; }
.book-next-story { display:grid; grid-template-columns:140px minmax(0,1fr); gap:28px; margin-top:22px; }
.book-next-story img { width:140px; aspect-ratio:5/8; object-fit:contain; box-shadow:0 10px 20px #0004; }
.book-next-story h3 { font-size:30px; margin:8px 0 18px; }
.book-next-story p { max-width:320px; font-size:14px; color:var(--muted); }
.book-future { display:block; font-size:11px; color:var(--muted); margin-top:24px; }
.book-future small { display:block; margin-top:5px; font-size:9px; }
.book-statement { text-align:center; border-bottom:1px solid var(--line); }
.book-statement h2 { font-size:clamp(32px,3.7vw,53px); line-height:1.2; margin-top:26px; }
.book-start { text-align:center; }
.book-start h2 { margin-top:18px; }
.book-start .book-actions { justify-content:center; text-align:left; }
.catalogue-back { color:var(--muted); margin-top:20px; }
@media(max-width:1023px) {
  .book-character-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:8%; }
  .book-character-grid-five article { grid-column:auto; }
  .book-character-grid-five article:nth-child(4) { grid-column:auto; }
  .book-character-grid-five article:nth-child(5) { grid-column:1 / -1; width:46%; justify-self:center; }
  .book-hero { gap:5%; }
  .book-hero-art { padding-inline:10px; }
  .book-details dl { grid-template-columns:1fr 1fr; gap:22px 30px; }
  .book-next-grid { gap:30px; }
  .book-next-story { grid-template-columns:110px minmax(0,1fr); gap:24px; }
  .book-next-story img { width:110px; }
}
@media(max-width:767px) {
  .book-hero { grid-template-columns:1fr; gap:34px; padding-block:42px 40px; }
  .book-hero h1 { font-size:clamp(43px,8.5vw,58px); }
  .book-lead { font-size:25px; }
  .book-introduction { font-size:13px; }
  .book-actions { gap:16px 24px; }
  .book-hero-art { padding:15px 20px; }
  .book-hero-art img { width:240px; box-shadow:0 14px 26px #0006; }
  .book-passage,.book-sample { grid-template-columns:1fr; gap:28px; }
  .book-character-grid { grid-template-columns:1fr; gap:32px; }
  .book-character-grid-three { grid-template-columns:1fr; }
  .book-character-grid-five { grid-template-columns:1fr; }
  .book-character-grid-five article:nth-child(5) { grid-column:auto; width:auto; justify-self:stretch; }
  .book-character-grid h3 { font-size:36px; }
  .book-editorial-copy { font-size:25px; }
  .book-excerpt { padding-left:22px; }
  .book-next-grid { grid-template-columns:1fr; gap:30px; }
  .book-statement h2 { font-size:33px; }
  .book-start { text-align:left; }
  .book-start .book-actions { justify-content:start; }
}
@media(max-width:374px) {
  .book-hero h1 { font-size:40px; }
  .book-lead { font-size:23px; }
  .book-actions { gap:12px 18px; }
  .book-details dd { font-size:12px; }
  .book-next-story { grid-template-columns:82px minmax(0,1fr); gap:20px; }
  .book-next-story img { width:82px; }
  .book-next-story h3 { font-size:27px; }
  .book-statement h2 { font-size:29px; }
}
