/* Impressum and Datenschutz: plain reading pages in the landing page's colours and type. */
:root {
  --paper: #F5F0E6; --card: #FFFDF8; --ink: #1F2A24; --muted: #5F6A63; --forest: #2F6B4F; --on-forest: #FFFFFF;
  --sage: #D5E7D9; --line: #E2DACB; --sun: #E2A53C;
  --display: "DM Serif Display", Georgia, "Times New Roman", serif;
  --body: "Poppins", "Segoe UI", system-ui, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0F1613; --card: #17211C; --ink: #E8EDE9; --muted: #9AA59E; --forest: #7CC4A0; --on-forest: #0F1613;
    --sage: #24382E; --line: #2A3630; --sun: #F0C26B; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #0F1613; --card: #17211C; --ink: #E8EDE9; --muted: #9AA59E; --forest: #7CC4A0; --on-forest: #0F1613;
  --sage: #24382E; --line: #2A3630; --sun: #F0C26B; color-scheme: dark;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.65 var(--body); -webkit-font-smoothing: antialiased; }
a { color: var(--forest); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--sun); outline-offset: 3px; border-radius: 6px; }
.wrap { max-width: 760px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 40px); }

.nav { border-bottom: 1px solid var(--line); background: var(--paper); }
.nav .wrap { display: flex; align-items: center; gap: 16px; padding-block: 12px; max-width: 1120px; }
.brand { display: flex; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; font: 1.45rem/1 var(--display); }
.brand svg { color: var(--forest); }
.lang { display: inline-flex; margin-left: auto; padding: 2px; border-radius: 30px; border: 1px solid var(--line); background: var(--card); }
.lang button { font: 600 .75rem var(--body); letter-spacing: .04em; border: 0; border-radius: 30px; padding: 4px 10px; background: transparent; color: var(--muted); cursor: pointer; }
.lang button[aria-pressed="true"] { background: var(--forest); color: var(--on-forest); }

main { padding-block: clamp(36px, 6vw, 72px); }
h1 { font: 400 clamp(2.2rem, 1.6rem + 2.4vw, 3.2rem)/1.1 var(--display); margin: 0 0 8px; }
h2 { font-size: 1.15rem; font-weight: 600; margin: 36px 0 8px; }
p, ul, address { margin: 0 0 12px; }
address { font-style: normal; }
ul { padding-left: 1.2em; }
li { margin-bottom: 4px; }
.lede { color: var(--muted); margin-bottom: 28px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 20px 22px; margin-bottom: 12px; }
.muted { color: var(--muted); font-size: .9rem; }
article[hidden] { display: none; }

footer { border-top: 1px solid var(--line); padding-block: 22px; font-size: .86rem; color: var(--muted); }
footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 18px; max-width: 1120px; }
footer a { color: var(--muted); }
