/* ===== Darvilis — legal pages (privacy, terms) ===== */

.legal-hero {
  padding: 64px 0 34px;
  background:
    radial-gradient(720px 300px at 10% -10%, rgba(47, 107, 228, .10), transparent 62%),
    radial-gradient(560px 280px at 92% 0%, rgba(42, 184, 197, .12), transparent 60%);
  border-bottom: 1px solid var(--ring);
}

.legal-hero .eyebrow {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 12px;
}

.legal-hero h1 { font-size: clamp(32px, 4.4vw, 46px); }

.legal-meta {
  margin-top: 14px;
  color: var(--body-text);
  font-size: 15px;
}

.legal-wrap { padding: 46px 0 72px; }

.legal-body { max-width: 760px; }

.legal-body h2 {
  font-size: 23px;
  margin: 44px 0 14px;
  padding-top: 22px;
  border-top: 1px solid var(--ring);
}
.legal-body h2:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }

.legal-body h3 {
  font-size: 17.5px;
  margin: 26px 0 8px;
  color: var(--navy);
}

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

.legal-body p { margin-bottom: 14px; }

.legal-body ul { margin: 0 0 16px 20px; }
.legal-body li { margin-bottom: 8px; }

.legal-body a { color: var(--blue); }
.legal-body a:hover { text-decoration: underline; }

.legal-body strong { color: var(--ink); font-weight: 600; }

.legal-card {
  background: var(--surface);
  border: 1px solid var(--ring);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  padding: 22px 26px;
  margin: 0 0 22px;
}

.legal-card dl { display: grid; gap: 8px; }
.legal-card dl > div { display: flex; gap: 12px; flex-wrap: wrap; }
.legal-card dt {
  min-width: 148px;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 14px;
  color: var(--ink);
}
.legal-card dd { color: var(--body-text); font-size: 15px; }

.legal-toc {
  background: var(--teal-soft);
  border-radius: var(--r-md);
  padding: 20px 26px;
  margin-bottom: 34px;
}
.legal-toc h2 {
  font-size: 14px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--navy);
}
.legal-toc ol { margin: 0 0 0 18px; }
.legal-toc li { margin-bottom: 5px; font-size: 15px; }
.legal-toc a { color: var(--navy); text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }

@media (max-width: 640px) {
  .legal-hero { padding: 44px 0 26px; }
  .legal-card { padding: 18px 20px; }
  .legal-card dt { min-width: 100%; }
}
