.legal-page { background: var(--cream); color: var(--ink); }
.legal-shell { width: min(920px, calc(100% - 40px)); margin: 0 auto; padding: 54px 0 74px; }
.legal-card { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: clamp(28px, 5vw, 54px); box-shadow: 0 18px 48px #4b24320d; }
.legal-card h1 { font: 400 clamp(34px, 5vw, 52px)/1.08 var(--serif); margin: 0 0 12px; color: #34242e; }
.legal-card h2 { font: 400 26px/1.2 var(--serif); margin: 34px 0 12px; color: #3a2933; }
.legal-card h3 { font: 700 16px/1.4 var(--sans); margin: 22px 0 8px; color: #463640; }
.legal-card p, .legal-card li { color: #574c53; font-size: 15px; line-height: 1.72; }
.legal-card p { margin: 0 0 15px; }
.legal-card ul { margin: 0 0 18px; padding-left: 22px; }
.legal-card li { margin: 0 0 8px; }
.legal-updated { color: #867680; font-size: 13px; margin-bottom: 28px; }
.legal-callout { border: 1px solid #ebccd2; border-radius: 8px; background: #fff7f8; padding: 18px 20px; margin: 22px 0; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
@media (max-width: 700px) {
  .legal-shell { width: min(100% - 28px, 920px); padding: 32px 0 54px; }
  .legal-card { padding: 26px 22px; }
  .legal-card h2 { font-size: 24px; }
}
