.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;border:1px solid var(--line);font-weight:700;font-size:.9rem;cursor:pointer;transition:.2s}.btn.primary{background:linear-gradient(135deg,var(--orange),var(--crimson));color:#fff;border-color:transparent;box-shadow:0 10px 25px rgba(192,57,43,.2)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(192,57,43,.28)}.btn.secondary{background:rgba(255,255,255,.045);color:#eee}.btn.secondary:hover{background:rgba(255,255,255,.08)}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:rgba(255,255,255,.035);color:#b8bac1;white-space:nowrap}.pill.active{background:#fff;color:#171820;border-color:#fff}.buy-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(12px)}.buy-modal-card{width:min(560px,100%);border:1px solid var(--line);border-radius:24px;background:#151820;box-shadow:var(--shadow);padding:26px}.buy-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.close{border:1px solid var(--line);background:#101218;color:#fff;border-radius:50%;width:36px;height:36px;cursor:pointer}.modal-retailers{display:grid;gap:10px;margin-top:20px}.modal-retailers a{padding:14px;border:1px solid var(--line);border-radius:14px;background:#101218}.modal-retailers a:hover{border-color:rgba(232,90,45,.55)}.modal-retailers small{display:block;color:#81848e;margin-top:3px}.reader-overlay{position:fixed;inset:0;z-index:90;overflow:auto;background:radial-gradient(circle at 80% 0,rgba(192,57,43,.08),transparent 32%),#0b0c10}.reader-overlay .reader-shell{max-width:900px;margin:0 auto;padding:30px 20px 100px}.reader-close{position:fixed;right:18px;top:18px;z-index:95}.reader-overlay.light{background:#f3f0e8;color:#24211d}.reader-overlay.light .reader-card,.reader-overlay.light .reader-tools{background:rgba(255,255,255,.85);border-color:rgba(0,0,0,.1)}.reader-overlay.light .reader-card p{color:#36322d}.reader-overlay.large .reader-card{font-size:1.3rem}.reader-overlay.small .reader-card{font-size:1rem}.missing-cover{height:100%;display:grid;place-items:center;padding:30px;text-align:center;color:#777;font-family:Cinzel,serif}

/* JSON-driven pages */
.page-wrap { width: 100%; }
.page-hero { margin-bottom: 24px; }
.prose-card { max-width: 900px; margin: 0 auto; padding: clamp(28px, 5vw, 60px); border: 1px solid rgba(255,255,255,.08); border-radius: 28px; background: rgba(22,26,35,.78); box-shadow: 0 20px 50px rgba(0,0,0,.22); }
.prose-card h2 { margin: 10px 0 22px; font-family: Cinzel, serif; }
.prose-card p { color: #c8c3bd; line-height: 1.9; }
.feature-quote { max-width: 900px; margin: 0 auto; padding: clamp(28px, 5vw, 60px); border-left: 2px solid #e85a2d; color: #f2eee8; font: 500 clamp(1.5rem, 3vw, 2.5rem)/1.45 Cinzel, serif; }
.feature-quote cite { display: block; margin-top: 20px; font: 500 .85rem/1.5 Inter, sans-serif; color: #aaa; }
.image-section { text-align: center; }
.image-section img { max-width: 100%; border-radius: 22px; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.image-caption { color: #999; margin-top: 10px; }
.generic-cards .book-card-body { min-height: 190px; }

@media(max-width:480px){.brand-logo{width:145px;height:36px}}
