/* Schlichte Textseiten (Impressum, Datenschutz, Kein Zugriff) – gleiche Farben und Schriften wie die Startseite. */
:root { --bg: #1F2221; --fg: #E6E8E6; --red: #FF3B2F; --pad: clamp(1.25rem, 3vw, 2.25rem); }
* { box-sizing: border-box; margin: 0; }
body {
  min-height: 100svh;
  background: radial-gradient(ellipse at 50% 0%, #2A2E2C 0%, var(--bg) 70%) fixed;
  color: var(--fg);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
a { color: inherit; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.page { max-width: 40rem; margin: 0 auto; padding: var(--pad) var(--pad) 4rem; }
.page-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3rem; }
.page-back { color: var(--label-2); text-decoration: none; font-size: .9375rem; }
.page-back:hover { color: var(--fg); }
.logo { font-size: clamp(1.75rem, 2.6vw, 2.5rem); text-decoration: none; color: var(--fg); }
.logo .logo-mark { display: block; }
.page h1 {
  font-family: Fraunces, serif; font-weight: 900; font-variation-settings: "opsz" 9;
  font-size: 2.5rem; line-height: 1; letter-spacing: -.02em;
}
.page-sub { margin: .5rem 0 1rem; color: var(--label-2); }
.page form button {
  font: inherit; color: var(--fg); background: rgba(230, 232, 230, .08); border: 0; border-radius: 8px;
  padding: .6rem 1rem; cursor: pointer; margin-top: 1.5rem;
}
@media (max-width: 560px) {
  .row { grid-template-columns: 1fr; gap: .15rem; }
}
