/* One motion language: reveal, approach, choose, discover. */
.motion-ready{--motion-ease:cubic-bezier(.2,.7,.25,1)}
.shelf-heading h1 .title-line{display:block;line-height:1.06;color:#e5dec8}.shelf-heading h1 .title-second{color:#b7a77f}
.motion-ready .opening-chapter>.shelf-hero{position:sticky;top:var(--pin-top,0px)}
.motion-ready .cinematic-opening .shelf-heading{transform:translateY(calc(var(--chapter,0)*-34px));opacity:calc(1 - var(--chapter,0)*.44);transition:none}
.motion-ready .cinematic-opening .title-line{animation:title-arrival 1.1s var(--motion-ease) both;animation-delay:.1s}
.motion-ready .cinematic-opening .title-second{animation-delay:.3s}
.motion-ready .cinematic-opening .shelf-heading>.eyebrow{animation:soft-arrival .9s ease-out both;animation-delay:.02s}
.motion-ready .cinematic-opening .shelf-heading>p:last-child{animation:soft-arrival 1.1s ease-out both;animation-delay:.65s}
.motion-ready .cinematic-opening .bookcase-scene{transform:translateX(-50%) translateY(calc(var(--chapter,0)*-12px));animation:room-arrival 1.6s var(--motion-ease) both}
.cinematic-light{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at var(--book-light-x,50%) 69%,#e9c7790a,transparent 45%);transition:background-position .8s,opacity .8s}
.cinematic-light::before{content:'';position:absolute;left:15%;right:15%;top:60px;bottom:10%;background:linear-gradient(115deg,transparent 25%,#c5b57f06 39%,#c5b57f0b 45%,transparent 62%);transform:translateX(calc(var(--chapter,0)*70px));transform-origin:50% 0;pointer-events:none}
.motion-ready .cinematic-light{animation:light-arrival 2.1s ease-out both}
.motion-ready .cinematic-opening .wall-arch{transform:translateX(-50%) scale(calc(1 + var(--chapter,0)*.055));transform-origin:50% 60%}
.motion-ready .cinematic-opening .wall-panel{transform:translateY(calc(var(--chapter,0)*-30px))}
.motion-ready .cinematic-opening .case-back{background:radial-gradient(ellipse at var(--book-light-x,50%) 20%,#b99a4c29,transparent 65%),repeating-linear-gradient(90deg,#201c15 0 100px,#191811 100px 102px,#242017 102px 205px)}
.motion-ready .cinematic-opening .case-cornice,.motion-ready .cinematic-opening .case-side,.motion-ready .cinematic-opening .case-back,.motion-ready .cinematic-opening .shelf-floor,.motion-ready .cinematic-opening .shelf-lip{animation:wood-arrival 1.7s ease-out both}
.motion-ready .cinematic-opening .shelf-instruction{animation:soft-arrival .9s ease-out both;animation-delay:1.15s}
.cinematic-dust{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.cinematic-dust>i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#dbc597;opacity:.22}
.motion-ready .cinematic-dust>i{animation:dust-drift var(--duration) ease-in-out var(--delay) infinite alternate}
.motion-ready .shelf-slot.returning{z-index:19}
.motion-ready .shelf-slot.returning .shelf-model{animation:replace-book .75s cubic-bezier(.3,.05,.3,1) both}
.motion-ready dialog[open]{animation:dialog-arrival .32s var(--motion-ease) both}
.motion-ready dialog[open] .dialog-copy{animation:soft-arrival .45s var(--motion-ease) both;animation-delay:.08s}
.motion-ready .motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--motion-ease) var(--reveal-delay,0ms),transform .7s var(--motion-ease) var(--reveal-delay,0ms)}
.motion-ready .motion-reveal.is-revealed{opacity:1;transform:none}
.motion-ready .interlude-pattern{transform:translateX(-50%) rotate(-5deg);transition:transform 1.5s var(--motion-ease)}
.motion-ready .interlude:has(.is-revealed) .interlude-pattern{transform:translateX(-50%) rotate(0)}
.motion-ready.author-site .author-hero h1,.motion-ready .author-site .author-hero h1,.motion-ready .author-site .authors-heading h1{animation:title-arrival .9s var(--motion-ease) both}
.motion-ready .author-site .author-hero .author-dek{animation:soft-arrival .8s var(--motion-ease) .15s both}
.motion-ready .author-site .author-hero .author-intro,.motion-ready .author-site .authors-heading>p:last-child{animation:soft-arrival .9s var(--motion-ease) .28s both}
.motion-ready .author-site .author-image{animation:soft-arrival 1.1s var(--motion-ease) .15s both}
.motion-switch{font:9px Arial,sans-serif;background:transparent;border:1px solid #a9b39b4a;color:#a3ad9a;padding:10px 13px;margin:0;cursor:pointer;letter-spacing:.03em}
.motion-switch:hover{border-color:#b8c5a5;color:#d7dfcf}
@keyframes title-arrival{from{opacity:0;transform:translateY(23px);clip-path:inset(0 0 95% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(-10% -10% -10% -10%)}}
@keyframes soft-arrival{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes room-arrival{from{transform:translateX(-50%) translateY(23px)}to{transform:translateX(-50%) translateY(calc(var(--chapter,0)*-12px))}}
@keyframes light-arrival{from{opacity:0}to{opacity:1}}
@keyframes wood-arrival{from{filter:brightness(.55)}to{filter:brightness(1)}}
@keyframes dust-drift{0%{transform:translate3d(-6px,8px,0);opacity:.09}45%{opacity:.3}100%{transform:translate3d(15px,-25px,0);opacity:.1}}
@keyframes dialog-arrival{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes replace-book{0%{transform:translate3d(0,-18px,235px) rotateY(-13deg) rotateZ(-4deg)}55%{transform:translate3d(0,-4px,175px) rotateY(90deg)}100%{transform:translate3d(0,0,0) rotateY(90deg)}}
@media(max-width:760px){.motion-ready .shelf-slot.returning .shelf-model{animation-name:replace-book-mobile}.cinematic-light::before{left:-25%;right:-25%;top:60px}.motion-ready .cinematic-opening .bookcase-scene{transform:translateX(-50%) translateY(calc(var(--chapter,0)*-8px))}.motion-ready .cinematic-opening .shelf-heading{transform:translateY(calc(var(--chapter,0)*-18px))}.motion-ready .motion-reveal{transform:translateY(14px)}}
@keyframes replace-book-mobile{0%{transform:translate3d(0,-15px,155px) rotateY(-10deg) rotateZ(-4deg)}55%{transform:translate3d(0,-4px,110px) rotateY(90deg)}100%{transform:translate3d(0,0,0) rotateY(90deg)}}
.motion-reduced .opening-chapter>.shelf-hero{position:relative;top:0}.motion-reduced .cinematic-dust{display:none}.motion-reduced .shelf-heading,.motion-reduced .bookcase-scene,.motion-reduced .wall-arch,.motion-reduced .wall-panel{animation:none!important}.motion-reduced .motion-reveal{opacity:1;transform:none}.motion-reduced .shelf-slot.active .shelf-model{animation:none!important;transition:none!important}.motion-reduced *, .motion-reduced *::before,.motion-reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.cinematic-dust{display:none}.motion-ready .shelf-hero,.motion-ready .motion-reveal,.motion-ready .shelf-heading,.motion-ready .wall-arch,.motion-ready .wall-panel{animation:none!important;transition:none!important}.motion-ready .motion-reveal{opacity:1;transform:none}}
