/* Legal pages of the main domain (impressum.html, datenschutz.html): same palette as index.html. */
:root { --teal-950: #0b3035; --teal-300: #7fb3ae; --gold-500: #d9a45b; --gold-300: #e8c78f; --ivory: #f7f6f2;
  --display: "Montserrat", "Avenir Next", "Segoe UI", system-ui, sans-serif; --text: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; }
body { min-height: 100dvh; color: var(--ivory); font-family: var(--text); line-height: 1.7; -webkit-font-smoothing: antialiased;
  background: radial-gradient(120% 80% at 80% 0%, #15535c 0%, transparent 55%), var(--teal-950); }
header, main, footer { max-width: 46rem; margin: 0 auto; padding-left: max(1.25rem, env(safe-area-inset-left)); padding-right: max(1.25rem, env(safe-area-inset-right)); }
header { padding-top: max(1.25rem, env(safe-area-inset-top)); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; }
.brand img { height: 2.3rem; width: auto; }
.wordmark { font-family: var(--display); font-weight: 700; letter-spacing: .06em; }
.wordmark b { color: var(--gold-500); }
.lang { color: var(--teal-300); font-size: .875rem; text-decoration: none; padding: .5rem .75rem; border-radius: 999px; }
main { padding-top: 2.5rem; padding-bottom: max(3rem, env(safe-area-inset-bottom)); }
h1 { font-family: var(--display); font-weight: 650; font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.15; margin: 0 0 1rem; }
h2 { font-family: var(--display); font-size: 1.1rem; margin: 2rem 0 .4rem; color: var(--gold-300); }
p { margin: 0 0 .9rem; color: rgba(247,246,242,.85); }
.lead { font-size: 1.1rem; color: rgba(247,246,242,.9); }
.meta { margin-top: 2.5rem; font-size: .85rem; color: rgba(247,246,242,.6); }
a { color: var(--gold-300); }
a:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 3px; }
/* Footer: the same credit line as on index.html. */
footer { padding-top: 1.5rem; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem;
  justify-content: space-between; font-size: .82rem; color: rgba(247,246,242,.55); border-top: 1px solid rgba(247,246,242,.08); }
.credit { display: inline; line-height: 1.8; }
.heart { color: var(--gold-500); vertical-align: -2px; margin: 0 .1rem; filter: drop-shadow(0 0 4px rgba(217,164,91,.45)); }
.wisecode { color: var(--ivory); font-family: var(--display); font-weight: 600; letter-spacing: .02em; text-decoration: none; }
.wisecode:hover, .wisecode:focus-visible { color: var(--gold-300); }
.links { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.links a { color: rgba(247,246,242,.55); text-decoration: none; }
.links a:hover, .links a:focus-visible { color: var(--gold-300); }
.en { display: none; }
html[lang="en"] .de { display: none; } html[lang="en"] .en { display: revert; }
