.legal {
  position: relative; z-index: 2;
  max-width: 820px;
  margin: 60px auto 80px;
  padding: 0 24px;
}
.legal-head { margin-bottom: 40px; text-align: center; }
.legal-head h1 {
  font-family: 'Fraunces', serif; font-weight: 900;
  font-size: clamp(40px, 5vw, 64px); line-height: 1;
  margin: 14px 0 18px; color: var(--coffee); letter-spacing: -1px;
}
.legal-meta {
  display: inline-flex; flex-wrap: wrap; justify-content: center;
  gap: 8px 18px;
  padding: 14px 22px; border-radius: 18px;
  background: var(--paper); border: 1px solid var(--line);
  font-size: 13px; color: var(--ink-soft);
}
.legal-meta strong { color: var(--coffee); margin-right: 4px; font-weight: 700; }
.legal-meta a { color: var(--bronze); font-weight: 600; }

.legal-body {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 40px clamp(24px, 4vw, 56px);
  font-size: 15.5px; line-height: 1.75; color: var(--ink);
}
.legal-body h2 {
  font-family: 'Fraunces', serif; font-weight: 800;
  font-size: 22px; color: var(--coffee);
  margin: 38px 0 12px; letter-spacing: -.2px;
  padding-bottom: 8px; border-bottom: 1px dashed var(--line);
}
.legal-body h3 {
  font-family: 'Fraunces', serif; font-weight: 700;
  font-size: 18px; color: var(--coffee);
  margin: 22px 0 8px;
}
.legal-body p { margin: 12px 0; }
.legal-body ul { padding-left: 22px; margin: 12px 0; }
.legal-body li { margin: 8px 0; }
.legal-body a { color: var(--bronze); font-weight: 600; }
.legal-body strong { color: var(--coffee); }
.legal-body em { color: var(--ink-soft); }
