:root{
  --cream:#fbf7ef; --cream-2:#f4ecdf; --ink:#1a1714; --ink-soft:#4a423a;
  --wine:#6e1b2a; --rule:#ddd2c0; --white:#fffdf8; --gold:#c9ab7a;
  --display:"Cormorant Garamond",Georgia,serif;
  --body:"EB Garamond",Georgia,serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--wine)}
.wrap{max-width:1040px;margin:0 auto;padding-inline:24px}
.narrow{max-width:760px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(2.6rem,6vw,4.2rem);letter-spacing:.01em}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
section{padding-block:64px}
.site-head{border-bottom:1px solid var(--rule);background:var(--white)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:18px;gap:16px;flex-wrap:wrap}
.brand{font-family:var(--display);font-size:1.3rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.brand span{color:var(--wine)}
.site-head nav a{margin-left:20px;font-size:.95rem;text-decoration:none;color:var(--ink-soft)}
.hero{background:linear-gradient(180deg,var(--white),var(--cream));border-bottom:1px solid var(--rule)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-block:72px}
.eyebrow{font-size:.82rem;letter-spacing:.26em;text-transform:uppercase;color:var(--wine);margin-bottom:18px}
.lede{font-size:1.2rem;color:var(--ink-soft);max-width:34em}
.book{position:relative;margin:0;aspect-ratio:6/9;border-radius:3px;overflow:hidden;
  box-shadow:0 26px 50px rgba(26,23,20,.32);border-left:8px solid #3d0c14}
.book img{width:100%;height:100%;object-fit:cover}
.book figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;
  align-items:center;text-align:center;padding:9% 12% 8%}
.book .t{font-family:var(--display);font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.02;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gold);text-shadow:0 2px 10px rgba(0,0,0,.55)}
.book .s{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);line-height:2;
  text-shadow:0 2px 10px rgba(0,0,0,.55)}
.btn{display:inline-block;background:var(--wine);color:#fff;text-decoration:none;font-family:var(--display);
  font-size:1.2rem;letter-spacing:.06em;padding:15px 36px;border:0;border-radius:2px;cursor:pointer}
.btn:hover{background:#59141f}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-ghost{background:transparent;color:var(--wine);border:1px solid var(--wine)}
.btn-ghost:hover{background:var(--wine);color:#fff}
.grid{display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}
.card{background:var(--white);border:1px solid var(--rule);padding:26px;border-radius:3px}
.card h3{margin-bottom:.3em}
.card p{margin:0;color:var(--ink-soft);font-size:1rem}
.plates{display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.plate{background:var(--white);border:1px solid var(--rule);padding:18px;margin:0}
.plate .frame{aspect-ratio:3/4;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;background:var(--cream-2);overflow:hidden}
.plate img{width:100%;height:100%;object-fit:cover}
.plate figcaption{font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:12px;text-align:center}
table{width:100%;border-collapse:collapse;font-size:1rem;background:var(--white)}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--rule)}
th{width:42%;font-weight:600;font-family:var(--display);font-size:1.05rem}
.price-box{background:var(--white);border:1px solid var(--rule);border-top:4px solid var(--wine);padding:38px;text-align:center;max-width:560px;margin:0 auto}
.price{font-family:var(--display);font-size:3.4rem;line-height:1;color:var(--ink)}
.price small{font-size:1rem;color:var(--ink-soft);display:block;margin-top:10px;font-family:var(--body)}
.bump{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--cream-2);border:1px dashed var(--wine);
  padding:16px;margin:26px 0;font-size:1rem;border-radius:3px}
.bump input{margin-top:6px;width:18px;height:18px;accent-color:var(--wine);flex:none}
.note{font-size:.92rem;color:var(--ink-soft)}
details{background:var(--white);border:1px solid var(--rule);padding:18px 22px;margin-bottom:12px;border-radius:3px}
summary{font-family:var(--display);font-size:1.22rem;cursor:pointer}
details p{margin:.7em 0 0;color:var(--ink-soft);font-size:1rem}
footer{background:var(--ink);color:#cfc6b8;padding-block:48px;font-size:.95rem}
footer a{color:#e8d9b8;text-decoration:none;margin-right:18px}
footer .wrap>div{margin-bottom:14px}
.stack{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
.order{background:var(--white);border:1px solid var(--rule);padding:20px;margin-bottom:16px}
.order pre{white-space:pre-wrap;font-size:.9rem;font-family:ui-monospace,Menlo,monospace;background:var(--cream-2);padding:12px;overflow:auto}
input[type=text],input[type=password]{font:inherit;padding:10px 12px;border:1px solid var(--rule);background:var(--white);border-radius:2px}
@media(max-width:980px){ .plates{grid-template-columns:repeat(2,1fr)} }
@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr;padding-block:48px}
  .grid,.stack{grid-template-columns:1fr}
  .book{max-width:340px;margin:0 auto}
  body{font-size:18px}
}

/* Lost Books page: navy and gold, to match that cover. */
body.navy{--wine:#1b2a4a;--gold:#c9a961}
body.navy .btn:hover{background:#101d36}
body.navy .book{box-shadow:0 18px 40px rgba(15,28,51,.28)}
