.legal-page {
    min-height: 75vh;
    padding: 160px clamp(24px, 7vw, 108px) 100px;
    background: #0b0c0a;
    color: #fff;
}

.legal-page-inner { max-width: 900px; margin: 0 auto; }
.legal-back { display: inline-block; margin-bottom: 40px; color: #c8cbc3; font-size: .85rem; }
.legal-back:hover { color: #fff; }
.legal-page h1 { margin: 0 0 20px; font-size: clamp(2.8rem, 6vw, 5rem); }
.legal-intro { margin-bottom: 48px; color: #c8cbc3; }
.legal-sections { display: grid; gap: 30px; }
.legal-sections section { border-top: 1px solid #32342f; padding-top: 28px; }
.legal-sections h2 { margin-bottom: 18px; font-size: clamp(1.25rem, 3vw, 1.65rem); line-height: 1.2; overflow-wrap: anywhere; }
.legal-sections address { font-style: normal; }
.legal-sections p, .legal-sections address, .legal-sections dl { margin: 0; color: #d7d9d2; line-height: 1.8; }
.legal-sections strong { color: #fff; }
.legal-sections dl > div { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.legal-sections dt { min-width: 65px; color: #a8aba3; }
.legal-sections dd { margin: 0; overflow-wrap: anywhere; }
.legal-sections a { text-decoration: underline; text-underline-offset: 4px; }
.legal-sections a:hover { color: var(--accent); }
.public-footer div { flex-wrap: wrap; }
.legal-sections p + p, .legal-sections address + p, .legal-sections dl + p { margin-top: 16px; }
.legal-sections section { scroll-margin-top: 120px; }
.legal-toc { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 48px; color: #d7d9d2; line-height: 1.5; }
.legal-toc a { text-decoration: underline; text-underline-offset: 4px; }
.legal-toc a:hover { color: var(--accent); }
.legal-cookie-details { padding: 20px 0; }
.legal-cookie-details > div { margin-bottom: 10px; }
.legal-cookie-details dt { flex: 0 0 100px; }
.legal-cookie-details dd { flex: 1 1 220px; }
.legal-links-footer { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 36px; padding-top: 20px; border-top: 1px solid #d9dcd3; color: #4f5548; font-size: .85rem; line-height: 1.5; }
.legal-links-footer a { text-decoration: underline; text-underline-offset: 4px; }
.legal-links-footer a:hover { color: #0b0c0a; }
.legal-toc a:focus-visible, .legal-sections a:focus-visible, .legal-links-footer a:focus-visible, .public-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

@media (max-width: 600px) {
    .legal-page { padding-top: 135px; padding-bottom: 64px; }
    .legal-back { margin-bottom: 28px; }
}
