:root {
      --line: rgba(255,255,255,0.12);
      --text: #f4f5f8;
      --muted: #b8bfcc;
      --orange: #ee4400;
      --shadow: 0 20px 60px rgba(0,0,0,0.36);
      --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      font-family: var(--font);
      color: var(--text);
      background:
        radial-gradient(circle at top left, rgba(238,68,0,0.13), transparent 26rem),
        linear-gradient(135deg, #0d1017 0%, #171b25 48%, #10131a 100%);
    }
    a { color: inherit; text-decoration: none; }
    .page {
      width: min(960px, calc(100% - 32px));
      min-height: 100vh;
      margin: 0 auto;
      display: grid;
      grid-template-rows: auto 1fr auto;
      gap: 28px;
      padding: 24px 0 42px;
    }
    .topbar, .content {
      border: 1px solid var(--line);
      background: rgba(26,30,41,0.84);
      box-shadow: var(--shadow);
    }
    .topbar {
      min-height: 68px;
      border-radius: 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 10px 18px;
    }
    .brand { display: flex; align-items: center; gap: 13px; font-weight: 760; font-size: clamp(1.15rem, 2vw, 1.55rem); }
    .brand img { width: 46px; height: 46px; border-radius: 15px; object-fit: cover; }
    .brand .brand-title { font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 750; line-height: 1.2; white-space: nowrap; }
    .brand-title span { font-weight: 400; }
    .btn {
      min-height: 42px;
      border-radius: 8px;
      padding: 0 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.08);
      color: var(--text);
      font-weight: 700;
      white-space: nowrap;
    }
    .content {
      border-radius: 8px;
      padding: clamp(22px, 5vw, 44px);
      align-self: start;
    }
    h1 { margin: 0 0 16px; font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: 0; }
    h2 { margin: 30px 0 9px; font-size: 1.18rem; }
    section:first-of-type h2 { margin-top: 28px; }
    p, li { color: var(--muted); line-height: 1.55; }
    p { margin: 0 0 12px; }
    ul { margin: 0; padding-left: 20px; }
    li + li { margin-top: 6px; }
    .eyebrow {
      margin: 0 0 8px;
      color: var(--orange);
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }
    .lead { max-width: 760px; font-size: 1.05rem; }
    .contact-card {
      width: fit-content;
      max-width: 100%;
      margin: 0;
      border-left: 3px solid var(--orange);
      border-radius: 0 8px 8px 0;
      background: rgba(255,255,255,0.045);
      padding: 14px 18px;
      color: var(--muted);
      font-style: normal;
      line-height: 1.55;
    }
    .contact-card strong { color: var(--text); }
    .text-link {
      color: #ff8a5c;
      text-decoration: underline;
      text-decoration-color: rgba(255,138,92,0.5);
      text-underline-offset: 3px;
    }
    .text-link:hover { color: #ffab89; }
    .text-link:focus-visible, .btn:focus-visible, .brand:focus-visible, .footer-links a:focus-visible {
      outline: 2px solid var(--orange);
      outline-offset: 3px;
    }
    .legal-facts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin: 14px 0 0;
    }
    .legal-facts div {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: rgba(255,255,255,0.035);
      padding: 12px 14px;
    }
    .legal-facts dt { color: var(--muted); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
    .legal-facts dd { margin: 5px 0 0; color: var(--text); font-weight: 750; }
    .updated {
      margin: 34px 0 0;
      border-top: 1px solid var(--line);
      padding-top: 16px;
      font-size: 0.88rem;
    }
    .note {
      border: 1px solid rgba(238,68,0,0.28);
      border-radius: 8px;
      background: rgba(238,68,0,0.09);
      padding: 14px;
      margin-top: 18px;
    }
    footer {
      padding-top: 18px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 18px;
      font-size: 0.92rem;
    }
    .footer-links { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 14px; margin-left: auto; }
    @media (max-width: 620px) {
      .page { width: 100%; padding-top: 0; }
      .topbar { border-radius: 0; border-left: 0; border-right: 0; }
      .content { margin: 0 16px; }
      footer { padding-inline: 16px; align-items: flex-start; }
      .footer-links { gap: 12px; }
      .legal-facts { grid-template-columns: 1fr; }
    }
/* Long German terms headings and lists remain readable on narrow screens. */
.terms-content { overflow-wrap: anywhere; hyphens: auto; }
.terms-content h3 { margin: 24px 0 9px; font-size: 1.05rem; }
.terms-content ul, .terms-content ol { margin-bottom: 16px; }
