/* Rechtstexte (Impressum, Datenschutz): ruhig und gut lesbar, gleiche Schrift und Farben wie die Startseite */
@font-face { font-family: "Nunito"; font-weight: 850; src: url("fonts/nunito-850.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Nunito"; font-weight: 1000; src: url("fonts/nunito-1000.woff2") format("woff2"); font-display: swap; }
:root {
  --bg: #fff8ec; --paper: #ffffff; --ink: #1e293b; --muted: #5b6577; --line: #ead9bd; --sand: #e7cf9f; --bg-deep: #2a1f33;
  --display: "Nunito", ui-rounded, system-ui, sans-serif; --body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; padding-bottom: calc(64px + env(safe-area-inset-bottom)); background: var(--bg); color: var(--ink); font: 400 17px/1.65 var(--body); }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left)); }
nav { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; font: 850 15px var(--display); }
nav .mark { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--ink); color: var(--bg); font: 1000 18px var(--display); text-decoration: none; }
nav .links a { color: var(--muted); text-decoration: none; }
nav .links a[aria-current="page"] { color: var(--ink); }
h1 { margin: clamp(24px, 6vw, 56px) 0 8px; font: 1000 clamp(36px, 7vw, 60px)/1.02 var(--display); letter-spacing: -.01em; text-wrap: balance; }
.sub { margin: 0; color: var(--muted); }
.lang { display: flex; gap: 8px; margin: 20px 0 8px; }
.lang a { font: 850 14px/1 var(--display); color: var(--ink); text-decoration: none; padding: 9px 14px; border-radius: 999px; background: #f3e7d3; }
section.part { padding: 28px 0 8px; border-top: 1px solid var(--line); margin-top: 28px; }
section.part > h2 { margin: 0 0 4px; font: 1000 clamp(26px, 4.4vw, 34px)/1.1 var(--display); }
h3 { margin: 26px 0 6px; font: 850 19px/1.3 var(--display); }
p, ul { margin: 0 0 12px; max-width: 68ch; }
ul { padding-left: 22px; } li + li { margin-top: 4px; }
address { font-style: normal; }
a { color: #1d5fa8; }
.note { color: var(--muted); font-size: 15px; }
/* Weiche Übergänge zwischen Startseite und Rechtstexten (Browser ohne Unterstützung springen wie bisher) */
@view-transition { navigation: auto; }
nav .mark { view-transition-name: mark; }
