.legal-header { width: min(900px, calc(100% - 40px)); margin: 0 auto; padding: 32px 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.legal-header__brand { color: var(--accent); font-family: var(--font-heading); font-size: 2rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; }
.legal-header__back { color: var(--accent); font-weight: 700; text-decoration: none; }
.legal-header__back:hover, .legal-header__back:focus-visible { text-decoration: underline; }
.legal-page .legal-main { padding: 0 20px 72px; background: none; }
.legal-card { width: min(900px, 100%); margin: 0 auto; padding: clamp(24px, 5vw, 56px); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-soft); overflow-wrap: break-word; }
.legal-card h1 { margin: 0 0 20px; color: var(--accent); font-family: var(--font-heading); font-size: clamp(2.4rem, 6vw, 3.8rem); line-height: 1.05; }
.legal-card h2 { margin: 34px 0 12px; color: var(--accent); font-family: var(--font-heading); font-size: clamp(1.7rem, 4vw, 2.25rem); line-height: 1.15; }
.legal-card p, .legal-card li { line-height: 1.7; }
.legal-card p { margin: 0 0 14px; }
.legal-card ul { margin: 0 0 18px; padding-left: 24px; }
.legal-card li + li { margin-top: 5px; }
.legal-card a { color: var(--accent); }
.legal-card__details p { margin-bottom: 8px; }
.legal-source { font-size: .85rem; }
.legal-page footer { padding-bottom: 42px; }

html[dir="rtl"] .legal-page .page-shell { direction: rtl; }
html[dir="rtl"] .legal-card ul { padding-left: 0; padding-right: 24px; }
html[dir="rtl"] .legal-header__back { text-align: left; }
html[dir="rtl"] .legal-card__details { unicode-bidi: isolate; }

@media (max-width: 620px) {
  .legal-header { width: calc(100% - 32px); padding: 20px 0; align-items: flex-start; }
  .legal-header__brand { font-size: 1.65rem; }
  .legal-header__back { font-size: .88rem; text-align: right; }
  .legal-page .legal-main { padding: 0 10px 42px; }
  .legal-card { padding: 22px 18px; border-radius: 18px; }
  .legal-card h1 { font-size: clamp(2rem, 8vw, 2.4rem); }
  .legal-card h2 { margin-top: 28px; }
}
