:root{
  --bg:#2d2a28;        /* deep stone brown/gray */
  --panel:#1f1d1b;     /* darker header/footer */
  --text:#f9e6c5;      /* warm parchment */
  --gold:#f2c47a;      /* golden accent */
  --line:#3b3734;      /* subtle border */
  --font: Georgia, serif;
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--text); font-family:var(--font); line-height:1.7; }
a{ color:var(--gold); text-decoration:none; }
header, footer{ background:var(--panel); padding:1rem; }
h1,h2,h3{ color:var(--gold); margin:0 0 .5rem 0; }
nav a{ margin:0 .25rem; }
main{ padding:2rem; max-width:960px; margin:0 auto; }
.card{ background:rgba(0,0,0,.15); padding:1.25rem; border:1px solid var(--line); border-radius:8px; }
img.cover{ max-width:300px; height:auto; border:3px solid var(--gold); }
.grid{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.btn{
  display:inline-block; padding:.6rem 1rem; border:1px solid var(--gold); border-radius:6px;
  color:var(--gold);
}
.btn:hover{ filter:brightness(1.1); }
/* Background: subtle sunset gradient from your cover */
body{
  background: linear-gradient(180deg, #2d2a28 0%, #3a1f1a 40%, #5a2a15 75%, #2d2a28 100%);
}

/* Header/nav layout */
.header-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
#menu-toggle{
  display:none; background:transparent; border:1px solid var(--gold); color:var(--gold);
  padding:.35rem .6rem; border-radius:6px; font-size:1rem; cursor:pointer;
}
#site-nav a{ margin:0 .35rem; }

/* Mobile */
@media (max-width: 740px){
  #menu-toggle{ display:inline-block; }
  #site-nav{ display:none; padding-top:.5rem; }
  #site-nav.open{ display:block; }
  #site-nav a{ display:block; padding:.35rem 0; }
  .header-row{ align-items:flex-start; }
  img.cover{ max-width:220px; }
}