.legal-page { max-width: 1060px; margin: 0 auto; padding: clamp(3rem, 7vw, 6.5rem) clamp(1.25rem, 5vw, 4rem) 7rem; }
.legal-intro { max-width: 760px; margin-bottom: 3.25rem; }
.legal-intro h1 { margin: .65rem 0 1.25rem; color: var(--green-deep); font-size: clamp(3.2rem, 8vw, 6rem); }
.legal-intro p:last-child { color: var(--muted); }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.legal-aside { padding: 1.6rem; border: 1px solid var(--line); border-top: 3px solid var(--bronze-light); background: var(--white); }
.legal-aside h2 { margin: 0 0 1rem; color: var(--green-deep); font-size: 1.35rem; }
.legal-aside p { margin-bottom: .7rem; }
.legal-aside a, .legal-content a { color: var(--green-deep); text-decoration-thickness: 1px; text-underline-offset: .22em; overflow-wrap: anywhere; }
.legal-content { min-width: 0; }
.legal-content section { padding: 0 0 1.75rem; margin-bottom: 1.75rem; border-bottom: 1px solid var(--line); }
.legal-content section:last-child { margin-bottom: 0; border-bottom: 0; }
.legal-content h2 { margin-bottom: .8rem; color: var(--green-deep); font-size: clamp(1.5rem, 3vw, 2rem); }
.legal-content p { margin-bottom: 1rem; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-content address { font-style: normal; }
.legal-date { margin-top: 2rem; color: var(--muted); font-size: .85rem; }
@media (max-width: 720px) { .legal-layout { grid-template-columns: 1fr; } .legal-page { padding-bottom: 4rem; } }
@media print { .legal-page { max-width: none; padding: 0; } .legal-layout { display: block; } .legal-aside { border: 1px solid #bbb; margin-bottom: 1.5rem; } .legal-content section { break-inside: avoid; } }
