/* Privacy and imprint pages: the landing page's tokens and font, one reading column. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-variable.woff2') format('woff2');
}
:root {
  --bg: #e9f0ed; --surface: #f8faf9; --fg: #1a1a1a; --fg-2: #4a4a4a; --fg-3: #6e7874;
  --border: #c7d1cc; --mark: #f3e3b3;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg: #0d0f0e; --surface: #1c1f1e; --fg: #f0f4f2; --fg-2: #b0b8b4; --fg-3: #7a8480; --border: #2e3330; --mark: #4a3d16; color-scheme: dark; }
}
:root[data-theme="dark"] { --bg: #0d0f0e; --surface: #1c1f1e; --fg: #f0f4f2; --fg-2: #b0b8b4; --fg-3: #7a8480; --border: #2e3330; --mark: #4a3d16; color-scheme: dark; }

* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 1rem; line-height: 1.65;
  padding: 0 max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px));
}
main { max-width: 44rem; margin: 0 auto; padding-block: 3rem 4rem; }
header.legal-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 2.5rem; }
header.legal-top a { color: var(--fg-2); text-decoration: none; font-size: 0.9rem; }
header.legal-top a:hover { color: var(--fg); }
h1 { font-size: clamp(1.8rem, 5vw, 2.4rem); line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 0.5rem; text-wrap: balance; }
h2 { font-size: 1.2rem; letter-spacing: -0.01em; margin: 2.5rem 0 0.6rem; text-wrap: balance; }
h3 { font-size: 1rem; margin: 1.6rem 0 0.4rem; }
p, li { color: var(--fg-2); max-width: 65ch; }
p { margin: 0 0 0.9rem; }
ul { padding-left: 1.2rem; margin: 0 0 0.9rem; }
li { margin-bottom: 0.35rem; }
strong { color: var(--fg); }
a { color: var(--fg); }
.updated { color: var(--fg-3); font-size: 0.9rem; }
/* Placeholders the owner must fill in before publishing. */
mark { background: var(--mark); color: var(--fg); padding: 0 0.2em; border-radius: 0.2em; }
.table-wrap { overflow-x: auto; margin: 0 0 1rem; }
table { border-collapse: collapse; width: 100%; font-size: 0.92rem; }
th, td { text-align: left; vertical-align: top; padding: 0.5rem 0.6rem 0.5rem 0; border-bottom: 1px solid var(--border); color: var(--fg-2); }
th { color: var(--fg); font-weight: 600; }
footer.legal-foot { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--border); display: flex; gap: 1.25rem; flex-wrap: wrap; font-size: 0.85rem; }
footer.legal-foot a { color: var(--fg-3); text-decoration: none; }
footer.legal-foot a:hover { color: var(--fg); }
a:focus-visible { outline: 2px solid var(--fg); outline-offset: 2px; }
