:root {
  --ink: #35242c;
  --muted: #78636b;
  --cream: #fffaf7;
  --rose: #bc4d75;
  --line: rgba(81, 50, 62, 0.12);
  --serif: "Fraunces", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
body { background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.7; margin: 0; }
a { color: var(--rose); }
header, footer { padding: 22px max(20px, calc((100vw - 820px) / 2)); }
header { border-bottom: 1px solid var(--line); }
.wordmark { color: var(--rose); font-family: var(--serif); font-size: 1.35rem; font-weight: 700; letter-spacing: -.05em; text-decoration: none; }
main { margin: auto; max-width: 820px; padding: 68px 20px 90px; }
.eyebrow { color: var(--rose); font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
h1, h2 { font-family: var(--serif); letter-spacing: -.045em; line-height: 1.1; }
h1 { font-size: clamp(2.7rem, 10vw, 4.8rem); margin: 8px 0 15px; }
h2 { font-size: 1.7rem; margin: 34px 0 7px; }
p, li { color: var(--muted); }
ul { padding-left: 20px; }
.updated { font-size: .8rem; }
footer { background: #38242e; color: rgba(255,255,255,.7); }
footer a { color: white; }
.footer-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 13px; }
.footer-button { background: none; border: 0; color: white; cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
.consent-banner { background: #fffaf7; border: 1px solid var(--line); border-radius: 16px; bottom: 14px; box-shadow: 0 10px 28px rgba(63,35,46,.18); left: 14px; padding: 17px; position: fixed; right: 14px; z-index: 100; }
.consent-copy strong { font-family: var(--serif); font-size: 1.2rem; }
.consent-copy p { font-size: .76rem; line-height: 1.45; margin: 4px 0 12px; }
.consent-actions { display: grid; gap: 7px; grid-template-columns: repeat(3,1fr); }
.consent-actions button, .consent-options button { background: var(--rose); border: 0; border-radius: 999px; color: white; cursor: pointer; font-size: .68rem; font-weight: 700; min-height: 38px; padding: 7px; }
.consent-options { display: grid; font-size: .76rem; gap: 7px; margin-bottom: 12px; }
@media(min-width:760px){ .consent-banner { left: auto; max-width: 580px; } }
