/* Palette — "old library": oxblood leather, forest-green cloth, aged parchment, antique brass, walnut ink */
:root{
  --parchment:#efe4cc;   /* page background, aged paper */
  --vellum:#f7efdc;      /* lighter panels */
  --oxblood:#5b1a1e;     /* leather binding — header, primary buttons */
  --oxblood-dk:#3e1114;
  --forest:#233b2e;      /* library-cloth green — newsletter band */
  --forest-dk:#182a20;
  --brass:#98722e;       /* antique gold tooling */
  --brass-lt:#d6b674;
  --walnut:#2e2118;      /* ink / body text */
  --walnut-dk:#1d1510;   /* footer */
  --muted:#6e5d4a;
  --rule:#d5c3a0;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.25  0 0 0 0 0.12  0 0 0 .32 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--parchment);background-image:var(--grain),radial-gradient(ellipse at 50% 0,rgba(255,250,235,.7),rgba(0,0,0,0) 60%);background-blend-mode:multiply,normal;background-size:220px 220px,100% 100%;color:var(--walnut);font-family:"EB Garamond",Garamond,Georgia,serif;font-size:19px;line-height:1.6}
main,footer,header.site{position:relative;z-index:1}
header.site{z-index:10}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--oxblood);line-height:1.2;margin:0 0 .5em}
a{color:var(--oxblood)}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
/* leather header */
header.site{background:var(--oxblood);background-image:var(--grain),linear-gradient(180deg,#6a2126 0,var(--oxblood) 55%,var(--oxblood-dk) 100%);background-blend-mode:soft-light,normal;color:var(--vellum);border-bottom:1px solid var(--brass);box-shadow:0 1px 0 var(--brass-lt) inset,0 3px 0 -1px var(--oxblood-dk),0 4px 0 -1px var(--brass);position:sticky;top:0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--vellum)}
.brand img{height:72px;width:auto;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.brand .name{font-family:"Playfair Display",serif;font-size:22px;letter-spacing:.5px;color:#f4e8cf}
.brand .sub{display:block;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--brass-lt)}
nav a{color:#efe1c4;text-decoration:none;margin-left:26px;font-size:15px;letter-spacing:2px;text-transform:uppercase}
nav a:hover{color:var(--brass-lt)}
/* hero */
.hero{text-align:center;padding:84px 0 70px;border-bottom:1px solid var(--rule)}
.eyebrow{font-size:14px;letter-spacing:4px;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.hero h1{font-size:58px;font-weight:600;margin-bottom:18px;color:var(--walnut)}
.hero h1 em{color:var(--oxblood);font-style:italic}
.hero p{max-width:740px;margin:0 auto 30px;font-size:21px;color:#3f3024}
.rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 28px;color:var(--brass);font-size:16px}
.rule:before,.rule:after{content:"";width:60px;height:1px;background:var(--brass)}
.btn{display:inline-block;padding:12px 26px;border-radius:2px;text-decoration:none;font-family:"Playfair Display",serif;font-size:16px;letter-spacing:1px;transition:.2s}
.btn-primary{background:var(--oxblood);color:#f4e8cf;border:1px solid var(--oxblood-dk);box-shadow:inset 0 0 0 1px rgba(214,182,116,.35)}
.btn-primary:hover{background:var(--oxblood-dk)}
.btn-ghost{border:1px solid var(--walnut);color:var(--walnut);margin-left:10px}
.btn-ghost:hover{background:var(--walnut);color:var(--vellum)}
.formats{margin-top:26px;font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
/* sections */
section{padding:80px 0}
.section-head{text-align:center;margin-bottom:46px}
.section-head h2{font-size:40px}
.section-head p{color:var(--muted);margin:0 auto;max-width:720px;text-wrap:balance}
/* catalogue */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 30px}
.book{display:flex;flex-direction:column;text-align:center}
.cover{aspect-ratio:2/3;width:100%;overflow:hidden;box-shadow:0 2px 4px rgba(40,20,5,.18),0 14px 28px rgba(46,33,24,.28);border-radius:2px 4px 4px 2px;background:#d9ccb0;transition:transform .25s}
.book:hover .cover{transform:translateY(-4px)}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.cover.ph{background:var(--forest);background-image:var(--grain),linear-gradient(160deg,#2d4a3a 0,var(--forest-dk) 100%);background-blend-mode:soft-light,normal;color:#f1e4c6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:6px double var(--brass)}
.cover.ph .t{font-family:"Playfair Display",serif;font-size:24px;line-height:1.2}
.cover.ph .a{margin-top:14px;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--brass-lt)}
.cover.ph .soon{margin-top:22px;font-size:12px;letter-spacing:2px;text-transform:uppercase;border-top:1px solid var(--brass);padding-top:8px;color:var(--brass-lt)}
.book h3{font-size:20px;margin:18px 0 2px;color:var(--walnut)}
.book .author{color:var(--muted);font-style:italic;font-size:17px}
.book .ed{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#7f5f24;margin:4px 0 14px;min-height:18px}
.book .buy{margin-top:auto;align-self:center;padding:8px 18px;font-size:14px}
/* about */
.about{background:rgba(247,239,220,.75);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.about .cols{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.about .quote{font-family:"Playfair Display",serif;font-style:italic;font-size:28px;color:var(--oxblood);border-left:3px solid var(--brass);padding-left:24px;line-height:1.4}
.features{list-style:none;padding:0;margin:24px 0 0}
.features li{padding:8px 0 8px 30px;position:relative;border-bottom:1px dotted var(--rule)}
.features li:before{content:"\2726";position:absolute;left:4px;color:var(--brass)}
/* newsletter — forest-green cloth */
.newsletter{background:var(--forest);background-image:var(--grain),linear-gradient(180deg,#28432f,var(--forest-dk));background-blend-mode:soft-light,normal;color:#efe4cc;text-align:center;border-top:3px double var(--brass);border-bottom:3px double var(--brass)}
.newsletter .eyebrow{color:var(--brass-lt)}
.newsletter h2{color:#f4e8cf;font-size:38px}
.newsletter h2 em{color:var(--brass-lt)}
.newsletter p{max-width:640px;margin:0 auto 26px;color:#d9ceb4}
.signup{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.signup input{padding:12px 16px;min-width:300px;border:1px solid var(--brass);background:var(--vellum);font-family:inherit;font-size:17px;color:var(--walnut)}
.btn-gold{background:var(--brass);color:var(--walnut-dk);border:1px solid var(--brass);font-weight:600}
.btn-gold:hover{background:var(--brass-lt)}
.note{font-size:14px;color:#a9a88e;margin-top:14px}
/* contact */
.contact{text-align:center}
.contact .email{font-family:"Playfair Display",serif;font-size:26px;color:var(--oxblood);text-decoration:none;border-bottom:1px solid var(--brass)}
/* footer — dark walnut */
footer{background:var(--walnut-dk);background-image:var(--grain);background-blend-mode:soft-light;color:#bfae92;padding:34px 0;font-size:15px;border-top:1px solid var(--brass)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
footer .fbrand{display:flex;align-items:center;gap:14px}
footer .fbrand img{height:54px;width:auto;opacity:.9}
footer a{color:var(--brass-lt);text-decoration:none;margin-left:18px}
/* privacy page */
.page{max-width:780px;margin:0 auto;padding:70px 28px}
.page h1{font-size:44px}
.page h2{font-size:24px;margin-top:1.6em}
/* responsive */
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:46px}}
@media(max-width:760px){header.site{position:static}.grid{grid-template-columns:repeat(2,1fr);gap:30px 18px}.about .cols{grid-template-columns:1fr;gap:30px}nav{display:flex;flex-wrap:wrap;gap:6px 16px}nav a{margin:0;font-size:12px;letter-spacing:1.5px}.brand img{height:54px}.brand .name{font-size:19px}.hero{padding:56px 0}.hero h1{font-size:36px}.section-head h2{font-size:32px}.btn-ghost{margin:10px 0 0}.signup input{min-width:0;width:100%}footer a{margin:0 18px 0 0}}
