/* Shared by impressum.html and datenschutz.html. Tokens mirror index.html. */
:root {
  --bg: #FCFCFB;
  --card: #FFFFFF;
  --ink: #17161B;
  --soft: #6B6A72;
  --faint: #9A99A1;
  --line: #E7E6E3;
  --violet: #6308FA;
  --pad: clamp(20px, 2.8vw, 40px);
}
* { box-sizing: border-box; margin: 0; }
body { background: var(--bg); color: var(--ink); font: 400 17px/1.6 Geist, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; border-radius: 6px; }

header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(252,252,251,.86); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); }
header .in, footer .in { max-width: 1240px; margin-inline: auto; padding-inline: var(--pad); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
header .in { height: 64px; }
.brand { display: flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 550; letter-spacing: -.03em; text-decoration: none; }
.brand img { width: 24px; height: 24px; }
.back { font-size: 15px; color: var(--soft); text-decoration: none; }
.back:hover { color: var(--ink); }

main { max-width: 760px; margin-inline: auto; padding: clamp(40px, 6vw, 80px) var(--pad) clamp(56px, 8vw, 104px); }
.kicker { font-size: 14px; font-weight: 500; color: var(--soft); }
h1 { margin-top: 10px; font-size: clamp(34px, 5vw, 48px); font-weight: 550; line-height: 1.08; letter-spacing: -.035em; }
.stand { margin-top: 14px; font-size: 14.5px; color: var(--faint); }
h2 { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); font-size: 22px; font-weight: 550; line-height: 1.25; letter-spacing: -.02em; }
h3 { margin-top: 26px; font-size: 17px; font-weight: 550; letter-spacing: -.01em; }
p, ul, dl { margin-top: 12px; }
p, li, dd { color: #46454D; }
ul { padding-left: 20px; }
li + li { margin-top: 6px; }
address { font-style: normal; }

/* Label and value rows, as in the footer's company block. */
dl.facts { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; border-top: 1px solid var(--line); margin-top: 20px; }
dl.facts dt, dl.facts dd { padding: 13px 0; border-bottom: 1px solid var(--line); }
dl.facts dt { font-size: 14.5px; color: var(--soft); padding-right: 16px; }
dl.facts dd { color: var(--ink); font-variant-numeric: tabular-nums; }

footer { border-top: 1px solid var(--line); font-size: 14.5px; color: var(--soft); }
footer .in { padding-block: 22px; flex-wrap: wrap; }
footer nav { display: flex; gap: 22px; }
footer a { text-decoration: none; }
footer a:hover, footer a[aria-current] { color: var(--ink); }

@media (max-width: 600px) {
  dl.facts { grid-template-columns: 1fr; }
  dl.facts dt { padding-bottom: 0; border-bottom: 0; }
  dl.facts dd { padding-top: 2px; }
}
