/* polity.one: one stylesheet for polity.one, home.polity.one and its privacy page. */
:root { --ink: #0A0A0A; --muted: #555555; --body: #3A3A3A; --ground: #FFFFFF; --accent: #E5372C; --measure: 760px; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--ground); color: var(--ink); }
body {
  min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column; gap: 48px;
  font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
  padding: clamp(24px, 4vw, 56px) clamp(16px, 5vw, 80px);
}
main { display: flex; flex-direction: column; gap: 16px; padding-top: clamp(32px, 16vh, 160px); }
h1 {
  margin: 0 0 8px; font-size: clamp(32px, 3.2vw, 48px); line-height: .88;
  font-weight: 800; letter-spacing: -0.055em; overflow-wrap: anywhere;
}
h1 span { color: var(--accent); }
h2 { margin: 16px 0 0; font-size: 18px; font-weight: 800; letter-spacing: -0.02em; max-width: var(--measure); }
p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--body); max-width: var(--measure); }
p.lede { font-size: 17px; }
a { color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 3px; }
footer {
  margin-top: auto;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-size: 12px; font-weight: 500; color: var(--muted);
}
footer a { color: var(--muted); }
