
body { line-height: 1.7; }
.page-hero h1 { font-size: 2.7rem; }
.page-hero p { font-size: 1.1rem; color: rgba(255,255,255,0.92); max-width: 680px; }

.legal { padding: var(--section-padding); background: var(--bg-white); }
.legal-card { max-width: 880px; margin: 0 auto; }
.legal-block { margin-bottom: 2.8rem; scroll-margin-top: 100px; }
.legal-block:last-child { margin-bottom: 0; }
.legal-block h2 { font-size: 1.5rem; margin-bottom: 1.1rem; padding-bottom: 0.6rem; border-bottom: 2px solid var(--bg-light); display: flex; align-items: center; gap: 0.7rem; }
.legal-block h2 i { color: var(--cg-green); font-size: 1.2rem; }
.legal-block h3 { font-size: 1.12rem; color: var(--text-dark); margin: 1.6rem 0 0.7rem; }
.legal-block p { color: var(--text-muted); margin-bottom: 1rem; }
.legal-block p:last-child { margin-bottom: 0; }
.legal-block a { color: var(--primary-blue); font-weight: 600; text-decoration: underline; }
.legal-block a:hover { color: var(--rp-orange); }

.legal-block ul.list { margin: 0 0 1.1rem 0; }
.legal-block ul.list li { position: relative; padding-left: 1.6rem; margin-bottom: 0.6rem; color: var(--text-muted); }
.legal-block ul.list li::before { content: ''; position: absolute; left: 0; top: 0.62em; width: 7px; height: 7px; border-radius: 2px; background: var(--cg-green); }
.def { margin-bottom: 0.9rem; color: var(--text-muted); }
.def strong { color: var(--text-dark); }

.legal-meta { display: grid; grid-template-columns: 200px 1fr; gap: 0.2rem 1.5rem; background: var(--bg-light); border-radius: var(--border-radius); padding: 1.6rem 1.8rem; margin-top: 1rem; }
.legal-meta dt { font-weight: 600; color: var(--text-dark); padding: 0.55rem 0; border-bottom: 1px solid var(--border); }
.legal-meta dd { color: var(--text-muted); padding: 0.55rem 0; border-bottom: 1px solid var(--border); }
.legal-meta dt:last-of-type, .legal-meta dd:last-of-type { border-bottom: none; }
.legal-meta a:hover { color: var(--rp-orange); }

.toc { background: var(--bg-light); border-radius: var(--border-radius); padding: 1.7rem 1.9rem; margin-bottom: 3rem; border-left: 4px solid var(--rp-orange); }
.toc h2 { font-size: 1.1rem; margin-bottom: 1rem; }
.toc ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1.8rem; }
.toc a { color: var(--text-dark); font-weight: 500; font-size: 0.94rem; display: inline-flex; gap: 0.5rem; }
.toc a span { color: var(--rp-orange); font-weight: 700; }
.toc a:hover { color: var(--primary-blue); }

@media (max-width: 992px) {
    .page-hero h1 { font-size: 2.2rem; }
}
@media (max-width: 768px) {
    .page-hero { padding: 115px 0 50px 0; }
    .page-hero h1 { font-size: 1.9rem; }
    .legal-meta { grid-template-columns: 1fr; gap: 0; padding: 1.3rem 1.3rem; }
    .legal-meta dt { border-bottom: none; padding-bottom: 0; }
    .legal-meta dd { padding-top: 0.15rem; }
    .legal-meta dd:not(:last-of-type) { border-bottom: 1px solid var(--border); padding-bottom: 0.8rem; margin-bottom: 0.4rem; }
    .toc ul { grid-template-columns: 1fr; }
}
