/* Legal documents: shared identity, readable text, no runtime. */
.legal-page { --ink: var(--v2-ink); --ink-soft: var(--v2-soft); --paper: var(--v2-cream); --line: var(--v2-line); --accent: var(--v2-terra); --font: 'Instrument Sans', system-ui, sans-serif; background: var(--v2-cream); -webkit-font-smoothing: antialiased; }
.legal-page .container { width: 100%; max-width: 1320px; padding-inline: clamp(18px, 3vw, 40px); margin-inline: auto; }
.legal-page .legal-main { max-width: 1040px; padding-block: clamp(40px, 6vw, 88px); }
.legal-heading { margin-bottom: 32px; }
.legal-heading .eyebrow { font: 11px/1.6 var(--v2-mono); letter-spacing: .14em; margin-bottom: 22px; }
.legal-page h1, .legal-page h2, .legal-page h3 { font-family: Archivo, sans-serif; font-weight: 700; }
.legal-page h1 { font-size: clamp(38px, 6vw, 78px); line-height: 1.02; letter-spacing: -.035em; }
.legal-notice { padding: 22px 24px; border-left: 4px solid var(--v2-terra); background: var(--v2-sand); font-size: 15.5px; line-height: 1.65; color: var(--v2-soft); margin-bottom: 36px; }
.legal-notice strong { color: var(--v2-ink); }
.legal-index { padding-block: 26px; border-block: 1px solid var(--v2-line); margin-bottom: 40px; }
.legal-index > p { font: 11px/1.6 var(--v2-mono); letter-spacing: .12em; margin-bottom: 16px; }
.legal-index ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; padding: 0; margin: 0; list-style: none; }
.legal-index a { display: inline-block; padding-block: 8px; font-size: 15px; line-height: 1.5; }
.legal-document { max-width: 84ch; font-size: 16.5px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-document h2 { font-size: clamp(25px, 3vw, 36px); line-height: 1.2; letter-spacing: -.025em; margin-block: 48px 20px; text-wrap: initial; }
.legal-document h3 { font-size: 21px; line-height: 1.35; letter-spacing: -.02em; margin-block: 30px 16px; text-wrap: initial; }
.legal-document p, .legal-document ul { margin-block: 0 18px; color: var(--v2-soft); }
.legal-document ul { padding-left: 24px; }
.legal-document li + li { margin-top: 14px; }
.legal-document .legal-subitem { margin-left: 20px; list-style-type: circle; }
.legal-document a { color: var(--v2-ink); }
.legal-document a:hover, .legal-index a:hover { color: var(--v2-terra); }
.legal-document .legal-date { font-size: 14px; padding-top: 24px; border-top: 1px solid var(--v2-line); margin-top: 32px; }
.legal-cookies { margin: 24px 0; }
.legal-cookies > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 20px; padding: 24px; border: 1px solid var(--v2-line); background: var(--v2-paper); }
.legal-cookies > div + div { border-top: 0; }
.legal-cookies dt { font-weight: 600; color: var(--v2-ink); }
.legal-cookies dd { margin: 0; color: var(--v2-soft); }
@media (max-width: 600px) {
  .legal-index ol, .legal-cookies > div { grid-template-columns: 1fr; }
  .legal-document { font-size: 16px; }
  .legal-notice { padding: 18px; }
  .legal-cookies > div { gap: 10px; padding: 20px; }
}
