/* Newsvault — one small stylesheet, no frameworks.
   The vault red and the serif voice come straight from the app. */

:root {
  --brand: #b82119;
  --brand-dark: #8f1a14;
  --ink: #1c1b1a;
  --paper: #faf8f5;
  --muted: #6b6862;
  --card: #ffffff;
  --rule: rgba(0, 0, 0, 0.10);
}
@media (prefers-color-scheme: dark) {
  :root {
    --brand: #e04a3f;
    --brand-dark: #b82119;
    --ink: #f4f1ea;
    --paper: #121110;
    --muted: #a09c94;
    --card: #1d1c1a;
    --rule: rgba(255, 255, 255, 0.12);
  }
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.wrap { max-width: 720px; margin: 0 auto; padding: 0 24px; }

h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; line-height: 1.2; }

/* Header */
header { padding: 64px 0 40px; text-align: center; }
header img.icon {
  width: 96px; height: 96px; border-radius: 22px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
}
header h1 { font-size: 44px; margin-top: 20px; }
header .tagline {
  font-family: Georgia, serif; font-style: italic;
  font-size: 20px; color: var(--muted); margin-top: 10px;
}

nav { text-align: center; padding-bottom: 8px; }
nav a { color: var(--brand); text-decoration: none; margin: 0 12px; font-weight: 600; }
nav a:hover { text-decoration: underline; }

/* Buttons */
.cta { text-align: center; margin: 28px 0 8px; }
.button {
  display: inline-block; background: var(--brand); color: #fff;
  padding: 13px 28px; border-radius: 999px; text-decoration: none;
  font-weight: 700; letter-spacing: 0.01em;
}
.button:hover { background: var(--brand-dark); }
.button.ghost {
  background: transparent; color: var(--brand);
  border: 1.5px solid var(--brand);
}
.soon { color: var(--muted); font-size: 14px; margin-top: 10px; }

/* Sections */
section { padding: 36px 0; border-top: 1px solid var(--rule); }
section h2 { font-size: 28px; margin-bottom: 18px; }

.feature { margin-bottom: 22px; }
.feature h3 { font-size: 19px; margin-bottom: 4px; }
.feature p { color: var(--muted); }

.shots { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin: 8px 0; }
.shots img {
  width: min(300px, 44vw); border-radius: 24px;
  border: 1px solid var(--rule);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
}

/* Prose pages (privacy, support) */
.prose { padding: 24px 0 8px; }
.prose h1 { font-size: 34px; margin: 26px 0 6px; }
.prose .date { color: var(--muted); font-style: italic; margin-bottom: 18px; }
.prose h2 { font-size: 22px; margin: 26px 0 8px; }
.prose p, .prose li { margin-bottom: 10px; }
.prose ul { padding-left: 22px; }
.prose strong { font-weight: 700; }
.prose a { color: var(--brand); }

.callout {
  background: var(--card); border: 1px solid var(--rule);
  border-radius: 14px; padding: 18px 20px; margin: 18px 0;
}

footer {
  border-top: 1px solid var(--rule);
  margin-top: 40px; padding: 28px 0 48px;
  text-align: center; color: var(--muted); font-size: 14px;
}
footer a { color: var(--brand); text-decoration: none; }
