.bookcard__row{display:flex;justify-content:space-between;align-items:center;font-family:'Courier Prime',monospace;font-size:14px;border-bottom:1px solid var(--leaf);padding:7px 0}
.jacket--gap{margin-top:40px}
.proof__link{margin-top:16px}.proof__link a{font-weight:800}
.proof__editor,.proof__book{position:relative;margin:0}
.proof__book .jacket{display:block}
.prose--lead{font-size:20px;max-width:42em}
.moat .sec{padding-bottom:72px}
.video-sec{padding-bottom:96px}
.video-sec .prose.center{margin-left:auto;margin-right:auto}
.video__fallback{display:block;margin-top:16px;text-align:center;font-size:15px}
.sec .h-sub{font-size:clamp(2rem,3.4vw,2.8rem)}.sec .h-sub--faq{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:20px}
.hero .jacket img{aspect-ratio:3/2;object-fit:cover}
/* hero process animation (claymation): world -> cast -> books, 15s stop-motion loop; reduced motion holds the world+cast frame */
@keyframes hs-hill1{0%,2.00%{opacity:0;transform:translateY(40px)}8.67%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-hill1{transform-box:fill-box;transform-origin:50% 100%;animation:hs-hill1 15.0s steps(8,end) infinite}
@keyframes hs-hill2{0%,4.00%{opacity:0;transform:translateY(50px)}10.67%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-hill2{transform-box:fill-box;transform-origin:50% 100%;animation:hs-hill2 15.0s steps(8,end) infinite}
@keyframes hs-hill3{0%,6.00%{opacity:0;transform:translateY(60px)}12.67%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-hill3{transform-box:fill-box;transform-origin:50% 100%;animation:hs-hill3 15.0s steps(8,end) infinite}
@keyframes hs-sun{0%,7.33%{opacity:0;transform:translateY(140px)}14.67%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-sun{transform-box:fill-box;transform-origin:50% 50%;animation:hs-sun 15.0s steps(8,end) infinite}
@keyframes hs-tree{0%,11.33%{opacity:0;transform:scale(.15)}18.00%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-tree{transform-box:fill-box;transform-origin:50% 100%;animation:hs-tree 15.0s steps(8,end) infinite}
@keyframes hs-tree2{0%,13.33%{opacity:0;transform:scale(.15)}19.33%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-tree2{transform-box:fill-box;transform-origin:50% 100%;animation:hs-tree2 15.0s steps(8,end) infinite}
@keyframes hs-fl1{0%,16.67%{opacity:0;transform:scale(.2)}21.33%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-fl1{transform-box:fill-box;transform-origin:50% 100%;animation:hs-fl1 15.0s steps(8,end) infinite}
@keyframes hs-fl2{0%,18.67%{opacity:0;transform:scale(.2)}23.33%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-fl2{transform-box:fill-box;transform-origin:50% 100%;animation:hs-fl2 15.0s steps(8,end) infinite}
@keyframes hs-fl3{0%,20.67%{opacity:0;transform:scale(.2)}25.33%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-fl3{transform-box:fill-box;transform-origin:50% 100%;animation:hs-fl3 15.0s steps(8,end) infinite}
@keyframes hs-luna{0%,33.33%{opacity:0;transform:translateX(120px)}39.33%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-luna{transform-box:fill-box;transform-origin:50% 100%;animation:hs-luna 15.0s steps(8,end) infinite}
@keyframes hs-pip{0%,38.67%{opacity:0;transform:translateX(140px)}44.67%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.hs-pip{transform-box:fill-box;transform-origin:50% 100%;animation:hs-pip 15.0s steps(8,end) infinite}
@keyframes hs-tag1{0%,44.67%{opacity:0;transform:translateY(-14px)}48.67%{opacity:1;transform:none}57.33%{opacity:1;transform:none}60.00%,100%{opacity:0;transform:none}}
.hs-tag1{transform-box:fill-box;transform-origin:50% 0%;animation:hs-tag1 15.0s steps(8,end) infinite}
@keyframes hs-tag2{0%,46.67%{opacity:0;transform:translateY(-14px)}50.67%{opacity:1;transform:none}57.33%{opacity:1;transform:none}60.00%,100%{opacity:0;transform:none}}
.hs-tag2{transform-box:fill-box;transform-origin:50% 0%;animation:hs-tag2 15.0s steps(8,end) infinite}
@keyframes hs-world{0%,60.00%{opacity:1;transform:none}66.67%,92.00%{opacity:1;transform:translate(210px,170px) scale(.2292)}97.33%,100%{opacity:0;transform:translate(210px,170px) scale(.2292)}}
.hs-world{transform-box:view-box;transform-origin:0 0;animation:hs-world 15.0s steps(10,end) infinite}
@keyframes hs-b1{0%,62.00%{opacity:0;transform:none}66.67%,92.00%{opacity:1;transform:none}97.33%,100%{opacity:0;transform:none}}
.hs-b1{transform-box:fill-box;transform-origin:50% 50%;animation:hs-b1 15.0s steps(8,end) infinite}
@keyframes hs-b2{0%,69.33%{opacity:0;transform:translateX(90px)}74.67%,92.00%{opacity:1;transform:none}97.33%,100%{opacity:0;transform:none}}
.hs-b2{transform-box:fill-box;transform-origin:50% 50%;animation:hs-b2 15.0s steps(8,end) infinite}
@keyframes hs-b3{0%,76.00%{opacity:0;transform:translateX(90px)}81.33%,92.00%{opacity:1;transform:none}97.33%,100%{opacity:0;transform:none}}
.hs-b3{transform-box:fill-box;transform-origin:50% 50%;animation:hs-b3 15.0s steps(8,end) infinite}
@keyframes hs-s1{0%,68.00%{opacity:0;transform:rotate(-14deg) scale(1.4)}71.33%,92.00%{opacity:1;transform:none}97.33%,100%{opacity:0;transform:none}}
.hs-s1{transform-box:fill-box;transform-origin:50% 50%;animation:hs-s1 15.0s steps(8,end) infinite}
@keyframes hs-s2{0%,75.33%{opacity:0;transform:rotate(-14deg) scale(1.4)}78.67%,92.00%{opacity:1;transform:none}97.33%,100%{opacity:0;transform:none}}
.hs-s2{transform-box:fill-box;transform-origin:50% 50%;animation:hs-s2 15.0s steps(8,end) infinite}
@keyframes hs-s3{0%,82.00%{opacity:0;transform:rotate(-14deg) scale(1.4)}85.33%,92.00%{opacity:1;transform:none}97.33%,100%{opacity:0;transform:none}}
.hs-s3{transform-box:fill-box;transform-origin:50% 50%;animation:hs-s3 15.0s steps(8,end) infinite}
@keyframes hs-st1{0%,0.00%{opacity:0}2.00%,31.33%{opacity:1}33.33%,100%{opacity:0}}
.hs-st1{animation:hs-st1 15.0s ease-in-out infinite}
@keyframes hs-st2{0%,33.27%{opacity:0}35.33%,58.00%{opacity:1}60.00%,100%{opacity:0}}
.hs-st2{animation:hs-st2 15.0s ease-in-out infinite}
@keyframes hs-st3{0%,59.93%{opacity:0}62.00%,95.33%{opacity:1}97.33%,100%{opacity:0}}
.hs-st3{animation:hs-st3 15.0s ease-in-out infinite}
@keyframes hs-boil{0%{transform:none}25%{transform:translate(.9px,-.6px) rotate(.3deg)}50%{transform:translate(-.7px,.4px) rotate(-.25deg)}75%{transform:translate(.5px,.8px) rotate(.15deg)}}
.hs-boil{transform-box:fill-box;transform-origin:50% 100%;animation:hs-boil .5s steps(1,end) infinite}
.hs-st1,.hs-st3{opacity:0}
.hs-b1,.hs-b2,.hs-b3,.hs-s1,.hs-s2,.hs-s3{opacity:0}
.hs-cap{font-family:'Courier Prime',monospace;font-weight:700;font-size:19px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink)}
