:root{--bg:#0d0d0f;--panel:#16161a;--line:#2a2a31;--text:#e9e6df;--mute:#a19e95;--accent:#c8a14a;--accent2:#e0bb68}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.6}
.masthead{text-align:center;padding:72px 20px 56px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 0%,#1d1b14 0%,var(--bg) 70%)}
.kicker{letter-spacing:.28em;text-transform:uppercase;font-size:.75rem;color:var(--accent);margin:0 0 18px}
h1{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:900;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.08;margin:0 0 16px;letter-spacing:-.01em}
.tag{color:var(--mute);font-style:italic;font-family:"Playfair Display",Georgia,serif;margin:0;font-size:1.1rem}
.shelf{max-width:1180px;margin:0 auto;padding:64px 24px 40px}
h2{font-family:"Playfair Display",Georgia,serif;text-align:center;font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0 0 10px;position:relative}
h2 span{background:var(--bg);padding:0 22px;position:relative;z-index:1}
h2::before{content:"";position:absolute;left:0;right:0;top:52%;border-top:1px solid var(--line)}
.lead{text-align:center;color:var(--mute);margin:0 0 44px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:28px}
.book{display:flex;gap:22px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px;transition:border-color .2s,transform .2s}
.book:hover{border-color:var(--accent);transform:translateY(-2px)}
.cover{flex:0 0 150px;align-self:flex-start}
.cover img{display:block;width:150px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:3px;box-shadow:0 10px 26px rgba(0,0,0,.6)}
.info{display:flex;flex-direction:column;min-width:0}
h3{font-family:"Playfair Display",Georgia,serif;font-size:1.3rem;line-height:1.25;margin:0 0 4px}
.sub{margin:0 0 6px;color:var(--accent2);font-size:.9rem}
.by{margin:0 0 10px;color:var(--mute);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.desc{margin:0 0 16px;font-size:.93rem;color:#cfccc4}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.btn{display:inline-block;padding:9px 14px;border:1px solid var(--accent);color:#14110a;background:var(--accent);border-radius:3px;font-weight:600;font-size:.8rem;text-decoration:none;transition:background .15s}
.btn:hover,.btn:focus{background:var(--accent2);outline:none}
footer{text-align:center;border-top:1px solid var(--line);padding:36px 20px 52px;color:var(--mute);font-size:.9rem}
footer p{margin:4px 0}
.small{font-size:.78rem;opacity:.8}
@media(max-width:560px){.grid{grid-template-columns:1fr}.book{flex-direction:column;align-items:center;text-align:center}.cover{flex:none}.btns{justify-content:center}.masthead{padding:52px 16px 40px}}