.legal-page { background: #f5f7fb; color: #263449; }
.legal-heading { max-width: 880px; margin: 0 auto 2.5rem; }
.legal-heading h1 { font-size: clamp(1.65rem, 4vw, 3rem); font-weight: 800; line-height: 1.6; text-wrap: balance; }
.legal-date { color: #667085; font-size: .9rem; margin: 1rem 0; }
.legal-intro { font-size: 1.08rem; line-height: 1.95; }
.legal-review { padding: 1rem 1.25rem; border: 1px solid #e8d5a3; border-radius: 12px; background: #fff9ea; color: #674e1c; font-size: .9rem; line-height: 1.9; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 2rem; align-items: start; }
.legal-contents { background: #fff; border: 1px solid #e3e8f0; border-radius: 16px; padding: 1.5rem; }
.legal-contents h2 { font-size: 1rem; font-weight: 700; line-height: 1.8; margin-bottom: 1rem; }
.legal-contents a { display: block; padding: .55rem 0; line-height: 1.8; font-size: .9rem; text-decoration: none; }
.legal-contents a:hover, .legal-related a:hover { text-decoration: underline; }
.legal-body { min-width: 0; background: #fff; border: 1px solid #e3e8f0; border-radius: 16px; padding: clamp(1.25rem, 3vw, 2.75rem); }
.legal-section { scroll-margin-top: 100px; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid #e9edf3; }
.legal-section h2 { font-size: 1.22rem; font-weight: 700; line-height: 1.85; margin-bottom: 1rem; }
.legal-section p { line-height: 2; margin-bottom: 1rem; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-page, .footer-legal { overflow-wrap: anywhere; }
.legal-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.legal-actions .btn { white-space: normal; line-height: 1.8; }
.legal-related { display: flex; flex-wrap: wrap; gap: .5rem; line-height: 1.9; }
@media (max-width: 991px) { .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } .legal-heading { margin-bottom: 1.5rem; } }
@media (max-width: 575px) { .legal-contents, .legal-body { border-radius: 12px; } .legal-actions { flex-direction: column; align-items: stretch; } }
