.site-header{-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);background:color-mix(in srgb, var(--paper) 82%, transparent);transition:box-shadow var(--dur-ui) var(--ease-standard);z-index:10;position:sticky;top:0}.site-header.is-scrolled{box-shadow:0 1px 0 var(--line)}.site-header__inner{align-items:center;gap:var(--space-4);max-width:var(--content-max);padding:0 var(--gutter);height:76px;transition:height var(--dur-ui) var(--ease-standard);margin:0 auto;display:flex}.site-header.is-scrolled .site-header__inner{height:60px}.brand{color:var(--ink);align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.brand img{width:auto;height:26px;display:block}.brand span{border-left:1px solid var(--line);color:var(--ink-muted);font-weight:var(--fw-bold);padding-left:var(--space-3)}.site-header .spacer{flex:1}.hero{align-items:center;gap:var(--space-7);max-width:var(--content-max);padding:var(--space-8) var(--gutter) var(--space-8);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);margin:0 auto;display:grid}.hero h1{font-size:var(--text-3xl);margin:var(--space-3) 0 var(--space-4);max-width:14ch}.hero p{color:var(--ink-muted);font-size:var(--text-lg);margin:0 0 var(--space-6);max-width:46ch}.hero__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__feature{color:inherit;perspective:1600px;justify-items:center;text-decoration:none;display:grid;position:relative}.hero__feature:before{background:radial-gradient(closest-side, var(--paper-raised), transparent);content:"";position:absolute;inset:-10% -20%}.hero__feature .book{width:min(360px,70%)}.hero__feature .book__body{transform:rotateY(calc(-18deg + var(--tx,0deg))) rotateX(calc(4deg + var(--ty,0deg)));transition:transform var(--dur-page) var(--ease-emphasised)}.hero__feature:hover .book__body{transition-duration:var(--dur-panel)}.hero__feature .book__cover{box-shadow:inset 3px 0 6px #0000001f, var(--shadow-3)}.hero__caption{color:var(--ink-muted);font-size:var(--text-sm);margin-top:var(--space-5);text-align:center;position:relative}.hero__caption strong{color:var(--ink);font-size:var(--text-md);display:block}.shelf{max-width:var(--content-max);padding:0 var(--gutter) var(--space-9);margin:0 auto}.filters{border-top:1px solid var(--line);align-items:center;gap:var(--space-4);padding:var(--space-5) 0 var(--space-7);flex-wrap:wrap;justify-content:space-between;display:flex}.filters .input-with-icon{flex:0 320px}.filters .input{border-radius:var(--radius-pill)}.grid{gap:var(--space-8) var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));display:grid}@media (width>=1280px){.grid{grid-template-columns:repeat(4,1fr)}}.card{color:inherit;gap:var(--space-5);grid-template-rows:auto 1fr;text-decoration:none;display:grid}.card__shelf{aspect-ratio:.82;justify-content:center;align-items:end;padding:0 12%;display:flex}.card__shelf .book{width:100%}.card h3{font-size:var(--text-lg);letter-spacing:-.01em;line-height:var(--leading-snug)}.card p{color:var(--ink-muted);font-size:var(--text-sm);margin:var(--space-1) 0 var(--space-2)}.card .meta{color:var(--ink-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);align-items:center;gap:var(--space-2);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.empty{color:var(--ink-muted);gap:var(--space-3);padding:var(--space-9) 0;text-align:center;justify-items:center;display:grid}.empty h3{font-size:var(--text-xl)}.empty p{margin:0}.site-footer{background:var(--ink);color:var(--stage-ink-muted);font-size:var(--text-sm)}.site-footer__inner{align-items:center;gap:var(--space-5);max-width:var(--content-max);padding:var(--space-7) var(--gutter);flex-wrap:wrap;justify-content:space-between;margin:0 auto;display:flex}.site-footer nav{gap:var(--space-5);flex-wrap:wrap;display:flex}.site-footer a{color:var(--stage-ink);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer img{height:24px}@media (width<=860px){.hero{gap:var(--space-6);padding-top:var(--space-6);grid-template-columns:1fr}.hero__feature{order:-1}.hero__feature .book{width:min(240px,60%)}.filters .input-with-icon{flex-basis:100%}}@media (width<=560px){.brand span,.site-header .button span{display:none}.grid{gap:var(--space-7)}.card__shelf{aspect-ratio:auto;padding:0 22%}}main{overflow-x:clip}
