/* @font-face kommt aus site-tail.css, die beide Rechtsseiten ebenfalls laden. */

:root {
  --navy: #201a4d;
  --red: #eb2638;
  --paper: #f4f4f1;
  --line: rgba(6, 24, 47, 0.16);
}

* { box-sizing: border-box; }

html {
  color: var(--navy);
  background: var(--paper);
  font-family: var(--site-font, Arial, Helvetica, sans-serif);
  line-height: 1.55;
}

body { margin: 0; }
a { color: inherit; }

.legal-header,
.legal-footer {
  background: var(--navy);
  color: #fff;
}

.legal-header__inner,
.legal-footer__inner,
.legal-main {
  width: min(100% - 40px, 1120px);
  margin-inline: auto;
}

.legal-header__inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.legal-brand,
.legal-back { text-decoration: none; }

.legal-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.15;
  text-transform: uppercase;
}
.legal-brand span,
.footerWord,
.footerBrand strong { font-family: var(--brand-word-font, Arial, sans-serif); font-weight: 400; }

.legal-brand img {
  width: 42px;
  height: auto;
}

.legal-back {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.legal-back:hover,
.legal-back:focus-visible,
.legal-footer a:hover,
.legal-footer a:focus-visible { color: var(--red); }

.legal-main { padding-block: clamp(64px, 9vw, 128px); }

.legal-main h1 {
  max-width: 900px;
  margin: 0 0 clamp(56px, 8vw, 96px);
  font-size: clamp(3.5rem, 10vw, 8rem);
  line-height: 0.9;
  letter-spacing: -0.065em;
}

.legal-content { max-width: 780px; }

.legal-content h2 {
  margin: 3.5rem 0 0.8rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.legal-content h2:first-child { margin-top: 0; }
.legal-content p { margin: 0 0 1.2rem; }
.legal-content address { font-style: normal; }

.legal-footer__inner {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.legal-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
}

.legal-footer a {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 620px) {
  .legal-header__inner,
  .legal-footer__inner,
  .legal-main { width: min(100% - 28px, 1120px); }
  .legal-header__inner { min-height: 76px; }
  .legal-brand span { display: none; }
  .legal-main h1 { font-size: clamp(3rem, 18vw, 5rem); }
  .legal-footer__inner {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 32px;
  }
}
