/* ---- HERO (light) ---- */
.legal-hero { position:relative; overflow:hidden; padding:150px 0 var(--space-2xl);
  background:linear-gradient(180deg, var(--brand-50) 0%, #fff 100%); }
.legal-hero .wrap { max-width:760px; }
.legal-hero h1 { line-height:var(--line-tight);
  letter-spacing:-.02em; color:var(--color-secondary); margin:0; }

.legal-meta { color:var(--color-ink-soft); font-size:var(--text-md); margin:var(--space-s) 0 0; }
.legal-meta strong { color:var(--color-secondary); font-weight:var(--weight-bold); }

.legal-draft { display:flex; align-items:flex-start; gap:var(--space-xs); margin:var(--space-m) 0 0;
  background:var(--brand-100); border:1px solid var(--color-border); border-radius:var(--radius-component-lg);
  padding:var(--space-s) var(--space-m); color:var(--color-ink); font-size:var(--text-md); line-height:var(--line-normal); }
.legal-draft svg { flex:none; width:22px; height:22px; margin-top:1px; color:var(--color-primary);
  stroke:currentColor; fill:none; stroke-width:2; }
.legal-draft strong { color:var(--color-secondary); font-weight:var(--weight-bold); }

/* ---- BODY (single readable column) ---- */
.legal-page { padding-top:var(--space-2xl); }
.legal-wrap { max-width:740px; }

.legal-intro { font-size:var(--text-lg); line-height:var(--line-relaxed); color:var(--color-ink); margin:0 0 var(--space-2xs); }
.legal-intro strong { color:var(--color-secondary); font-weight:var(--weight-bold); }

.legal-page h2 { letter-spacing:-.005em; color:var(--color-secondary);
  margin:var(--space-xl) 0 var(--space-xs); padding-top:var(--space-xs); border-top:1px solid var(--color-border); }
.legal-page h3 { color:var(--color-secondary); margin:var(--space-m) 0 var(--space-2xs); }

.legal-page p { font-size:var(--text-md); line-height:var(--line-relaxed); color:var(--color-ink); margin:0 0 var(--space-xs); max-width:65ch; }
.legal-page p strong { color:var(--color-secondary); font-weight:var(--weight-bold); }

.legal-page ul { margin:0 0 var(--space-s); padding-left:1.3em; max-width:65ch; }
.legal-page li { font-size:var(--text-md); line-height:var(--line-relaxed); color:var(--color-ink); margin:0 0 var(--space-2xs); padding-left:.2em; }
.legal-page li::marker { color:var(--color-accent); }
.legal-page li strong { color:var(--color-secondary); font-weight:var(--weight-bold); }

.legal-page a { color:var(--color-primary); font-weight:var(--weight-semibold); text-decoration:underline;
  text-underline-offset:2px; text-decoration-thickness:1px; transition:color .15s var(--ease); }
.legal-page a:hover { color:var(--color-secondary); }

/* ---- Contact block ---- */
.legal-contact { margin:var(--space-s) 0 0; padding:var(--space-m); background:var(--brand-50);
  border:1px solid var(--color-border); border-radius:var(--radius-component-lg); }
.legal-contact p { margin:0; line-height:var(--line-relaxed); }
.legal-contact-name { font-weight:var(--weight-bold); color:var(--color-secondary); }

@media (max-width:680px) {
  .legal-hero { padding:124px 0 var(--space-xl); }
  .legal-page h2 { margin:var(--space-l) 0 var(--space-2xs); }
}
