/* Memora public site — brand tokens from docs/design/design-tokens.json */
:root { --plum: #6E456A; --ivory: #FFF8F2; --parchment: #F2E5DB; --espresso: #332923; --muted: #6B5F57; --border: #E2D3C6; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ivory); color: var(--espresso); font: 400 17px/1.6 Manrope, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
a { color: var(--plum); overflow-wrap: anywhere; }
header, main, footer { max-width: 760px; margin: 0 auto; padding: 0 20px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; padding-bottom: 8px; }
header img { height: 34px; width: auto; display: block; }
nav { display: flex; gap: 16px; flex-wrap: wrap; font-weight: 600; font-size: 15px; }
nav a { text-decoration: none; }
h1, h2 { font-family: Fraunces, Georgia, serif; font-weight: 600; line-height: 1.2; }
h1 { font-size: 36px; margin: 32px 0 8px; }
h2 { font-size: 22px; margin: 32px 0 8px; }
.lead { font-size: 19px; color: var(--muted); }
.meta { color: var(--muted); font-size: 14px; }
.card { background: var(--parchment); border-radius: 16px; padding: 20px 24px; margin: 24px 0; }
.hero { padding: 24px 0 8px; }
.hero h1 { font-size: 42px; }
ul { padding-left: 22px; }
li { margin: 6px 0; }
footer { border-top: 1px solid var(--border); margin-top: 48px; padding-top: 16px; padding-bottom: 32px; color: var(--muted); font-size: 14px; }
@media (max-width: 420px) { h1, .hero h1 { font-size: 30px; } body { font-size: 16px; } }
