/* d6 „Orbit“ – Unterseiten (Impressum, Datenschutz, 404). Baut auf orbit.css auf, kein JavaScript. */

.page-nav { display: flex; align-items: center; gap: 4px; }
.page-nav a {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px;
  text-decoration: none; color: var(--text); border: 1px solid var(--line-2); font-size: .9375rem; transition: border-color .2s, background-color .2s;
}
.page-nav a:hover { border-color: var(--cyan); background: rgba(56, 214, 245, .08); }
.page-nav a[aria-current="page"] { display: none; }

/* Kopf einer Unterseite mit angedeuteter Umlaufbahn */
.page-head { position: relative; padding: calc(var(--head-h) + clamp(48px, 8vw, 96px)) 0 clamp(32px, 5vw, 56px); overflow: hidden; }
.page-head::before, .page-head::after {
  content: ""; position: absolute; border-radius: 50%; pointer-events: none; z-index: -1;
  width: 560px; height: 560px; right: -140px; top: -180px; border: 1px solid rgba(148, 163, 214, .12);
}
.page-head::after { width: 380px; height: 380px; right: -50px; top: -90px; border-style: dashed; border-color: rgba(148, 163, 214, .1); }
.page-head h1 { font-size: clamp(2rem, 8.5vw, 4rem); letter-spacing: -0.035em; line-height: 1.05; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 0 18px -10px; padding: 0 10px; border-radius: 8px;
  font: 400 .8125rem/1 var(--font-m); color: var(--accent-text); text-decoration: none; letter-spacing: .02em; }
.back:hover { background: var(--surface-2); }

/* Rechtstexte */
.legal { padding-bottom: clamp(72px, 10vw, 120px); }
.legal-body { max-width: 46rem; }
.legal-body h2 {
  font-size: clamp(1.1875rem, 2vw, 1.375rem); letter-spacing: -0.015em; line-height: 1.3;
  margin: 44px 0 12px; padding-top: 22px; border-top: 1px solid var(--line); position: relative;
}
.legal-body h2::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 1px; background: var(--grad); }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p, .legal-body li { color: var(--text-2); font-size: 1.0313rem; line-height: 1.7; }
.legal-body p + p, .legal-body ul + p, .legal-body p + ul { margin-top: 12px; }
.legal-body ul { display: grid; gap: 6px; }
.legal-body li { position: relative; padding-left: 22px; }
.legal-body li::before { content: ""; position: absolute; left: 4px; top: .85em; width: 8px; height: 1px; background: var(--cyan); }
.legal-body a { color: var(--text); text-decoration: underline; text-decoration-color: rgba(56, 214, 245, .55); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-body a:hover { color: var(--accent-text); text-decoration-color: currentColor; }
.legal-body .addr { font: 500 1.0625rem/1.6 var(--font-d); color: var(--text); }
.legal-body .stand { margin-top: 48px; font: 400 .75rem/1.4 var(--font-m); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }

/* 404 */
.nf { min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: calc(var(--head-h) + 32px) 0 48px; text-align: center; }
.nf-orbit { position: relative; width: min(64vw, 300px); aspect-ratio: 1; margin: 0 auto 36px; }
.nf-orbit .ring-3 { border-style: solid; }
.nf-code {
  position: absolute; inset: 0; display: grid; place-items: center;
  font: 600 clamp(3.5rem, 12vw, 5.5rem)/1 var(--font-d); letter-spacing: -0.04em;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.nf .kicker { justify-content: center; margin-bottom: 16px; }
.nf h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); letter-spacing: -0.03em; }
.nf p.lead { color: var(--text-2); margin: 16px auto 0; max-width: 32em; font-size: 1.0625rem; }
.nf .hero-actions { justify-content: center; }

@media (max-width: 560px) {
  .page-nav a { padding: 0 14px; font-size: .875rem; }
  .page-nav .long { display: none; }
  .page-head::before { width: 360px; height: 360px; right: -160px; top: -120px; }
  .page-head::after { width: 240px; height: 240px; right: -90px; top: -60px; }
  .legal-body h2 { margin-top: 36px; }
  .nf .hero-actions .btn { flex: 1 1 auto; }
}
