/* ZIZIAB Motion layer: scroll reveals, cinematic hero, hover polish. Only active when JS adds html.zz-m */
/* Full motion for everyone; a calm fade-only version for devices set to reduce motion (bottom). */
@media all{
html.zz-m{scroll-behavior:smooth}
/* Header: compacts and gains depth once you scroll */
html.zz-m .zz-header{position:sticky;top:0;transition:box-shadow .4s ease,background-color .4s ease}
html.zz-m .zz-header__in{transition:min-height .4s cubic-bezier(.2,.7,.2,1)}
html.zz-m body.zz-scrolled .zz-header{box-shadow:0 10px 30px rgba(42,10,12,.28);background:rgba(110,31,35,.94);backdrop-filter:saturate(1.2) blur(8px)}
html.zz-m body.zz-scrolled .zz-header__in{min-height:62px}
html.zz-m .zz-nav a{position:relative}
html.zz-m .zz-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
html.zz-m .zz-nav a:hover::after{transform:scaleX(1);transform-origin:left}
/* Scroll progress line */
.zz-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:#F4C7B5;transform:scaleX(0);transform-origin:0 50%;z-index:100;pointer-events:none}
/* Generic reveal */
html.zz-m [data-zr]{opacity:0;transform:translate3d(0,36px,0);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--zd,0s);will-change:opacity,transform}
html.zz-m [data-zr="left"]{transform:translate3d(-48px,0,0)}
html.zz-m [data-zr="right"]{transform:translate3d(48px,0,0)}
html.zz-m [data-zr="zoom"]{transform:scale(.92)}
html.zz-m [data-zr].is-in{opacity:1;transform:none}
/* Above-the-fold elements start hidden from first paint, before motion.js marks them */
html.zz-m .zz-trustbar>div,html.zz-m .summary.entry-summary>*,html.zz-m .woocommerce-product-gallery{opacity:0;transform:translate3d(0,36px,0);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--zd,0s)}
html.zz-m .woocommerce-product-gallery{transform:translate3d(-48px,0,0)}
html.zz-m .zz-trustbar>div.is-in,html.zz-m .summary.entry-summary>.is-in,html.zz-m .woocommerce-product-gallery.is-in{opacity:1;transform:none}
/* Headline line-by-line mask reveal */
html.zz-m .zz-line{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
html.zz-m .zz-line>span{display:inline-block;transform:translate3d(0,105%,0);transition:transform 1.1s cubic-bezier(.16,.84,.24,1);transition-delay:var(--zd,0s)}
html.zz-m .is-in .zz-line>span,html.zz-m .zz-line.is-in>span{transform:none}
/* Hero: cinematic entrance, pure CSS so it starts on first paint */
@keyframes zz-up{from{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:none}}
@keyframes zz-mask{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,50px,0)}to{opacity:1;clip-path:inset(0 0 -10% 0);transform:none}}
@keyframes zz-rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes zz-in-a{from{opacity:0;transform:translate3d(-70px,70px,0) rotate(-16deg)}to{opacity:1;transform:rotate(-5deg)}}
@keyframes zz-in-b{from{opacity:0;transform:translate3d(70px,90px,0) rotate(7deg)}to{opacity:1;transform:none}}
html.zz-m .zz-hero .zz-eyebrow{animation:zz-up .9s cubic-bezier(.2,.7,.2,1) .1s both}
html.zz-m .zz-hero .zz-h1{animation:zz-mask 1.3s cubic-bezier(.16,.84,.24,1) .25s both}
html.zz-m .zz-hero .zz-lead{animation:zz-up 1s cubic-bezier(.2,.7,.2,1) .7s both}
html.zz-m .zz-hero .zz-buyrow{animation:zz-up 1s cubic-bezier(.2,.7,.2,1) .85s both}
html.zz-m .zz-stack__block{transform-origin:50% 100%;animation:zz-rise 1.3s cubic-bezier(.2,.7,.2,1) .2s both}
html.zz-m .zz-stack__a{animation:zz-in-a 1.4s cubic-bezier(.16,.84,.24,1) .55s both}
html.zz-m .zz-stack__b{animation:zz-in-b 1.4s cubic-bezier(.16,.84,.24,1) .75s both}
html.zz-m .zz-stack__tilt{position:absolute;inset:0;transform:translate3d(var(--px,0),var(--py,0),0);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
html.zz-m .zz-stack__tilt--b{transform:translate3d(calc(var(--px,0) * -1.4),calc(var(--py,0) * -1.4),0)}
html.zz-m .zz-stack{perspective:1200px}
html.zz-m .zz-stack__inner{position:absolute;inset:0;animation:zz-float 7s ease-in-out infinite;animation-delay:2s}
@keyframes zz-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
/* Featured book: scroll-linked depth */
html.zz-m .zz-featimg{overflow:hidden}
html.zz-m .zz-featimg img{transform:translate3d(0,var(--sy,0px),0) rotate(var(--sr,0deg)) scale(var(--ss,1));transition:box-shadow .5s ease}
html.zz-m .zz-featimg:hover img{box-shadow:0 40px 70px rgba(42,26,27,.32)}
/* Cards */
html.zz-m .zz-card__img{overflow:hidden}
html.zz-m .zz-card__img img,html.zz-m .zz-card__img .zz-cover{transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s ease}
html.zz-m .zz-card:hover .zz-card__img img,html.zz-m .zz-card:hover .zz-card__img .zz-cover{transform:translateY(-10px) rotate(-1.5deg);box-shadow:0 34px 50px rgba(42,26,27,.3)}
/* Buttons: lift + sheen */
html.zz-m .zz-btn{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,background-color .3s ease}
html.zz-m .zz-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.18)}
html.zz-m .zz-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s ease}
html.zz-m .zz-btn:hover::after{left:120%}
html.zz-m .zz-link svg,html.zz-m .zz-link{transition:transform .3s ease}
html.zz-m .zz-link:hover{transform:translateX(4px)}
/* Steps: rule draws in */
html.zz-m .zz-steps>*{position:relative}
html.zz-m .zz-steps>*::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--zz-text);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transition-delay:var(--zd,0s)}
html.zz-m .zz-steps>.is-in::before{transform:scaleX(1)}
/* Author: words light up as you scroll */
html.zz-m .zz-w{opacity:.18;transition:opacity .4s ease}
html.zz-m .zz-w.on{opacity:1}
}

/* Reduced-motion devices: keep gentle fades, remove movement, parallax and floating */
@keyframes zz-fade{from{opacity:0}to{opacity:1}}
@keyframes zz-fade-a{from{opacity:0;transform:rotate(-5deg)}to{opacity:1;transform:rotate(-5deg)}}
@media (prefers-reduced-motion: reduce){
html.zz-m{scroll-behavior:auto}
html.zz-m [data-zr],html.zz-m .zz-trustbar>div,html.zz-m .summary.entry-summary>*,html.zz-m .woocommerce-product-gallery{transform:none!important;transition:opacity .9s ease!important;transition-delay:var(--zd,0s)!important}
html.zz-m .zz-line>span{transform:none!important;transition:none!important}
html.zz-m .zz-hero .zz-eyebrow,html.zz-m .zz-hero .zz-h1,html.zz-m .zz-hero .zz-lead,html.zz-m .zz-hero .zz-buyrow,html.zz-m .zz-stack__b{animation-name:zz-fade!important}
html.zz-m .zz-stack__block{animation:none!important}
html.zz-m .zz-stack__a{animation-name:zz-fade-a!important}
html.zz-m .zz-stack__inner{animation:none!important}
html.zz-m .zz-stack__tilt{transform:none!important}
html.zz-m .zz-featimg img{transform:none!important}
html.zz-m .zz-btn:hover,html.zz-m .zz-link:hover,html.zz-m .zz-card:hover .zz-card__img img,html.zz-m .zz-card:hover .zz-card__img .zz-cover{transform:none!important}
html.zz-m .zz-steps>*::before{transform:scaleX(1)!important;transition:none!important}
}
