/* A small CSS hardback studio: six real faces, supplied artwork and matte paper. */
.book-motion-section{padding:72px 0 76px;background:#f7f3eb}
.book-motion-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:34px}
.book-motion-heading .eyebrow{color:#647064}
.home-experience .book-motion-heading h2,.book-motion-heading h2{margin:0;color:#182f37;font-size:clamp(38px,4.2vw,60px);line-height:1.08;letter-spacing:-.055em}
.book-motion-heading h2 em{color:#6d775d}
.book-motion-intro{max-width:320px;padding-bottom:6px}
.book-motion-intro>p{margin:0 0 18px;color:#5d685f;font-size:14px;line-height:1.8}
.book-motion-intro .text-link{font-size:13px}
.book-motion-theatre{isolation:isolate;position:relative;overflow:hidden;border:1px solid #34454d;border-radius:36px;background:radial-gradient(ellipse at 50% 20%,#30494e 0,#182d37 36%,#0d1d27 78%);color:#fff9ee;box-shadow:0 25px 50px -30px #18302e65}
.book-motion-atmosphere{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.book-motion-light{position:absolute;top:-12%;display:block;width:78%;height:95%;pointer-events:none}
.book-motion-light-warm{left:-17%;opacity:.18;background:radial-gradient(ellipse at 40% 26%,#d4b27778,transparent 69%)}
.book-motion-light-teal{right:-18%;opacity:.24;background:radial-gradient(ellipse at 55% 29%,#376e6978,transparent 70%)}
.book-motion-genres{position:relative;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:27px 25px 0}
.book-motion-genres button{min-height:44px;padding:8px 17px;border:1px solid #a9bcb52c;border-radius:100px;background:#ffffff04;color:#bccbc6;font-family:var(--sans);font-size:11px;line-height:1.3;transition:background-color 180ms,color 180ms,border-color 180ms}
.book-motion-genres button[aria-pressed="true"]{border-color:#e4cf9d;background:#e4cf9d;color:#182d31}
.book-motion-genres button:hover{border-color:#ddccaa;color:#fff8e8}
.book-motion-genres button[aria-pressed="true"]:hover{color:#182d31}
.book-motion-stage{position:relative;min-height:430px;padding:36px 30px 30px;outline-offset:-7px;perspective:1400px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.book-motion-track{position:relative;display:flex;align-items:center;gap:34px;overflow-x:auto;padding:18px 16px 35px;scroll-snap-type:x mandatory;scrollbar-color:#c1ac7a #1e343e}
.book-motion-plane{--case-depth:20px;--case-half:10px;--case-cloth:#263c40;flex:0 0 205px;scroll-snap-align:center;transform-style:preserve-3d}
.book-motion-plane:nth-child(4n+2){--case-cloth:#394538}.book-motion-plane:nth-child(4n+3){--case-cloth:#543e37}.book-motion-plane:nth-child(4n){--case-cloth:#36374b}
.book-motion-book{position:relative;display:block;width:100%;padding:0;border:0;border-radius:2px;background:none;aspect-ratio:var(--cover-ratio,2 / 3);color:#fff;cursor:pointer;transform-style:preserve-3d;outline-offset:12px}
.book-motion-art{position:absolute;inset:0;overflow:hidden;border-radius:1px 3px 3px 1px;backface-visibility:hidden;background:var(--case-cloth);transform:translateZ(var(--case-half));box-shadow:inset 0 0 0 1px #0002}
.book-motion-art img{display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.book-motion-board-back{position:absolute;inset:0;border-radius:1px 3px 3px 1px;background:var(--case-cloth);transform:translateZ(calc(-1 * var(--case-half))) rotateY(180deg);box-shadow:inset 0 0 0 1px #ffffff10,7px 14px 22px #0004;backface-visibility:hidden}
.book-motion-spine{position:absolute;left:calc(-1 * var(--case-half));top:0;bottom:0;width:var(--case-depth);overflow:hidden;border-radius:2px;background:repeating-linear-gradient(90deg,#ffffff04 0 1px,#00000004 1px 2px),linear-gradient(90deg,#0002,transparent 24%,#ffffff0a 55%,#0002),var(--case-cloth);transform:rotateY(-90deg);backface-visibility:hidden}
.book-motion-spine>span{position:absolute;top:21px;bottom:21px;left:50%;overflow:hidden;color:#e6dec9;font:500 8px/1.2 var(--sans);letter-spacing:.3px;writing-mode:vertical-rl;text-overflow:ellipsis;transform:translateX(-50%);white-space:nowrap}
.book-motion-fore-edge{position:absolute;top:4px;right:calc(1px - var(--case-half));bottom:4px;width:calc(var(--case-depth) - 2px);border-radius:1px;background:repeating-linear-gradient(90deg,#d1c6af 0 .55px,#eee7d7 .55px 1.25px,#f5efdf 1.25px 1.9px);transform:rotateY(90deg);box-shadow:inset -2px 0 3px #8e79552b;backface-visibility:hidden}
.book-motion-page-top,.book-motion-page-bottom{position:absolute;left:3px;right:3px;height:calc(var(--case-depth) - 2px);border-radius:1px;background:repeating-linear-gradient(0deg,#d4c8af 0 .65px,#f2ead9 .65px 1.4px,#e6ddca 1.4px 2px);backface-visibility:hidden}
.book-motion-page-top{top:calc(4px - var(--case-half));transform:rotateX(90deg);box-shadow:inset 0 3px 3px #a2916b30}
.book-motion-page-bottom{bottom:calc(4px - var(--case-half));transform:rotateX(-90deg);background-color:#d5cab4}
.book-motion-jacket{position:absolute;inset:0;z-index:1;border-radius:1px 3px 3px 1px;background:linear-gradient(90deg,#0002,transparent 1.4%,#ffffff0c 2.2%,#0003 3.4%,transparent 6.6%,transparent 98%,#0001);box-shadow:inset 0 0 0 1px #ffffff09;transform:translateZ(calc(var(--case-half) + .3px));pointer-events:none;backface-visibility:hidden}
.book-motion-shade{position:absolute;inset:0;background:#071522;opacity:0;pointer-events:none}
.book-motion-floor{position:absolute;inset:auto 3% 4px;height:112px;border-radius:50%;background:radial-gradient(ellipse,#0009 0,#0005 25%,transparent 68%);pointer-events:none;opacity:.73;transform:rotateX(65deg)}
.book-motion-stage::after{position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(0deg,#11222b4d,transparent);content:"";pointer-events:none}
.book-motion-loading{position:absolute;z-index:4;inset:45% 25px auto;margin:0;color:#b8c8bf;font:400 12px/1.7 var(--sans);text-align:center;letter-spacing:.2px}
.book-motion-loading[hidden]{display:none}
.book-motion-bottom{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px;margin:0 35px;padding:21px 0 24px;border-top:1px solid #c8d7cc20}
.book-motion-caption{max-width:53%;min-height:85px}
.book-motion-caption>p:first-child{margin:0 0 7px;color:#c8b995;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;line-height:1.5}
.book-motion-caption h3{max-width:530px;margin:0;color:#fff6e6;font-family:var(--sans);font-size:clamp(19px,1.8vw,25px);font-weight:500;letter-spacing:-.035em;line-height:1.22}
.book-motion-caption .book-motion-author{margin:8px 0 0;color:#b4c2be;font-size:12px;line-height:1.5}
.book-motion-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.book-motion-controls[hidden],.book-motion-guidance[hidden],.book-motion-description[hidden]{display:none}
.book-motion-navigation{display:flex;align-items:center;gap:10px}
.book-motion-arrow{display:grid;place-items:center;width:44px;height:44px;padding:11px;border:1px solid #97b1ab50;border-radius:50%;background:#ffffff03;color:#e6eadf;transition:background-color 180ms,border-color 180ms}
.book-motion-arrow svg{width:20px;height:20px}
.book-motion-arrow:hover{background:#e4cf9d;border-color:#e4cf9d;color:#173337}
.book-motion-view,.book-motion-description{min-height:44px;padding:11px 20px;border:1px solid #d9c599;border-radius:100px;background:#e4cf9d;color:#162d31;font-family:var(--sans);font-size:12px;font-weight:600;white-space:nowrap;transition:background-color 180ms}
.book-motion-view:hover{background:#f4dfac}
.book-motion-description{border-color:#afbeb852;background:transparent;color:#e6ddc8}
.book-motion-description:hover{background:#ffffff09}
.book-motion-guidance{position:relative;z-index:5;margin:0;padding:0 30px 21px;color:#8c9f97;font-size:10px;line-height:1.6;text-align:center}
.book-motion-theatre button:focus-visible,.book-motion-stage:focus-visible{outline:2px solid #f3d995;outline-offset:5px}
.book-motion-stage:focus-visible{outline-offset:-8px;border-radius:25px}
/* Seven book objects remain visible. Two decoded neighbours wait beyond the frame. */
[data-book-motion][data-enhanced="true"] .book-motion-stage{height:466px;min-height:0;padding:0;cursor:grab}
[data-book-motion][data-enhanced="true"] .book-motion-track{display:block;position:absolute;inset:0;overflow:visible;padding:0;transform-style:preserve-3d;pointer-events:none}
[data-book-motion][data-enhanced="true"] .book-motion-plane{position:absolute;top:39px;left:50%;width:224px;transform:translateX(calc(-50% + var(--book-x,0px))) translateY(var(--book-y,0px)) translateZ(var(--book-z,0px)) rotateX(var(--book-pitch,-5deg)) rotateY(var(--book-rotation,-9deg)) rotateZ(var(--book-lean,-1deg)) scale(var(--book-scale,1));opacity:var(--book-opacity,1);transition:transform 1150ms cubic-bezier(.22,.68,.2,1),opacity 950ms ease;transform-style:preserve-3d;z-index:var(--book-order,1);pointer-events:auto}
[data-book-motion][data-enhanced="true"] .book-motion-plane[hidden]{display:none}
[data-book-motion][data-enhanced="true"] .book-motion-book{max-height:none;min-height:0;transform:translateZ(0)}
[data-book-motion][data-dragging="true"] .book-motion-stage{cursor:grabbing}
[data-book-motion][data-motion-engine="gsap"] .book-motion-plane,[data-book-motion][data-dragging="true"] .book-motion-plane,[data-book-motion][data-instant="true"] .book-motion-plane{transition:none}
[data-book-motion][data-motion-engine="simple"] .book-motion-plane{--case-depth:12px;--case-half:6px;transition-duration:900ms,750ms}
.book-inspection{width:min(1000px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border:1px solid #a6aaa0;border-radius:28px;background:#f6f1e6;color:#1b3437;box-shadow:0 35px 100px #05141cb3}
.book-inspection::backdrop{background:#0d1c29c9;backdrop-filter:blur(5px)}
.book-inspection-heading{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;min-height:67px;padding:10px 20px 10px 30px;border-bottom:1px solid #cecdbd;background:#f8f4eb}
.book-inspection-heading>p{margin:0;color:#556158;font:500 11px var(--sans);letter-spacing:1.2px;text-transform:uppercase}
.book-inspection-heading button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:12px;border:1px solid #c4c8b9;border-radius:50%;background:transparent;color:#203c3f}
.book-inspection-heading svg{width:20px;height:20px}
.book-inspection-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;max-height:calc(100dvh - 117px);padding:40px 43px 42px;overflow-y:auto;overscroll-behavior:contain}
.book-inspection-object{position:relative;min-width:0;align-self:center;padding:35px 38px 15px 68px;perspective:1200px}
.book-inspection-case{position:relative;width:100%;aspect-ratio:var(--inspection-ratio,2 / 3);transform:rotateX(3deg) rotateY(7deg);transform-style:preserve-3d}
.book-inspection-endpaper{position:absolute;inset:0;border:7px solid #31514b;border-left-width:13px;border-radius:2px 4px 4px 2px;background:repeating-linear-gradient(0deg,#eee7d700 0 2px,#cfc6ad14 2px 3px),#e9e1cd;box-shadow:9px 14px 25px #213c4028,inset 8px 0 10px #6b5f3d1a}
.book-inspection-front{position:absolute;inset:0;border-radius:2px 4px 4px 2px;background:#233e3c;transform-origin:left center;transform-style:preserve-3d;transform:translateZ(8px) rotateY(-17deg);box-shadow:5px 11px 17px #1a333333}
.book-inspection-art{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit;backface-visibility:hidden}
.book-inspection-art img{position:absolute;display:block;max-width:none}
.book-inspection-front::after{position:absolute;inset:0;border:1px solid #ffffff0f;border-radius:inherit;background:#23413c;transform:rotateY(180deg) translateZ(1px);content:"";backface-visibility:hidden}
.book-inspection-hinge{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#0002,transparent 2%,#ffffff0a 3%,#0002 4.5%,transparent 8%);pointer-events:none}
.book-inspection-object>p{margin:27px -25px 0 -25px;color:#65746b;font-size:10px;line-height:1.7;text-align:center}
.book-inspection-description{align-self:center}
.book-inspection-description .eyebrow{margin-bottom:12px;color:#5d7564;font-size:10px;letter-spacing:1.3px}
.book-inspection-description h2{margin:0;font-size:clamp(30px,3.3vw,43px);letter-spacing:-.05em;line-height:1.13}
.book-inspection-author{margin:13px 0 22px;color:#6e7165;font-size:13px}
.book-inspection-summary{color:#344b43;font-family:var(--accent,Georgia,serif);font-size:18px;line-height:1.8}
.book-inspection-source{margin-top:24px;padding-top:18px;border-top:1px solid #cdcebd;color:#73796c;font-size:10px;line-height:1.8}
.book-inspection-description .text-link{margin-top:23px;font-size:12px}
.book-inspection button:focus-visible,.book-inspection a:focus-visible{outline:2px solid #305b53;outline-offset:4px}
@media(min-width:1440px){[data-book-motion][data-enhanced="true"] .book-motion-plane{width:238px}[data-book-motion][data-enhanced="true"] .book-motion-stage{height:490px}}
@media(max-width:1050px){.book-motion-section{padding-block:55px}.book-motion-intro{max-width:260px}.book-motion-bottom{gap:20px;margin-inline:26px}.book-motion-controls{gap:10px}.book-motion-view,.book-motion-description{padding-inline:16px;font-size:11px}.book-motion-caption{max-width:47%}[data-book-motion][data-enhanced="true"] .book-motion-plane{width:203px}[data-book-motion][data-enhanced="true"] .book-motion-stage{height:425px}.book-inspection-body{gap:20px;padding:30px}.book-inspection-object{padding:30px 25px 10px 45px}}
@media(max-width:680px){.book-motion-section{padding-block:42px}.book-motion-heading{display:block;margin-bottom:25px}.home-experience .book-motion-heading h2,.book-motion-heading h2{font-size:39px}.book-motion-intro{max-width:340px;margin-top:22px;padding:0}.book-motion-intro>p{margin-bottom:11px;font-size:13px}.book-motion-intro .text-link{font-size:12px}.book-motion-theatre{border-radius:26px}.book-motion-genres{justify-content:flex-start;flex-wrap:nowrap;gap:7px;padding:20px 19px 0;overflow-x:auto;scrollbar-width:none}.book-motion-genres::-webkit-scrollbar{display:none}.book-motion-genres button{flex-shrink:0;min-height:44px;padding:8px 13px;font-size:10px}.book-motion-stage{min-height:315px;padding:20px 15px;perspective:950px}.book-motion-plane{--case-depth:16px;--case-half:8px;flex-basis:165px}.book-motion-track{gap:23px;padding:15px 12px 25px}.book-motion-spine>span{font-size:6px;top:16px;bottom:16px}.book-motion-floor{bottom:5px;height:65px}[data-book-motion][data-enhanced="true"] .book-motion-stage{height:342px}[data-book-motion][data-enhanced="true"] .book-motion-plane{top:32px;width:169px}.book-motion-bottom{display:block;margin-inline:21px;padding:19px 0}.book-motion-caption{max-width:none;min-height:86px;text-align:center}.book-motion-caption>p:first-child{font-size:9px;letter-spacing:1px}.book-motion-caption h3{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:22px}.book-motion-caption .book-motion-author{font-size:11px;margin-top:6px}.book-motion-controls{justify-content:center;gap:12px;margin-top:17px}.book-motion-navigation{gap:10px}.book-motion-arrow{width:44px;height:44px;padding:11px}.book-motion-view,.book-motion-description{min-height:44px;padding-inline:16px;font-size:12px}.book-motion-description{flex-basis:180px}.book-motion-guidance{font-size:10px;padding:0 17px 20px}.book-inspection{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:22px}.book-inspection-heading{min-height:64px;padding:9px 14px 9px 22px}.book-inspection-body{display:flex;flex-direction:column;gap:22px;max-height:calc(100dvh - 90px);padding:22px}.book-inspection-object{width:min(220px,85%);order:1;padding:20px 25px 5px 40px;margin-inline:auto}.book-inspection-description{order:0}.book-inspection-description h2{font-size:32px}.book-inspection-author{margin-block:11px 18px;font-size:12px}.book-inspection-summary{font-size:16px;line-height:1.8}.book-inspection-source{margin-top:21px;font-size:10px}.book-inspection-object>p{font-size:9px}}
@media(max-width:360px){.home-experience .book-motion-heading h2,.book-motion-heading h2{font-size:35px}.book-motion-bottom{margin-inline:15px}.book-motion-controls{gap:10px}.book-motion-navigation{gap:8px}.book-motion-view,.book-motion-description{padding-inline:13px;font-size:11px}[data-book-motion][data-enhanced="true"] .book-motion-plane{width:153px}[data-book-motion][data-enhanced="true"] .book-motion-stage{height:318px}.book-motion-caption h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.book-motion-plane,.book-motion-genres button,.book-motion-arrow,.book-motion-view,.book-motion-description{transition:none!important}.book-motion-track{scroll-behavior:auto}.book-inspection::backdrop{backdrop-filter:none}.book-inspection-front{transform:translateZ(8px) rotateY(-24deg)}}

/* A failed resource keeps a clear title/author surface and an explicit retry. */
.book-motion-unavailable{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:25px 21px;background:#263c40;color:#f6efdf;font-family:var(--sans);text-align:left;overflow:hidden}
.book-motion-unavailable small{font-size:9px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:#d7c69e}.book-motion-unavailable strong{font-size:19px;font-weight:500;line-height:1.22;letter-spacing:-.03em;overflow-wrap:anywhere}.book-motion-unavailable>span{font-size:11px;line-height:1.5;color:#d2dbd0;overflow-wrap:anywhere}
.book-motion-retry{min-height:44px;padding:10px 16px;border:1px solid #afbeb852;border-radius:100px;background:transparent;color:#e6ddc8;font:500 12px/1.5 var(--sans);cursor:pointer}.book-motion-retry:hover{background:#ffffff09}.book-motion-retry:disabled{opacity:.6;cursor:wait}
