/* Black Raven Mysteries — shared stylesheet for policy pages.
   Tokens copied from the main site (index.html) so these pages match. */

@import url("https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300&family=Hanken+Grotesk:wght@300;400;500;600&display=swap");

:root {
  --bg:        #1c1814;
  --bg-card:   #28231d;
  --line:      rgba(255,240,210,.10);
  --line-gold: rgba(201,168,106,.25);
  --text:      #ede5d4;
  --text-soft: #b5a990;
  --text-muted:#6e6456;
  --gold:      #c9a86a;
  --gold-hi:   #e7d09a;
  --ff-display:"Fraunces",Georgia,serif;
  --ff-body:   "Hanken Grotesk",system-ui,sans-serif;
  --ff-mono:   "Courier Prime",ui-monospace,monospace;
  --gutter: clamp(22px, 5vw, 64px);
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
body {
  background:var(--bg); color:var(--text);
  font-family:var(--ff-body); font-size:16.5px; font-weight:300; line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--gold); text-decoration:none; }
a:hover { color:var(--gold-hi); text-decoration:underline; }

/* ── Header ───────────────────────────────────────────── */
.p-head {
  border-bottom:1px solid var(--line);
  padding:22px var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.p-brand {
  font-family:var(--ff-display); font-size:19px; font-weight:400;
  letter-spacing:.02em; color:var(--text);
}
.p-brand:hover { color:var(--gold); text-decoration:none; }
.p-back {
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
}

/* ── Body ─────────────────────────────────────────────── */
.p-wrap { max-width:820px; margin:0 auto; padding:clamp(40px,7vw,76px) var(--gutter) 80px; }

.p-eyebrow {
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--gold); display:block; margin-bottom:14px;
}
h1 {
  font-family:var(--ff-display); font-weight:300; line-height:1.15;
  font-size:clamp(30px,5vw,44px); letter-spacing:-.01em; margin-bottom:12px;
}
.p-updated {
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.1em;
  color:var(--text-muted); margin-bottom:40px;
  padding-bottom:28px; border-bottom:1px solid var(--line);
}
h2 {
  font-family:var(--ff-display); font-weight:400; font-size:21px;
  color:var(--gold-hi); margin:38px 0 12px; letter-spacing:.01em;
}
h2:first-of-type { margin-top:0; }
p { margin-bottom:15px; color:var(--text-soft); }
p strong, li strong { color:var(--text); font-weight:500; }
ul, ol { margin:0 0 16px 22px; color:var(--text-soft); }
li { margin-bottom:9px; }

/* Key-value block used on the Contact page */
.p-card {
  background:var(--bg-card); border:1px solid var(--line-gold);
  padding:24px 26px; margin:26px 0;
}
.p-card dl { display:grid; grid-template-columns:auto 1fr; gap:10px 26px; }
.p-card dt {
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text-muted); padding-top:4px;
}
.p-card dd { color:var(--text); }
@media (max-width:540px) {
  .p-card dl { grid-template-columns:1fr; gap:2px; }
  .p-card dd { margin-bottom:14px; }
}

/* ── Footer ───────────────────────────────────────────── */
.p-foot {
  border-top:1px solid var(--line); padding:26px var(--gutter);
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--text-muted);
  display:flex; gap:10px 26px; flex-wrap:wrap; justify-content:center; text-align:center;
}
.p-foot a { color:var(--text-muted); }
.p-foot a:hover { color:var(--gold); }
