/* A six-face book, using the user's complete print cover as its textures. */
.new-hero .book-3d-art{grid-template-rows:auto 1fr;gap:16px;min-height:550px;padding:26px 25px 24px}
.book-viewer{--book-width:200px;--book-height:323.82px;--book-depth:21.27px;width:100%;position:relative;z-index:3}
.book-stage{position:relative;width:min(100%,340px);margin:0 auto}
.book-scene{position:relative;height:365px;perspective:950px;touch-action:pan-y;cursor:grab;border-radius:8px;-webkit-user-select:none;user-select:none}
.book-scene:active{cursor:grabbing}
.book-position{position:absolute;width:var(--book-width);height:var(--book-height);left:50%;top:48%;transform:translate(-50%,-50%)}
.book-model{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--book-tilt,-7deg)) rotateY(var(--book-yaw,24deg));transition:transform .55s cubic-bezier(.2,.7,.2,1);will-change:transform}
.book-scene.is-dragging .book-model{transition:none}
.book-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#fff;outline:1px solid transparent}
.book-face img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.book-front,.book-back{inset:0;box-shadow:inset 0 0 0 1px #44342322}
.book-front{transform:translateZ(calc(var(--book-depth)/2))}
.book-back{transform:rotateY(180deg) translateZ(calc(var(--book-depth)/2))}
.book-spine,.book-pages{width:var(--book-depth);height:100%;left:calc(50% - var(--book-depth)/2);top:0}
.book-spine{transform:rotateY(-90deg) translateZ(calc(var(--book-width)/2))}
.book-pages{transform:rotateY(90deg) translateZ(calc(var(--book-width)/2 - 1px));background:repeating-linear-gradient(90deg,#fff 0,#fff 1px,#e6e6e6 2px)}
.book-top,.book-bottom{width:100%;height:var(--book-depth);top:calc(50% - var(--book-depth)/2);left:0;background:repeating-linear-gradient(0deg,#fff 0,#fff 1px,#e6e6e6 2px)}
.book-top{transform:rotateX(90deg) translateZ(calc(var(--book-height)/2 - 1px))}
.book-bottom{transform:rotateX(-90deg) translateZ(calc(var(--book-height)/2 - 1px))}
.book-front:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#382b1914,transparent 8%,transparent 94%,#ffffff0d);pointer-events:none}
.book-spine:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00000014,transparent 45%,#00000014);pointer-events:none}
.book-floor{position:absolute;bottom:0;left:50%;width:190px;height:16px;transform:translateX(-50%);border-radius:50%;background:#38403028;filter:blur(9px);pointer-events:none}
.book-controls{display:none;position:absolute;inset:0;pointer-events:none;margin:0}
.book-viewer.is-ready .book-controls{display:block}
.book-controls button,.book-detail-controls button{appearance:none;border:1px solid #c7ccbb;background:#faf8f28c;color:#3d4835;border-radius:999px;padding:7px 14px;font:500 11px var(--body);cursor:pointer;transition:background .2s,color .2s}
.book-controls button[aria-pressed=true],.book-detail-controls button[aria-pressed=true]{background:#29312b;border-color:#29312b;color:#fffefa}
.book-controls button:hover,.book-detail-controls button:hover{border-color:#6b775c}
.book-controls .book-turn{position:absolute;top:48%;transform:translateY(-50%);pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;padding:0;background:#faf8f2;border-color:#a8b09b}
.book-turn-left{left:0}.book-turn-right{right:0}
.book-turn svg{width:23px;height:23px}
.book-controls .book-turn:hover{background:#29312b;color:#fffefa;border-color:#29312b}
.book-turn:focus-visible{outline:2px solid #727b5e;outline-offset:4px}
.book-zoom{display:none;appearance:none;border:0;padding:12px 0 0;background:none;font:500 11px var(--body);color:#3c4833;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.book-viewer.is-ready .book-zoom{display:inline-block}
.book-help-line{display:flex;justify-content:center;align-items:baseline;gap:13px;flex-wrap:wrap}
.book-detail{width:min(900px,calc(100vw - 36px));max-height:calc(100dvh - 36px);border:1px solid #dddcd2;border-radius:12px;padding:24px;background:#faf8f2;color:#292f28;box-shadow:0 25px 80px #00000030}
.book-detail::backdrop{background:#19201899;backdrop-filter:blur(5px)}
.book-detail-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}
.book-detail h2{font:400 25px var(--display);margin:0}
.book-detail-close{border:1px solid #dddcd2;background:#fffefa;border-radius:50%;width:35px;height:35px;font:400 25px var(--body);line-height:1;cursor:pointer;color:#292f28}
.book-detail-controls{display:flex;justify-content:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.book-detail-image{display:block;max-height:calc(100dvh - 195px);max-width:100%;width:auto;height:auto;margin:0 auto;border:1px solid #dddcd2;box-shadow:0 6px 20px #29312b12}
@media(max-width:900px){.book-viewer{--book-width:175px;--book-height:283.34px;--book-depth:18.61px}}
@media(max-width:760px){.new-hero .book-3d-art{min-height:490px;padding:24px 20px 23px}.book-viewer{--book-width:175px;--book-height:283.34px;--book-depth:18.61px}.book-scene{height:321px;perspective:850px}.book-controls button{padding:7px 11px;font-size:10px}.book-detail{padding:17px}.book-detail h2{font-size:21px}.book-help-line{gap:9px}.book-zoom{font-size:10px}}
@media(max-width:380px){.book-viewer{--book-width:145px;--book-height:234.77px;--book-depth:15.42px}}
@media(prefers-reduced-motion:reduce){.book-model,.book-controls button{transition:none}}
.book-view-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
