#books{display:block;padding:70px 0 45px;overflow:hidden}
#books .chapter-copy{text-align:center;max-width:900px;margin:0 auto;padding:0 24px}
#books h2{font-size:clamp(60px,10vw,150px);line-height:.95;letter-spacing:-.065em;margin:20px 0 24px}
#books .chapter-copy>p{margin:12px auto;max-width:650px}
.book-table{display:flex;align-items:center;height:auto;min-height:470px;padding:65px 9vw 70px;gap:0;overflow-x:auto;overflow-y:hidden;perspective:1600px;isolation:isolate;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x pan-y;border:0;background:radial-gradient(ellipse at 50% 75%,var(--site-wash),transparent 65%);cursor:grab}
.book-table .scattered-book{position:relative;left:auto;top:auto;flex:0 0 clamp(155px,18vw,250px);width:clamp(155px,18vw,250px);margin-right:clamp(-45px,-3vw,-20px);padding:0;transform:rotateY(-35deg) rotateZ(-6deg);transform-style:preserve-3d;transform-origin:50% 70%;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .3s;touch-action:pan-x pan-y;scroll-snap-align:center;cursor:pointer}
.book-table .scattered-book img{position:relative;transform:translateZ(13px);box-shadow:inset 2px 0 3px #fff8;backface-visibility:hidden}
.book-table .scattered-book:before{content:'';position:absolute;inset:0;background:#adb4a2;transform:translateZ(-13px);box-shadow:12px 26px 25px #0d1b183b}
.book-table .scattered-book:after{content:'';position:absolute;top:1%;right:-13px;width:26px;height:98%;background:repeating-linear-gradient(90deg,#eae8df 0 1px,#c6c4b8 1px 2px);transform:rotateY(90deg);transform-origin:center}
.book-table .scattered-book>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.book-table .scattered-book.is-selected,.book-table .scattered-book:focus-visible{transform:translateY(-25px) rotateY(-8deg) rotateZ(0);z-index:20;filter:drop-shadow(0 15px 16px #10201822)}
.book-table .scattered-book:focus-visible{outline:3px solid var(--site-accent);outline-offset:8px}
.book-hero-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:5px 24px}
.book-hero-controls button{flex:none;width:44px;height:44px;border:1px solid var(--site-line);border-radius:50%;background:var(--site-panel);color:var(--site-ink);font:21px Arial;cursor:pointer}
.book-hero-controls button:disabled{opacity:.3;cursor:default}
#books-caption{font:14px/1.5 Arial;text-align:center;min-width:0;max-width:480px}
@media(max-width:700px){.book-table{min-height:355px;padding:50px 12vw}.book-hero-controls{gap:12px}#books-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.book-table .scattered-book{transition:none;transform:rotateY(-15deg)}.book-table .scattered-book.is-selected{transform:rotateY(0)}}

/* The complete collection fits in the section: no horizontal shelf viewport. */
.book-table{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;min-height:0;height:auto;padding:65px 3vw 60px;overflow:visible;scroll-snap-type:none;cursor:default}
.book-table .scattered-book{width:100%;min-width:0;margin:0;flex:none;touch-action:pan-y}
.book-table .scattered-book img{aspect-ratio:360/510;object-fit:contain}
@media(max-width:1000px){.book-table{grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 12px;padding:55px 5vw}}
@media(max-width:600px){.book-table{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 12px;padding:45px 5vw}.book-table .scattered-book{transform:rotateY(-25deg) rotateZ(-3deg)}.book-table .scattered-book.is-selected{transform:translateY(-12px) rotateY(0)}}
/* Author books have their own reading space; contributions retain the moving shelf. */
#books h2{font-size:clamp(60px,8vw,110px)}
.solo-books{padding:30px 5vw 65px}
#solo-heading,#contributions-heading{font:400 clamp(30px,3.4vw,46px)/1.1 Bitter,Georgia,serif;letter-spacing:-.035em;margin:0 0 32px}
.solo-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw}
.solo-book{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(0,1fr);align-items:center;gap:28px;border-top:1px solid var(--site-line);padding:32px 0 12px}
.solo-cover{border:0;padding:0;background:transparent;cursor:pointer;perspective:1000px}
.solo-cover img{display:block;width:100%;max-width:240px;aspect-ratio:360/510;box-shadow:7px 12px 24px #1423182a;transform:rotateY(-8deg);transition:transform .3s}
.solo-cover:hover img,.solo-cover:focus-visible img{transform:rotateY(0) translateY(-5px)}
.solo-cover>span{display:none}
.solo-book h4{font:400 clamp(26px,2.6vw,38px)/1.1 Bitter,Georgia,serif;letter-spacing:-.03em;margin:15px 0}
.solo-book p{font:14px/1.6 Arial;color:var(--site-muted)}
.solo-book .page-kicker{font-size:10px;letter-spacing:.1em}
.solo-buy{display:inline-block;padding:13px 18px;margin-top:12px;border:1px solid var(--site-ink);border-radius:6px;background:var(--site-ink);color:var(--site-paper);font:14px Arial;text-decoration:none}
.solo-buy:hover{background:var(--site-accent);border-color:var(--site-accent)}
.contribution-books{border-top:1px solid var(--site-line);padding:40px 0 0}
.contributions-heading{padding:0 5vw}.contributions-heading h3{margin-bottom:12px!important}.contributions-heading p{font:16px Arial;color:var(--site-muted)}
.contribution-books .book-table{display:flex;gap:0;min-height:0;padding:55px 6vw 60px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;cursor:grab}
.contribution-books .scattered-book{flex:0 0 clamp(150px,16vw,225px);width:clamp(150px,16vw,225px);margin-right:-25px;touch-action:pan-x pan-y}
@media(max-width:900px){.solo-book-grid{gap:30px}.solo-book{grid-template-columns:1fr;align-items:start;gap:20px}.solo-cover img{width:min(100%,200px);margin:auto}}
@media(max-width:480px){.solo-books{padding:30px 22px 45px}.solo-book-grid{grid-template-columns:1fr}.solo-book{grid-template-columns:110px minmax(0,1fr);gap:20px}.solo-book h4{font-size:25px}.solo-buy{font-size:12px;padding:12px}.solo-book p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.solo-cover img{transition:none;transform:none}}
/* Original cover proportions, plus a separate shelf for citations. */
.solo-cover img{height:auto;aspect-ratio:auto;object-fit:contain}
.book-mentions{padding:45px 5vw 60px;border-top:1px solid var(--site-line)}
.book-mentions h3{font:400 clamp(30px,3.4vw,46px)/1.1 Bitter,Georgia,serif;letter-spacing:-.035em;margin:0 0 16px}
.book-mentions>p,.mentioned-book p{font:14px/1.6 Arial;color:var(--site-muted)}
.mentions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:35px}
.mentioned-book{min-width:0}.mention-cover{display:block;border:0;padding:0;width:100%;background:transparent;cursor:pointer}
.mention-cover img{display:block;object-fit:contain;width:100%;height:290px}.mention-cover>span{display:none}
.mentioned-book h4{font:400 25px/1.2 Bitter,Georgia,serif;margin:22px 0 12px}
.mentioned-book .solo-buy{font-size:12px}
#book-detail .book-cover-note[hidden],#book-detail a[hidden]{display:none!important}
@media(max-width:700px){.mentions-grid{grid-template-columns:1fr}.mentioned-book{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px}.mention-cover img{height:auto;max-height:220px}.mentioned-book h4{margin-top:0}}
