:root {
  --bg: #050505;
  --surface: #111113;
  --border: #26262a;
  --text: #f5f5f7;
  --text-muted: #a1a1a6;
  --text-dim: #6e6e73;
  --accent: #e8c547;
  color-scheme: dark;
}

* { box-sizing: border-box; }

html, body { margin: 0; background: var(--bg); color: var(--text); }

body {
  font: 16px/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a { color: var(--accent); }

header, main, footer { width: 100%; max-width: 720px; margin: 0 auto; padding: 0 16px; }

header { padding-top: 24px; }

.wordmark { color: var(--text); font-weight: 700; letter-spacing: 0.12em; text-decoration: none; }

main { flex: 1; padding-top: 32px; padding-bottom: 48px; }

main.home { display: flex; flex-direction: column; justify-content: center; text-align: center; }

.hero { font-size: clamp(3rem, 14vw, 6rem); letter-spacing: 0.12em; margin: 0; }
.tagline { color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.8rem; margin: 0 0 2.5rem; }
.lead { font-size: 1.25rem; margin: 0 0 0.5rem; }
.lead[lang="de"] { color: var(--text-muted); }
.contact { margin-top: 2.5rem; }

.doc h1, .doc h2, .doc h3 { overflow-wrap: anywhere; hyphens: auto; }
.doc h1 { font-size: 1.8rem; margin: 0 0 0.25rem; }
.doc .meta { color: var(--text-dim); font-size: 0.85rem; margin: 0 0 2rem; }
.doc h2 { font-size: 1.05rem; margin: 2rem 0 0.6rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.doc h3 { font-size: 0.95rem; margin: 1.2rem 0 0.4rem; }
.doc p, .doc li, .doc td { color: var(--text-muted); }
.doc p { margin: 0 0 0.8rem; overflow-wrap: anywhere; }
.doc ul { padding-left: 1.4rem; }
.doc hr { border: 0; border-top: 1px solid var(--border); margin: 2rem 0; }
.doc blockquote { margin: 0 0 1.5rem; padding: 1rem 1.2rem; background: var(--surface); border-left: 3px solid var(--accent); border-radius: 6px; }
.doc blockquote p:last-child { margin-bottom: 0; }
.doc strong { color: var(--text); }

.table { overflow-x: auto; margin: 0 0 1rem; }
table { border-collapse: collapse; width: 100%; font-size: 0.85rem; }
th, td { text-align: left; vertical-align: top; padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--border); }
th { color: var(--text); }

footer { display: flex; gap: 1.5rem; justify-content: center; padding-top: 16px; padding-bottom: 32px; font-size: 0.85rem; border-top: 1px solid var(--border); }
footer a { color: var(--text-dim); text-decoration: none; }
footer a:hover { color: var(--text-muted); }
