:root {
  --orange: #FE6807;
  --noir: #07070B;
  --ivoire: #F4F0E8;
  --gris: #8C8994;
  --f-titre: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--noir); color: var(--ivoire); font-family: var(--f-titre); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body:not(.en) .txt-en, body.en .txt-fr { display: none !important; }
a { color: var(--ivoire); text-decoration-color: var(--orange); text-underline-offset: 3px; }
a:hover { color: var(--orange); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.barre { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px clamp(16px, 4vw, 48px); border-bottom: 1px solid rgba(255,255,255,.08); }
.barre img { height: 26px; width: auto; display: block; }
.langues { display: flex; gap: 4px; padding: 4px; border-radius: 99px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.langues button { font: inherit; font-size: 13px; font-weight: 600; color: var(--ivoire); background: none; border: 0; border-radius: 99px; padding: 6px 12px; cursor: pointer; }
.langues button[aria-pressed="true"] { background: var(--ivoire); color: var(--noir); }
main { max-width: 760px; margin: 0 auto; padding: clamp(40px, 7vw, 88px) 16px 80px; }
.mono { font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--gris); }
h1 { font-size: clamp(36px, 6vw, 60px); line-height: 1.05; letter-spacing: -.03em; font-weight: 500; margin: 12px 0 40px; }
h2 { font-size: 22px; font-weight: 600; margin: 44px 0 10px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); }
p, li { color: rgba(244,240,232,.82); }
ul { padding-left: 20px; }
dl { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 8px 20px; margin: 0; }
dt { color: var(--gris); font-size: 15px; }
dd { margin: 0; }
@media (max-width: 560px) { dl { grid-template-columns: 1fr; gap: 2px; } dd { margin-bottom: 10px; } }
footer { padding: 32px 16px; text-align: center; color: var(--gris); font-size: 14px; border-top: 1px solid rgba(255,255,255,.08); }
footer a { color: var(--gris); }
