.bookSpotlight{position:relative;overflow:hidden;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);background:radial-gradient(circle at 18% 45%,hsl(38 90% 68%/.22),transparent 31%),radial-gradient(circle at 8% 90%,hsl(275 60% 70%/.18),transparent 28%),#fff}
.bookSpotlight::before{content:"SANÉ";position:absolute;left:-.02em;bottom:-.22em;font:600 clamp(150px,22vw,350px)/1 'Cormorant Garamond',serif;color:hsl(270 15% 12%/.025);pointer-events:none}
.bookVisual{position:relative;min-height:720px;display:grid;place-items:center;padding:70px;background:linear-gradient(145deg,hsl(37 55% 91%/.86),hsl(275 27% 91%/.9));border-radius:34px;isolation:isolate;perspective:1600px;overflow:hidden}
.bookBadge{position:absolute;z-index:8;top:28px;left:30px;padding:9px 14px;border-radius:999px;background:#ffffffb8;border:1px solid #fff;box-shadow:0 10px 35px #26132912;font:600 11px/1 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.bookAura{position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,hsl(38 90% 65%/.38),hsl(275 50% 65%/.16) 48%,transparent 70%);filter:blur(7px);animation:bookAura 5s ease-in-out infinite}
.bookOrbit{position:absolute;width:500px;height:500px;border:1px solid hsl(32 60% 48%/.2);border-radius:50%;box-shadow:inset 0 0 80px hsl(275 40% 65%/.08);animation:bookOrbit 16s linear infinite}
.bookOrbit::before,.bookOrbit::after{content:"";position:absolute;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--violet));box-shadow:0 0 25px hsl(38 70% 55%/.45)}
.bookOrbit::before{width:12px;height:12px;top:42px;left:75px}.bookOrbit::after{width:8px;height:8px;right:20px;bottom:145px}
.bookScene{position:relative;z-index:4;width:330px;height:500px;display:grid;place-items:center;perspective:1300px;cursor:grab;touch-action:pan-y}
.bookScene:active{cursor:grabbing}
.book3d{--book-x:5deg;--book-y:-18deg;position:relative;width:270px;height:410px;transform-style:preserve-3d;transform:rotateX(var(--book-x)) rotateY(var(--book-y)) translateY(-4px);animation:bookFloat 4.5s ease-in-out infinite;transition:transform .14s ease-out;filter:drop-shadow(34px 38px 30px hsl(270 25% 15%/.28))}
.bookFront,.bookSpine,.bookPages,.bookTop{position:absolute;backface-visibility:hidden}
.bookFront{inset:0;border-radius:3px 8px 8px 3px;background-image:linear-gradient(90deg,#00000018,transparent 8%),url('/assets/book-cover.jpg');background-size:291% 100%;background-position:74% center;background-repeat:no-repeat;transform:translateZ(24px);box-shadow:inset 0 0 0 1px #ffffff40,inset -12px 0 18px #5d2b2414}
.bookFront::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,#ffffff4d 43%,transparent 58%);background-size:220% 100%;background-position:180% 0;mix-blend-mode:screen;animation:bookShine 5s ease-in-out infinite}
.bookSpine{left:-24px;top:0;width:48px;height:410px;transform:rotateY(-90deg) translateZ(0);transform-origin:right center;border-radius:5px 0 0 5px;background-image:linear-gradient(90deg,#5b2525aa,transparent 35%),url('/assets/book-cover.jpg');background-size:205% 100%;background-position:center center;box-shadow:inset 8px 0 12px #0003}
.bookPages{right:-22px;top:7px;width:46px;height:396px;transform:rotateY(90deg);transform-origin:left center;border-radius:0 4px 4px 0;background:repeating-linear-gradient(0deg,#f8efd9 0,#f8efd9 2px,#dfd1af 3px);box-shadow:inset -8px 0 12px #7d644b38}
.bookTop{left:2px;top:-20px;width:266px;height:42px;transform:rotateX(90deg);transform-origin:center bottom;background:repeating-linear-gradient(90deg,#fff8e5 0,#fff8e5 3px,#e3d8bb 4px);border-radius:3px}
.dragHint{position:absolute;z-index:8;bottom:25px;margin:0;font:500 9px/1 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:hsl(270 8% 40%)}
.bookCopy{position:relative;z-index:2}.bookCopy h2{font-size:clamp(58px,5.2vw,82px)}.bookCopy .lead{font-size:23px;line-height:1.45}.bookCopy .button{min-height:58px;padding-inline:32px;box-shadow:0 16px 35px hsl(32 60% 35%/.22)}
@keyframes bookFloat{0%,100%{transform:rotateX(var(--book-x)) rotateY(var(--book-y)) translateY(-5px)}50%{transform:rotateX(var(--book-x)) rotateY(var(--book-y)) translateY(-20px)}}
@keyframes bookAura{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.08);opacity:1}}
@keyframes bookOrbit{to{transform:rotate(360deg)}}
@keyframes bookShine{0%,25%{background-position:180% 0}65%,100%{background-position:-100% 0}}
@media(max-width:1050px){.bookSpotlight{grid-template-columns:1fr}.bookVisual{min-height:660px}.bookScene{width:310px;height:470px}.bookCopy{max-width:760px}}
@media(max-width:600px){.bookVisual{min-height:540px;padding:40px 18px}.bookScene{width:250px;height:390px}.book3d{width:205px;height:312px}.bookFront{background-size:291% 100%;background-position:74% center}.bookSpine{height:312px}.bookPages{height:298px}.bookTop{width:201px}.bookAura{width:330px;height:330px}.bookOrbit{width:390px;height:390px}.bookBadge{top:20px;left:20px}.dragHint{bottom:18px}.bookCopy .lead{font-size:19px}}
@media(prefers-reduced-motion:reduce){.book3d,.bookAura,.bookOrbit,.bookFront::after{animation:none}}
