/* welkin9.com: Keepsake's product site (backend README, "The product site").
   Plain pages, no scripts. Colours follow the app: parchment and ink. */
:root { --page:#f6efe2; --card:#fffaf1; --ink:#2c2418; --mid:#6b5d4a; --line:#e3d6bf; --accent:#7c3aed; }
@media (prefers-color-scheme: dark) { :root { --page:#1c1813; --card:#26201a; --ink:#efe6d6; --mid:#b3a58f; --line:#3a3127; --accent:#a78bfa; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--page); color:var(--ink); font:17px/1.6 Georgia, "Iowan Old Style", "Times New Roman", serif; }
a { color:var(--accent); }
header, main, footer { max-width:880px; margin:0 auto; padding:0 20px; }
header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:22px; padding-bottom:10px; }
header .brand { font-size:24px; font-weight:700; text-decoration:none; color:var(--ink); letter-spacing:.3px; }
header nav a { margin-left:16px; color:var(--mid); text-decoration:none; font-size:15px; }
header nav a:hover { color:var(--ink); }
.hero { padding:44px 0 26px; }
.hero h1 { font-size:44px; line-height:1.15; margin:0 0 12px; font-weight:400; }
.hero p { font-size:20px; color:var(--mid); max-width:640px; margin:0 0 22px; }
.badges { display:flex; flex-wrap:wrap; gap:10px; }
.badge { display:inline-block; padding:10px 16px; border-radius:10px; background:var(--ink); color:var(--page); text-decoration:none; font-family:system-ui, sans-serif; font-size:14px; }
.badge.soon { background:transparent; color:var(--mid); border:1px dashed var(--line); }
h2 { font-weight:400; font-size:28px; margin:42px 0 14px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.card h3 { margin:0 0 6px; font-size:19px; }
.card p { margin:0; color:var(--mid); font-size:16px; }
.legal h2 { font-size:22px; margin-top:30px; }
.legal p, .legal li { color:var(--ink); }
.muted { color:var(--mid); }
.small { font-size:14px; }
footer { padding:40px 20px 50px; color:var(--mid); font-size:14px; }
footer a { color:var(--mid); margin-right:14px; }
@media (max-width:560px) { .hero h1 { font-size:34px; } header nav a { margin-left:10px; } }
.page-title { font-weight:400; }
.badges.spaced { margin-top:14px; }
