/* Gemeinsames Design für Impressum & Datenschutz — gleiche Farben/Schriften wie index.html */
:root {
  --black: #0a0a0a;
  --stone: #918a87;
  --silver: #c9c3be;
  --silver-light: #ebe7e3;
  --mute: #8c8682;
  --line: rgba(201, 195, 190, .18);
  --line-strong: rgba(201, 195, 190, .42);
  --display: "Cormorant Garamond", "Times New Roman", serif;
  --ui: "Inter", system-ui, -apple-system, sans-serif;
  --metal: linear-gradient(170deg, #f2efec 0%, #b9b2ad 38%, #8e8783 55%, #d9d4cf 78%, #9f9894 100%);
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
html { background: var(--black); }
body {
  min-height: 100vh;
  color: var(--silver);
  font-family: var(--ui);
  font-weight: 300;
  font-size: .95rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: -2;
  background: url("hintergrund.webp") center top / cover no-repeat, var(--black);
}
body::after {
  content: ""; position: fixed; inset: 0; z-index: -1;
  background: rgba(10, 10, 10, .86);
}
a { color: var(--silver-light); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; overflow-wrap: anywhere; }
a:hover { text-decoration-color: var(--silver-light); }

.page {
  max-width: 42rem;
  margin: 0 auto;
  padding: max(2rem, env(safe-area-inset-top)) 1.25rem max(3rem, env(safe-area-inset-bottom));
}
.back {
  display: inline-flex; align-items: center; gap: .45rem;
  font-size: .68rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--mute); text-decoration: none;
}
.back:hover { color: var(--silver-light); }
.back svg { width: .9rem; height: .9rem; }

h1 {
  margin: 2.2rem 0 .4rem;
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(1.6rem, 8vw, 2.3rem);
  line-height: 1.1;
  letter-spacing: .03em;
  overflow-wrap: anywhere;
  hyphens: auto;
  background: var(--metal);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.stand { margin: 0 0 2rem; font-size: .75rem; letter-spacing: .08em; color: var(--mute); }
h2 {
  margin: 2.4rem 0 .6rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.35rem;
  line-height: 1.25;
  color: var(--silver-light);
}
h3 { margin: 1.4rem 0 .3rem; font-family: var(--display); font-weight: 600; font-size: 1.12rem; color: var(--silver-light); }
p, ul { margin: 0 0 .9rem; }
ul { padding-left: 1.1rem; }
li { margin-bottom: .3rem; }
address { font-style: normal; margin-bottom: .9rem; }

/* Platzhalter — gut sichtbar, bis echte Daten eingetragen sind */
.ph {
  padding: .05rem .35rem;
  border: 1px dashed var(--stone);
  color: var(--silver-light);
  font-weight: 400;
}

footer {
  margin-top: 3rem; padding-top: 1.4rem;
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: .72rem; letter-spacing: .12em; color: #6b6662;
}
footer a { color: inherit; text-decoration: none; }
footer a:hover { color: var(--silver); }
footer .mono { font-family: var(--display); font-size: 1.1rem; letter-spacing: .1em; color: var(--stone); margin-bottom: .5rem; }

@media (min-width: 768px) {
  html { font-size: 17px; }
  .page { padding-top: 3.5rem; }
  h1 { font-size: 2.8rem; }
}
@media (min-width: 1280px) { html { font-size: 18px; } }
