.legal-page {
  --legal-hero: radial-gradient(ellipse at 90% 100%, #deeca9, transparent 68%), #f1f3e7;
  --legal-surface: #fffefa;
  --legal-accent: #3d6124;
}

:root[data-theme="dark"] .legal-page {
  --legal-hero: radial-gradient(ellipse at 90% 100%, #354c29, transparent 68%), #1c261b;
  --legal-surface: #1a2118;
  --legal-accent: var(--accent);
}

.legal-header .header-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 70px;
  padding-block: 10px;
}

.legal-back {
  gap: 7px;
  margin-inline-start: auto;
  min-height: 40px;
  padding: 8px 14px;
  border-color: var(--line);
  border-radius: 999px;
  font-size: .8rem;
  white-space: nowrap;
}

.legal-back:hover { border-color: var(--legal-accent); }
.legal-back svg, .legal-copy .contact-link svg { flex: none; }

.legal-shell {
  max-width: 880px;
  padding-block: clamp(18px, 4vw, 42px) clamp(34px, 6vw, 70px);
}

.legal-hero, .legal-copy {
  padding: clamp(20px, 5vw, 52px);
  border: 1px solid var(--line);
  border-radius: 26px;
}

.legal-hero { background: var(--legal-hero); }
.legal-hero h1 {
  font-size: clamp(2.1rem, 6vw, 3.9rem);
  font-weight: 850;
  line-height: 1.06;
  text-wrap: balance;
}

.legal-hero .effective { margin-top: 12px; color: var(--muted); font-size: .86rem; }

.legal-copy {
  margin-top: clamp(14px, 2.5vw, 24px);
  background: var(--legal-surface);
  color: var(--muted);
  font-size: .96rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.legal-copy p { line-height: inherit; }
.legal-copy :is(p, ul) { margin-bottom: 14px; }
.legal-copy ul { padding-inline-start: 1.25em; }
.legal-copy li + li { margin-top: 4px; }
.legal-copy li::marker { color: var(--legal-accent); }
.legal-copy .intro { color: var(--ink); font-size: 1.02rem; }
.legal-copy h2 {
  margin: 28px 0 12px;
  padding-top: 21px;
  border-top: 1px solid var(--line);
  color: var(--ink);
  font-size: clamp(1.16rem, 2.8vw, 1.42rem);
  line-height: 1.3;
}
.legal-copy h3 { margin: 20px 0 8px; color: var(--ink); font-size: 1rem; }
.legal-copy a {
  color: var(--legal-accent);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-copy .contact-link { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; }
.legal-copy > :last-child { margin-bottom: 0; }

@media (max-width: 660px) {
  .legal-header .header-inner { min-height: 62px; }
  .legal-hero, .legal-copy { border-radius: 21px; }
}
