.site{--jollof:#ad3a17;--jollof-2:#c74a1d;--pepper:#e0632a;--char:#3a140a;--char-2:#521d0e;--bonnet:#f2b632;--cream:#f7ecdf;--cream-2:#efdcc6;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--t-press:.14s;--t-hover:.22s;--t-reveal:.9s;--step-small:clamp(.8125rem, .79rem + .1vw, .875rem);--step-body:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(2.25rem, 1.2rem + 4vw, 5rem);--step-display:clamp(2.5rem, .8rem + 5.3vw, 7rem);background:var(--cream);color:var(--char);font-size:var(--step-body);line-height:1.5}.site .wide{font-variation-settings:"wdth" 125;font-stretch:125%}.site .t-small{font-size:var(--step-small)}.site .t-body{font-size:var(--step-body)}.site .t-lead{font-size:var(--step-lead);line-height:1.35}.site .t-head{font-size:var(--step-head);letter-spacing:-.02em;line-height:1}.site .t-display{font-size:var(--step-display);letter-spacing:-.045em;font-weight:700;line-height:.86}.site .btn{isolation:isolate;background:var(--bonnet);min-height:3.5rem;color:var(--char);transition:transform var(--t-press) var(--ease-out), color var(--t-hover) ease;justify-content:center;align-items:center;gap:.6rem;padding:0 1.75rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.site .btn:before{content:"";z-index:-1;background:var(--char);transition:transform .42s var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.site .btn .arrow{transition:transform .42s var(--ease-out)}.site .btn:active{transform:scale(.97)}.site .btn-ink{background:var(--char);color:var(--cream)}.site .btn-ink:before{background:var(--jollof)}.site .btn-ghost{color:inherit;background:0 0;box-shadow:inset 0 0 0 2px}.site .btn-ghost:before{background:var(--cream)}.site .link{text-underline-offset:.22em;transition:text-decoration-color var(--t-hover) ease, color var(--t-hover) ease;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:.07em}@media (hover:hover) and (pointer:fine){.site .btn:hover{color:var(--cream)}.site .btn:hover:before{transform:none}.site .btn:hover .arrow{transform:translate(4px)rotate(-45deg)}.site .btn-ghost:hover{color:var(--char)}.site .link:hover{text-decoration-color:currentColor}.site .shelf-item:hover .shelf-cover{transform:translateY(-8px)rotate(-1.5deg)}}.site .shelf-cover{transition:transform .42s var(--ease-out)}.site .leader{opacity:.55;background-image:radial-gradient(circle,currentColor 1.4px,#0000 1.6px);background-position:0;background-repeat:repeat-x;background-size:9px 4px;flex:1;align-self:flex-end;min-width:1.5rem;height:4px;margin:0 .6rem .35em}.site .book3d{perspective:2200px}.site .book3d-inner{transform-style:preserve-3d;transition:transform .9s var(--ease-out);position:relative;transform:rotateY(32deg)rotateX(3deg)}.site .book3d-face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.site .book3d-spine{transform-origin:100%;height:100%;transition:width .5s var(--ease-out), left .5s var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute;top:0;overflow:hidden;transform:rotateY(-90deg)}.site .book3d-spine span{writing-mode:vertical-rl;white-space:nowrap;letter-spacing:.02em;font-weight:600}@media (prefers-reduced-motion:no-preference){.js .site [data-rise]{opacity:0;animation:jp-rise var(--t-reveal) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 90ms + .12s);transform:translateY(20px)}.js .site [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(var(--i,0) * 75ms);transform:translateY(24px)}.js .site [data-reveal].is-in{opacity:1;transform:none}.js .site .book3d-enter{animation:jp-turn 1.4s var(--ease-soft) both}}@keyframes jp-rise{to{opacity:1;transform:none}}@keyframes jp-turn{0%{opacity:0;transform:rotateY(62deg)rotateX(3deg)translateZ(-60px)}to{opacity:1;transform:rotateY(32deg)rotateX(3deg)}}.site .reader{font-size:1.1875rem}.site .reader .chapter-head{margin-top:0}.site .pattern-svg{width:calc(100% + 240px);height:calc(100% + 240px);inset:-240px 0 0 -240px}@media (prefers-reduced-motion:no-preference){.site .pattern-drift{animation:60s linear infinite jp-pattern}}@keyframes jp-pattern{to{transform:translate(240px,240px)}}.site .masthead{transition:background-color .4s ease, color .4s ease, transform .5s var(--ease-out), backdrop-filter .4s ease}.site .masthead[data-solid=true]{background:color-mix(in srgb, var(--cream) 82%, transparent);color:var(--char);-webkit-backdrop-filter:blur(14px)}.site .masthead[data-hidden=true]{transform:translateY(-100%)}.site .menu-sheet{clip-path:circle(0% at calc(100% - 2.5rem) 2.5rem);transition:clip-path .7s var(--ease-in-out)}.site .menu-sheet[data-open=true]{clip-path:circle(150% at calc(100% - 2.5rem) 2.5rem)}.site .menu-sheet a{opacity:0;transition:opacity .5s var(--ease-out), transform .7s var(--ease-out);transition-delay:calc(var(--i,0) * 70ms + .2s);transform:translateY(40px)}.site .menu-sheet[data-open=true] a{opacity:1;transform:none}.site .intro{display:none}@media (prefers-reduced-motion:no-preference){.js .site .intro{animation:jp-lid 1.1s var(--ease-in-out) 1.5s forwards;display:grid}.js .site .intro .intro-word{animation:jp-word .9s var(--ease-out) both;animation-delay:calc(var(--i,0) * .11s + .15s)}.js .site .intro .intro-bar{animation:jp-bar 1.3s var(--ease-in-out) .2s both}.js.seen .site .intro{display:none}}@keyframes jp-lid{to{clip-path:inset(0 0 100%);visibility:hidden}}@keyframes jp-word{0%{transform:translateY(110%)rotate(4deg)}to{transform:none}}@keyframes jp-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.site .line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.site .line>span{display:inline-block}@media (prefers-reduced-motion:no-preference){.js .site .line>span{animation:jp-line 1.1s var(--ease-out) forwards;animation-delay:calc(var(--i,0) * .12s + var(--delay,.3s));transform:translateY(105%)}.js.seen .site .line>span{--delay:.1s}}@keyframes jp-line{to{transform:none}}.site .marquee-track{width:max-content;display:flex}@media (prefers-reduced-motion:no-preference){.site .marquee-track{animation:jp-marquee var(--speed,38s) linear infinite}.site .marquee:hover .marquee-track{animation-play-state:paused}}@keyframes jp-marquee{to{transform:translate(-50%)}}.site .row{isolation:isolate;position:relative}.site .row:before{content:"";z-index:-1;background:var(--jollof);transform-origin:bottom;transition:transform .5s var(--ease-out);position:absolute;inset:0;transform:scaleY(0)}.site .row-arrow{transition:transform .5s var(--ease-out)}@media (hover:hover) and (pointer:fine){.site .row:hover{color:var(--cream)}.site .row:hover:before{transform:none}.site .row:hover .row-arrow{transform:translate(6px)rotate(-45deg)}.site .row:hover .row-soft{color:color-mix(in srgb, var(--cream) 80%, transparent)}}.site .cover-follow{z-index:40;pointer-events:none;opacity:0;transition:opacity .26s ease, transform .5s var(--ease-out);position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(.6)rotate(-6deg)}.site .cover-follow[data-on=true]{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-4deg)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.site .scroll-turn{animation:linear both jp-scroll-turn;animation-timeline:view();animation-range:entry exit}.site .scroll-rise{animation:linear both jp-scroll-rise;animation-timeline:view();animation-range:entry exit}.site .scroll-grow{animation:linear both jp-scroll-grow;animation-timeline:view();animation-range:entry cover 45%}}}@keyframes jp-scroll-turn{0%{transform:rotate(-8deg)translateY(8%)}to{transform:rotate(6deg)translateY(-8%)}}@keyframes jp-scroll-rise{0%{transform:translateY(14%)}to{transform:translateY(-14%)}}@keyframes jp-scroll-grow{0%{transform:scale(.86)}to{transform:none}}.site .tilt{transition:transform .7s var(--ease-out);transform:perspective(1200px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg))}@media (prefers-reduced-motion:no-preference){.js .site .page-enter{animation:jp-page .8s var(--ease-out) both}}@keyframes jp-page{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.site .spin-slow{animation:24s linear infinite jp-spin}}@keyframes jp-spin{0%{transform:rotateY(34deg)rotateX(3deg)}to{transform:rotateY(-14deg)rotateX(-2deg)}}.site .book-turn .book3d-inner{transform:rotateY(56deg)rotateX(4deg)}@media (prefers-reduced-motion:no-preference){.site .float{animation:jp-float 7s var(--ease-in-out) infinite alternate}}@keyframes jp-float{0%{transform:translateY(-10px)rotate(-1deg)}to{transform:translateY(10px)rotate(1deg)}}@media (max-width:640px){.site .t-display.wide,.site .t-head.wide{font-variation-settings:"wdth" 112;font-stretch:112%}}.site .shelf-slot{width:var(--s);height:var(--h);perspective:1800px;transition:width .7s var(--ease-out)}.site .shelf-book{width:var(--s);height:var(--h);transform-style:preserve-3d;transform-origin:0;transition:transform .7s var(--ease-out);position:relative}.site .shelf-spine,.site .shelf-cover{backface-visibility:hidden;height:100%;position:absolute;top:0}.site .shelf-spine{width:var(--s);color:var(--cream);flex-direction:column;justify-content:space-between;align-items:center;padding:14px 0;display:flex;left:0;box-shadow:inset -6px 0 10px -6px #00000073,inset 6px 0 10px -6px #ffffff2e}.site .shelf-title,.site .shelf-author{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;max-height:70%;overflow:hidden}.site .shelf-title{font-weight:700;font-size:min(calc(var(--s) * .42), 1.35rem);letter-spacing:-.02em}.site .shelf-author{letter-spacing:.08em;text-transform:uppercase;opacity:.85;max-height:26%;font-size:.75rem}.site .shelf-cover{left:var(--s);width:var(--w);transform-origin:0;transform:rotateY(90deg)}@media (hover:hover) and (pointer:fine){.site .shelf-slot:hover,.site .shelf-slot:focus-within{width:var(--w)}.site .shelf-slot:hover .shelf-book,.site .shelf-slot:focus-within .shelf-book{transform:translateY(-14px) translateZ(calc(var(--s) * -1)) rotateY(-90deg)}}.site .shelf-slot:focus-within .shelf-book{outline:none}.site .hero-line{letter-spacing:-.045em;font-size:clamp(2.5rem,1rem + 6vw,4rem);line-height:.92}@media (min-width:768px){.site .hero-line{white-space:nowrap;font-size:min(5.6vw,7.5rem)}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.site .book-spin .book3d-inner{animation:linear both jp-spin;animation-timeline:scroll(root)}}}.site .buy-row{isolation:isolate;position:relative;overflow:hidden}.site .buy-row:before{content:"";z-index:-1;background:var(--bonnet);transform-origin:0;transition:transform .42s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.site .buy-row:hover:before,.site .buy-row:focus-visible:before{transform:scaleX(1)}.site .buy-row:hover,.site .buy-row:focus-visible{color:var(--char);border-color:var(--bonnet)}.site .buy-row .arrow{transition:transform .42s var(--ease-out)}.site .buy-row:hover .arrow{transform:translate(6px)}
