:root{--ink:#3b1e16;--onink:#fbf6ec;--paper:#f7f1e6;--card:#fffdf8;--soft:#efe4d0;--muted:#6e5a4c;--line:#e3d6c0;--accent:#d9a441;--onaccent:#2a140e;--accentdark:#8f6519;--focus:#e8b84f;
--display:"Lora",Georgia,"Times New Roman",serif;--body:"Libre Franklin",system-ui,-apple-system,"Segoe UI",sans-serif;--r:4px;--btnr:3px}
body{background:var(--paper)}
.top{border-bottom:3px solid var(--accent)}
.bar{background:#2a140e;color:#f3e3c3;letter-spacing:.04em;text-transform:none;font-size:12.5px}
.logo{font-style:italic}
/* compact book-first header instead of a hero */
.bookhead{background:var(--soft);border-bottom:1px solid var(--line);padding:18px 0 14px;margin:0}
.bookhead h1{font-size:clamp(22px,4.6vw,34px);margin:0 0 4px}
.bookhead h1 span{display:block;font:500 14px/1.3 var(--body);color:var(--muted);letter-spacing:.02em;margin-top:4px}
.bookhead p{margin:6px 0 12px;max-width:760px}
/* shelf spines: each subject as a book spine */
.spines{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin;align-items:flex-end}
.spines a{flex:0 0 auto;display:flex;flex-direction:column;justify-content:space-between;width:58px;height:150px;padding:8px 4px;border-radius:3px 3px 1px 1px;background:var(--c);color:#fff;text-decoration:none;box-shadow:inset -4px 0 0 #0002,inset 3px 0 0 #fff2}
.spines a:nth-child(3n){height:136px}.spines a:nth-child(4n){height:162px}
.spines a span{writing-mode:vertical-rl;transform:rotate(180deg);font:600 13px/1.1 var(--display);margin:auto}
.spines a small{font-size:11px;text-align:center}
.spines a:hover{filter:brightness(1.12)}
/* books are tall: cover-shaped photos, never cropped */
.ph{aspect-ratio:2/3;background:#f1ebe0}
.ph img{object-fit:contain;padding:6px}
.card{border-radius:2px;border-color:var(--line);box-shadow:0 1px 0 var(--line)}
.meta h3{font:600 14px/1.3 var(--display)}
.tag{text-transform:none;letter-spacing:0;font-size:12px;font-style:italic}
.tag:before{display:none}
/* shelf rows scroll sideways on phones, like a real shelf */
.shelfsec{margin:30px auto}
.shelf{display:grid;grid-auto-flow:column;grid-auto-columns:42%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;border-bottom:8px solid #8a5a3c;box-shadow:0 6px 0 -2px #5a3424}
.shelf .card{scroll-snap-align:start}
@media(min-width:700px){.shelf{grid-auto-columns:23%}}
@media(min-width:1050px){.shelf{grid-auto-columns:15.5%}}
.sechead h2{font-size:clamp(20px,3.4vw,28px)}
.hero{background:var(--ink)}
ul.dir{list-style:none;padding:0}ul.dir li{padding:.6rem 0;border-bottom:1px solid var(--line)}
.az{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.az a{display:inline-block;min-width:2.2rem;text-align:center;padding:.35rem .5rem;border:1px solid var(--line);border-radius:3px;text-decoration:none}
.btn{text-transform:none}
/* cover-style placeholder for titles the store has not photographed */
.noph.cover{inset:6px 12% 6px 12%;border-radius:2px 5px 5px 2px;padding:16% 10% 18% 16%;background:linear-gradient(90deg,#0003 0 7%,#fff1 7% 8%,transparent 8%),var(--c);box-shadow:0 2px 6px #0003,inset 0 0 0 5px #ffffff14}
.noph.cover .t1{font-family:var(--display);font-weight:600;font-style:italic;letter-spacing:.01em}
.noph.cover .t2{text-transform:none;letter-spacing:.02em;font-size:11.5px;border-top:1px solid #fff6;padding-top:6px;margin-top:2px}
.noph.cover em{bottom:10px;opacity:.6}
.gallery .main.isnoimg{aspect-ratio:2/3;max-width:420px;margin:0 auto;background:#f1ebe0}
