/* NightIgnite — "velvet midnight": deep plum-black canvas, muted rose accent,
   soft serif display and generous radii. Tactile, low-light, intimate. */
:root {
  --bg: #17111a; --fg: #f4ecf3; --card: #201826; --surface: #201826;
  --secondary: #261d2d; --muted-fg: #b3a3b8;
  --primary: #8e2d4c; --primary-fg: #fdf6f8; --accent: #d98fa8; --accent-soft: #2a1c28;
  --border: #35283d; --danger: #d0507a; --star: #e0a6bd;
  --radius: 20px; --radius-sm: 12px; --radius-lg: 26px;
  --serif: "Playfair Display", "Cormorant Garamond", ui-serif, Georgia, serif;
}
body { background: var(--bg); color: var(--fg); }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; }
h1 { font-size: clamp(2.3rem, 4.8vw, 3.4rem); }
.hero { background: radial-gradient(880px 340px at 15% -10%, #2d1a2c 0%, transparent 62%); border-bottom: 1px solid var(--border); }
.hero .kicker { background: #2a1c28; color: var(--accent); letter-spacing: .16em; text-transform: uppercase; font-size: .72rem; }
.hero .lede { color: #d8c9d6; }
.btn { background: linear-gradient(180deg, #a03659, #8e2d4c); color: #fff; border: 0; border-radius: 999px;
  box-shadow: 0 6px 18px rgba(142,45,76,.28); }
.btn:hover { box-shadow: 0 10px 24px rgba(142,45,76,.4); transform: translateY(-1px); }
.btn.ghost { background: transparent; color: #e9d9e6; border: 1px solid var(--border); box-shadow: none; }
.pcard .btn.small.wide { background: #8e2d4c; color: #fff; border-radius: 999px; }
header.site { background: rgba(23,17,26,.9); border-bottom: 1px solid var(--border); }
nav.main a { color: #d8c9d6; }
nav.main a:hover, nav.main a[aria-current="page"] { background: #261d2d; color: var(--accent); }
.topbar { background: #0f0a12; color: #d3bfd0; }
.logo .mark { background: #8e2d4c; color: #fff; border-radius: 999px; }
.catcard, .postcard, .pcard, .deal, .tool { background: var(--card); border-color: var(--border); border-radius: var(--radius); }
.pcard .thumb { background: #fff; }
.pcard .price { font-family: var(--serif); font-size: 1.3rem; color: var(--accent); }
.catcard .ico { background: #2a1c28; color: var(--accent); border-radius: 999px; }
.chip { background: #2a1c28; color: var(--accent); }
section.tint { background: #1c1520; }
footer.site { background: #0f0a12; color: #b9a7bd; }
footer.site h4 { color: var(--accent); }
footer.site a { color: #f0e3ee; }
.searchbox { background: #201826; border-color: var(--border); }
.answer, .callout.info { background: #201826; border-color: var(--border); }
.answer strong, .callout.info > strong { color: var(--accent); }
.prose table th { background: #261d2d; }
details.faq { background: var(--card); border-color: var(--border); }
