/* Shared by the 10 static legal pages (5 FR + their /en/ twins). Page-specific rules stay
   inline in each page. Extracted 2026-10-05, audit task D3; only rules byte-identical (modulo
   whitespace) across all ten were moved, and none of them follows a page rule on the same
   selector, so the cascade is unchanged. */
:root {
    --bg: #171a20;
    --panel: #1f232b;
    --text: #e7e9ee;
    --muted: #9aa3b2;
    --accent: #4f8cff;
    --border: #2b313c;
    --radius: 10px;
}
* {
    box-sizing: border-box;
}
html {
    -webkit-text-size-adjust: 100%;
}
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font:
        16px/1.65 system-ui,
        -apple-system,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
}
.wrap {
    max-width: 760px;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 4rem;
}
header.brand {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}
header.brand .logo {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--accent);
}
header.brand .tag {
    font-size: 0.85rem;
    color: var(--muted);
}
h1 {
    font-size: 1.6rem;
    margin: 0 0 0.25rem;
}
h2 {
    font-size: 1.15rem;
    margin: 2rem 0 0.5rem;
    padding-top: 0.5rem;
}
p,
li {
    color: var(--text);
}
a {
    color: var(--accent);
}
.langnav {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.langnav a {
    font-size: 0.85rem;
    padding: 0.3rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--panel);
    text-decoration: none;
}
section.policy {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.25rem 1.5rem;
    margin-bottom: 2.5rem;
}
footer.foot {
    color: var(--muted);
    font-size: 0.85rem;
    text-align: center;
    margin-top: 2rem;
}
