:root{
  --ink:#2b2118; --paper:#f7f1e5; --card:#fffdf8; --accent:#9a3f16; --accent2:#c98a2d;
  --muted:#6f5f4c; --line:#e2d5bd;
}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);line-height:1.55}
.wrap{max-width:1020px;margin:0 auto;padding:0 20px}
.site-header{background:var(--ink);color:var(--paper);padding:20px 0 16px}
.brand{font-size:28px;letter-spacing:.5px;font-variant:small-caps}
.brand span{color:var(--accent2)}
.tagline{color:#cbb99a;font-size:15px;margin-top:2px}
.hero{display:flex;gap:36px;padding:44px 0 10px;align-items:flex-start;flex-wrap:wrap}
.hero-cover img{width:300px;max-width:80vw;height:auto;border:1px solid var(--line);box-shadow:0 10px 30px rgba(43,33,24,.25)}
.hero-text{flex:1 1 340px;min-width:300px}
.kicker{text-transform:uppercase;letter-spacing:2px;color:var(--accent);font-size:13px;margin:0 0 6px}
h1{font-size:42px;margin:0 0 12px;line-height:1.1}
.lede{font-size:19px}
form{margin-top:20px;background:var(--card);border:1px solid var(--line);padding:18px;border-radius:8px}
form label{font-weight:bold;font-size:14px}
.form-row{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.form-row input{flex:1 1 220px;padding:12px;font-size:16px;border:1px solid #b9a582;border-radius:6px;font-family:inherit}
button{background:var(--accent);color:#fff;border:0;padding:12px 20px;font-size:16px;border-radius:6px;cursor:pointer;font-family:inherit}
button:hover{background:#7e3311}
button:disabled{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-msg{min-height:1.4em;margin:10px 0 0}
.form-msg.ok{color:#2e6b21}
.form-msg.err{color:#a12222}
.books{padding:40px 0 20px}
.books h2{font-size:30px;margin:0 0 4px}
.books-sub{color:var(--muted);margin:0 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center}
.card img{width:200px;height:auto;box-shadow:0 6px 18px rgba(43,33,24,.22)}
.card h3{margin:14px 0 2px;font-size:22px}
.series{color:var(--accent);font-variant:small-caps;letter-spacing:.5px;margin:0 0 8px}
.hook{color:var(--muted);font-size:15px;min-height:3.2em}
.btn{display:inline-block;background:var(--accent2);color:#1d1408;text-decoration:none;padding:10px 18px;border-radius:6px;font-weight:bold}
.btn:hover{background:#b57a24}
.btn.placeholder{background:#d8cbae;color:#6f5f4c;cursor:not-allowed}
.soon{font-size:12px;color:var(--muted);margin:6px 0 0}
.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:22px 0 34px;color:var(--muted);font-size:14px}
.site-footer .fine{max-width:640px}
@media (max-width:640px){h1{font-size:33px}.hero{padding-top:28px}}
