/* ════════════════════════════════════════════════════════════════════════
   Charte : docs/charte-graphique.md
   La couleur n'encode QUE du sens. Les quatre positions de vote sont les
   seules couleurs sémantiques ; l'accent sert aux liens et à rien d'autre.
   Un RÉSULTAT (adopté, rejeté) n'est pas une position : il reste en encre,
   faute de quoi on dirait qu'adopter est bien et rejeter est mal.
   Pas de bleu-blanc-rouge : ce site n'est pas officiel et ne doit pas en
   avoir l'air.

   Contrastes vérifiés sur les TROIS surfaces (papier, papier-2, carte) et
   dans les deux thèmes. Minimum constaté : 4,86:1.
   ════════════════════════════════════════════════════════════════════════ */

/* Fontes hébergées en propre : aucune requête vers un tiers, aucun traceur,
   aucun décalage au chargement. Sous-jeux latin et latin-ext, licences OFL
   (web/fonts/OFL.txt). */
@font-face{font-family:Plex;font-style:normal;font-weight:400 700;font-display:swap;
src:url("fonts/plex-sans-latin.woff2") format("woff2");
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plex;font-style:normal;font-weight:400 700;font-display:swap;
src:url("fonts/plex-sans-latin-ext.woff2") format("woff2");
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:PlexMono;font-style:normal;font-weight:400;font-display:swap;
src:url("fonts/plex-mono-400-latin.woff2") format("woff2");
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:PlexMono;font-style:normal;font-weight:400;font-display:swap;
src:url("fonts/plex-mono-400-latin-ext.woff2") format("woff2");
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:PlexMono;font-style:normal;font-weight:500;font-display:swap;
src:url("fonts/plex-mono-500-latin.woff2") format("woff2");
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:PlexMono;font-style:normal;font-weight:500;font-display:swap;
src:url("fonts/plex-mono-500-latin-ext.woff2") format("woff2");
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Titre;font-style:normal;font-weight:500;font-display:swap;
src:url("fonts/newsreader-latin.woff2") format("woff2");
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Titre;font-style:normal;font-weight:500;font-display:swap;
src:url("fonts/newsreader-latin-ext.woff2") format("woff2");
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --papier:#FAF8F3; --papier2:#F1EEE6; --carte:#FFFFFF;
  --encre:#17181D; --attenue:#5A5850; --filet:#E4E0D6; --filet2:#EFEBE2;
  --accent:#125863; --accent-doux:#E3EEF0;
  --pour:#1C6B45; --contre:#A32C2A; --abst:#7E5C0E; --absent:#6B675F;
  --absent-f:#E2DFD9; --seuil:#17181D;
  --rayon:12px; --rayon-s:7px;
  --sans:Plex,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:PlexMono,ui-monospace,SFMono-Regular,Menlo,monospace;
  --titre:Titre,Georgia,"Times New Roman",serif;
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){
  --papier:#131419; --papier2:#0E0F14; --carte:#1B1C22;
  --encre:#EEEBE4; --attenue:#9C988F; --filet:#2A2B33; --filet2:#212229;
  --accent:#74C3D3; --accent-doux:#16323A;
  --pour:#58C089; --contre:#E87D76; --abst:#DAAE45; --absent:#918D85;
  --absent-f:#2B2A28; --seuil:#EEEBE4;
}}
[data-theme=dark]{
  --papier:#131419; --papier2:#0E0F14; --carte:#1B1C22;
  --encre:#EEEBE4; --attenue:#9C988F; --filet:#2A2B33; --filet2:#212229;
  --accent:#74C3D3; --accent-doux:#16323A;
  --pour:#58C089; --contre:#E87D76; --abst:#DAAE45; --absent:#918D85;
  --absent-f:#2B2A28; --seuil:#EEEBE4;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papier);color:var(--encre);
font:16px/1.6 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.6rem}

/* Le focus reste visible sur TOUS les éléments interactifs. Jamais supprimé. */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,
[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.saut{position:absolute;left:-9999px;top:0;background:var(--encre);color:var(--papier);
padding:.7rem 1.1rem;z-index:100;border-radius:0 0 var(--rayon-s) 0}
.saut:focus{left:0}

/* ── Barre de marque ─────────────────────────────────────────────────── */
header.top{background:var(--carte);border-bottom:1px solid var(--filet);position:relative;z-index:5}
header.top .row{display:flex;align-items:center;gap:1.1rem;padding:.8rem 0}
.marque{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;flex:0 0 auto}
.marque svg,.marque img{display:block;flex:0 0 auto}
.marque .mot{font:600 1.06rem/1 var(--sans);letter-spacing:-.028em}
.marque .mot i{font-style:normal;color:var(--attenue);font-weight:450}
/* Douze entrées ne tiennent pas sur une ligne à toutes les largeurs, et
   masquer un libellé cacherait une section entière du site : la barre passe
   donc sur deux lignes plutôt que d'amputer. */
header.top nav{display:flex;gap:.05rem;flex-wrap:wrap;justify-content:flex-end;
margin-left:.3rem}
header.top nav a{font:500 .84rem/1 var(--sans);color:var(--attenue);text-decoration:none;
padding:.5rem .48rem;border-radius:var(--rayon-s);display:inline-flex;align-items:center;
gap:.34rem;white-space:nowrap}
/* Huit entrées, une marque, une recherche et un sélecteur de thème ne tiennent
   pas sur une ligne à 1440 px : les icônes s'effacent d'abord, la recherche
   ensuite. Les libellés, eux, ne disparaissent jamais. */
header.top nav sup{font-size:.66em;line-height:0;vertical-align:.42em}
@media(max-width:112rem){header.top nav a .ico{display:none}}
@media(max-width:100rem){header.top nav a{padding-left:.42rem;padding-right:.42rem;
  font-size:.8rem}}
@media(max-width:88rem){button.rech.compact{max-width:2.6rem}
  button.rech.compact .txt,button.rech.compact kbd{display:none}}
header.top nav a:hover{color:var(--encre);background:var(--papier2)}
header.top nav a[aria-current]{color:var(--encre);background:var(--papier2)}
header.top nav a .ico{width:16px;height:16px;flex:0 0 auto;opacity:.78}
header.top nav a:hover .ico,header.top nav a[aria-current] .ico{opacity:1}

/* ── Sélecteur de thème ──────────────────────────────────────────────── */
.theme{display:flex;gap:.1rem;flex:0 0 auto;border:1px solid var(--filet);
border-radius:999px;padding:.15rem;background:var(--papier2)}
.theme button{display:grid;place-items:center;width:1.85rem;height:1.85rem;padding:0;
border:0;border-radius:999px;background:0;color:var(--attenue);cursor:pointer}
.theme button:hover{color:var(--encre)}
.theme button[aria-pressed=true]{background:var(--carte);color:var(--accent);
box-shadow:0 1px 2px rgba(0,0,0,.06)}
.theme .ico{width:15px;height:15px;opacity:1}

/* ── Documents de méthode rendus depuis Markdown ─────────────────────── */
.doc-page{display:grid;gap:2.6rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:64rem){.doc-page{grid-template-columns:minmax(0,1fr) 15rem}}
.doc-toc{position:sticky;top:1.5rem;align-self:start;font-size:.85rem;
border-left:1px solid var(--filet);padding-left:1.1rem}
@media(max-width:64rem){.doc-toc{position:static;border-left:0;border-top:1px solid var(--filet);
padding:1.2rem 0 0;order:-1}}
.doc-toc .lb{font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
color:var(--attenue);margin:0 0 .6rem}
.doc-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:.42rem}
.doc-toc a{text-decoration:none;color:var(--attenue);display:block;line-height:1.35}
.doc-toc a:hover{color:var(--accent)}
.prose{max-width:44rem}
.prose h1{font:500 2.1rem/1.14 var(--titre);letter-spacing:-.02em;margin:.2rem 0 1.2rem}
.prose h2{font:500 1.5rem/1.22 var(--titre);letter-spacing:-.014em;margin:2.6rem 0 .8rem;
padding-bottom:.35rem;border-bottom:1px solid var(--filet);scroll-margin-top:1.5rem}
.prose h3{font:600 1.02rem/1.35 var(--sans);margin:1.9rem 0 .5rem;scroll-margin-top:1.5rem}
.prose h4{font:600 .92rem/1.35 var(--sans);margin:1.4rem 0 .4rem;color:var(--attenue)}
.prose p,.prose li{line-height:1.68}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin:.3rem 0}
.prose li::marker{color:var(--attenue)}
.prose blockquote{margin:1.4rem 0;padding:.15rem 0 .15rem 1.1rem;
border-left:2px solid var(--accent);color:var(--attenue)}
.prose blockquote p{margin:.4rem 0}
/* L'exposé des motifs : cité verbatim, jamais réécrit — la citation d'un
   tiers se distingue visuellement d'une note du site (var(--attenue)) mais
   ne prend ni le vert ni le rouge, réservés aux positions de vote. */
blockquote.expose{margin:1rem 0;padding:.7rem 1rem;border-left:3px solid var(--filet);
background:var(--papier2);border-radius:0 var(--rayon-s) var(--rayon-s) 0;
white-space:pre-line;font-size:.92rem;line-height:1.6}
.prose hr{border:0;border-top:1px solid var(--filet);margin:2.4rem 0}
.prose table{margin:1.2rem 0;font-size:.875rem}
.prose th{vertical-align:bottom}
.prose td{vertical-align:top}
.prose pre{background:var(--papier2);border:1px solid var(--filet);border-radius:var(--rayon-s);
padding:.9rem 1rem;overflow-x:auto;font-size:.83rem;line-height:1.6}
.prose pre code{background:0;padding:0;font-size:1em}
.prose a{text-underline-offset:3px}
.prose strong{font-weight:600}
.prose img{max-width:100%;height:auto}

/* ── Recherche ───────────────────────────────────────────────────────── */
.rech{display:flex;align-items:center;gap:.7rem;background:var(--carte);width:100%;
border:1.5px solid var(--filet);border-radius:var(--rayon);padding:.8rem 1rem;
font:450 1rem/1.3 var(--sans);color:var(--attenue);text-align:left;cursor:pointer}
.rech:hover{border-color:var(--accent);color:var(--encre)}
.rech svg{flex:0 0 auto}
.rech .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rech kbd{font:500 .72rem/1 var(--mono);border:1px solid var(--filet);border-radius:5px;
padding:.28rem .42rem;flex:0 0 auto}
.rech.grand{padding:1rem 1.2rem;font-size:1.1rem}
button.rech.compact{max-width:15rem;padding:.5rem .75rem;font-size:.86rem;border-width:1px;
margin-left:auto}
.suggest{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.85rem;align-items:baseline}
.suggest > span{font-size:.82rem;color:var(--attenue)}
.suggest a{font:450 .82rem/1 var(--sans);text-decoration:none;border:1px solid var(--filet);
background:var(--carte);color:var(--attenue);padding:.36rem .65rem;border-radius:999px}
.suggest a:hover{border-color:var(--accent);color:var(--accent)}

dialog.palette{border:0;padding:0;background:transparent;max-width:44rem;width:calc(100% - 2rem);
margin-top:8vh;color:var(--encre)}
dialog.palette::backdrop{background:rgba(10,10,14,.55)}
.palette .boite{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
overflow:hidden}
.palette .champ{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.1rem;
border-bottom:1px solid var(--filet)}
.palette input{border:0;background:0;font:450 1.08rem/1.3 var(--sans);color:var(--encre);
width:100%;outline:0}
.palette input::placeholder{color:var(--attenue)}
.palette .res{max-height:min(58vh,30rem);overflow-y:auto}
.palette .res a{display:flex;align-items:baseline;gap:.8rem;padding:.6rem 1.1rem;
text-decoration:none;color:inherit;border-bottom:1px solid var(--filet2)}
.palette .res a:hover,.palette .res a.sel{background:var(--papier2)}
.palette .res .n{font-weight:500;flex:1;min-width:0}
.palette .res .k{font:400 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
color:var(--attenue);flex:0 0 auto}
.palette .vide{padding:1.5rem 1.1rem;color:var(--attenue);font-size:.9rem}
.palette .pied-p{padding:.7rem 1.1rem;border-top:1px solid var(--filet);
font-size:.8rem;color:var(--attenue);background:var(--papier2)}

/* ── Hero ────────────────────────────────────────────────────────────── */
.hero{background:var(--papier2);border-bottom:1px solid var(--filet);
padding:3.4rem 0 2.6rem;position:relative;overflow:hidden}
/* Champ de sièges : la même géométrie que la marque. Confiné au hero, replié
   vers la droite où il n'y a pas de contenu, jamais derrière une donnée.

   La trame est un MASQUE et non une image : sa couleur vient donc de --encre et
   suit les deux thèmes toute seule. Définir la couleur des points dans le seul
   bloc @media laissait le champ invisible dès qu'on forçait [data-theme=dark]
   depuis un système en clair. */
.hero .champ{position:absolute;inset:0;pointer-events:none;opacity:.055;
-webkit-mask-image:linear-gradient(to left,#000 0%,transparent 62%);
mask-image:linear-gradient(to left,#000 0%,transparent 62%)}
.hero .champ::before{content:"";position:absolute;inset:0;background:var(--encre);
-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Crect width='6' height='6' rx='1.8' fill='%23000'/%3E%3C/svg%3E");
mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Crect width='6' height='6' rx='1.8' fill='%23000'/%3E%3C/svg%3E");
-webkit-mask-repeat:repeat;mask-repeat:repeat}
.hero .wrap{position:relative;z-index:2}
.hero h1{font:500 clamp(2rem,4.6vw,3.1rem)/1.07 var(--titre);letter-spacing:-.022em;
max-width:19ch;margin:0 0 .9rem;text-wrap:balance}
.hero .lede{color:var(--attenue);font-size:1.06rem;max-width:52ch;margin:0 0 2rem;line-height:1.55}
.hero .outil{max-width:41rem}
.ancrage{display:flex;gap:1.6rem;flex-wrap:wrap;margin:1.9rem 0 0;padding-top:1.2rem;
border-top:1px solid var(--filet)}
.ancrage div{font-size:.84rem}
.ancrage dt{font:500 .68rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;
color:var(--attenue);margin:0 0 .2rem}
.ancrage dd{margin:0;font-weight:500}

/* ── Titres et blocs ─────────────────────────────────────────────────── */
h1{font:500 2.1rem/1.14 var(--titre);letter-spacing:-.02em;margin:.3rem 0 .7rem;text-wrap:balance}
h2{font:500 1.55rem/1.2 var(--titre);letter-spacing:-.014em;margin:2.8rem 0 .9rem;
padding-bottom:.4rem;border-bottom:1px solid var(--filet);text-wrap:balance}
h3{font:600 1.02rem/1.35 var(--sans);margin:1.6rem 0 .4rem}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
.lede{color:var(--attenue);font-size:1.04rem;max-width:48rem;line-height:1.55}
.muted{color:var(--attenue)}.small{font-size:.875rem}
.sur,.eyebrow{font:500 .7rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;
color:var(--accent);display:block;margin-bottom:.5rem}
.h2{font:500 1.55rem/1.2 var(--titre);letter-spacing:-.014em;text-wrap:balance}
.bloc{padding:2.8rem 0}
.bloc + .bloc{border-top:1px solid var(--filet)}
.tete{display:flex;align-items:center;justify-content:space-between;gap:1rem;
flex-wrap:wrap;margin-bottom:1.3rem}
.tete .plus{font:500 .86rem/1 var(--sans);text-decoration:none}

/* ── Chiffres ────────────────────────────────────────────────────────── */
.chiffres{display:grid;gap:1.2rem 1rem;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}
.chiffre-bloc .v{font:600 clamp(1.35rem,2.6vw,1.85rem)/1 var(--sans);letter-spacing:-.03em;
white-space:nowrap}
.chiffre-bloc .l{font-size:.76rem;color:var(--attenue);margin-top:.3rem;display:block;line-height:1.35}

/* ── Flux de scrutins ────────────────────────────────────────────────── */
.flux{display:grid;gap:0}
.ligne{display:grid;grid-template-columns:5.4rem 1fr 10rem 5.5rem;gap:1rem;align-items:center;
padding:.85rem 0;border-top:1px solid var(--filet);text-decoration:none;color:inherit}
.flux .ligne:last-child{border-bottom:1px solid var(--filet)}
.ligne:hover{background:var(--carte)}
.ligne .d{font:400 .78rem/1.3 var(--mono);color:var(--attenue)}
.ligne .o{font-weight:500;font-size:.95rem;line-height:1.4;
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ligne .o em{font-style:normal;color:var(--attenue);font-weight:400;font-size:.82rem;
display:block;margin-top:.1rem}
/* Le résultat est en encre : « adopté » n'est pas une position de vote. */
.ligne .r{font-size:.83rem;font-weight:600;text-align:right;white-space:nowrap}
.mini{display:flex;height:7px;border-radius:4px;overflow:hidden;background:var(--filet2);width:100%}
.mini i{display:block;height:100%}

/* ── Cartes ──────────────────────────────────────────────────────────── */
.cartes{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.cartes.trois{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}
.cartes.quatre{grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr))}
.carte{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1.15rem 1.2rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.4rem}
a.carte:hover{border-color:var(--accent)}
.carte .v{font:600 1.6rem/1 var(--sans);letter-spacing:-.03em}
.carte .t{font-weight:600;font-size:.98rem;text-wrap:balance}
.carte .d{font-size:.855rem;color:var(--attenue);line-height:1.5;margin-top:auto}
.sparkline{width:100%;height:1.9rem;display:block}
.sparkline .ligne{stroke:var(--sp,var(--accent));stroke-width:1.6}
.sparkline .pt{fill:var(--sp,var(--accent))}
.carte.creuse{background:transparent;border-style:dashed}
.carte.creuse .v{font:500 .95rem/1.3 var(--sans);color:var(--attenue);letter-spacing:0}
.groupe-delinquance{margin:1.1rem 0}
.groupe-delinquance .gt{display:flex;align-items:center;gap:.4rem;font:500 .78rem/1 var(--mono);
letter-spacing:.06em;text-transform:uppercase;color:var(--attenue);margin-bottom:.6rem}
.groupe-delinquance .gt i{width:9px;height:9px;border-radius:2px;display:block;flex:0 0 auto}
.mini-delinq{padding:.85rem .9rem;gap:.3rem}
.mini-delinq .t{font-size:.82rem;line-height:1.25}
.mini-delinq .d{font-size:.72rem}
.card{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1.1rem 1.2rem;margin:1rem 0}
.grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));margin:1.5rem 0}
.sections{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));margin:1.5rem 0}
.sec{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1.15rem 1.2rem;display:flex;flex-direction:column;gap:.42rem;text-decoration:none;color:inherit}
.sec:hover{border-color:var(--accent)}
.sec .v{font:600 1.6rem/1 var(--sans);letter-spacing:-.03em}
.sec .t{font-weight:600;font-size:.98rem}
.sec .d{font-size:.855rem;color:var(--attenue);line-height:1.5;margin-top:auto}
.sec.vide{background:transparent;border-style:dashed}
.sec.vide .v{font:500 .95rem/1.3 var(--sans);color:var(--attenue);letter-spacing:0}

/* ── Tableaux ────────────────────────────────────────────────────────── */
table{border-collapse:collapse;width:100%;font-size:.9rem}
.scroll{overflow-x:auto}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--filet);vertical-align:top}
th{font:500 .68rem/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;
color:var(--attenue);border-bottom:1px solid var(--attenue);vertical-align:bottom}
td.n,th.n{text-align:right;white-space:nowrap}
.num,td:has(+td){font-variant-numeric:tabular-nums}
tbody tr:hover{background:var(--carte)}
.z{color:var(--attenue);font-weight:400}

/* ── Positions de vote : les seules couleurs sémantiques ─────────────── */
.pos{font-weight:600;white-space:nowrap}
.FOR,.POUR{color:var(--pour)}.AGAINST,.CONTRE{color:var(--contre)}
.ABSTAIN,.ABST{color:var(--abst)}
/* Non-votant : désaturé et sans graisse. Ce n'est pas une position politique
   mais une donnée manquante, et son traitement visuel le dit. */
.ABSENT,.NON_VOTING{color:var(--absent);font-weight:400}
.NR{color:var(--absent);font-weight:400;font-style:italic}
/* La couleur n'est jamais seule : chaque position porte aussi une FORME. */
.pastille{display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap}
.pastille::before{content:"";width:9px;height:9px;border-radius:2.5px;background:currentColor;
flex:0 0 auto}
.pastille.ABSENT::before,.pastille.NON_VOTING::before{background:transparent;
border:1.5px solid currentColor}
.pastille.NR::before{background:transparent;border:1.5px dashed currentColor}

/* ── Barres ──────────────────────────────────────────────────────────── */
.bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--filet2);margin:.4rem 0}
.bar i{display:block}
/* Barre à échelle absolue : la largeur dit la magnitude, le remplissage dit
   la répartition. Une barre en pourcentage occupant toute la largeur ferait
   lire 4 voix comme 72. */
.ech{position:relative;height:15px;background:var(--filet2);border-radius:3px;overflow:hidden}
.ech .g{position:absolute;top:0;bottom:0;left:0;display:flex;border-radius:3px;overflow:hidden}
.ech .g i{display:block}

/* ── Bandeau de résultat et barre de seuil ───────────────────────────── */
.verdict{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1.4rem 1.5rem;margin:1.6rem 0}
.verdict .haut{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
flex-wrap:wrap;margin-bottom:1.1rem}
.verdict .etat{font:600 1.28rem/1.2 var(--sans);letter-spacing:-.02em}
.verdict .chiffre{font:400 .88rem/1.45 var(--mono);color:var(--attenue)}
.verdict .chiffre b{color:var(--encre);font-weight:500}
.seuil-bar{position:relative;height:34px;border-radius:6px;background:var(--filet2);
border:1px solid var(--filet);margin-top:1.6rem}
.seuil-bar .fill{position:absolute;top:0;bottom:0;left:0;border-radius:5px 0 0 5px;
display:flex;overflow:hidden}
.seuil-bar .fill i{display:block;height:100%}
.seuil-bar .tick{position:absolute;top:-9px;bottom:-9px;width:2px;background:var(--seuil)}
.seuil-bar .tick::after{content:attr(data-l);position:absolute;top:-1.4rem;left:50%;
transform:translateX(-50%);white-space:nowrap;font:500 .7rem/1 var(--mono);color:var(--encre)}
.seuil-lg{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.82rem}
.seuil-lg span{display:inline-flex;align-items:center;gap:.42rem;color:var(--attenue)}
.seuil-lg i{width:10px;height:10px;border-radius:2.5px;display:block;flex:0 0 auto}

/* ── Grille des sièges : identité ET donnée ──────────────────────────── */
.grille{display:flex;flex-wrap:wrap;gap:3px;margin:.4rem 0}
.grille b{width:9px;height:9px;border-radius:2px;display:block;background:var(--absent-f)}
.grille b.p{background:var(--pour)}.grille b.c{background:var(--contre)}
.grille b.a{background:var(--abst)}
.grille b.nv{background:transparent;border:1.5px solid var(--absent)}
.grille b.nr{background:var(--filet)}
.bloc-gr{display:grid;gap:.9rem 1.4rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
.bloc-gr .g{min-width:0}
.bloc-gr .g .nom{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;
font-size:.83rem;margin-bottom:.35rem}
.bloc-gr .g .nom b{font-weight:600}
.bloc-gr .g .nom span{color:var(--attenue);font:400 .76rem/1 var(--mono)}

/* ── Actions, citation ───────────────────────────────────────────────── */
.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.3rem 0 0}
.btn{display:inline-flex;align-items:center;gap:.45rem;font:500 .855rem/1 var(--sans);
border:1px solid var(--filet);background:var(--carte);color:var(--encre);
border-radius:var(--rayon-s);padding:.58rem .85rem;text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.fort{background:var(--encre);color:var(--papier);border-color:var(--encre)}
.btn.fort:hover{opacity:.88;color:var(--papier)}
.cite{background:var(--papier2);border:1px solid var(--filet);border-radius:var(--rayon-s);
padding:.8rem .9rem;font:400 .8rem/1.65 var(--mono);color:var(--attenue);margin-top:.8rem;
word-break:break-word}
.cite b{color:var(--encre);font-weight:500}

/* ── Filtre local ────────────────────────────────────────────────────── */
.filtre{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:1.1rem 0}
.filtre input{border:1px solid var(--filet);background:var(--carte);border-radius:var(--rayon-s);
padding:.5rem .7rem;font:450 .875rem/1 var(--sans);color:var(--encre);min-width:12rem;outline:0}
.filtre input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-doux)}
.puce{font:500 .78rem/1 var(--sans);border:1px solid var(--filet);background:var(--carte);
color:var(--attenue);padding:.42rem .6rem;border-radius:999px;cursor:pointer}
.puce[aria-pressed=true]{background:var(--encre);color:var(--papier);border-color:var(--encre)}

/* ── Notes, absences, avertissements ─────────────────────────────────── */
.note,.warn{border-left:2px solid var(--filet);padding:.15rem 0 .15rem 1rem;
color:var(--attenue);font-size:.9rem;line-height:1.6;max-width:64ch;margin:1.2rem 0}
.note strong,.warn strong{color:var(--encre);font-weight:600}
.note.proc{border-left-color:var(--accent)}
.note.abs,.nodata{border-left:2px dashed var(--filet);padding:.15rem 0 .15rem 1rem;
color:var(--attenue);max-width:64ch}
details.plus{border-top:1px solid var(--filet);margin-top:1.6rem}
details.plus summary{cursor:pointer;padding:.85rem 0;font:500 .9rem/1 var(--sans);
color:var(--accent);list-style:none;display:flex;align-items:center;gap:.45rem}
details.plus summary::-webkit-details-marker{display:none}
details.plus summary::before{content:"+";font:500 1rem/1 var(--mono);width:1rem}
details.plus[open] summary::before{content:"\2212"}
details.plus .dedans{padding:0 0 1.2rem;display:grid;gap:.9rem}
details.plus .dedans > .note{margin:0}

/* ── Fil d'ariane, voisins ───────────────────────────────────────────── */
.fil{font-size:.82rem;color:var(--attenue);padding:.9rem 0 0;margin:0}
.fil a{text-decoration:none}
.voisins{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--filet);
margin-top:2.4rem;padding-top:1rem;font-size:.86rem}
.voisins a{text-decoration:none;max-width:22rem}
.voisins .lb{display:block;font:500 .68rem/1 var(--mono);letter-spacing:.1em;
text-transform:uppercase;color:var(--attenue);margin-bottom:.28rem}

/* ── Reste du répertoire de composants ───────────────────────────────── */
.kv{display:grid;grid-template-columns:auto 1fr;gap:.22rem 1.1rem;font-size:.93rem}
.kv dt{color:var(--attenue)}.kv dd{margin:0}
ul.tight{margin:.3rem 0;padding-left:1.1rem}
code{font-size:.85em;font-family:var(--mono);background:var(--filet2);
padding:.12em .38em;border-radius:4px}
.annee{margin:1.8rem 0}.annee h3{margin-bottom:.4rem}
.jauge{width:150px;height:87px;display:block;color:var(--attenue)}
.poles{display:flex;justify-content:space-between;gap:.6rem;width:150px;
font-size:.7rem;line-height:1.25;text-align:left}
.poles span:last-child{text-align:right}
.cand{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem}
.cand h3{margin:0;font:600 1.02rem/1.3 var(--sans)}
.cand header.avec-portrait{display:flex;gap:.8rem;align-items:flex-start}
.cand header a{text-decoration:none}
.cand .bilan{flex:1}
.cand .chiffre{font:600 1.5rem/1.1 var(--sans);letter-spacing:-.025em}
.cand .bilan.vide{display:flex;flex-direction:column;gap:.4rem;justify-content:center}
.cand .etiquette{display:inline-block;align-self:flex-start;font-size:.78rem;
border:1px solid var(--filet);color:var(--attenue);padding:.2rem .58rem;border-radius:999px}
.cand footer{border-top:1px solid var(--filet);padding-top:.5rem;margin-top:auto}
.portrait{border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--filet)}
.portrait.vide{width:64px;height:64px;border-radius:50%;background:var(--filet)}
.entete-portrait{display:flex;gap:1.3rem;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}
.entete-portrait img{border-radius:var(--rayon);background:var(--carte);border:1px solid var(--filet)}

/* ── Barre d'onglets (mobile) ────────────────────────────────────────── */
.tabbar{display:none}
.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:.22rem;
padding:.5rem 0 .65rem;font:500 .66rem/1 var(--sans);color:var(--attenue);text-decoration:none;
background:0;border:0;cursor:pointer}
.tabbar a[aria-current]{color:var(--accent)}
.tabbar a .ico,.tabbar button .ico{width:19px;height:19px;opacity:1}

/* ── Pied ────────────────────────────────────────────────────────────── */
footer.pied{background:var(--carte);border-top:1px solid var(--filet);
padding:2.6rem 0 3rem;color:var(--attenue);font-size:.86rem;margin-top:3.5rem}
footer.pied .cols{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
footer.pied h4{font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
color:var(--encre);margin:0 0 .7rem}
footer.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
footer.pied a{text-decoration:none}
footer.pied p{margin:0 0 .5rem;max-width:34rem}
footer.pied .bas{border-top:1px solid var(--filet);margin-top:2rem;padding-top:1.2rem;
font-size:.8rem;max-width:none}

/* ── Mobile ──────────────────────────────────────────────────────────── */
@media(max-width:52rem){
  .wrap{padding:0 1.05rem}
  header.top nav{display:none}
  header.top button.rech.compact{display:none}
  .hero{padding:1.7rem 0 1.9rem}
  .hero h1{font-size:1.72rem;max-width:none}
  .hero .lede{font-size:.96rem;margin-bottom:1.4rem}
  .ancrage{gap:1rem;margin-top:1.4rem}
  h1{font-size:1.6rem}h2{font-size:1.28rem;margin-top:2.2rem}
  .h2{font-size:1.28rem}
  .bloc{padding:2rem 0}
  .chiffres{grid-template-columns:1fr 1fr;gap:1rem .8rem}
  .cartes,.cartes.trois,.sections,.cards,.grid{grid-template-columns:1fr}
  .ligne{grid-template-columns:1fr;gap:.4rem;padding:.9rem 0}
  .ligne .r{text-align:left}
  .ligne .mini{max-width:11rem}
  .bloc-gr{grid-template-columns:1fr}
  .voisins{flex-direction:column;gap:.9rem}
  .voisins a{max-width:none}
  .seuil-bar{margin-top:2rem}
  .seuil-bar .tick::after{font-size:.64rem;top:-1.25rem}
  .verdict{padding:1.1rem}
  .verdict .haut{flex-direction:column;gap:.6rem}
  .verdict .haut > div:last-child{text-align:left!important}
  table{font-size:.87rem}th,td{padding:.5rem .55rem}
  /* Un tableau se replie en liste : aucune colonne coupée, aucun défilement
     horizontal invisible. */
  table.pile thead{display:none}
  table.pile tr{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;
  padding:.65rem 0;border-bottom:1px solid var(--filet)}
  table.pile tr:hover{background:transparent}
  table.pile td{border:0;padding:0}
  table.pile-1 tr{grid-template-columns:1fr;gap:.2rem}
  table.pile.nomin td:nth-child(2)::before{content:"Groupe ";color:var(--attenue);
    font:500 .68rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
  table.pile.nomin td:nth-child(3)::before{content:"Position ";color:var(--attenue);
    font:500 .68rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
  table.pile td[data-l]::before{content:attr(data-l) " ";
  font:500 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--attenue);margin-right:.35rem}
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:sticky;bottom:0;
  background:var(--carte);border-top:1px solid var(--filet);z-index:20}
  footer.pied{margin-top:2rem}
}

/* ── Cartes ───────────────────────────────────────────────────────────
   Rendues en SVG par la base, sans bibliothèque ni tuile. La couleur seule
   ne porte jamais l'information : chaque tracé a son <title>, et la légende
   donne les bornes réelles des classes, pas des nombres ronds inventés. */
/* .geo, et surtout PAS .carte : la feuille définit déjà .carte pour les cartes
   au sens « fiche » (display:flex, colonne, gap). Les deux sens du mot se sont
   effectivement percutés — le display:block du second effaçait la colonne du
   premier, et sur l'accueil « 8 434 » se collait à « Assemblée nationale ». */
.geo{width:100%;height:auto;display:block}
.geo path{stroke:var(--papier);stroke-width:1100;stroke-linejoin:round;
transition:opacity .12s}
.geo:hover path{opacity:.55}
.geo path:hover{opacity:1}
.echelle{display:flex;gap:.3rem .5rem;flex-wrap:wrap;align-items:center;margin-top:.7rem;
font-size:.73rem;color:var(--attenue);line-height:1.3}
.echelle .u{font:500 .66rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.echelle span{display:inline-flex;align-items:center;gap:.35rem}
.echelle i{width:19px;height:10px;border-radius:2px;display:block;flex:0 0 auto}
/* Les vignettes de l'index renvoient aux tracés d'un <defs> partagé : le même
   contour sert quinze cartes au lieu d'être réécrit quinze fois. Le <use> ne
   porte pas d'infobulle — le détail est à un clic. */
.geo use{stroke:var(--papier);stroke-width:3000;stroke-linejoin:round}
.geo.apercu{pointer-events:none}
/* Carte maillée : aucune valeur n'y est encodée par couleur, donc ni rampe ni
   légende — seule la mosaïque des communes et le contour de leurs
   intercommunalités, pour se repérer dans le détail d'un territoire. */
/* Sur la page d'un département ou d'une intercommunalité, la carte maillée
   n'est qu'UNE section parmi d'autres — contrairement à /territoires/<slug>/,
   où la carte EST le sujet de toute la page et remplit .carte-pleine (44rem).
   Sans plafond, .geo{width:100%} l'étirait sur toute la largeur de l'article. */
.geo.maille{max-width:26rem}
.geo.maille:hover path{opacity:1}
.geo.maille .maille-c path{fill:var(--carte);stroke:var(--filet);transition:fill .12s}
.geo.maille .maille-c path:hover{fill:var(--accent-doux)}
.geo.maille .maille-e path{fill:none;stroke:var(--accent);stroke-linejoin:round;
stroke-opacity:.72;pointer-events:none}
.cartes-grille{display:grid;gap:1.6rem 1.3rem;
grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
/* Une ligne par carte, comme la carte « une » de l'accueil : la vignette a
   besoin d'assez de largeur pour que sa rangée de cartons outre-mer tienne
   sur une seule ligne — un carton de plus qu'une colonne de grille étroite. */
.cartes-lignes{display:flex;flex-direction:column;gap:1.4rem}
.cartes-lignes .bloc-carte.ligne{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);
gap:1.4rem;align-items:start;flex-direction:unset}
.cartes-lignes .bloc-carte.ligne .q{min-height:0}
@media(max-width:52rem){.cartes-lignes .bloc-carte.ligne{grid-template-columns:1fr}}
.bloc-carte{background:var(--carte);border:1px solid var(--filet);
border-radius:var(--rayon);padding:1.1rem 1.15rem;display:flex;flex-direction:column;
color:inherit;text-decoration:none;transition:border-color .12s,box-shadow .12s}
a.bloc-carte:hover,a.bloc-carte:focus-visible{border-color:var(--accent);
box-shadow:0 1px 12px rgba(0,0,0,.06)}
.bloc-carte h3{margin:0 0 .2rem;font-size:.98rem}
a.bloc-carte:hover h3{text-decoration:underline;text-underline-offset:3px}
.bloc-carte .q{color:var(--attenue);font-size:.85rem;margin:0 0 .8rem;line-height:1.45;
min-height:3.9em}
.bloc-carte .echelle{margin-bottom:auto}
.bloc-carte .src{display:block;font:400 .7rem/1.4 var(--mono);color:var(--attenue);
margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--filet)}
.bloc-carte .voir,.voir{display:block;font:500 .78rem/1.35 var(--sans);
color:var(--accent);margin-top:.55rem}
.attr-osm{font:400 .7rem/1.45 var(--mono);color:var(--attenue);margin-top:.5rem}

/* ── Page d'une carte : tracé fin, classement complet, série ───────── */
.carte-pleine{background:var(--carte);border:1px solid var(--filet);
border-radius:var(--rayon);padding:1.2rem 1.3rem;margin:1.2rem 0 .6rem;
max-width:44rem}
.liens-cartes{list-style:none;padding:0;margin:.8rem 0 0;display:flex;
flex-wrap:wrap;gap:.4rem .5rem}
.liens-cartes a{display:inline-block;border:1px solid var(--filet);
border-radius:100px;padding:.28rem .7rem;font-size:.82rem;text-decoration:none}
.liens-cartes a:hover{border-color:var(--accent)}
table.classement{width:100%;border-collapse:collapse;font-size:.88rem}
table.classement th{font:500 .66rem/1 var(--mono);letter-spacing:.09em;
text-transform:uppercase;color:var(--attenue);text-align:left;
padding:.4rem .6rem;border-bottom:1px solid var(--filet)}
table.classement td{padding:.32rem .6rem;border-bottom:1px solid var(--filet)}
table.classement td.r,table.classement td.c{font:400 .78rem/1 var(--mono);
color:var(--attenue)}
table.classement td.n{text-align:right;font-variant-numeric:tabular-nums;
white-space:nowrap}
th.barre,td.barre{width:30%;min-width:5rem}
td.barre span{display:block;height:9px;border-radius:2px;
background:var(--accent);opacity:.5}

/* Série annuelle : une seule échelle, ancrée à zéro, deux étiquettes. */
.courbe{width:100%;height:auto;display:block;max-width:44rem;margin:.4rem 0 .2rem}
.courbe .axe{stroke:var(--filet);stroke-width:1}
.courbe .aire{fill:var(--accent);opacity:.10}
.courbe .trait{fill:none;stroke:var(--accent);stroke-width:2;
stroke-linejoin:round;stroke-linecap:round}
.courbe .pt{fill:var(--accent);stroke:var(--carte);stroke-width:2}
.courbe .et{font:600 .78rem/1 var(--sans);fill:var(--encre)}
.courbe .an{font:400 .7rem/1 var(--mono);fill:var(--attenue)}
.courbe .fin{text-anchor:end}

/* Courbe à paliers : une série longue découpée en régimes datés. La bande
   alternée sépare les régimes sans tracer de frontière — une ligne verticale
   suggérerait une rupture nette là où il n'y a qu'un changement de pente. */
.courbe.paliers .bande{fill:var(--papier2)}
.courbe .pal{font:500 .72rem/1 var(--sans);fill:var(--attenue);text-anchor:middle}
.courbe .pal.moy{font:600 .74rem/1 var(--sans);fill:var(--encre)}
.courbe .et.haut{text-anchor:middle}

/* Bandeau d'un candidat : portrait, organisation, nom. */
.tete .qui{display:flex;gap:.9rem;align-items:center;min-width:0}
.tete .qui .credit{display:block;font:400 .66rem/1.35 var(--mono);
color:var(--attenue);margin-top:.25rem}

/* ── Angles d'un candidat : ce qu'on sait, ce qu'on ne sait pas ────── */
.angles{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
margin:.9rem 0}
.angle{border:1px solid var(--filet);border-radius:var(--rayon-s);padding:.7rem .8rem;
background:var(--carte)}
.angle.vide{background:transparent;border-style:dashed}
.angle .t{font:500 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
color:var(--attenue)}
.angle .v{font:600 1.25rem/1.15 var(--sans);letter-spacing:-.02em;margin-top:.35rem}
.angle.vide .v{font:400 .84rem/1.4 var(--sans);color:var(--attenue);letter-spacing:0}
.angle .d{font-size:.78rem;color:var(--attenue);margin-top:.25rem;line-height:1.4}

/* ── Frise verticale ──────────────────────────────────────────────── */
.frise{display:grid;gap:0;grid-template-columns:11rem 1fr;margin:1.5rem 0}
.frise .pres{border-right:2px solid var(--filet);padding:.9rem 1rem .9rem 0;text-align:right}
.frise .pres b{display:block;font:600 .92rem/1.25 var(--sans)}
.frise .pres span{font:400 .74rem/1.3 var(--mono);color:var(--attenue)}
.frise .corps{padding:.9rem 0 .9rem 1.3rem;border-left:2px solid transparent;margin-left:-2px}
.frise .an{display:grid;grid-template-columns:3.4rem 1fr;gap:.6rem;align-items:center;
padding:.16rem 0;font-size:.84rem}
.frise .an .y{font:400 .74rem/1 var(--mono);color:var(--attenue)}
.frise .rien{color:var(--attenue);font-size:.85rem;font-style:italic}

/* Classes de la rampe séquentielle, utilisées par les légendes de carte. */
.echelle i.r0{background:#DCE9EC}.echelle i.r1{background:#B0CFD5}
.echelle i.r2{background:#7FB0BA}.echelle i.r3{background:#4A8894}
.echelle i.r4{background:#1E5C69}

/* ── Budget : courbes d'exercices et tableau hiérarchisé ──────────────
   Les exercices sont ORDINAUX, pas des catégories : la rampe séquentielle du
   site les encode du plus ancien (clair) au plus récent (foncé). Chaque trait
   porte en plus son année dans la légende — la couleur n'est jamais seule. */
.graphe{width:100%;height:auto;display:block;max-width:46rem;margin:.6rem 0 .2rem}
.graphe .zero{stroke:var(--attenue);stroke-width:1}
.graphe .an{font:400 .68rem/1 var(--mono);fill:var(--attenue)}
.graphe .b{rx:1.5}
.graphe .b.e0{fill:#7FB0BA}.graphe .b.e1{fill:#4A8894}.graphe .b.e2{fill:#1E5C69}
.graphe .b:hover{opacity:.7}
.legende{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.8rem;
color:var(--attenue);margin:.2rem 0 1rem}
.legende span{display:inline-flex;align-items:center;gap:.4rem}
.legende i{width:16px;height:3px;border-radius:2px;display:block;flex:0 0 auto}
.legende i.e0{background:#7FB0BA}.legende i.e1{background:#4A8894}
.legende i.e2{background:#1E5C69}
.graphe .ligne-pib{fill:none;stroke:#B0763A;stroke-width:1.8}
.graphe .pt-pib{fill:#B0763A}
.graphe .et.pib{font:600 .72rem/1 var(--sans);fill:#B0763A;
paint-order:stroke;stroke:var(--carte);stroke-width:3px;stroke-linejoin:round}
.legende i.ligne-pib{background:none;border-top:2px solid #B0763A;height:0;width:16px}
/* La hiérarchie des lignes est un fait de la source : un total et ses
   composantes voisinent, et le retrait dit lequel est lequel. */
tr.niv0 td,tr.niv1 td{font-weight:600}
tr.niv2 td:nth-child(2){padding-left:1.5rem}
tr.niv3 td:nth-child(2){padding-left:2.6rem}
tr.niv4 td:nth-child(2){padding-left:3.7rem}

.graphe .fin{stroke:var(--carte);stroke-width:2}
.graphe .fin.e0{fill:#7FB0BA}.graphe .fin.e1{fill:#4A8894}.graphe .fin.e2{fill:#1E5C69}
.graphe .et{font:600 .72rem/1 var(--sans);fill:var(--encre)}

/* ── Poids des niveaux : barres horizontales, origine à zéro ──────────
   Une barre par niveau, une échelle par indicateur. Les niveaux ne se
   recouvrent pas : chaque euro n'est compté qu'une fois. */
.barres{display:grid;gap:.4rem;margin:.5rem 0 1.4rem;max-width:46rem}
.barres .ligne{display:grid;grid-template-columns:10rem 1fr 6rem 5rem;
gap:.7rem;align-items:center;font-size:.88rem}
.barres .n{font-weight:600}
.barres .piste{display:block;height:14px;border-radius:3px;background:var(--filet2)}
.barres .piste i{display:block;height:100%;border-radius:3px;background:var(--accent)}
.barres .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.barres .c{text-align:right;font:400 .74rem/1 var(--mono);color:var(--attenue)}
@media(max-width:40rem){.barres .ligne{grid-template-columns:1fr auto;gap:.2rem .6rem}
  .barres .piste{grid-column:1/-1}.barres .c{display:none}}
.deux-cartes{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
margin:1rem 0}
/* Une carte par ligne, pleine largeur : à trois cartes nationales côte à
   côte, chacune devenait trop étroite pour que ses cartons outre-mer restent
   lisibles en une seule rangée — le même problème que .cartes-lignes. */
.cartes-empilees{display:flex;flex-direction:column;gap:1.8rem;margin:1rem 0}
.cartes-empilees .bloc-carte{max-width:40rem}

/* Empilements à 100 % : deux dates, pas une série. Quatre teintes de la même
   rampe séquentielle — les postes de financement s'ordonnent du plus ancien
   (cotisations) au plus récent (impôt), ce qui est un ordre, pas une identité. */
.empils{max-width:46rem;margin:.6rem 0 1rem}
.empil{display:grid;grid-template-columns:3.4rem 1fr;gap:.7rem;align-items:center;
margin-bottom:.4rem}
.empil .an{font:400 .78rem/1 var(--mono);color:var(--attenue);text-align:right}
.empil .pile{display:flex;height:26px;border-radius:3px;overflow:hidden;background:var(--filet2)}
.empil .pile i{display:block;height:100%}
.empils .legende{margin-top:.5rem;padding-left:4.1rem}
.empils .legende i{width:14px;height:14px;border-radius:3px}
i.f0{background:#1E5C69}i.f1{background:#4A8894}i.f2{background:#B0CFD5}i.f3{background:#DCE9EC}

/* La carte de une : la vignette à gauche, ce qu'elle dit à droite. */
.une-carte{display:grid;gap:1.4rem;grid-template-columns:minmax(0,22rem) minmax(0,1fr);
align-items:start;margin-top:.6rem}
.une-carte>a{display:block;border:1px solid var(--filet);border-radius:var(--rayon);
padding:.9rem;background:var(--carte)}
.une-carte>a:hover{border-color:var(--accent)}
.une-carte p{margin:0 0 .7rem}
@media(max-width:52rem){.une-carte{grid-template-columns:1fr}}

/* Bloc cliquable : le lien principal s'étire sur toute la carte, les liens
   intérieurs restent cliquables en repassant au-dessus. Pas de <a> imbriqué,
   qui serait du HTML invalide et casserait la navigation au clavier. */
.bloc.cliquable{position:relative;border-radius:var(--rayon);
padding-left:1.1rem;padding-right:1.1rem;margin-left:-1.1rem;margin-right:-1.1rem;
transition:background .12s}
.bloc.cliquable:hover{background:var(--carte)}
.bloc.cliquable .etire::after{content:"";position:absolute;inset:0;z-index:0}
.bloc.cliquable:hover .etire{text-decoration:underline;text-underline-offset:3px}
.bloc.cliquable a:not(.etire),.bloc.cliquable .angles,.bloc.cliquable .une-carte{
position:relative;z-index:1}
.bloc.cliquable .angles,.bloc.cliquable .une-carte{pointer-events:none}
.bloc.cliquable .angles a,.bloc.cliquable .une-carte a{pointer-events:auto}

/* ── Cartons d'outre-mer ──────────────────────────────────────────────
   Chacun dans sa projection légale, donc à sa propre échelle : une boîte de
   taille fixe, la forme s'y inscrit. La valeur est écrite sous le carton —
   la couleur seule ne suffirait pas sur une forme de trois millimètres. */
.cartons{display:flex;flex-wrap:wrap;gap:.9rem 1.1rem;align-items:flex-end;
margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--filet)}
.cartons>.t{font:500 .66rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;
color:var(--attenue);align-self:center}
.cartons figure{margin:0;width:5.4rem;text-align:center}
.cartons .geo.carton{width:100%;height:3.2rem;object-fit:contain}
.cartons .geo.carton path{stroke:var(--papier);stroke-width:0;stroke-linejoin:round}
.cartons figcaption{font-size:.7rem;line-height:1.25;margin-top:.25rem}
.cartons figcaption span{display:block;color:var(--attenue);
font:400 .68rem/1.2 var(--mono);font-variant-numeric:tabular-nums}
.cartons figure.vide figcaption span{font-style:italic}
.note-cartons{font:400 .72rem/1.45 var(--mono);color:var(--attenue);margin:.5rem 0 0}

/* Séries annuelles en barres : une valeur par année, rien entre elles. La
   dernière barre est un ton plus foncé — c'est celle qu'on vient lire. */
.barres-an .b{fill:#7FB0BA}
.barres-an .b.der{fill:#1E5C69}
.barres-an .b:hover{fill:#4A8894}
/* Dépenses et recettes : deux teintes d'une même rampe, la dépense foncée.
   Ce n'est pas un code « bien / mal » : aucune couleur d'alerte. */
.graphe .dep,.legende i.dep{fill:#1E5C69;background:#1E5C69}
.graphe .rec,.legende i.rec{fill:#7FB0BA;background:#7FB0BA}
.graphe .grille{stroke:var(--filet);stroke-width:1}

/* ── Le circuit État ↔ Sécurité sociale ──────────────────────────────
   Trois nœuds, quatre flux. La seule couleur d'alerte du schéma est réservée
   au montant non compensé : c'est la ligne qu'on vient lire. */
figure.schema{margin:1.2rem 0;max-width:48rem}
figure.schema figcaption{font-size:.8rem;color:var(--attenue);line-height:1.5;margin-top:.5rem}
.circuit{width:100%;height:auto;display:block}
.circuit .noeud{fill:var(--carte);stroke:var(--filet);stroke-width:1.5}
.circuit .noeud.etat{stroke:#4A8894}
.circuit .noeud.secu{stroke:#1E5C69;stroke-width:2}
.circuit .noeud.manque{fill:#FBEDEA;stroke:#B3412E;stroke-width:2}
.circuit .nt{font:600 15px/1 var(--sans);fill:var(--encre)}
.circuit .manque-t{font-size:24px;fill:#9A3322}
.circuit .ns{font:400 11.5px/1 var(--sans);fill:var(--attenue)}
.circuit .et{font:400 11.5px/1 var(--sans);fill:var(--attenue)}
.circuit .et.fort{font-weight:600;fill:var(--encre);font-size:12.5px}
.circuit .flux{fill:none;stroke-width:2.5;stroke:#7FB0BA}
.circuit .flux.verse{stroke:#1E5C69}
.circuit .flux.exo{stroke:#4A8894;stroke-dasharray:6 4}
.circuit .flux.manque-f{stroke:#B3412E;stroke-dasharray:3 4}
.circuit .ruban.comp{fill:#4A8894;opacity:.88;transition:opacity .12s}
.circuit .ruban.comp:hover{opacity:1}
.circuit .pointe{fill:var(--attenue)}
:root[data-theme="dark"] .circuit .noeud.manque{fill:#3a2320}
:root[data-theme="dark"] .circuit .manque-t{fill:#F0A493}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .circuit .noeud.manque{fill:#3a2320}
  :root:not([data-theme="light"]) .circuit .manque-t{fill:#F0A493}}

/* ── Lieux d'un mandat ────────────────────────────────────────────────
   « commune › intercommunalité › département » : l'échelon en petites
   capitales grises, le nom en clair, lien quand une page existe. */
.lieu{white-space:nowrap}
.lieu .ech{font:500 .62rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
color:var(--attenue)}
.sep{color:var(--attenue)}
ul.liens-communes{list-style:none;padding:0;margin:0;columns:14rem auto;column-gap:1.4rem;
font-size:.84rem;line-height:1.7}
ul.liens-communes li{break-inside:avoid}
@media(max-width:40rem){.lieu{white-space:normal}}
td.code{font:500 .82rem/1.3 var(--mono);font-variant-numeric:tabular-nums;
color:var(--attenue);white-space:nowrap;width:3.5rem}

/* Barres appariées : A foncé, B clair, même rampe. Aucune couleur d'alerte :
   l'écart entre deux barres n'est ni bon ni mauvais par construction. */
.graphe.apparie .pa,.legende i.pa{fill:#1E5C69;background:#1E5C69}
.graphe.apparie .pb,.legende i.pb{fill:#7FB0BA;background:#7FB0BA}
/* fill:none doit rester le dernier mot sur le TRACÉ : sans lui, .l1/.l2
   ci-dessous (plus spécifiques) remplissent le path — qui n'est pas fermé
   (M...L...L, sans Z) — et le navigateur le referme tout seul par une droite
   du dernier point au premier, dessinant un coin plein au lieu d'une ligne. */
.deux-lignes .ligne.l1,.deux-lignes .ligne.l2{fill:none;stroke-width:2}
.deux-lignes .ligne.l1,.deux-lignes .pt.l1,.legende i.l1{stroke:#1E5C69;background:#1E5C69}
.deux-lignes .pt.l1{fill:#1E5C69}
.deux-lignes .ligne.l2,.deux-lignes .pt.l2,.legende i.l2{stroke:#B0763A;background:#B0763A}
.deux-lignes .pt.l2{fill:#B0763A}
.deux-lignes .et{font:600 .72rem/1 var(--sans)}
.deux-lignes .et.l1{fill:#1E5C69}.deux-lignes .et.l2{fill:#B0763A}
.graphe.apparie rect:hover{opacity:.75}

/* ── Barres + ligne à seconde échelle (ex. prestations / population) ───
   La ligne est en ENCRE, pointillée, jamais dans la rampe des barres : les
   deux échelles ne doivent jamais se confondre à l'œil. */
.avec-ligne .ligne-population{stroke:var(--encre);stroke-width:1.6;stroke-dasharray:5 3}
.avec-ligne .pt-population{fill:var(--papier);stroke:var(--encre);stroke-width:1.6}
.avec-ligne .pt-hit{fill:transparent;stroke:none}
.avec-ligne .et.droite{fill:var(--encre);font-style:italic}
/* Les deux étiquettes de population sont à GAUCHE (voir cartepage.go) : la
   règle générique .courbe .fin{text-anchor:end} les ferait déborder hors du
   viewBox côté gauche, où le SVG les découpe silencieusement. */
.avec-ligne .et.droite.fin{text-anchor:start}
.legende i.b{background:#7FB0BA}
.legende i.ligne-pop{background:none;border-top:2px dashed var(--encre);height:0;
width:16px;border-radius:0}

/* ── Anneau des six risques ──────────────────────────────────────────
   Six teintes fixes par risque (donut.go), jamais une rampe cyclée : leur
   identité ne bouge pas si le tri du tableau change. */
.donut-bloc{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin:.6rem 0}
.donut-bloc>svg.donut{flex:0 0 auto;width:min(21rem,100%);height:auto}
.donut-bloc .scroll{flex:1 1 22rem;min-width:0}
.donut .tranche{transition:opacity .12s}
.donut .tranche:hover{opacity:.82}
.donut .tr-lib{font:600 .68rem/1.2 var(--sans);fill:var(--encre)}
.donut .tr-val{font:400 .66rem/1 var(--mono);fill:var(--attenue)}
.donut .don-total{font:600 1.15rem/1 var(--titre);fill:var(--encre)}
.donut .don-total-l{font:400 .66rem/1 var(--mono);letter-spacing:.06em;
text-transform:uppercase;fill:var(--attenue)}
/* Flux (Sankey à une source, N destinations) : mêmes trois teintes fixes que
   la légende du partage de la VA, jamais recalculées par valeur. */
.donut-bloc>svg.flux-va{flex:0 0 auto;width:min(24rem,100%);height:auto}
.flux-va .fva-source{fill:var(--carte);stroke:var(--filet);stroke-width:1.5}
.flux-va .fva-dest{stroke:var(--filet);stroke-width:1}
.flux-va .fva-dest.r0{fill:#DCE9EC}.flux-va .fva-dest.r1{fill:#F1E3D1}
.flux-va .fva-dest.r2{fill:#DCE9EC}
.flux-va .fva-ruban{opacity:.85;transition:opacity .12s}
.flux-va .fva-ruban:hover{opacity:1}
.flux-va .fva-ruban.r0{fill:#4A8894}.flux-va .fva-ruban.r1{fill:#B0763A}
.flux-va .fva-ruban.r2{fill:#1E5C69}
.flux-va .fva-pointe{fill:var(--attenue)}
.flux-va .fva-t{font:600 15px/1 var(--sans);fill:var(--encre)}
.flux-va .fva-src-t{font:600 1.2rem/1 var(--titre)}
.flux-va .fva-s{font:400 10.5px/1 var(--mono);letter-spacing:.04em;
text-transform:uppercase;fill:var(--attenue)}
.flux-va .fva-dt{font:600 11.5px/1.2 var(--sans);fill:var(--encre)}
.flux-va .fva-ds{font:400 10px/1 var(--mono);fill:var(--attenue)}
.flux-va .fva-etroit{text-anchor:start}
.pastille-risque{display:inline-block;width:9px;height:9px;border-radius:2px;
margin-right:.4rem;vertical-align:middle}

/* ── Faisceau proportionnel des exonérations ──────────────────────────
   Seule portion du circuit dessinée en largeurs proportionnelles : quatre
   catégories, même année, même source, qui se somment exactement au total.
   Teintes fixes, distinctes de la rampe des cartes et des couleurs de vote. */
.circuit .ruban{opacity:.88;transition:opacity .12s}
.circuit .ruban:hover{opacity:1}
.circuit .ruban.r0{fill:#1E5C69}
.circuit .ruban.r1{fill:#B0763A}
.circuit .ruban.r2{fill:#6B5CA5}
.circuit .ruban.r3{fill:#A34F86}
.circuit .ruban.r4{fill:#3D6FA0}
.circuit .ruban.r5{fill:#4A8894}
.circuit .ruban.versee{fill:#7FB0BA;opacity:.88;transition:opacity .12s}
.circuit .ruban.versee:hover{opacity:1}
.ruban-legende i.r0{background:#1E5C69}
.ruban-legende i.r1{background:#B0763A}
.ruban-legende i.r2{background:#6B5CA5}
.ruban-legende i.r3{background:#A34F86}
.ruban-legende i.r4{background:#3D6FA0}
.ruban-legende i.r5{background:#4A8894}

/* ── Barres empilées annuelles (ex. capacités excédentaires du travail) ─
   Quatre teintes fixes, d'un même dégradé pour marquer un ordre (du plus
   proche du marché du travail au plus éloigné), jamais recalculées par
   valeur : la catégorie garde sa couleur d'une année à l'autre. */
.empilees .seg{transition:opacity .12s}
.empilees .seg:hover{opacity:.8}

/* Barres d'ordre de grandeur : chaque ligne montre sa propre source, pour
   qu'on ne les prenne jamais pour trois mesures d'une même chose. */
.barres-og .n{display:flex;flex-direction:column;gap:.1rem}
.barres-og .src-ligne{font:400 .68rem/1.3 var(--mono);color:var(--attenue);font-weight:400}

/* ── Accueil 2027 et entrées « Sujets », « Argent public » ─────────────
   Proposition du 15 septembre 2026. Une barre dit une magnitude : toutes à
   l'échelle de la plus grande, en gris neutre ; la première est en encre parce
   qu'elle sert d'étalon. Aucune couleur n'est attribuée à une fonction, à un
   sujet ou à un parti. */
.src-bloc{font:400 .72rem/1.5 var(--mono);color:var(--attenue);margin:.9rem 0 0;max-width:52rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.mille{display:grid}
.mille > a,.mille > .ligne-mille{display:grid;grid-template-columns:minmax(10rem,16rem) 4.4rem minmax(0,1fr);
gap:.9rem;align-items:center;padding:.5rem .35rem;border-top:1px solid var(--filet2);
text-decoration:none;color:var(--encre)}
.mille > .ligne-mille{grid-template-columns:minmax(10rem,16rem) 4.4rem minmax(0,1fr) 6rem}
.mille > a:hover{background:var(--carte)}
.mille .l{font-size:.95rem;line-height:1.3}
.mille .l small{display:block;color:var(--attenue);font-size:.76rem;margin-top:.1rem}
.mille .v,.mille .md{font:500 .92rem/1 var(--mono);text-align:right;white-space:nowrap}
.mille .md{color:var(--attenue);font-size:.8rem}
.mille .b{height:1rem;background:var(--papier2);display:block}
.mille .b i{display:block;height:100%;background:#9A958A}
.mille .etalon .b i{background:var(--encre)}
.mille > a:hover .b i{background:var(--accent)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mille .b i{background:#6F6C66}}
[data-theme=dark] .mille .b i{background:#6F6C66}
.mille .etalon .b i{background:var(--encre)}

.familles{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}
.famille{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);padding:1rem 1.1rem 1.1rem}
.famille h3{margin:0 0 .15rem;font:500 1.12rem/1.25 var(--titre)}
.famille h3 a{color:var(--encre);text-decoration:none}
.famille h3 a:hover{color:var(--accent)}
.famille .poids{display:block;font:400 .74rem/1.4 var(--mono);color:var(--attenue);margin-bottom:.65rem}

/* Liste de sujets : une ligne par sujet, un nom et sa question, sans pastille
   ni pilule — le format d'un sommaire, pas d'un nuage de mots-clés. Utilisé
   sur l'accueil (compact, dans une carte de famille) et sur /sujets/ (grande,
   pleine largeur, avec la description du dossier). */
.liste-sujets{list-style:none;margin:0;padding:0}
.liste-sujets li{border-top:1px solid var(--filet2)}
.liste-sujets li:first-child{border-top:0}
.liste-sujets a{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;
padding:.4rem .2rem;text-decoration:none;color:inherit}
.liste-sujets a:hover{background:var(--papier2)}
.liste-sujets a:hover .nom{color:var(--accent)}
.liste-sujets .nom{font-weight:500;font-size:.92rem;flex:0 0 auto}
.liste-sujets .d{color:var(--attenue);font-size:.8rem;flex:1 1 auto}
.liste-sujets.grande a{padding:.7rem .3rem;gap:.15rem 1.2rem}
.liste-sujets.grande .nom{font:500 1rem/1.3 var(--titre);flex:0 0 13rem}
.liste-sujets.grande .d{font-size:.86rem}
.liste-sujets.grande .ext{flex:0 0 auto;font:400 .74rem var(--mono);color:var(--accent)}
@media(max-width:32rem){.liste-sujets a,.liste-sujets.grande a{flex-direction:column;gap:.1rem}
  .liste-sujets.grande .nom{flex-basis:auto}}

.niveaux{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.niveau{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1.05rem 1.15rem;text-decoration:none;color:var(--encre);display:grid;gap:.4rem;align-content:start}
a.niveau:hover{border-color:var(--accent)}
.niveau .t{font-weight:600}
.niveau .n{font:500 1.9rem/1 var(--titre)}
.niveau .n small{font:500 .9rem var(--sans);color:var(--attenue)}
.niveau .jauge{width:100%;height:.55rem;background:var(--papier2);display:block;color:inherit}
.niveau .jauge i{display:block;height:100%;background:var(--attenue)}
.niveau .d{font-size:.86rem;color:var(--attenue);line-height:1.5}
.solde{display:grid;gap:1px;background:var(--filet);border:1px solid var(--filet);margin-top:1.1rem;
grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.solde div{background:var(--papier2);padding:.85rem 1rem}
.solde b{display:block;font:500 1.4rem/1.1 var(--titre)}
.solde span{display:block;font-size:.82rem;color:var(--attenue);margin-top:.2rem}

.reperes,.quatre-points{display:grid;gap:1.2rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.reperes div,.quatre-points div{border-top:2px solid var(--encre);padding-top:.6rem}
.reperes b{display:block;font:500 1.55rem/1.1 var(--titre)}
.reperes span{display:block;font-size:.88rem;margin-top:.15rem}
.reperes em{display:block;font:400 .7rem/1.4 var(--mono);font-style:normal;color:var(--attenue);margin-top:.25rem}
.quatre-points b{display:block;font-weight:600;margin-bottom:.2rem}
.quatre-points span{font-size:.88rem;color:var(--attenue)}
.decide{display:grid;gap:.2rem 1.4rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.decide a{text-decoration:none;color:var(--encre);border-top:1px solid var(--filet);padding:.7rem 0}
.decide a b{display:block;font-weight:600}
.decide a:hover b{color:var(--accent)}
.decide a span{font-size:.85rem;color:var(--attenue)}

/* Carte à onglets, sans script : un bouton radio par onglet, un panneau par
   bouton. Quatre onglets au plus, d'où quatre règles fixes. */
.onglets-carte .etiquettes{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.onglets-carte label{font:500 .86rem/1 var(--sans);border:1px solid var(--filet);background:var(--carte);
color:var(--attenue);padding:.5rem .8rem;border-radius:999px;cursor:pointer}
.onglets-carte label:hover{border-color:var(--accent);color:var(--encre)}
.onglets-carte .panneaux > .bloc-carte{display:none}
#oc1:checked ~ .panneaux .p1,#oc2:checked ~ .panneaux .p2,
#oc3:checked ~ .panneaux .p3,#oc4:checked ~ .panneaux .p4{display:grid}
#oc1:checked ~ .etiquettes label[for=oc1],#oc2:checked ~ .etiquettes label[for=oc2],
#oc3:checked ~ .etiquettes label[for=oc3],#oc4:checked ~ .etiquettes label[for=oc4]{
background:var(--encre);color:var(--papier);border-color:var(--encre)}
#oc1:focus-visible ~ .etiquettes label[for=oc1],#oc2:focus-visible ~ .etiquettes label[for=oc2],
#oc3:focus-visible ~ .etiquettes label[for=oc3],#oc4:focus-visible ~ .etiquettes label[for=oc4]{
outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:52rem){.onglets-carte .panneaux > .bloc-carte{grid-template-columns:1fr}}

/* Même composant, pour les trois niveaux de collectivité (page de sujet
   « Collectivités », D-075) : une carte pleine à la fois, pas un onglet vers
   une prévisualisation qui renvoie ailleurs — le panneau EST la carte. */
.onglets-carte .panneaux .bloc-carte{max-width:44rem}
#ocn1:checked ~ .panneaux .p1,#ocn2:checked ~ .panneaux .p2,#ocn3:checked ~ .panneaux .p3{display:flex}
#ocn1:checked ~ .etiquettes label[for=ocn1],#ocn2:checked ~ .etiquettes label[for=ocn2],
#ocn3:checked ~ .etiquettes label[for=ocn3]{background:var(--encre);color:var(--papier);border-color:var(--encre)}
#ocn1:focus-visible ~ .etiquettes label[for=ocn1],#ocn2:focus-visible ~ .etiquettes label[for=ocn2],
#ocn3:focus-visible ~ .etiquettes label[for=ocn3]{outline:2px solid var(--accent);outline-offset:2px}

.sujet-tete{margin:.4rem 0 .6rem}
.sujet-tete .liens-cartes{margin-top:.4rem}
@media(max-width:44rem){
  .mille > a,.mille > .ligne-mille{grid-template-columns:1fr 3.8rem;gap:.25rem .6rem}
  .mille .b{grid-column:1 / 3}
  .mille .md{display:none}
}

/* ── Page de sujet : en bref, chiffres, dossier redessiné ────────────────
   Le dossier est un document de travail dense : la page le met en couches.
   Chiffres clés d'abord, graphiques ensuite, faits en frise, sections
   techniques repliées. */
.sujet-tete{margin:.4rem 0 1.2rem}
.sujet-tete h1{font:500 clamp(1.9rem,4vw,2.7rem)/1.1 var(--titre);letter-spacing:-.02em;margin:.2rem 0 .8rem;max-width:26ch;text-wrap:balance}
.sujet-tete .lede{font-size:1.1rem;max-width:44rem}
.en-bref{background:var(--papier2);border:1px solid var(--filet);border-radius:var(--rayon);padding:1.2rem 1.3rem 1rem;margin:0 0 2.2rem}
.chiffres-cles{display:grid;gap:1rem 1.6rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin:.4rem 0 .9rem}
.chiffres-cles div{border-top:2px solid var(--encre);padding-top:.55rem}
.chiffres-cles b{display:block;font:500 1.75rem/1.1 var(--titre);letter-spacing:-.01em}
.chiffres-cles span{display:block;font-size:.9rem;line-height:1.4;margin-top:.2rem}
.chiffres-cles em{display:block;font:400 .7rem/1.4 var(--mono);font-style:normal;color:var(--attenue);margin-top:.3rem}
.en-bref .compte{font-size:.86rem;color:var(--attenue);margin:.2rem 0 .7rem}
.en-bref .aller{display:flex;flex-wrap:wrap;gap:.35rem;border-top:1px solid var(--filet);padding-top:.8rem}
.en-bref .aller a{font:500 .8rem/1 var(--sans);text-decoration:none;border:1px solid var(--filet);background:var(--carte);
color:var(--encre);padding:.38rem .6rem;border-radius:999px}
.en-bref .aller a:hover{border-color:var(--accent);color:var(--accent)}
.en-bref .aller a.ext{color:var(--accent)}
.donnees-sujet{border-top:2px solid var(--encre);padding-top:1rem;margin:0 0 2.5rem}
.donnees-sujet > .sur{display:block;margin-bottom:.6rem}
.dossier-sujet{max-width:52rem}
.section-sujet{padding:1.8rem 0 .4rem;border-top:1px solid var(--filet)}
.section-sujet > h2{font:500 1.6rem/1.2 var(--titre);margin:0 0 .9rem}
.section-sujet .prose{max-width:none}
.section-sujet .prose h3{font:500 1.2rem/1.3 var(--titre);margin:1.8rem 0 .5rem}
.section-sujet.encart{background:var(--carte);border:1px solid var(--filet);border-left:3px solid var(--attenue);
border-radius:var(--rayon);padding:1.2rem 1.3rem;margin:1.8rem 0}
.section-sujet.encart > h2{font-size:1.25rem}
.dossier-sujet details.plus .dedans{display:block}

ol.faits-frise{list-style:none;padding:0;margin:.6rem 0 1.4rem}
ol.faits-frise li{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-top:1px solid var(--filet)}
ol.faits-frise li:first-child{border-top:0}
ol.faits-frise .f-date{font:500 .82rem/1.5 var(--mono);color:var(--attenue)}
ol.faits-frise p{margin:0}
ol.faits-frise .f-t{font-weight:600;line-height:1.4;margin-bottom:.25rem}
ol.faits-frise .f-c{font-size:.93rem;line-height:1.55;color:var(--encre)}
ol.faits-frise .f-src{font-size:.78rem;color:var(--attenue);margin-top:.35rem}
.qual{display:inline-block;font:500 .64rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;
padding:.2rem .38rem;border:1px solid var(--attenue);border-radius:3px;vertical-align:.08em}
.qual.q-off{background:var(--encre);color:var(--papier);border-color:var(--encre)}
.qual.q-decl{background:var(--papier2);color:var(--encre)}
.qual.q-presse{background:transparent;color:var(--attenue);border-style:dashed}
@media(max-width:44rem){ol.faits-frise li{grid-template-columns:1fr;gap:.2rem}}

.intro-mentions{color:var(--attenue);font-size:.9rem;margin:0 0 .6rem;max-width:44rem}
figure.credits{margin:1rem 0 1.4rem}
figure.credits figcaption{font-size:.95rem;margin-bottom:.6rem}
figure.credits .evol{color:var(--attenue)}
.barres-h{display:grid}
.barres-h .barre{display:grid;grid-template-columns:minmax(9rem,18rem) minmax(0,1fr) 5.5rem 4.5rem;gap:.8rem;align-items:center;
padding:.38rem 0;border-top:1px solid var(--filet2)}
.barres-h .l{font-size:.88rem;line-height:1.3}
.barres-h .b{height:.8rem;background:var(--papier2);display:block}
.barres-h .b i{display:block;height:100%;background:var(--attenue)}
.barres-h .barre:first-child .b i{background:var(--encre)}
.barres-h .v{font:500 .85rem/1 var(--mono);text-align:right;white-space:nowrap}
.barres-h .e{font:400 .74rem/1 var(--mono);color:var(--attenue);text-align:right;white-space:nowrap}
@media(max-width:44rem){
  .barres-h .barre{grid-template-columns:1fr auto;gap:.2rem .6rem}
  .barres-h .b{grid-column:1 / 3;grid-row:2}
  .barres-h .e{display:none}
}

/* Frontières administratives par-dessus la carte des intercommunalités. */
.geo .frontieres path{fill:none;pointer-events:none;vector-effect:non-scaling-stroke;opacity:1}
.geo .frontieres .dep{stroke:var(--encre);stroke-width:.7px;stroke-opacity:.5}
.geo .frontieres .reg{stroke:var(--encre);stroke-width:1.8px;stroke-opacity:.85}
.geo:hover .frontieres path{opacity:1}

/* ── Hero de l'accueil : le titre et « sur 1 000 € » côte à côte ─────────
   Le premier écran doit montrer un chiffre, pas seulement une promesse.
   Sur mobile, le graphique passe juste sous le titre, avant le chapeau. */
.hero.avec-visuel .hero-grille{display:grid;column-gap:3.2rem;
grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
grid-template-areas:"titre visuel" "lede visuel" "outil visuel" "ancrage ancrage"}
.hero.avec-visuel h1{grid-area:titre;align-self:end;max-width:17ch}
.hero.avec-visuel .lede{grid-area:lede;margin-bottom:1.4rem}
.hero.avec-visuel .outil{grid-area:outil}
.hero.avec-visuel .ancrage{grid-area:ancrage}
.hero.avec-visuel .h-visuel{grid-area:visuel;align-self:center}
.hero-mille{margin:0;background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
padding:1rem 1.1rem .8rem;box-shadow:0 1px 18px rgba(0,0,0,.05)}
.hero-mille figcaption{margin-bottom:.5rem}
.hero-mille figcaption .sur{display:block;margin-bottom:.35rem}
.hero-mille figcaption strong{font:500 1.3rem/1.2 var(--titre)}
.hero-mille ol{list-style:none;margin:0;padding:0}
.hero-mille li a{display:grid;grid-template-columns:.7rem minmax(8.5rem,13rem) minmax(0,1fr) 3.6rem;gap:.7rem;align-items:center;
padding:.28rem .2rem;text-decoration:none;color:var(--encre);border-top:1px solid var(--filet2)}
.hero-mille .pastille{width:.55rem;height:.55rem;border-radius:2px;align-self:center}
.hero-mille li:first-child a{border-top:0}
.hero-mille li a:hover{background:var(--papier2)}
.hero-mille .l{font-size:.86rem;line-height:1.25}
.hero-mille .b{height:.72rem;background:var(--papier2);display:block}
.hero-mille .b i{display:block;height:100%;background:#9A958A}
.hero-mille li.etalon .b i{background:var(--encre)}
.hero-mille li a:hover .b i{background:var(--accent)}
.hero-mille .v{font:500 .86rem/1 var(--mono);text-align:right;white-space:nowrap}
.hero-mille .pied-mille{font:400 .7rem/1.45 var(--mono);color:var(--attenue);margin:.6rem 0 0}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-mille .b i{background:#6F6C66}}
[data-theme=dark] .hero-mille .b i{background:#6F6C66}
.hero-mille li.etalon .b i{background:var(--encre)}
@media(max-width:64rem){.hero.avec-visuel .hero-grille{column-gap:2rem}}
@media(max-width:52rem){
  .hero.avec-visuel .hero-grille{grid-template-columns:1fr;grid-template-areas:"titre" "visuel" "lede" "outil" "ancrage"}
  .hero.avec-visuel h1{margin-bottom:1rem}
  .hero.avec-visuel .h-visuel{margin:0 0 1.2rem}
  .hero-mille li a{grid-template-columns:.6rem minmax(0,1fr) 3.2rem;gap:.15rem .5rem;padding:.3rem 0}
  .hero-mille .b{grid-column:1 / 4;grid-row:2}
  .hero-mille li:nth-child(n+7){display:none}
  .hero-mille .pied-mille a::before{content:"et 4 autres fonctions · "}
}

/* ── Carte de situation : le territoire dans la France entière ──────────
   Le fond (media/situation-france.svg) est commun à toutes les pages ; le
   calque de la page se superpose exactement, même boîte, même rapport. */
.situation{margin:1.2rem 0 1.6rem}
.situation .bloc-carte.ligne{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.6rem}
.situation-carte{position:relative}
.situation-carte img,.situation-carte object{display:block;width:100%;height:auto}
.situation-carte .calque{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.situation-cartons a{color:inherit;text-decoration:none;display:block}
.situation-cartons a:hover figcaption{color:var(--accent);text-decoration:underline}
.legende-situation dd b a{color:var(--accent)}
.calque path{vector-effect:non-scaling-stroke;stroke-linejoin:round}
.calque .territoire path{fill:var(--accent);fill-opacity:.32;stroke:none}
.calque .communes path{fill:var(--accent);fill-opacity:.3;stroke:var(--accent);stroke-opacity:.55;stroke-width:.3px}
.calque .commune path{fill:var(--accent);fill-opacity:.9;stroke:var(--encre);stroke-width:1px}
.calque .groupements path{fill:none;stroke:var(--accent);stroke-width:.9px}
.calque .departements path{fill:none;stroke:var(--encre);stroke-width:1px;stroke-opacity:.75}
.calque .contour path{fill:none;stroke:var(--encre);stroke-width:2px}
.calque .repere{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}
.situation-cartons{display:flex;flex-wrap:wrap;gap:.6rem .9rem;margin-top:.6rem;align-items:flex-end}
.situation-cartons figure{margin:0;width:4.6rem;text-align:center}
.carton-situation{position:relative;width:100%;height:3rem}
.carton-situation img{display:block;width:100%;height:100%;object-fit:contain}
.carton-situation .calque{position:absolute;inset:0;width:100%;height:100%}
.situation-cartons figcaption{font-size:.68rem;line-height:1.2;margin-top:.2rem;color:var(--attenue)}
.situation-cartons figure.actif{width:6.4rem}
.situation-cartons figure.actif .carton-situation{height:4.4rem}
.situation-cartons figure.actif figcaption{color:var(--encre);font-weight:600}
.legende-situation{display:grid;gap:.1rem;margin:.6rem 0 .4rem}
.legende-situation div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:.8rem;padding:.45rem 0;border-top:1px solid var(--filet2)}
.legende-situation div:first-child{border-top:0}
.legende-situation dt{font:500 .68rem/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--attenue)}
.legende-situation dd{margin:0}
.legende-situation dd b{display:block;font-weight:600;font-size:.98rem}
.legende-situation dd>span{display:block;font-size:.8rem;color:var(--attenue);line-height:1.4}
@media(max-width:52rem){.situation .bloc-carte.ligne{grid-template-columns:1fr}
  .legende-situation div{grid-template-columns:1fr;gap:.1rem}}

/* Carte-dossier : même ligne carte+légende que .situation, mais pour une
   carte choroplèthe (une valeur par département), pas un repère dans la
   France entière — un dossier qui n'a qu'une seule mesure géographique
   (vieillesse, jeunesse) montre le tracé fin directement, sans vignette
   cliquable renvoyant à une page à part. */
.carte-dossier .bloc-carte.ligne{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.6rem}
@media(max-width:52rem){.carte-dossier .bloc-carte.ligne{grid-template-columns:1fr}}

/* Carte des intercommunalités ouverte depuis une page de territoire
   (?departement=29 ou ?region=53) : la carte prend toute la largeur, le
   territoire est cadré et souligné, un bouton rend la France entière. */
.cartes-empilees .bloc-carte.agrandie{max-width:52rem;order:-1}
.bloc-carte.agrandie svg.geo{max-height:70vh}
.geo .frontieres path.en-avant{stroke:var(--accent);stroke-width:3px;stroke-opacity:1}
.cadrage{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:baseline;margin:.2rem 0 .6rem;font-size:.9rem}
.cadrage button{font:inherit;font-size:.85rem;padding:.15rem .6rem;border:1px solid var(--filet2);border-radius:999px;background:transparent;color:var(--accent);cursor:pointer}

/* D'où vient l'argent : une barre empilée par collectivité, la même pour
   l'ensemble de son niveau en dessous. */
.origine{display:grid;gap:.5rem;margin:.9rem 0 1rem}
.origine-ligne{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);gap:.8rem;align-items:center}
.origine-nom{font-size:.88rem}
.origine-ligne.ref .origine-nom{color:var(--attenue)}
.origine-barre{display:flex;height:1.35rem;border-radius:3px;overflow:hidden;background:var(--filet2)}
.origine-ligne.ref .origine-barre{height:.8rem;opacity:.75}
.origine-barre i{display:block;height:100%}
.o-imp{background:var(--accent)}
.o-dgf{background:#C8893B}
.o-aut{background:#B9B3A7}
.pastille{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.45rem;vertical-align:-.05rem}
@media(max-width:40rem){.origine-ligne{grid-template-columns:1fr;gap:.25rem}}

/* Cellule qui ne se coupe pas (colonne « Étape » de la page Sources). */
.nowrap{white-space:nowrap}

/* Page d'une fonction COFOG (fonction.gohtml) : la ligne courante mise en
   évidence dans la comparaison aux neuf autres, sur le même composant .mille
   que la page « Argent public ». */
.mille .ligne-mille.en-evidence{background:var(--accent-doux)}
.mille .ligne-mille.en-evidence .l{font-weight:600}
.mille .ligne-mille.en-evidence .b i{background:var(--accent)}
.mille .ligne-mille.en-evidence .v{color:var(--accent)}

/* Mosaïque « sur 1 000 € » du hero (accueil) : la mosaïque de 1 000 carrés
   sur ordinateur, la légende cliquable toujours visible — elle sert seule de
   liste de liens sur mobile, où la mosaïque serait illisible. */
.hero-mille .mille-corps{display:block}
.hero-mille .mosaique{display:none}
@media(min-width:64rem){
  .hero-mille .mille-corps{display:grid;grid-template-columns:minmax(0,1fr) 15.5rem;gap:1.1rem;align-items:start}
  .hero-mille .mosaique{display:block;width:100%;height:auto;align-self:center}
  .hero-mille ol{font-size:.8rem}
  .hero-mille li a{grid-template-columns:.6rem minmax(0,1fr) 3.4rem;padding:.32rem .2rem}
  .hero-mille li a .b{display:none}
}

/* ── Icônes Font Awesome Free 6.7.2, en masques CSS ───────────────────
   Tracés officiels, sous CC BY 4.0, attribués au pied de chaque page.
   Servis ici et non dans le HTML : le même tracé sur 40 000 pages
   pesait des centaines de méga-octets. Aucun appel vers un tiers. */
.ico{display:inline-block;width:1em;height:1em;flex:0 0 auto;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.i-assemblee{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8L32 192c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9l0-.9 4.4-1.6L240.1 4.2zM64 224l64 0 0 192 40 0 0-192 64 0 0 192 48 0 0-192 64 0 0 192 40 0 0-192 64 0 0 196.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 224z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8L32 192c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9l0-.9 4.4-1.6L240.1 4.2zM64 224l64 0 0 192 40 0 0-192 64 0 0 192 48 0 0-192 64 0 0 192 40 0 0-192 64 0 0 196.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 224z%22/%3E%3C/svg%3E")}
.i-budget{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M384 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L398.4 96c-5.2 25.8-22.9 47.1-46.4 57.3L352 448l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0 0-294.7c-23.5-10.3-41.2-31.6-46.4-57.3L128 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l128 0c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288l144.9 0L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320l144.9 0L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M384 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L398.4 96c-5.2 25.8-22.9 47.1-46.4 57.3L352 448l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0 0-294.7c-23.5-10.3-41.2-31.6-46.4-57.3L128 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l128 0c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288l144.9 0L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320l144.9 0L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z%22/%3E%3C/svg%3E")}
.i-candidats{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160 64 0 0-160zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-448zM224 512c17.7 0 32-14.3 32-32l0-160-64 0 0 160c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32L320 0zM112 80A48 48 0 1 0 16 80a48 48 0 1 0 96 0zm0 261.3l0-72.1 4.7 4.7c9 9 21.2 14.1 33.9 14.1l73.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-66.7 0-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6l0 55.7 0 .9L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 42.7L96 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-58.7c0-10.4-3.4-20.5-9.6-28.8L112 341.3z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160 64 0 0-160zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-448zM224 512c17.7 0 32-14.3 32-32l0-160-64 0 0 160c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32L320 0zM112 80A48 48 0 1 0 16 80a48 48 0 1 0 96 0zm0 261.3l0-72.1 4.7 4.7c9 9 21.2 14.1 33.9 14.1l73.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-66.7 0-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6l0 55.7 0 .9L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 42.7L96 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-58.7c0-10.4-3.4-20.5-9.6-28.8L112 341.3z%22/%3E%3C/svg%3E")}
.i-carte{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z%22/%3E%3C/svg%3E")}
.i-collectivites{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M208 80c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-8 0 0 40 152 0c30.9 0 56 25.1 56 56l0 32 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-32c0-4.4-3.6-8-8-8l-152 0 0 40 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-40-152 0c-4.4 0-8 3.6-8 8l0 32 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-32c0-30.9 25.1-56 56-56l152 0 0-40-8 0c-26.5 0-48-21.5-48-48l0-64z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M208 80c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-8 0 0 40 152 0c30.9 0 56 25.1 56 56l0 32 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-32c0-4.4-3.6-8-8-8l-152 0 0 40 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-40-152 0c-4.4 0-8 3.6-8 8l0 32 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-32c0-30.9 25.1-56 56-56l152 0 0-40-8 0c-26.5 0-48-21.5-48-48l0-64z%22/%3E%3C/svg%3E")}
.i-comprendre{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5l0-377.4c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8L0 454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5l0-370.3c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11L304 456c0 11.4 11.7 19.3 22.4 15.5z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5l0-377.4c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8L0 454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5l0-370.3c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11L304 456c0 11.4 11.7 19.3 22.4 15.5z%22/%3E%3C/svg%3E")}
.i-europe{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1l0 9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1l1 0c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24l0 4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6l29.4 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-20.7 0c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3l11.3 0c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16l7.3 0c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4l-20.9 0c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3l0 3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3l21.3 0c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1l0 9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1l1 0c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24l0 4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6l29.4 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-20.7 0c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3l11.3 0c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16l7.3 0c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4l-20.9 0c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3l0 3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3l21.3 0c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z%22/%3E%3C/svg%3E")}
.i-frise{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z%22/%3E%3C/svg%3E")}
.i-gouvernement{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160l0 8c0 13.3 10.7 24 24 24l400 0c13.3 0 24-10.7 24-24l0-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224l-64 0 0 196.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512l448 0c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1L448 224l-64 0 0 192-40 0 0-192-64 0 0 192-48 0 0-192-64 0 0 192-40 0 0-192zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160l0 8c0 13.3 10.7 24 24 24l400 0c13.3 0 24-10.7 24-24l0-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224l-64 0 0 196.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512l448 0c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1L448 224l-64 0 0 192-40 0 0-192-64 0 0 192-48 0 0-192-64 0 0 192-40 0 0-192zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z%22/%3E%3C/svg%3E")}
.i-loupe{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z%22/%3E%3C/svg%3E")}
.i-lune{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z%22/%3E%3C/svg%3E")}
.i-partis{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3l0-84.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5l0 21.5c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-26.8C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112l32 0c24 0 46.2 7.5 64.4 20.3zM448 416l0-21.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176l32 0c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2l0 26.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3l0-84.7c-10 11.3-16 26.1-16 42.3zm144-42.3l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2l0 42.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-42.8c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112l32 0c61.9 0 112 50.1 112 112z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3l0-84.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5l0 21.5c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-26.8C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112l32 0c24 0 46.2 7.5 64.4 20.3zM448 416l0-21.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176l32 0c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2l0 26.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3l0-84.7c-10 11.3-16 26.1-16 42.3zm144-42.3l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2l0 42.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-42.8c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112l32 0c61.9 0 112 50.1 112 112z%22/%3E%3C/svg%3E")}
.i-personnes{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z%22/%3E%3C/svg%3E")}
.i-scrutins{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M96 80c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 304L96 384 96 80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48l16 0 0 128 448 0 0-128 16 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-96z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M96 80c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 304L96 384 96 80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48l16 0 0 128 448 0 0-128 16 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-96z%22/%3E%3C/svg%3E")}
.i-securite{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z%22/%3E%3C/svg%3E")}
.i-senat{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M248 0l16 0c13.3 0 24 10.7 24 24l0 10.7C368.4 48.1 431.9 111.6 445.3 192l2.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 256c-17.7 0-32-14.3-32-32s14.3-32 32-32l2.7 0C80.1 111.6 143.6 48.1 224 34.7L224 24c0-13.3 10.7-24 24-24zM64 288l64 0 0 128 40 0 0-128 64 0 0 128 48 0 0-128 64 0 0 128 40 0 0-128 64 0 0 132.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 288z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M248 0l16 0c13.3 0 24 10.7 24 24l0 10.7C368.4 48.1 431.9 111.6 445.3 192l2.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 256c-17.7 0-32-14.3-32-32s14.3-32 32-32l2.7 0C80.1 111.6 143.6 48.1 224 34.7L224 24c0-13.3 10.7-24 24-24zM64 288l64 0 0 128 40 0 0-128 64 0 0 128 48 0 0-128 64 0 0 128 40 0 0-128 64 0 0 132.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 288z%22/%3E%3C/svg%3E")}
.i-soleil{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z%22/%3E%3C/svg%3E")}
.i-sources{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M448 80l0 48c0 44.2-100.3 80-224 80S0 172.2 0 128L0 80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6L448 288c0 44.2-100.3 80-224 80S0 332.2 0 288L0 186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6l0 85.9c0 44.2-100.3 80-224 80S0 476.2 0 432l0-85.9z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M448 80l0 48c0 44.2-100.3 80-224 80S0 172.2 0 128L0 80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6L448 288c0 44.2-100.3 80-224 80S0 332.2 0 288L0 186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6l0 85.9c0 44.2-100.3 80-224 80S0 476.2 0 432l0-85.9z%22/%3E%3C/svg%3E")}
.i-systeme{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M448 256c0-106-86-192-192-192l0 384c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M448 256c0-106-86-192-192-192l0 384c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z%22/%3E%3C/svg%3E")}
.i-themes{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5L0 80C0 53.5 21.5 32 48 32l149.5 0c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5L0 80C0 53.5 21.5 32 48 32l149.5 0c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z%22/%3E%3C/svg%3E")}
