/* Small, finite entrances and user-driven depth. No external animation library. */
.motion-toggle{background:transparent;color:inherit;min-height:34px;padding:0;font-size:10px;text-align:left;white-space:nowrap}
.motion-toggle:hover{text-decoration:underline;text-underline-offset:4px}
.motion-toggle:disabled{cursor:default;opacity:.8;text-decoration:none}
@media (prefers-reduced-motion:no-preference){
  html.motion-ready:not(.motion-off) .motion-reveal{transition:opacity .65s ease var(--motion-delay,0ms),translate .7s cubic-bezier(.2,.7,.3,1) var(--motion-delay,0ms),transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,border-color .35s}
  html.motion-ready:not(.motion-off) .motion-pending{opacity:0;translate:0 22px}
  html.motion-ready:not(.motion-off) .motion-pending:focus-within{opacity:1;translate:0 0}
  html.motion-ready:not(.motion-off) :is(.hero-copy,.edition-hero-copy,.shop-hero>div)>:is(.eyebrow,h1,.principal-subtitle,.hero-subtitle,.edition-subtitle,.shop-hero-description,.hero-description,.hero-authors,.edition-actions,.hero-buttons){animation:llave-copy-in .8s cubic-bezier(.2,.7,.3,1) both}
  html.motion-ready:not(.motion-off) :is(.hero-copy,.edition-hero-copy,.shop-hero>div)>h1{animation-delay:80ms}
  html.motion-ready:not(.motion-off) :is(.hero-copy,.edition-hero-copy)>:is(.principal-subtitle,.hero-subtitle,.edition-subtitle){animation-delay:150ms}
  html.motion-ready:not(.motion-off) :is(.hero-copy,.edition-hero-copy)>:is(.hero-description,.hero-authors,.edition-actions,.hero-buttons){animation-delay:220ms}

  /* translate is separate from the existing book's 3D transform. */
  html.motion-ready:not(.motion-off) .hero-art.motion-in-view .book-object{animation:llave-book-float 4.6s ease-in-out 1}
  html.motion-ready:not(.motion-off) .hero-art .book-object{transform:rotateY(calc(-17deg + var(--pointer-x,0deg))) rotateX(calc(4deg + var(--pointer-y,0deg))) rotateZ(-7deg)}
  html.motion-ready:not(.motion-off) .hero-art .art-seal{transition:rotate .65s ease}
  html.motion-ready:not(.motion-off) .hero-art.motion-in-view .art-seal{animation:llave-seal-in 1.1s cubic-bezier(.2,.7,.3,1) both}
  html.motion-ready:not(.motion-off) .hero-art.motion-in-view .art-arch:after{animation:llave-light 4.6s ease-in-out 1}
  html.motion-ready:not(.motion-off) .edition-cover img{transform:perspective(1000px) rotateY(var(--pointer-x,0deg)) rotateX(var(--pointer-y,0deg)) rotate(-3deg);transition:transform .65s cubic-bezier(.2,.7,.3,1)}
  html.motion-ready:not(.motion-off) .edition-cover.motion-in-view img{animation:llave-book-float 4.6s ease-in-out 1}
  html.motion-ready:not(.motion-off) .shop-bundle-art.motion-in-view .shop-complete-covers figure{animation:llave-collection-in .95s cubic-bezier(.2,.7,.3,1) both}
  html.motion-ready:not(.motion-off) .shop-complete-covers figure:nth-child(2){animation-delay:75ms}
  html.motion-ready:not(.motion-off) .shop-complete-covers figure:nth-child(3){animation-delay:150ms}
  html.motion-ready:not(.motion-off) .shop-complete-covers figure:nth-child(4){animation-delay:225ms}
  html.motion-ready:not(.motion-off) .shop-complete-covers figure:nth-child(5){animation-delay:300ms}
  html.motion-ready:not(.motion-off) .shop-complete-covers figure:nth-child(6){animation-delay:375ms}
  html.motion-ready:not(.motion-off) .shop-bundle-art.motion-in-view .shop-bundle-covers{animation:llave-book-float 4.6s ease-in-out 1}
  html.motion-ready:not(.motion-off) .method-step.motion-visible .method-letter{animation:llave-letter-in 1.1s ease both;animation-delay:var(--motion-delay,0ms)}
  html.motion-ready:not(.motion-off) .edition-method article.motion-visible>span{animation:llave-letter-in 1.1s ease both;animation-delay:var(--motion-delay,0ms)}
  html.motion-ready:not(.motion-off) .method-letter{transition:color .3s}
  html.motion-ready:not(.motion-off) .edition-card-art img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
  html.motion-ready:not(.motion-off) :is(.button,.text-link) svg{transition:transform .3s}
  html.motion-ready:not(.motion-off) .shop-complete-covers img{transition:transform .4s ease}
  html.motion-ready:not(.motion-off) [role="tabpanel"]:not([hidden]){animation:llave-panel-in .3s ease}
  html.motion-ready:not(.motion-off) details[open]>:not(summary){animation:llave-panel-in .3s ease}
  html.motion-ready:not(.motion-off) .reader-dialog[open]{animation:llave-reader-in .28s ease}
  html.motion-ready:not(.motion-off) summary svg{transition:transform .3s}
  @media (hover:hover) and (pointer:fine){
    html.motion-ready:not(.motion-off) :is(.edition-card,.shop-product):hover{transform:translateY(-5px);box-shadow:0 15px 30px -20px #153d3266;border-color:#9caf93}
    html.motion-ready:not(.motion-off) .contact-profile:hover{transform:translateY(-3px);border-color:#a3b98c}
    html.motion-ready:not(.motion-off) .edition-card:hover .edition-card-art img{transform:rotate(0deg) translateY(-3px)}
    html.motion-ready:not(.motion-off) .method-step:hover .method-letter{color:#c0cdb2}
    html.motion-ready:not(.motion-off) :is(.button,.text-link):hover svg{transform:translateX(3px)}
    html.motion-ready:not(.motion-off) .hero-art:hover .art-seal{rotate:-6deg}
    html.motion-ready:not(.motion-off) .shop-complete-covers figure:hover img{transform:translateY(-7px) rotate(-2deg)}
  }
  @media(max-width:740px){
    html.motion-ready:not(.motion-off) .motion-pending{translate:0 14px}
    html.motion-ready:not(.motion-off) :is(.hero-art.motion-in-view .book-object,.edition-cover.motion-in-view img){animation-name:llave-book-float-small}
  }
}
@keyframes llave-copy-in{from{opacity:0;translate:0 13px}to{opacity:1;translate:0 0}}
@keyframes llave-book-float{0%,100%{translate:0 0}35%{translate:0 -11px}70%{translate:0 -4px}}
@keyframes llave-book-float-small{0%,100%{translate:0 0}35%{translate:0 -6px}70%{translate:0 -2px}}
@keyframes llave-seal-in{from{opacity:0;rotate:-18deg;scale:.92}to{opacity:1;rotate:0deg;scale:1}}
@keyframes llave-light{0%,100%{translate:0 0;opacity:.5}45%{translate:70px 0;opacity:.9}}
@keyframes llave-collection-in{from{opacity:0;translate:0 18px;rotate:-3deg}to{opacity:1;translate:0 0;rotate:0deg}}
@keyframes llave-letter-in{from{opacity:.3;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes llave-panel-in{from{opacity:.5;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes llave-reader-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
html.motion-off :is(.motion-reveal,.motion-pending){opacity:1!important;translate:0 0!important}
html.motion-off *,html.motion-sleep *{animation:none!important;animation-play-state:paused!important}
html.motion-off .motion-reveal{transition:none!important}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-pending{opacity:1!important;translate:0 0!important}}
@media print{.motion-reveal,.motion-pending{opacity:1!important;translate:0 0!important;transform:none!important}.motion-toggle{display:none!important}*{animation:none!important;transition:none!important}}
