/* Encres et caractères de l’atlas. Aucun service externe à l’exécution. */
@font-face { font-family:'Inria Serif'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/inria-serif-regular.woff2') format('woff2'); }
@font-face { font-family:'Inria Serif'; font-style:italic; font-weight:400; font-display:swap; src:url('/assets/fonts/inria-serif-italic.woff2') format('woff2'); }
@font-face { font-family:'Inria Serif'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/inria-serif-bold.woff2') format('woff2'); }
@font-face { font-family:'Inria Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/inria-sans-regular.woff2') format('woff2'); }
@font-face { font-family:'Inria Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/inria-sans-bold.woff2') format('woff2'); }
:root {
  --paper:#f3efe4; --paper-2:#ebe5d6; --ink:#16202e; --ink-soft:#4a5565;
  --rule:#c9c2b0; --night:#0e1a2b; --night-rule:rgba(243,239,228,.18);
  --accent:#d8432b; --accent-ink:#b5331f; --clear:transparent;
  --code-accent:#ef917e; --code-muted:#b9c3c9; --code-string:#d6c8a8;
  --mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --serif:'Inria Serif',Georgia,serif; --sans:'Inria Sans',Arial,sans-serif;
  --max:1360px; --gutter:clamp(22px,4vw,64px);
}
*,*::before,*::after { box-sizing:border-box; }
* { margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { background:var(--paper); color:var(--ink); font:400 18px/1.65 var(--serif); }
h1,h2,h3 { font-weight:400; line-height:1.15; }
a { color:inherit; text-decoration:none; text-underline-offset:.25em; }
a:hover { text-decoration:underline; }
button,input,textarea { font:inherit; color:inherit; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
button,input,textarea,summary { -webkit-tap-highlight-color:var(--clear); }
:focus-visible { outline:2px solid var(--accent-ink); outline-offset:5px; }
::selection { background:var(--ink); color:var(--paper); }
.container { width:100%; max-width:var(--max); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:300; padding:12px 20px; background:var(--paper); font:16px/1.5 var(--sans); }
.skip-link:focus { top:12px; }
.brand-mark { display:block; width:30px; height:30px; flex:none; color:var(--accent-ink); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid var(--ink-soft); border-radius:0; font:700 14px/1.45 var(--sans); text-align:center; }
.btn-primary { background:var(--accent-ink); border-color:var(--accent-ink); color:var(--paper); }
.btn-primary:hover { background:var(--ink); border-color:var(--ink); text-decoration:none; }
.btn-outline { background:var(--clear); }
.btn-outline:hover { text-decoration:underline; }
.btn:disabled { cursor:wait; }
[hidden] { display:none!important; }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
