.legal-main { max-width: 850px; margin: 0 auto; padding: 8rem 1.25rem 4rem; line-height: 1.75; overflow-wrap: anywhere; }
.legal-main h1 { margin-bottom: 1.5rem; }
.legal-main h2 { margin: 2rem 0 .75rem; font-size: 1.4rem; }
.legal-main p, .legal-main ul, .legal-main dl { margin-bottom: 1rem; }
.legal-main ul { padding-left: 1.5rem; }
.legal-main dt { font-weight: 700; margin-top: .8rem; }
.legal-main dd { margin-left: 0; }
.legal-main a, .privacy-notice a { text-decoration: underline; }
.legal-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.privacy-notice { font-size: .95rem; margin: 1rem 0; }
.consent-dialog { position: fixed; inset: 0; margin: auto; width: min(640px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; box-sizing: border-box; padding: 1.5rem; border: 1px solid #b7bdc6; border-radius: 12px; background: #fff; color: #17202d; font: 1rem/1.6 system-ui, sans-serif; }
.consent-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.consent-dialog h2 { margin: 0 0 .8rem; font-size: 1.5rem; }
.consent-dialog p { margin: .8rem 0; }
.consent-dialog a { color: #163e71; text-decoration: underline; }
.consent-dialog fieldset { border: 1px solid #b7bdc6; padding: .75rem; margin: 1rem 0; }
.consent-dialog legend { padding: 0 .3rem; font-weight: 600; }
.consent-dialog label { display: flex; gap: .6rem; align-items: center; min-height: 44px; cursor: pointer; }
.consent-dialog input { width: 20px; height: 20px; accent-color: #17202d; flex: 0 0 auto; }
.consent-dialog .consent-note { font-size: .85rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.consent-actions button { flex: 1 1 140px; min-height: 44px; padding: .65rem; border: 1px solid #17202d; border-radius: 5px; background: #17202d; color: #fff; font: inherit; cursor: pointer; }
.consent-actions button:hover { background: #30425a; }
.consent-dialog :focus-visible, .legal-main :focus-visible { outline: 3px solid #2765c4; outline-offset: 3px; }
.footer-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.25rem; margin: 1rem 0; }
.footer-legal-links a { text-decoration: underline; }
@media (max-width: 400px) { .consent-dialog { padding: 1rem; } .consent-actions button { flex-basis: 100%; } }
