:root { color-scheme: light; font-family: Calibri, Arial, sans-serif; color: #17243b; background: #f3f6fb; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
a { color: #0046c8; text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid #2b74ff; outline-offset: 5px; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem max(1.25rem, calc((100% - 1000px)/2)); background: #101722; }
.legal-header img { display: block; width: 170px; max-width: 100%; }
.legal-header a { color: #fff; white-space: nowrap; }
.legal-main { max-width: 820px; margin: 3.5rem auto; padding: 0 1.25rem; }
.legal-kicker { color: #0046c8; font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: .25rem 0 2rem; font-size: clamp(2.2rem,6vw,3.5rem); line-height: 1.1; overflow-wrap: anywhere; hyphens: auto; }
h2 { margin: 0 0 1rem; font-size: 1.35rem; }
.legal-card { margin: 1.25rem 0; padding: clamp(1.25rem,4vw,2rem); border: 1px solid #dde4ef; border-radius: 18px; background: #fff; }
address { font-style: normal; }
.legal-card p:last-child { margin-bottom: 0; }
.data-sources ul { padding-left: 1.25rem; }
.data-sources li + li { margin-top: 1.25rem; }
.legal-card a { overflow-wrap: anywhere; }
.legal-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; max-width: 1000px; margin: auto; padding: 1.5rem 1.25rem 2rem; border-top: 1px solid #dde4ef; color: #526178; font-size: .9rem; }

.legal-draft { padding: 1rem 1.25rem; border-left: 4px solid #ca8a04; border-radius: 6px; background: #fff5d9; color: #614300; }
