/* Self-hosted fonts (SIL Open Font License, see assets/fonts/OFL-*.txt) – no requests to Google. */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 100 1000; font-display: swap; src: url('assets/fonts/dm-sans-latin-wght-normal.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap; src: url('assets/fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2'); }

/* The legal pages share the landing page's typography and colours. */
body.legal-page {
    --bg-color: #f4f8fb;
    --surface-color: #fff;
    --surface-hover: #eaf3fa;
    --text-main: #0f172a;
    --text-muted: #627286;
    --border-color: #e2e8f0;
    --accent-gradient: linear-gradient(135deg, #2e7db8, #4fa0dc);
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: #f4f8fb;
    color: #0f172a;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}
.legal-page .container { max-width: 920px; padding: 54px 24px 24px; margin-inline: auto; }
.legal-page .header { text-align: left; margin-bottom: 30px; }
.legal-page .header h1 { font-family: inherit; font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.18; font-weight: 700; letter-spacing: -.035em; color: #0f172a; background: none; -webkit-text-fill-color: currentColor; text-shadow: none; margin-top: 24px; overflow-wrap: anywhere; hyphens: auto; }
.legal-page .header p { color: #627286; font-size: 1rem; }
.legal-page .back-link { color: #2e7db8; padding: 9px 14px; background: #fff; border: 1px solid #e2e8f0; border-radius: 9px; font-size: .85rem; }
.legal-page .back-link:hover { color: #1f5c8b; background: #eaf3fa; }
.legal-page .main-content { padding: 40px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 8px 30px rgba(15,23,42,.04); }
.legal-page h2, .legal-page h3, .legal-page h4 { font-family: inherit; color: #0f172a; letter-spacing: -.025em; }
.legal-page h2 { font-size: 1.45rem; line-height: 1.35; }
.legal-page h3 { font-size: 1.12rem; }
.legal-page .main-content p, .legal-page .main-content li { color: #526276; }
.legal-page .main-content strong { color: #24364c; }
.legal-page .main-content a { color: #2e7db8; overflow-wrap: anywhere; text-underline-offset: 3px; }
.legal-page .contact-info, .legal-page .highlight-box, .legal-page .info-box { background: #f4f8fb; border-color: #e2e8f0; border-radius: 10px; }
.legal-page .contact-info img { max-width: min(100%, 300px) !important; }
.legal-page .language-switch { justify-content: flex-start; gap: 9px; }
.legal-page .language-switch a { font-size: .8rem; border-radius: 9px; padding: 8px 14px; }
.legal-page .language-switch a.active { background: #2e7db8; box-shadow: none; color: #fff; }
.legal-page .footer { padding: 20px 24px 40px; color: #627286; font-size: .8rem; }
.legal-page .footer a { color: #627286; }
.legal-page :focus-visible { outline: 3px solid #2e7db8; outline-offset: 4px; }
@media (max-width: 640px) {
    .legal-page .container { padding: 30px 18px 18px; }
    .legal-page .main-content { padding: 25px 22px; border-radius: 14px; }
    .legal-page .header h1 { font-size: clamp(1.7rem, 7.4vw, 2rem); }
    .legal-page .main-content p, .legal-page .main-content li { font-size: .93rem; }
}
