:root {
  --legal-navy: #0d1f3c;
  --legal-blue: #1b4a8f;
  --legal-accent: #c8902a;
  --legal-bg: #f5f8fb;
  --legal-line: #d8e1ea;
  --legal-text: #2f4057;
  --legal-muted: #61758f;
  --legal-white: #ffffff;
}

body {
  background: var(--legal-bg);
  color: var(--legal-text);
}

.legal-hero {
  padding: 84px 24px 48px;
  background:
    radial-gradient(circle at top right, rgba(200, 144, 42, 0.14), transparent 30%),
    linear-gradient(135deg, #102649 0%, #183766 100%);
  color: var(--legal-white);
}

.legal-shell {
  max-width: 980px;
  margin: 0 auto;
}

.legal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 14px;
}

.legal-breadcrumb a {
  color: #dbe8f5;
  text-decoration: none;
}

.legal-breadcrumb span {
  color: #a7bdd6;
}

.legal-eyebrow {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  margin-bottom: 16px;
  background: rgba(255, 255, 255, 0.08);
  color: #d6e4f2;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-hero h1 {
  color: var(--legal-white);
  font-size: clamp(34px, 5vw, 58px);
  margin-bottom: 16px;
}

.legal-hero p {
  color: #d0deee;
  max-width: 720px;
  line-height: 1.8;
}

.legal-wrap {
  padding: 44px 24px 80px;
}

.legal-card {
  max-width: 980px;
  margin: 0 auto;
  background: var(--legal-white);
  border: 1px solid var(--legal-line);
  border-radius: 24px;
  padding: 36px;
}

.legal-card h2,
.legal-card h3 {
  color: var(--legal-navy);
}

.legal-card h2 {
  margin: 34px 0 14px;
  font-size: 28px;
}

.legal-card h3 {
  margin: 24px 0 12px;
  font-size: 22px;
}

.legal-card p,
.legal-card li {
  line-height: 1.85;
  font-size: 17px;
  color: var(--legal-text);
}

.legal-card ul {
  padding-left: 22px;
  margin: 14px 0;
}

.legal-note {
  margin-top: 28px;
  padding: 18px 20px;
  border-radius: 18px;
  background: #f8fbff;
  border: 1px solid var(--legal-line);
  color: var(--legal-muted);
}

@media (max-width: 768px) {
  .legal-hero,
  .legal-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }

  .legal-card {
    padding: 24px;
  }

  .legal-card h2 {
    font-size: 24px;
  }
}
