
.legal-page { background: var(--color-surface); color: var(--color-on-surface); }
.legal-hero { padding: clamp(5.5rem, 10vw, 8rem) 0 clamp(3rem, 7vw, 5rem); background: var(--color-surface-elevated); border-bottom: 1px solid var(--color-border); }
.legal-hero__inner, .legal-content__inner { width: min(1120px, calc(100% - 3rem)); margin: 0 auto; }
.legal-hero .hero-title { max-width: 900px; }
.legal-meta { margin-top: 1rem; color: var(--color-on-surface-secondary); }
.legal-content { padding: clamp(3rem, 8vw, 6rem) 0; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.legal-section { padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-level-1); }
.legal-section h2 { margin-bottom: 1rem; }
.legal-section h3 { margin: 1.5rem 0 .75rem; }
.legal-section p + p, .legal-section ul + p, .legal-section p + ul { margin-top: .9rem; }
.legal-section ul, .legal-section ol { padding-left: 1.35rem; display: grid; gap: .55rem; }
.legal-contact { font-style: normal; padding: 1rem 1.25rem; margin-top: 1rem; background: var(--color-surface-elevated); border-left: 4px solid var(--color-primary); }
.legal-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
@media (max-width: 768px) {
  .legal-hero__inner, .legal-content__inner { width: min(100%, calc(100% - 2rem)); }
  .legal-section { padding: 1.25rem; }
  .legal-actions { flex-direction: column; }
}
.legal-section .section-title { font-size: var(--font-size-2xl); letter-spacing: 0.02em; }
.legal-section [data-company], .legal-section [data-address] { font-weight: 600; }
@media (max-width: 768px) {
  .legal-section .section-title { font-size: clamp(1.3rem, 6vw, 1.7rem) !important; }
}
