/* Legal pages (Impressum, privacy): same palette and type as the main page, plain reading layout. */
:root {
  --bg: #0B0C0E;
  --bg-2: #131519;
  --line: #272B32;
  --fg: #EEECE7;
  --fg-2: #9A9EA6;
  --gold: #F4C542;
  --serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --display: "Geist", "Helvetica Neue", Arial, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 400 1rem/1.65 var(--display); padding-inline: 20px; }
a { color: inherit; text-decoration-color: var(--gold); text-underline-offset: .2em; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.top { border-bottom: 1px solid var(--line); margin-inline: -20px; padding: .9rem 20px; }
.top a { font: 600 .78rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.doc { max-width: 44rem; margin-inline: auto; padding-block: 3rem 2.5rem; }
.cap { font: 500 .72rem/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--fg-2); margin: 0 0 .8rem; }
h1 { margin: 0 0 1.6rem; font: 400 clamp(2.4rem, 9vw, 3.6rem)/1 var(--serif); letter-spacing: -.015em; }
h2 { margin: 2.4rem 0 .6rem; font: 700 1.05rem/1.4 var(--display); }
p, ul, address { margin: 0 0 1rem; color: var(--fg-2); }
address { font-style: normal; color: var(--fg); }
ul { padding-left: 1.2rem; }
li { margin-bottom: .35rem; }
dl { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: .45rem 1.2rem; margin: 0 0 1rem; }
dt { color: var(--fg-2); }
dd { margin: 0; overflow-wrap: anywhere; }
.foot { max-width: 44rem; margin-inline: auto; padding-block: 2rem calc(2.5rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line);
  font: 400 .78rem/1.7 var(--mono); color: var(--fg-2); display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.foot a { text-decoration: none; padding-block: .35rem; }
.foot a:hover { color: var(--fg); }
@media (max-width: 560px) {
  dl { grid-template-columns: minmax(0, 1fr); gap: 0; }
  dd { margin-bottom: .7rem; }
}
