/* Book jackets float along a soft, shallow arc. The text waits for the reader. */
.reading-room{position:relative;isolation:isolate;padding:75px 0 65px;max-width:none;margin:0 auto 85px;overflow:clip}
.reading-room:before{content:'';position:absolute;z-index:-1;inset:20px -12% 0;background:radial-gradient(ellipse at 53% 25%,#d8cdee70,transparent 68%),#f1e9e3;border-radius:48% 52% 51% 49%/9% 12% 11% 10%;transform:rotate(-1deg)}
.reading-heading{margin:0 auto 30px;padding:0 7%;max-width:1320px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.reading-heading h2{font-size:clamp(43px,4.7vw,65px);line-height:1.06;font-weight:600;letter-spacing:-.045em;margin:0 0 18px}
.reading-heading p{font-size:19px;line-height:1.5;max-width:40ch;color:var(--muted);margin:0}
.book-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}
.book-controls button{background:transparent;color:var(--iris);min-height:46px;font-size:15px;padding:12px 2px;white-space:nowrap;text-underline-offset:7px}
.book-controls button:hover,.book-controls button:focus-visible{text-decoration:underline}
.book-controls [data-book-motion]{color:var(--muted);font-size:14px}
.book-window{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.book-window::-webkit-scrollbar{display:none}.book-window.is-dragging{cursor:grabbing;user-select:none}
.book-track{position:relative;display:flex;width:max-content;gap:0;padding:38px 0 28px}
.book-object{width:232px;flex:0 0 232px;padding:0 28px;text-align:center;position:relative}
.book-object button{position:relative;display:block;width:100%;padding:0;background:none;color:var(--ink);text-align:center;min-height:310px}
.book-cover{position:relative;display:block;height:234px;width:100%;transform:translateY(var(--book-lift,0px)) rotate(var(--book-tilt,-2deg));transform-origin:50% 85%;transition:scale .45s;filter:drop-shadow(0 14px 13px #3e254d2b)}
.book-cover:after{content:'';position:absolute;inset:auto 12% -13px;height:15px;border-radius:50%;background:#49314c20;filter:blur(8px);z-index:-1}
.book-cover img{height:100%;width:100%;object-fit:contain;border-radius:2px 5px 5px 2px;user-select:none;-webkit-user-drag:none}
.book-object button:hover .book-cover,.book-object button:focus-visible .book-cover{scale:1.055}
.book-object button[aria-pressed=true] .book-cover{filter:drop-shadow(0 17px 18px #5046e53b)}
.book-label{display:block;font-size:17px;line-height:1.25;font-weight:600;letter-spacing:-.015em;margin-top:21px;min-height:44px;text-wrap:balance}
.book-label:after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--iris);opacity:0;margin:10px auto 0}
.book-object button[aria-pressed=true] .book-label{color:var(--iris)}.book-object button[aria-pressed=true] .book-label:after{opacity:1}
.book-detail{max-width:1150px;margin:12px auto 0;padding:20px 7% 10px;display:grid;grid-template-columns:1fr 1.2fr;gap:10%;min-height:260px}
.book-theme{font-size:14px;line-height:1.5;color:var(--muted);display:block;margin-bottom:15px}
.book-detail h3{font-size:clamp(32px,3.3vw,46px);line-height:1.07;letter-spacing:-.04em;margin:0 0 15px;font-weight:600}
.book-authors{font-size:18px;line-height:1.4;color:var(--muted);margin:0}
.book-connection>p{font-size:20px;line-height:1.55;margin:0 0 16px;max-width:40ch}
.book-question summary{display:flex;justify-content:space-between;gap:20px;font-size:16px;line-height:1.4;padding:10px 0;cursor:pointer;color:var(--muted);list-style:none}.book-question summary::-webkit-details-marker{display:none}.book-question summary span{font-size:21px;color:var(--iris)}.book-question[open] summary span{transform:rotate(45deg)}.book-question>p{font-size:18px;line-height:1.55;margin:5px 0 16px}
.book-connection .source-link{display:inline-block;margin-top:10px;font-size:16px}
.evidence-jumps{display:flex;gap:27px;margin-top:25px;align-items:center}.evidence-jumps button{background:none;color:var(--iris);font-size:16px;padding:12px 0;min-height:46px;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#5046e544}
.research-library{scroll-margin-top:110px}.research-heading{max-width:1320px;padding:0 7%;margin:0 auto 30px}.research-heading h2{font-size:clamp(39px,4vw,58px);font-weight:600;letter-spacing:-.04em;line-height:1.1;margin:0}
.reading-room{scroll-margin-top:50px}.source-filters{padding-top:10px}
@media(max-width:800px){.reading-room{padding-top:55px;margin-bottom:60px}.reading-heading{display:block;margin-bottom:15px}.reading-heading h2{font-size:48px}.reading-heading p{font-size:18px}.book-controls{margin-top:18px;gap:25px}.book-object{width:205px;flex-basis:205px;padding:0 22px}.book-cover{height:215px}.book-object button{min-height:285px}.book-detail{gap:7%;padding-top:10px;min-height:255px}.book-detail h3{font-size:34px}.book-connection>p{font-size:19px}.book-authors{font-size:17px}.book-theme{font-size:13px}.book-window{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}}
@media(max-width:520px){.reading-heading h2{font-size:41px}.reading-room{padding-top:48px;padding-bottom:40px;margin-bottom:50px}.reading-room:before{border-radius:49% 51% 48% 52%/4% 6% 5% 5%}.book-controls{justify-content:flex-start;gap:24px}.book-object{width:185px;flex-basis:185px;padding:0 22px}.book-cover{height:204px}.book-object button{min-height:275px}.book-label{font-size:16px}.book-detail{display:block;min-height:330px;padding:5px 8% 10px}.book-detail-title{margin-bottom:22px}.book-detail h3{font-size:34px;margin-bottom:10px}.book-theme{margin-bottom:12px;font-size:14px}.book-connection>p{font-size:19px}.book-question summary{font-size:16px}.research-heading h2{font-size:39px}.evidence-jumps{gap:25px}}
@media(prefers-reduced-motion:reduce){.book-cover{transform:rotate(-2deg);transition:none}.book-object button:hover .book-cover{scale:1}.book-track>[aria-hidden=true]{display:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
