:root {
  color-scheme: light dark;
  --legal-page: #f4f8fa;
  --legal-surface: #ffffff;
  --legal-ink: #17212b;
  --legal-muted: #5d6d79;
  --legal-line: #d5e0e6;
  --legal-accent: #bd482c;
}

@media (prefers-color-scheme: dark) {
  :root {
    --legal-page: #0f171d;
    --legal-surface: #17232c;
    --legal-ink: #edf4f7;
    --legal-muted: #b2c0c8;
    --legal-line: #30424d;
    --legal-accent: #ff9a7d;
  }
}

html {
  background: var(--legal-page);
}

body.legal-page {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(38px, 7vw, 88px) 24px 88px;
  background: var(--legal-page);
  color: var(--legal-muted);
  font-family:
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

.legal-home {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(58px, 9vw, 100px);
  color: var(--legal-ink);
  font-size: 1.2rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  text-decoration: none;
}

.legal-home img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

body.legal-page h1 {
  margin: 0 0 24px;
  padding: 0 0 28px;
  border-bottom: 1px solid var(--legal-line);
  color: var(--legal-ink);
  font-size: clamp(3rem, 8vw, 5.7rem);
  font-weight: 650;
  letter-spacing: -0.06em;
  line-height: 0.98;
}

body.legal-page h2 {
  margin: 56px 0 16px;
  color: var(--legal-ink);
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -0.03em;
  line-height: 1.2;
}

body.legal-page p,
body.legal-page li {
  color: var(--legal-muted);
}

body.legal-page li + li {
  margin-top: 8px;
}

body.legal-page strong {
  color: var(--legal-ink);
}

body.legal-page a {
  color: var(--legal-accent);
  text-underline-offset: 4px;
}

body.legal-page .legal-home {
  color: var(--legal-ink);
}

body.legal-page .important,
body.legal-page .contact-method {
  margin: 32px 0;
  padding: 24px 26px;
  border: 1px solid var(--legal-line);
  border-left: 3px solid var(--legal-accent);
  border-radius: 0;
  background: color-mix(in srgb, var(--legal-surface) 78%, transparent);
}

body.legal-page .important p,
body.legal-page .contact-method p {
  margin: 0;
}

body.legal-page .last-updated {
  margin-top: 62px;
  padding-top: 24px;
  border-top: 1px solid var(--legal-line);
  color: var(--legal-muted);
}

body.legal-page.contact-page {
  max-width: 880px;
}

body.legal-page.contact-page .container {
  max-width: none;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 480px) {
  body.legal-page {
    padding: 28px 18px 64px;
  }

  body.legal-page.contact-page .container {
    padding: 0;
  }
}
