/* Alignés — feuille commune du site.
   Dessin repris des maquettes Stitch validées (projet 9506886828951528801,
   DS assets/a3cea3a44273416f86c0b6ecfaa3d5bb, écran de référence « 2nd tour »)
   et de 06-habillage/DESIGN.md (révision du 2026-11-12). Une seule feuille
   pour toutes les pages. */

@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 500;font-display:swap;src:url(fonts/newsreader-normal-300-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:'Newsreader';font-style:normal;font-weight:200 500;font-display:swap;src:url(fonts/newsreader-normal-300-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:'Newsreader';font-style:italic;font-weight:200 500;font-display:swap;src:url(fonts/newsreader-italic-300-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:'Newsreader';font-style:italic;font-weight:200 500;font-display:swap;src:url(fonts/newsreader-italic-300-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:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/inter-normal-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:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/inter-normal-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}

:root{
  color-scheme:light;
  --papier:#F9F6F0; --papier-bord:#EFEAE0; --bloc:#F2ECE1; --piste:#E5DFD4;
  --encre:#2A2620; --cuivre:#B87333; --pierre:#D9D2C5; --ardoise:#4A5D6E;
  --encre-90:rgba(42,38,32,.9); --encre-80:rgba(42,38,32,.8); --encre-70:rgba(42,38,32,.7);
  --encre-60:rgba(42,38,32,.62); --filet:rgba(42,38,32,.15); --filet-bloc:rgba(42,38,32,.10);
  --serif:'Newsreader',Georgia,serif; --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mesure:850px;
  /* Palette de données des partis (graphiques de la projection seulement, DESIGN.md).
     Attal, Lisnard et Bardella foncés le 2026-11-12 pour atteindre 3:1 sur le papier de bloc. */
  --k-ART:#7C4349; --k-ROU:#C7586B; --k-MEL:#AB5C70; --k-TON:#63916A; --k-GLU:#D2668B;
  --k-ATT:#A3852E; --k-PHI:#6695A9; --k-RET:#6785B2; --k-LIS:#7088BD; --k-DUP:#8884AA;
  --k-LEP:#3E4A6A; --k-BAR:#828899; --k-ZEM:#5E524A; --k-RIN:#8C8B8A;
  --GR:#B85E6B; --GSE:#D2668B; --CEN:#B19132; --DR:#6785B2; --DN:#3E4A6A; --ABS:#D9D2C5; --BN:#E8E2D9;
  /* Texte posé sur une couleur : encre ou papier, le plus contrasté des deux. */
  --on-k-ART:var(--papier); --on-k-ROU:var(--papier); --on-k-MEL:var(--papier); --on-k-TON:var(--encre);
  --on-k-GLU:var(--encre); --on-k-ATT:var(--encre); --on-k-PHI:var(--encre); --on-k-RET:var(--encre);
  --on-k-LIS:var(--encre); --on-k-DUP:var(--encre); --on-k-LEP:var(--papier); --on-k-BAR:var(--encre);
  --on-k-ZEM:var(--papier); --on-k-RIN:var(--encre);
  --on-GR:var(--papier); --on-GSE:var(--encre); --on-CEN:var(--encre); --on-DR:var(--encre);
  --on-DN:var(--papier); --on-ABS:var(--encre); --on-BN:var(--encre);
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--papier);font-synthesis:none;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;position:relative;min-height:100vh;display:flex;flex-direction:column;
  background:var(--papier) radial-gradient(ellipse 120% 90% at 50% 40%,var(--papier) 62%,var(--papier-bord) 100%);
  color:var(--encre);font-family:var(--serif);font-weight:300;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
/* Le grain du papier (CSS/SVG, aucune image, aucun canvas). */
body::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:60;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .15 0 0 0 0 .12 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:240px;opacity:.07;mix-blend-mode:multiply}
::selection{background:rgba(184,115,51,.2)}
img{max-width:100%;height:auto}
p{margin:0 0 1em}
strong{font-weight:500}
a{color:var(--encre);text-decoration:underline;text-decoration-color:rgba(42,38,32,.35);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--encre)}
a:focus-visible,summary:focus-visible{outline:2px solid var(--encre);outline-offset:3px}
.cuivre{color:var(--cuivre)}
.evitement{position:absolute;left:-9999px;top:0;z-index:100;background:var(--bloc);padding:8px 16px;font-family:var(--sans);font-size:13px}
.evitement:focus{left:16px;top:16px}

/* ---------- En-tête (transversal) */
.entete{border-bottom:1px solid var(--filet);background:var(--papier)}
.entete-int{max-width:1200px;margin:0 auto;padding:0 32px;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.marque{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--encre)}
.marque-nom{font-size:30px;letter-spacing:-.01em;line-height:1}
.marque-sig{font-size:20px;font-style:italic;color:var(--encre-70)}
.nav ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.nav a{display:block;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-70);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--encre)}
.nav a[aria-current="page"]{color:var(--encre);border-bottom-color:var(--encre)}

/* ---------- Page */
.page{flex:1 0 auto;width:100%;max-width:1200px;margin:0 auto;padding:40px 32px 24px}
.bloc{background:var(--bloc);border:1px solid var(--filet-bloc);border-radius:0;padding:32px}
.etiquette{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-70);margin:0}
.etiquette .sep{margin:0 10px;color:var(--encre-60)}
.titre-page{font-size:40px;font-weight:300;line-height:1.15;margin:0}
.tete-page{margin:8px 0 40px}
.tete-page .etiquette{margin-bottom:12px}
.tete-page .titre-page{max-width:900px;padding-bottom:16px;border-bottom:1px solid var(--filet)}
.section{margin-top:64px}
.titre-section{font-size:28px;font-weight:300;line-height:1.25;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--filet)}
.titre-section .num{font-style:italic;color:var(--encre-60);margin-right:.45em}
.titre-bloc{font-size:20px;font-weight:400;line-height:1.3;margin:0 0 16px}
h4.titre-bloc{font-size:18px}
.texte{max-width:var(--mesure)}
.lead{font-size:20px;line-height:1.55;max-width:640px;margin-bottom:16px}
.note{font-size:16px;line-height:1.6;color:var(--encre-80);max-width:var(--mesure);margin:0 0 24px}
.chapeau .note{font-style:italic;font-size:14px;color:var(--encre-70)}
.renvoi{font-style:italic;font-size:15px;color:var(--encre-70);border-top:1px solid var(--filet);padding-top:16px;margin-top:48px;max-width:none}
.emplacement{font-style:italic;color:var(--encre-60)}
.liste{list-style:none;margin:0 0 24px;padding:0;max-width:var(--mesure)}
.liste li{margin:0 0 16px}
.etapes{margin:0 0 24px;padding-left:1.4em;max-width:var(--mesure)}
.etapes li{margin:0 0 14px;padding-left:.3em}
.etapes li::marker{font-family:var(--sans);font-size:12px;color:var(--encre-70)}
.etapes strong{display:block}
.etapes span{display:block;color:var(--encre-80)}

/* ---------- Bandeau légal de la projection (transversal) */
.bandeau{margin-bottom:32px}
.bandeau-tete{display:flex;align-items:baseline;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;border-bottom:1px solid var(--filet-bloc);padding-bottom:16px;margin-bottom:16px}
.bandeau-tete .titre-page{font-size:36px}
.bandeau-avert{font-style:italic;color:var(--encre-90);margin:0 0 8px}
.bandeau-chapo{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.02em;color:var(--encre-70);margin:0}

/* ---------- Onglets (transversal à la projection) */
.onglets{margin:0 0 48px;border-bottom:1px solid var(--filet)}
.onglets ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.onglets a{display:block;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-60);text-decoration:none;padding:0 0 12px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.onglets a:hover{color:var(--encre)}
.onglets a[aria-current="page"]{color:var(--encre);border-bottom-color:var(--encre)}

/* ---------- Espacement commun des graphiques composés */
.affiches,.cartes-duels,.configurations,.groupes{margin-bottom:24px}

/* ---------- Tuiles */
.tuiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 0 16px}
.tuile{padding:24px;display:flex;flex-direction:column;justify-content:space-between}
.tuile-val{font-size:36px;line-height:1.1;margin:0 0 12px}
.tuile-lib{font-family:var(--sans);font-weight:500;font-size:12px;line-height:1.5;color:var(--encre-70);margin:0}

/* ---------- Barres horizontales */
.bloc-graphique{margin:0 0 16px}
.barres{display:grid;gap:16px}
.barre{display:grid;grid-template-columns:160px minmax(0,1fr) 88px;align-items:center;gap:24px}
.barre-nom{font-family:var(--sans);font-weight:500;font-size:14px;line-height:1.3}
.barre-nom small{display:block;font-family:var(--serif);font-weight:300;font-style:italic;font-size:12px;color:var(--encre-60)}
.barre-piste{position:relative;height:24px;background:var(--piste);overflow:hidden}
.barre-piste i{display:block;height:100%}
.barre-val{font-family:var(--sans);font-weight:500;font-size:14px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.barres-compact{gap:12px}
.barres-compact .barre{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nom val" "piste piste";gap:4px 12px}
.barres-compact .barre-nom{grid-area:nom;font-family:var(--serif);font-weight:300;font-size:15px}
.barres-compact .barre-val{grid-area:val;font-family:var(--serif);font-weight:300;font-size:15px}
.barres-compact .barre-piste{grid-area:piste;height:6px}

/* ---------- Fourchettes du premier tour */
.fourchettes{display:grid;gap:10px}
.fourchette{display:grid;grid-template-columns:140px minmax(0,1fr) 72px;align-items:center;gap:24px}
.fourchette-nom{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fourchette-val{font-size:17px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fourchette-piste{position:relative;height:24px;background-image:repeating-linear-gradient(to right,rgba(42,38,32,.16) 0 1px,transparent 1px 20%);background-size:100% 100%}
.fourchette-piste::after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:rgba(42,38,32,.16)}
.bande{position:absolute;top:8px;height:8px;opacity:.45}
.bande-auj{top:4px;height:16px;opacity:.9}
.point{position:absolute;top:6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--encre);border:2px solid var(--bloc)}
.fourchette-axe{margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--filet)}
.fourchette-graduations{position:relative;height:16px}
.fourchette-graduations span{position:absolute;transform:translateX(-50%);font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.08em;color:var(--encre-60);white-space:nowrap}
.fourchette-graduations span:first-child{transform:none}
.fourchette-graduations span:last-child{transform:translateX(-100%)}

/* ---------- Courbes */
.bloc-graphique:has(.courbes){overflow-x:auto}
.courbes{display:block;width:100%;height:auto;min-width:560px}
.courbes .grille{stroke:rgba(42,38,32,.12);stroke-width:1}
.courbes .axe{font-family:var(--sans);font-weight:500;font-size:11px;fill:var(--encre-60)}
.courbes .etiq{font-family:var(--serif);font-size:13px;fill:var(--encre)}
.courbes .etiq-val{font-family:var(--sans);font-weight:500;font-size:11px}

/* ---------- Groupes sociaux */
.groupes{display:grid;gap:24px}
.legende{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0;padding:16px 20px;background:var(--bloc);border:1px solid var(--filet-bloc);font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--encre-80)}
.legende li{display:flex;align-items:center;gap:8px}
.legende i{display:inline-block;width:10px;height:10px}
.groupe{margin-top:18px}
.groupe-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.groupe-nom{font-size:15px}
.groupe-poids{font-family:var(--sans);font-weight:500;font-size:11px;color:var(--encre-60);text-align:right}
.empile{display:flex;height:28px}
.cellule{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;font-family:var(--sans);font-weight:500;font-size:11px;font-variant-numeric:tabular-nums}
.cellule.fragile::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(42,38,32,.28) 0 2px,transparent 2px 6px)}

/* ---------- Affiches du second tour */
.affiches{display:grid;gap:24px}
.affiche{padding:24px}
.affiche-tete{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.affiche-tete .titre-bloc{font-size:18px;margin:0}
.affiche-freq{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.04em;white-space:nowrap;margin:0}
.affiche-freq small{font-size:12px;color:var(--encre-70)}
.affiche-piste{height:8px;background:var(--piste);margin:12px 0}
.affiche-piste i{display:block;height:100%;background:var(--pierre)}
.affiche-issue{display:flex;height:24px}
.affiche-issue div,.duel div{display:flex;align-items:center;padding:0 12px;min-width:0;overflow:hidden;white-space:nowrap;font-family:var(--sans);font-weight:500;font-size:12px}
.affiche-lecture{font-style:italic;font-size:15px;color:var(--encre-80);margin:12px 0 0}

/* ---------- Duels en détail */
.cartes-duels{display:grid;gap:32px}
.duel{position:relative;display:flex;height:32px;margin:8px 0 24px}
.duel::after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--encre)}
.duel div{font-size:13px}
.paires{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:0 0 8px}
.paires div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--filet-bloc)}
.paires dt{font-family:var(--sans);font-weight:500;font-size:13px;color:var(--encre-70)}
.paires dd{margin:0;font-family:var(--sans);font-weight:500;font-size:13px;text-align:right;white-space:nowrap}
.bloc-interne{background:rgba(42,38,32,.03);border:1px solid var(--filet-bloc);padding:16px 20px;margin:0 0 16px}
.barres-groupes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 48px}
.barre-mini{grid-template-columns:150px minmax(0,1fr) 44px;gap:16px}
.barre-mini .barre-nom,.barre-mini .barre-val{font-size:12px}
.barre-mini .barre-piste{height:10px}
.barre-piste-50::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1.5px;background:var(--encre)}

/* ---------- Configurations (Scénarii) */
.configurations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.configuration{padding:20px}
.configuration-titre{font-size:16px;font-style:italic;font-weight:300;line-height:1.4;margin:6px 0 16px}
.configuration-issue{font-size:14px;line-height:1.5;border-top:1px solid var(--filet-bloc);padding-top:16px;margin:20px 0 0}

/* ---------- Tableaux */
.tableau{overflow-x:auto;margin:16px 0 24px}
.tableau table{width:100%;border-collapse:collapse}
.tableau th{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-60);text-align:left;padding:10px 12px;border-bottom:1px solid var(--filet);vertical-align:bottom}
.tableau td{font-size:15px;padding:9px 12px;border-bottom:1px solid var(--filet-bloc);vertical-align:top}
.tableau .num{text-align:right;font-variant-numeric:tabular-nums}
.tableau tr.groupe th{font-family:var(--serif);font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;color:var(--encre);padding-top:20px}
.tableau th:first-child,.tableau td:first-child{padding-left:0}
.tableau th:last-child,.tableau td:last-child{padding-right:0}

/* ---------- Rubriques repliables */
.repliable{background:var(--bloc);border:1px solid var(--filet-bloc);margin:0 0 12px}
.repliable>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;cursor:pointer;list-style:none}
.repliable>summary::-webkit-details-marker{display:none}
.repliable-titre{font-size:20px;line-height:1.35}
.repliable-signe::before{content:"+";font-family:var(--sans);font-weight:500;font-size:18px;line-height:1;color:var(--encre)}
.repliable[open]>summary .repliable-signe::before{content:"\2212"}
.repliable-corps{padding:4px 20px 24px}
.repliable-corps>:last-child{margin-bottom:0}
.repliable-corps .titre-bloc{margin-top:28px}
.repliable-petit{background:none;border:0;border-top:1px solid var(--filet-bloc);margin:16px 0 0}
.repliable-petit>summary{padding:16px 0}
.repliable-petit .repliable-titre{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.repliable-petit .repliable-corps{padding:0}
.repliables .repliable-corps p{max-width:var(--mesure)}

/* ---------- Accueil */
.hero{padding:24px 0 16px}
.hero-titre{font-size:72px;font-weight:300;line-height:1.05;letter-spacing:-.01em;margin:0 0 32px}
.hero-texte{max-width:680px}
.hero-texte p{font-size:20px;line-height:1.6;color:var(--encre-80)}
.section-episode,.section-projection{border-top:1px solid var(--filet);padding-top:48px}
.episode{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.episode-image{display:block;border:1px solid var(--filet-bloc);line-height:0}
.episode-image img{display:block;width:100%}
.episode-texte .etiquette{margin-bottom:8px}
.episode-titre{font-size:32px;font-weight:300;line-height:1.2;margin:0 0 16px}
.episode-titre a{text-decoration:none}
.episode-titre::after{content:"";display:block;width:32px;height:2px;background:var(--cuivre);margin-top:16px}
.episode-resume{font-size:17px;color:var(--encre-80);margin-top:16px}
.section-projection .bandeau-avert{margin:8px 0 24px}
.bloc-accueil .bloc-graphique{background:none;border:0;padding:0;margin:0}
.bloc-accueil h2.titre-bloc+*{margin-bottom:0}
.bloc-accueil h2.titre-bloc:not(:first-child){border-top:1px solid var(--filet-bloc);padding-top:32px;margin-top:32px}
.lien-suite{border-top:1px solid var(--filet-bloc);padding-top:24px;margin:32px 0 0;font-style:italic}
.bloc-appel .titre-bloc a{text-decoration:none}
.bloc-appel p{margin:0}

/* ---------- Vidéo */
.video{position:relative;aspect-ratio:16/9;background:var(--bloc);border:1px solid var(--filet-bloc);margin:0 0 16px;overflow:hidden}
.video img{display:block;width:100%;height:100%;object-fit:cover}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-jouer{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:1px solid rgba(42,38,32,.3);background:rgba(249,246,240,.88);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:18px;color:var(--encre);text-decoration:none}
.video-jouer-inactif{opacity:.6}
.video-attente{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:15px;margin:0}
.citations{display:grid;gap:16px}
.citation{margin:0;border-left:3px solid var(--encre);padding:24px}
.citation blockquote{margin:0}
.citation blockquote p{font-style:italic;font-size:20px;line-height:1.45;margin:0;max-width:var(--mesure)}
.citation figcaption{margin-top:12px;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.citation-quand{color:var(--encre-70)}
.citation .sep{margin:0 12px;color:var(--encre-60)}
.citation-liens{font-family:var(--sans);font-weight:500;font-size:12px;margin:10px 0 0;color:var(--encre-60)}
.liste-sources{list-style:none;margin:0 0 24px;padding:0;max-width:var(--mesure)}
.liste-sources li{padding:10px 0;border-bottom:1px solid var(--filet-bloc);font-size:15px;line-height:1.5;overflow-wrap:anywhere}

/* ---------- Retour en haut (transversal) : fixe dans la marge des grands écrans,
   en fin de page ailleurs, pour ne jamais recouvrir le contenu. */
.haut-zone{height:0}
.haut{position:fixed;right:24px;bottom:24px;z-index:50;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bloc);border:1px solid rgba(42,38,32,.3);color:var(--encre);text-decoration:none;font-family:var(--sans);font-size:16px;transition:opacity .2s}
.haut:hover{border-color:var(--encre)}
/* Caché tant qu'on est en haut de page (classe posée par alignes.js ; sans script, toujours visible). */
.haut.haut-cache{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.haut{transition:none}}

/* ---------- Carrousel des vidéos (dessin Stitch, écran cd6bd788cab54008839d1bd7f78fcad8) */
.carrousel{display:flex;flex-direction:column;gap:16px}
.carrousel-tete{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--filet);padding-bottom:12px}
.carrousel-tete .etiquette{color:var(--encre-80);letter-spacing:.16em}
.carrousel-commandes{display:flex;align-items:center;gap:6px}
.carrousel-position{margin:0 6px 0 0;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.12em;color:var(--encre-70);font-variant-numeric:tabular-nums}
.carrousel-commandes button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bloc);border:1px solid rgba(42,38,32,.25);color:var(--encre);border-radius:0;cursor:pointer;padding:0}
.carrousel-commandes button:hover:not(:disabled){background:#EAE2D5}
.carrousel-commandes button:focus-visible{outline:2px solid var(--encre);outline-offset:2px}
.carrousel-commandes button:disabled{background:rgba(242,236,225,.5);border-color:var(--filet-bloc);color:rgba(42,38,32,.25);cursor:not-allowed}
.carrousel-piste{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;list-style:none;margin:0;padding:0;scrollbar-width:none;overscroll-behavior-x:contain}
.carrousel-piste::-webkit-scrollbar{display:none}
.carrousel-piste:focus-visible{outline:2px solid var(--encre);outline-offset:3px}
.carrousel-item{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.carrousel-carte{display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:32px;align-items:center;background:var(--bloc);border:1px solid var(--filet);padding:32px;height:100%}
.carrousel-image{display:block;line-height:0;border:1px solid var(--filet-bloc)}
.carrousel-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.carrousel-texte .etiquette{color:var(--encre-60);letter-spacing:.16em;margin-bottom:8px}
.carrousel-titre{font-size:34px;font-weight:400;line-height:1.18;letter-spacing:-.01em;margin:0 0 12px}
.carrousel-titre a{text-decoration:none}
.carrousel-titre::after{content:"";display:block;width:48px;height:1px;background:rgba(42,38,32,.2);margin-top:12px}
.carrousel-date{font-style:italic;font-size:14px;color:rgba(42,38,32,.65);margin:0 0 16px}
.carrousel-resume{font-size:16px;line-height:1.55;color:rgba(42,38,32,.85);margin:0}
.carrousel-points{display:flex;justify-content:center;gap:8px;padding-top:8px}
.carrousel-point{width:8px;height:8px;border-radius:50%;border:1px solid rgba(42,38,32,.3)}
.carrousel-point.actif{background:var(--encre);border-color:var(--encre)}

/* ---------- Bloc de l'accueil qui mène à la projection (un seul lien) */
a.bloc-lien{display:block;color:var(--encre);text-decoration:none;transition:border-color .2s,background-color .2s}
a.bloc-lien:hover{border-color:rgba(42,38,32,.35);background:#EFE8DC}
a.bloc-lien:hover .lien-suite span:first-child{text-decoration:underline;text-underline-offset:3px}
a.bloc-lien:focus-visible{outline:2px solid var(--encre);outline-offset:3px}
.filet{border:0;border-top:1px solid var(--filet);margin:48px 0}
.texte-pourquoi .titre-bloc{margin:32px 0 8px}

/* ---------- Pied de page (transversal) */
.pied{background:var(--bloc);border-top:1px solid var(--filet)}
.pied-int{max-width:1200px;margin:0 auto;padding:40px 32px}
.pied-texte{font-size:15px;line-height:1.6;color:var(--encre-80);max-width:640px;margin:0}
.pied-liens{display:flex;flex-wrap:wrap;gap:12px 32px;list-style:none;margin:20px 0 0;padding:20px 0 0;border-top:1px solid var(--filet-bloc)}
.pied-liens a{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.pied-liens a:hover{text-decoration:underline}

/* ---------- Tablette */
@media (max-width:960px){
  .tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .configurations{grid-template-columns:1fr}
  .episode{grid-template-columns:1fr;gap:24px}
  .barres-groupes{grid-template-columns:1fr}
}

/* ---------- Téléphone */
@media (max-width:640px){
  body{font-size:16px}
  .entete-int{flex-direction:column;align-items:flex-start;gap:12px;padding:16px;min-height:0}
  .nav ul{gap:24px}
  .page{padding:24px 16px 16px}
  .bloc{padding:20px}
  .titre-page,.bandeau-tete .titre-page{font-size:32px}
  .titre-section{font-size:24px}
  .section{margin-top:48px}
  .lead{font-size:18px}
  .onglets{margin-bottom:32px;margin-right:-16px;overflow-x:auto;scrollbar-width:thin}
  .onglets ul{gap:24px;padding-right:16px}
  .tuiles{gap:12px}
  .tuile{padding:16px}
  .tuile-val{font-size:28px}
  .barre{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nom val" "piste piste";gap:6px 12px}
  .barre-nom{grid-area:nom}
  .barre-val{grid-area:val}
  .barre-piste{grid-area:piste;height:12px}
  .barre-mini{grid-template-columns:minmax(0,1fr) auto}
  .barre-mini .barre-piste{height:8px}
  .fourchette{grid-template-columns:98px minmax(0,1fr) 44px;gap:8px}
  .fourchette-nom,.fourchette-val{font-size:13px}
  .fourchette-graduations span{font-size:9px;letter-spacing:0}
  .paires{grid-template-columns:1fr}
  .paires dd{white-space:normal}
  .affiche{padding:16px}
  .affiche-tete{flex-direction:column;gap:4px}
  .carte-duel{padding:16px}
  .duel div{padding:0 8px;font-size:12px}
  .hero-titre{font-size:48px}
  .hero-texte p{font-size:18px}
  .episode-titre{font-size:28px}
  .citation{padding:16px}
  .citation blockquote p{font-size:18px}
  .repliable>summary{padding:14px 16px;gap:16px}
  .repliable-titre{font-size:18px}
  .repliable-corps{padding:4px 16px 20px}
  .repliable-petit .repliable-corps{padding:0}
  /* Tableaux de quatre colonnes et plus : une carte par ligne. */
  .tableau-empile{overflow:visible}
  .tableau-empile thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tableau-empile tr{display:block;padding:10px 0;border-bottom:1px solid var(--filet)}
  .tableau-empile td{display:flex;justify-content:space-between;gap:16px;padding:3px 0;border:0;text-align:right}
  .tableau-empile td::before{content:attr(data-label);font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--encre-60);text-align:left}
  .tableau-empile td:first-child{display:block;text-align:left;font-weight:400;padding-bottom:4px}
  .tableau-empile td:first-child::before{content:none}
  .tableau-empile tr.groupe{border-bottom:0;padding-bottom:0}
  .tableau-empile tr.groupe th{display:block;padding:12px 0 0}
  .pied-int{padding:32px 16px 64px}
  /* Bouton haut : fixé en bas à droite, dessin de 32 px dans une cible tactile de 44 px,
     au ras du bord ; une marge sous le pied pour qu'il ne couvre jamais les derniers liens. */
  .haut{right:0;bottom:6px;width:44px;height:44px;background:none;border:0}
  .haut span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bloc);border:1px solid rgba(42,38,32,.3);font-size:14px}
  .pied-int{padding-bottom:64px}
  .carrousel-carte{grid-template-columns:1fr;gap:16px;padding:16px}
  .carrousel-titre{font-size:28px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media print{
  body{background:#fff;font-size:11pt}
  body::after,.nav,.onglets,.haut-zone,.evitement,.video-jouer{display:none}
  .bloc,.repliable,.pied{background:none}
  .repliable-corps{display:block}
  a{text-decoration:none}
}
