:root {
  --bg: #15101F;
  --bg2: #221A30;
  --fg: #ECE4D2;
  --muted: #9A8FA8;
  --warm: #C8BDD0;
  --primary: #8B6BBE;
  --hairline: #362D43;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: radial-gradient(ellipse at top, var(--bg2) 0%, var(--bg) 70%) fixed, var(--bg);
  color: var(--fg);
  font-family: -apple-system, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.wrap { max-width: 720px; margin: 0 auto; padding: 56px 24px 96px; }
h1, h2, h3 { font-family: "New York", "Iowan Old Style", Palatino, Georgia, serif; font-weight: 400; letter-spacing: -0.01em; }
h1 { font-size: 2rem; margin: 0 0 6px; }
h2 { font-size: 1.25rem; margin: 2.2rem 0 .5rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; color: var(--muted); margin: 0 0 28px; }
p, li { color: rgba(236,228,210,.9); }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
ul { padding-left: 1.2rem; }
li { margin: .25rem 0; }
.muted { color: var(--muted); font-size: .9rem; }
nav.top { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 40px; font-size: .9rem; }
nav.top a { color: var(--warm); }
.mark { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.mark svg { width: 28px; height: 28px; }
.card { border: 1px solid var(--hairline); background: rgba(255,255,255,.03); border-radius: 18px; padding: 22px 24px; margin: 20px 0; }
footer { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--hairline); color: var(--muted); font-size: .85rem; display: flex; gap: 18px; flex-wrap: wrap; }
.cta { display: inline-block; margin-top: 8px; padding: 12px 22px; border-radius: 999px; background: var(--primary); color: #fff; font-weight: 500; }
