/* ══════════════════════════════════════════════════════════════════════
   LES ENFANTS DU FER — identité de la campagne, portée sur le site.
   Même palette, mêmes formes, même typographie que les 66 affiches :
   brasier et crème, grotesque grasse, pastilles arrondies, surlignage,
   grandes masses rondes. Le site et les réseaux ne font plus qu'un.
   ══════════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Bricolage';src:url('/assets/fonts/bricolage-grotesque-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Bricolage';src:url('/assets/fonts/bricolage-grotesque-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Bricolage';src:url('/assets/fonts/bricolage-grotesque-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Bricolage';src:url('/assets/fonts/bricolage-grotesque-latin-800-normal.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Main';src:url('/assets/fonts/kalam-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Main';src:url('/assets/fonts/kalam-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}

/* ── 1 · JETONS ──────────────────────────────────────────────────────
   Le rouge de la marque est #ED1C24, relevé sur le logo.
   Deux variantes existent pour une seule raison : la lisibilité.
     --rouge    : la marque. Grands aplats, grands titres, signature.
     --rouge-s  : surfaces portant du PETIT texte blanc (contraste 5,4:1).
     --rouge-t  : petit texte rouge sur fond clair (contraste 5,5:1).
   À l'œil, les trois sont le même rouge. À la mesure, ils passent.  */
:root{
  --brasier:#C2521F;     /* la marque — grands aplats, surlignages, masses rondes */
  --brasier-s:#A8431A;   /* surfaces portant du petit texte blanc — 6,0:1 */
  --brasier-t:#8E3714;   /* petit texte sur fond clair — 6,8:1 sur crème, 4,8:1 sur pêche */
  --brasier-p:#6B2A0F;   /* profondeur */
  --ambre:#D9A05B;

  --noir:#3E2415;
  --noir-2:#4E3020;
  --gris:#6A5142;

  --blanc:#FFFFFF;
  --creme:#F6EEE4;
  --sable:#EFE0CE;
  --peche:#E3C6A8;

  --encre:#3E2415;
  --encre-2:#6E5A4C;
  --encre-3:#736050;

  --filet:rgba(62,36,21,.13);
  --filet-f:rgba(62,36,21,.26);
  --filet-c:rgba(255,255,255,.18);
  --filet-cf:rgba(255,255,255,.38);

  --m:22px;
  --max:1380px;
  --g:14px;
  --rond:30px;
  --pilule:999px;

  --d:'Bricolage','Archivo',system-ui,sans-serif;
  --s:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --main:'Main','Bradley Hand',cursive;
}

@media (max-width:760px){:root{--m:16px;--g:10px;--rond:22px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--creme);color:var(--encre);
  font:400 17px/1.6 var(--s);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
h1,h2,h3,h4{margin:0;font-family:var(--d);font-weight:800;line-height:1.06;
  letter-spacing:-.035em;text-wrap:balance}
p{margin:0}
::selection{background:var(--brasier);color:var(--blanc)}
:focus-visible{outline:3px solid var(--brasier);outline-offset:3px}
.saut{position:absolute;left:-9999px}
.saut:focus{left:12px;top:12px;z-index:200;background:var(--noir);color:var(--blanc);padding:12px 18px}

.env{max-width:var(--max);margin:0 auto;padding-inline:var(--m);width:100%}
.sec{padding-block:clamp(52px,7vw,104px)}
/* deux sections de meme fond : on evite le double blanc */
.p-creme+.p-creme,.p-sable+.p-sable,.p-noir+.p-noir,.p-peche+.p-peche{padding-top:clamp(8px,1.6vw,26px)}

/* ── 2 · PLANS ───────────────────────────────────────────────────── */
.p-creme{background:var(--creme);color:var(--encre)}
.p-blanc{background:var(--blanc);color:var(--encre)}
.p-sable{background:var(--sable);color:var(--encre)}
.p-blush{background:var(--peche);color:var(--encre)}
.p-noir{background:var(--noir);color:var(--blanc)}
.p-brasier{background:var(--brasier-s);color:var(--blanc)}
.p-noir,.p-brasier{--filet:var(--filet-c);--filet-f:var(--filet-cf);
  --encre:#fff;--encre-2:rgba(255,255,255,.80);--encre-3:rgba(255,255,255,.62)}

/* ── 3 · MICRO-TYPO ──────────────────────────────────────────────── */
.eti{display:inline-flex;align-self:flex-start;align-items:center;gap:9px;
  font:700 12px/1 var(--s);letter-spacing:.14em;text-transform:uppercase;color:var(--brasier-t);
  background:var(--peche);padding:9px 15px;border-radius:var(--pilule)}
.eti::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.p-noir .eti{background:rgba(255,255,255,.14)}
.p-brasier .eti{background:rgba(255,255,255,.22)}
.p-noir .eti,.p-brasier .eti{color:#fff}

h1{font-size:clamp(40px,7vw,92px);line-height:1.0}
h2{font-size:clamp(30px,4.6vw,62px)}
h3{font-size:clamp(21px,2.1vw,27px);letter-spacing:-.025em}
.txt{font-size:clamp(16.8px,1.15vw,19px);line-height:1.68;color:var(--encre-2);max-width:62ch}
.txt+.txt{margin-top:1em}
.txt b{color:var(--encre);font-weight:600}
.chapo{font:500 clamp(18px,1.5vw,22px)/1.5 var(--s);color:var(--encre-2);max-width:54ch}

/* la fiche technique : une etiquette, une valeur, un filet */
.fiche{display:grid;grid-template-columns:1fr;gap:0;max-width:58ch}
@media (min-width:640px){.fiche{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px)}}
.fiche>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:11px 0;border-top:1px solid var(--filet)}
.fiche .k{font:700 11.4px/1.3 var(--s);letter-spacing:.15em;text-transform:uppercase;
  color:var(--encre-3);flex:none}
.fiche .v{font-family:var(--d);font-weight:700;font-size:16.5px;letter-spacing:-.02em;
  color:var(--encre);text-align:right}

/* le mot qui traverse la coupe — le geste du logo, en typographie */
.inv{background:var(--brasier);color:var(--blanc);padding:.02em .18em;border-radius:.26em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.p-noir .inv,.p-brasier .inv{background:var(--blanc);color:var(--brasier-t)}

/* le mot manuscrit — un seul par page, jamais deux */
.main{font-family:var(--main);font-weight:700;color:var(--brasier);
  display:inline-block;transform:rotate(-2deg)}

/* la pastille collée de travers */
.sticker{display:inline-flex;align-items:center;gap:8px;background:var(--brasier-s);
  color:var(--blanc);font:700 12px/1 var(--s);letter-spacing:.1em;text-transform:uppercase;
  padding:12px 18px;border-radius:var(--pilule);transform:rotate(-3.5deg);
  box-shadow:0 10px 24px -14px rgba(194,82,31,.9)}
.sticker.blush{background:var(--peche);color:var(--brasier-t);box-shadow:none}
.sticker.noir{background:var(--noir);color:var(--blanc);box-shadow:none}

/* ── 4 · BOUTONS — le rectangle du logo, et son inversion ────────── */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;
  white-space:nowrap;font:700 13px/1 var(--s);letter-spacing:.06em;padding:18px 26px;
  background:var(--brasier-s);color:var(--blanc);border:2px solid var(--brasier-s);
  border-radius:var(--pilule);transition:.24s cubic-bezier(.2,.7,.3,1);cursor:pointer}
.bt:hover{background:var(--noir);color:var(--blanc);border-color:var(--noir);transform:translateY(-2px) rotate(-1deg)}
.bt i{font-style:normal;font-size:16px;line-height:1}
.bt.creux{background:transparent;color:var(--encre);border-color:var(--filet-f)}
.bt.creux:hover{background:var(--encre);color:var(--blanc);border-color:var(--encre)}
.bt.noir{background:var(--noir);border-color:var(--noir);color:var(--blanc)}
.bt.noir:hover{background:var(--brasier-s);border-color:var(--brasier-s);color:var(--blanc)}
.bt.blanc{background:var(--blanc);border-color:var(--brasier-s);color:var(--brasier-t)}
.bt.blanc:hover{background:var(--brasier-s);border-color:var(--brasier-s);color:var(--blanc)}
.lien{display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  font:700 12.5px/1 var(--s);letter-spacing:.14em;text-transform:uppercase;
  color:var(--brasier-t);padding-bottom:7px;border-bottom:2px solid currentColor;transition:.2s}
.lien:hover{gap:15px}
.p-noir .lien,.p-brasier .lien{color:#fff}
.actes{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:30px}

/* ── 5 · LA TUILE — un rectangle, jamais arrondi ─────────────────── */
.plateau{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--g)}
@media (max-width:980px){.plateau{grid-template-columns:repeat(6,1fr)}}
@media (max-width:560px){.plateau{grid-template-columns:repeat(2,1fr)}}
.plateau.duo2{grid-template-columns:1fr}
@media (min-width:560px){.plateau.duo2{grid-template-columns:repeat(2,1fr)}}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}
.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}
.c9{grid-column:span 9}.c12{grid-column:span 12}
@media (max-width:980px){
  .c3,.c4{grid-column:span 3}.c5,.c6,.c7,.c8,.c9,.c12{grid-column:span 6}}
@media (max-width:560px){
  .c3,.c4,.c5,.c6,.c7,.c8,.c9,.c12{grid-column:span 2}}

.tuile{position:relative;background:var(--blanc);color:var(--encre);
  padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;gap:12px;
  overflow:hidden;text-decoration:none;border-radius:var(--rond);
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,background .2s,color .2s}
a.tuile:hover{transform:translateY(-7px) rotate(-.5deg);
  box-shadow:0 30px 56px -30px rgba(62,36,21,.42)}
.tuile.noir{background:var(--noir);color:var(--blanc);--encre:#fff;
  --encre-2:rgba(255,255,255,.78);--encre-3:rgba(255,255,255,.58);--filet:var(--filet-c)}
.tuile.brasier{background:var(--brasier-s);color:var(--blanc);--encre:#fff;
  --encre-2:rgba(255,255,255,.88);--encre-3:rgba(255,255,255,.72);--filet:rgba(255,255,255,.3)}

.tuile.sable{background:var(--sable);color:var(--noir);--encre:#1B1016;
  --encre-2:#5C4A50;--encre-3:#786068;--filet:rgba(62,36,21,.16)}
.tuile.sable .n,.tuile.sable .suite{color:var(--brasier-t)}
.tuile.gris{background:var(--gris);color:var(--blanc);--encre:#fff;
  --encre-2:rgba(255,255,255,.82);--encre-3:rgba(255,255,255,.62);--filet:var(--filet-c)}
.tuile.creuse{background:transparent;border:2px dashed var(--filet-f)}
.tuile.peche{background:var(--peche);color:var(--noir);--encre:#1B1016;
  --encre-2:#5C4A50;--encre-3:#786068;--filet:rgba(62,36,21,.16)}
.tuile.peche .n,.tuile.peche .suite{color:var(--brasier-t)}
.tuile .n{font:700 12.4px/1 var(--s);letter-spacing:.14em;color:var(--brasier-t);
  font-variant-numeric:tabular-nums}
.tuile.noir .n,.tuile.gris .n{color:#fff;opacity:.72}
.tuile.brasier .n{color:#fff;opacity:.82}
.tuile p{font-size:clamp(15.8px,1.05vw,17px);line-height:1.6;color:var(--encre-2)}
.tuile .suite{margin-top:auto;padding-top:10px;font:700 12px/1 var(--s);
  letter-spacing:.14em;text-transform:uppercase;color:var(--brasier-t);
  display:inline-flex;align-items:center;gap:8px}
.tuile.noir .suite,.tuile.brasier .suite,.tuile.gris .suite{color:#fff}

/* la masse ronde de la campagne, en filigrane */
.tuile .arc{position:absolute;right:-90px;bottom:-110px;width:260px;height:260px;
  border-radius:50%;border:30px solid currentColor;opacity:.10;pointer-events:none}

.mesure b{display:block;font-family:var(--d);font-weight:800;
  font-size:clamp(46px,5.6vw,80px);line-height:.88;letter-spacing:-.05em;
  font-variant-numeric:tabular-nums}
.mesure span{font:600 12.6px/1.4 var(--s);letter-spacing:.12em;text-transform:uppercase;
  color:var(--encre-3)}

.tuile.photo{padding:0;min-height:230px}
.tuile.photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.tuile .vide{position:absolute;inset:0;border-radius:var(--rond);display:grid;place-content:center;text-align:center;
  gap:8px;padding:22px;background:repeating-linear-gradient(135deg,
    var(--sable) 0 11px,var(--creme) 11px 22px);color:var(--encre-3)}
.tuile .vide b{font:700 12px/1 var(--s);letter-spacing:.16em;text-transform:uppercase;color:var(--brasier-t)}
.tuile .vide span{font-size:12.5px;line-height:1.45;max-width:26ch}

/* ── 6 · EN-TÊTE ─────────────────────────────────────────────────── */
.ent{position:sticky;top:0;z-index:85;background:rgba(246,238,228,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--filet);color:var(--encre)}
.ent-in{max-width:var(--max);margin:0 auto;padding:0 var(--m);height:72px;
  display:flex;align-items:center;gap:16px}

/* la marque : les trois barres de la campagne + le titre */
.logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.logo .mk{display:flex;align-items:flex-end;gap:3.5px;height:18px;flex:none}
.logo .mk i{display:block;width:5px;border-radius:1.5px}
.logo .mk i:nth-child(1){height:9px;background:var(--brasier-s)}
.logo .mk i:nth-child(2){height:18px;background:var(--brasier)}
.logo .mk i:nth-child(3){height:13px;background:var(--ambre)}
.logo b{font-family:var(--d);font-weight:800;font-size:16.5px;letter-spacing:-.02em;
  white-space:nowrap;color:var(--encre)}
.pied .logo b{color:#fff}
.pied .logo .mk i:nth-child(1){background:var(--brasier)}

.nav{display:none;margin-left:auto;align-items:center;gap:0}
@media (min-width:1120px){.nav{display:flex}}
.nav a{text-decoration:none;font:600 14px/1 var(--s);color:var(--encre-2);
  padding:12px 13px;transition:.16s;white-space:nowrap;border-bottom:3px solid transparent}
.nav a:hover{color:var(--brasier-t)}
.nav a[aria-current]{color:var(--brasier-t)}
.nav a{border-radius:var(--pilule);border-bottom:0}
.nav a:hover{background:var(--peche)}
.nav a[aria-current]{background:var(--peche)}
.ent .bt{margin-left:auto;padding:12px 18px;font-size:12px}
@media (min-width:1120px){.ent .bt{margin-left:16px}}
.burger{width:46px;height:46px;flex:none;display:grid;place-content:center;gap:5px;
  background:var(--noir);border:0;border-radius:50%;cursor:pointer;padding:0}
.burger i{display:block;width:17px;height:2px;background:var(--blanc)}
@media (min-width:1120px){.burger{display:none}}

/* ── 7 · LE PANNEAU ──────────────────────────────────────────────────
   Une carte claire qui flotte : on voit la page autour d'elle, elle ne
   couvre plus l'ecran, et rien ne rebondit dans le vide quand on tire. */
.voile{position:fixed;inset:0;background:rgba(62,36,21,.42);z-index:80;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.pan{position:fixed;z-index:90;
  top:calc(var(--h-ent,72px) + 10px);right:14px;
  width:min(356px,calc(100vw - 56px));max-height:calc(100dvh - var(--h-ent,72px) - 24px);
  background:var(--creme);color:var(--encre);
  border:1px solid rgba(62,36,21,.10);border-radius:26px;
  box-shadow:0 34px 70px -28px rgba(62,36,21,.46),0 4px 14px rgba(62,36,21,.10);
  display:flex;flex-direction:column;overflow:hidden}
@media (min-width:1120px){.pan{right:calc(var(--m) + 2px);width:386px}}

.pan-t{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;border-bottom:1px solid var(--filet)}
.pan-t span{font:700 10.8px/1 var(--s);letter-spacing:.22em;text-transform:uppercase;
  color:var(--brasier-t)}
.pan-t button{background:none;border:1px solid var(--filet-f);border-radius:var(--pilule);
  color:var(--encre);font:600 12.4px/1 var(--s);padding:8px 13px;cursor:pointer;transition:.16s}
.pan-t button:hover{background:var(--encre);color:var(--creme);border-color:var(--encre)}

.pan ul{list-style:none;margin:0;padding:4px 0;flex:1;
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pan ul li+li a{border-top:1px solid var(--filet)}
.pan ul a{display:grid;grid-template-columns:26px minmax(0,1fr) 16px;align-items:center;
  gap:0 12px;padding:10px 18px;text-decoration:none;color:var(--encre);transition:.14s}
.pan ul a .no{font:700 11px/1 var(--s);letter-spacing:.05em;color:var(--brasier-t);
  font-variant-numeric:tabular-nums}
.pan ul a .tt{display:flex;flex-direction:column;gap:2px;min-width:0;
  font-family:var(--d);font-weight:800;font-size:16.2px;line-height:1.14;letter-spacing:-.025em}
.pan ul a .sub{font:400 12.2px/1.32 var(--s);letter-spacing:0;color:var(--encre-3);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pan ul a .fl{font-size:15px;color:var(--encre-3);opacity:.5;justify-self:end;transition:.14s}
.pan ul a:hover,.pan ul a:focus-visible{background:var(--peche)}
.pan ul a:hover .fl{opacity:1;color:var(--brasier-t);transform:translateX(3px)}
.pan ul a[aria-current]{background:var(--peche)}
.pan ul a[aria-current] .tt{color:var(--brasier-t)}

.pan-bas{flex:none;padding:12px 18px 16px;border-top:1px solid var(--filet);
  background:var(--sable)}
.pan .bt{width:100%;padding:14px 20px;font-size:12.4px}
.pan-pied{margin:10px 0 0;font:400 11.8px/1.5 var(--s);color:var(--encre-3)}
.pan-pied a{color:var(--brasier-t);text-decoration:none;
  border-bottom:1px solid rgba(142,55,20,.35)}

/* quand le menu est ouvert, la page dessous ne bouge plus */
body.fige{position:fixed;left:0;right:0;width:100%;overflow:hidden}

/* ── 8 · L'OUVERTURE ─────────────────────────────────────────────── */
.ouv{position:relative;background:var(--creme);color:var(--encre);overflow:hidden;
  padding-block:clamp(44px,6vw,80px) clamp(30px,4vw,52px)}
/* deux masses rondes : la respiration de la page */
.ouv::before{content:'';position:absolute;right:-9%;top:-34%;width:62vw;height:62vw;
  max-width:760px;max-height:760px;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 38% 38%,rgba(194,82,31,.92),rgba(194,82,31,.55) 52%,rgba(194,82,31,0) 72%)}
.ouv::after{content:'';position:absolute;left:-16%;bottom:-38%;width:54vw;height:54vw;
  max-width:620px;max-height:620px;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 58% 42%,rgba(227,198,168,1),rgba(227,198,168,0) 70%)}
.ouv>.env{position:relative;z-index:3}
.ouv h1{font-size:clamp(42px,8vw,112px);line-height:1.0;letter-spacing:-.045em;margin-top:20px;max-width:15ch}
.ouv h1 em{font-style:normal}
.ouv h1 u{text-decoration:none;background:var(--brasier);color:var(--blanc);
  padding:.02em .16em;border-radius:.24em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ouv h1 .main{color:var(--brasier);font-size:.92em}
.ouv .chapo{margin-top:24px;color:var(--encre-2);max-width:50ch}
.ouv-bas{margin-top:clamp(32px,4.4vw,56px)}

/* le sceau tournant */
.sceau{position:absolute;right:calc(var(--m) + 6px);top:clamp(64px,8vw,116px);z-index:4;
  width:clamp(100px,10.5vw,142px);height:clamp(100px,10.5vw,142px)}
@media (max-width:900px){.sceau{display:none}}
.sceau svg{width:100%;height:100%;animation:tourne 24s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
.sceau text{font:700 12.4px var(--s);letter-spacing:.22em;fill:var(--noir);text-transform:uppercase}
.sceau .coeur{position:absolute;inset:0;display:grid;place-content:center;
  font-family:var(--d);font-weight:800;font-size:25px;color:var(--brasier);letter-spacing:-.04em}

/* ── 9 · BANDE DÉFILANTE ─────────────────────────────────────────── */
.ruban{background:var(--brasier-s);color:var(--blanc);overflow:hidden;padding:14px 0;
  border-block:2px solid var(--noir)}
.ruban-p{display:flex;gap:40px;white-space:nowrap;animation:glisse 34s linear infinite;
  width:max-content}
@keyframes glisse{to{transform:translateX(-50%)}}
.ruban span{font-family:var(--d);font-weight:700;font-size:clamp(17px,2vw,25px);
  letter-spacing:-.02em;display:inline-flex;align-items:center;gap:40px}
.ruban span::after{content:'✱';width:auto;height:auto;background:none;font-size:.7em;opacity:.8}

/* ── 10 · TÊTE DE SECTION ────────────────────────────────────────── */
.tete{display:grid;gap:16px;margin-bottom:clamp(26px,3.4vw,46px)}
@media (min-width:880px){.tete.duo{grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:min(6vw,64px);align-items:end}}
.tete h2{margin-top:14px}
.tete h2 em{font-style:normal;color:var(--brasier)}
.tete h2 u{text-decoration:none;background:var(--brasier);color:var(--blanc);
  padding:.02em .18em;border-radius:.26em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.p-noir .tete h2 em{color:#fff;background:var(--brasier);padding:.02em .18em;border-radius:.26em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.p-brasier .tete h2 em{background:var(--blanc);color:var(--brasier-t);padding:.02em .18em;
  border-radius:.26em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ── 11 · MESURES ────────────────────────────────────────────────── */
.mesures{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--g)}
@media (min-width:820px){.mesures{grid-template-columns:repeat(4,1fr)}}

/* ── 12 · LE REGISTRE ────────────────────────────────────────────── */
.reg{border-top:2px solid var(--filet-f)}
.reg a,.reg div.l{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline;
  padding:clamp(18px,2.2vw,26px) 0;border-bottom:1px solid var(--filet);
  text-decoration:none;color:inherit;transition:.2s}
@media (min-width:880px){.reg a,.reg div.l{grid-template-columns:62px minmax(0,4fr) minmax(0,6fr) auto;
  gap:22px;align-items:center}}
.reg a:hover{padding-left:14px;background:linear-gradient(to right,rgba(194,82,31,.09),transparent 62%)}
.reg .n{font-family:var(--d);font-weight:800;font-size:clamp(20px,2.2vw,28px);color:var(--brasier-t);
  font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.p-noir .reg .n,.p-brasier .reg .n{color:#fff}
.p-noir .reg .f,.p-brasier .reg .f{background:rgba(255,255,255,.15);color:#fff}
.reg .t{font-family:var(--d);font-weight:700;font-size:clamp(19px,2vw,25px);letter-spacing:-.03em}
.reg .d{font-size:clamp(15.6px,1.05vw,16.8px);line-height:1.58;color:var(--encre-2)}
.reg .f{font:700 11px/1 var(--s);letter-spacing:.14em;text-transform:uppercase;
  color:var(--brasier-t);white-space:nowrap;background:var(--peche);padding:9px 14px;
  border-radius:var(--pilule)}

/* ── 13 · LOGOTHÈQUE ─────────────────────────────────────────────── */
.logos{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--g)}
@media (min-width:640px){.logos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.logos{grid-template-columns:repeat(4,1fr)}}
.logos div{background:var(--blanc);aspect-ratio:3/2;display:grid;place-content:center;
  padding:16px;text-align:center;font:600 13.5px/1.3 var(--s);color:var(--encre-2);
  border-radius:calc(var(--rond) - 8px);transition:.24s}
.logos div:hover{transform:rotate(-1.4deg) scale(1.03)}
.p-noir .logos div{background:var(--noir-2);color:rgba(255,255,255,.84)}

/* ── 14 · CITATION ───────────────────────────────────────────────── */
.cit{position:relative;padding:clamp(24px,3.2vw,40px);background:var(--blanc);
  display:flex;flex-direction:column;gap:18px;border-radius:var(--rond)}
.cit blockquote{margin:0;font-family:var(--d);font-weight:500;
  font-size:clamp(17px,1.5vw,20px);line-height:1.46;letter-spacing:-.02em}
.cit .qui{display:flex;align-items:center;gap:13px;margin-top:auto}
.cit .qui i{width:46px;height:46px;border-radius:50%;background:var(--brasier);color:var(--blanc);
  display:grid;place-content:center;font-family:var(--d);font-weight:800;font-size:15px;
  font-style:normal;flex:none}
.cit .qui b{display:block;font-size:14.5px;font-weight:700}
.cit .qui span{display:block;font-size:12.6px;color:var(--encre-3);line-height:1.35}

/* ── 15 · L'APPEL ────────────────────────────────────────────────── */
.appel{position:relative;background:var(--brasier-s);color:var(--blanc);overflow:hidden;
  padding:clamp(34px,5vw,72px);border-radius:calc(var(--rond) + 14px)}
.appel::after{content:'';position:absolute;right:-8%;bottom:-60%;width:46%;padding-top:46%;
  border-radius:50%;background:radial-gradient(circle at 44% 44%,rgba(255,255,255,.18),rgba(255,255,255,0) 70%);
  pointer-events:none}
.appel>*{position:relative;z-index:2}
.appel .eti{color:#fff;background:rgba(255,255,255,.22)}
.appel .eti::before{background:#fff}
.appel h2{font-size:clamp(30px,4.4vw,56px)}
.appel .chapo{color:rgba(255,255,255,.92);margin-top:18px}

/* ── 16 · CHAPITRE ───────────────────────────────────────────────── */
.chap{position:relative;background:var(--creme);color:var(--encre);overflow:hidden;
  padding-block:clamp(38px,5vw,70px) clamp(30px,4vw,56px)}
.chap::before{content:'';position:absolute;right:-8%;top:-44%;width:52vw;height:52vw;
  max-width:600px;max-height:600px;border-radius:50%;
  background:radial-gradient(circle at 40% 44%,rgba(194,82,31,.88),rgba(194,82,31,.5) 54%,rgba(194,82,31,0) 74%)}
.chap::after{content:'';position:absolute;left:-14%;bottom:-46%;width:44vw;height:44vw;
  max-width:480px;max-height:480px;border-radius:50%;
  background:radial-gradient(circle at 56% 44%,rgba(227,198,168,.95),rgba(227,198,168,0) 72%)}
.chap>.env{position:relative;z-index:3}
.chap .fil{display:flex;align-items:center;gap:10px;margin-bottom:22px;flex-wrap:wrap;
  font:600 12px/1 var(--s);letter-spacing:.08em;color:var(--encre-3)}
.chap .fil a{text-decoration:none}
.chap .fil a:hover{color:var(--brasier)}
.chap h1{font-size:clamp(36px,6.4vw,84px);line-height:1.02;max-width:15ch}
.chap h1 em{font-style:normal;background:var(--brasier);color:var(--blanc);
  padding:.02em .16em;border-radius:.24em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.chap .chapo{margin-top:20px;color:var(--encre-2)}

/* ── 17 · FORMULAIRE ─────────────────────────────────────────────── */
.form{display:grid;gap:14px}
@media (min-width:700px){.form{grid-template-columns:1fr 1fr}.form .large{grid-column:1/-1}}
.champ{display:flex;flex-direction:column;gap:7px}
.champ label{font:700 11.5px/1 var(--s);letter-spacing:.14em;text-transform:uppercase;
  color:var(--encre-3)}
.champ input,.champ select,.champ textarea{background:var(--blanc);border:1px solid var(--filet-f);
  border-radius:18px;padding:15px 17px;font:400 16px var(--s);color:var(--encre);width:100%}
.champ textarea{min-height:150px;resize:vertical;border-radius:22px}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;
  border-color:var(--brasier);box-shadow:inset 0 0 0 1px var(--brasier)}
.dit{grid-column:1/-1;font-size:14.5px}
.dit.ok{color:#1A7A4F}.dit.ko{color:var(--brasier-t)}

/* ── 18 · PIED ───────────────────────────────────────────────────── */
.pied{background:var(--noir);color:var(--blanc);padding-top:clamp(40px,5vw,68px);
  position:relative;overflow:hidden}
.pied::after{content:'';position:absolute;left:-10%;bottom:-40%;width:44%;padding-top:44%;
  border-radius:50%;background:radial-gradient(circle at 46% 46%,rgba(194,82,31,.30),rgba(194,82,31,0) 70%)}
.pied-gr{max-width:var(--max);margin:0 auto;padding:0 var(--m) clamp(30px,4vw,50px);
  display:grid;gap:34px;position:relative;z-index:2}
@media (min-width:860px){.pied-gr{grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,4fr);
  gap:min(6vw,64px)}}
.pied .logo{border-color:var(--blanc)}
.pied .logo .g{background:var(--noir);color:var(--blanc)}
.pied .logo .d{background:var(--brasier);color:var(--blanc)}
.pied h4{font:700 11.5px/1 var(--s);letter-spacing:.2em;text-transform:uppercase;
  color:var(--brasier);margin-bottom:16px}
.pied nav{display:grid;gap:11px}
.pied nav a{text-decoration:none;font-size:15px;color:rgba(255,255,255,.74);transition:.16s}
.pied nav a:hover{color:var(--brasier)}
.pied-co a{display:block;margin-bottom:10px;font-size:15px;color:rgba(255,255,255,.74);
  text-decoration:none;word-break:break-word}
.pied-co a:hover{color:var(--brasier)}
.mot{font-family:var(--d);font-weight:800;font-size:clamp(26px,3vw,38px);
  letter-spacing:-.04em;line-height:1.12;margin-top:20px}
.mot em{font-style:normal;background:var(--brasier);color:var(--blanc);padding:0 .12em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.reso{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.reso a{width:44px;height:44px;border-radius:50%;border:1px solid var(--filet-cf);
  display:grid;place-content:center;font:700 12px var(--s);text-decoration:none;
  color:var(--blanc);transition:.2s}
.reso a:hover{background:var(--brasier);border-color:var(--brasier)}
.pied-bas{border-top:1px solid var(--filet-c);max-width:var(--max);margin:0 auto;
  padding:18px var(--m) 24px;display:flex;flex-wrap:wrap;gap:10px 24px;
  justify-content:space-between;font:400 12.6px/1.5 var(--s);color:rgba(255,255,255,.55);
  position:relative;z-index:2}
.pied-bas a{text-decoration:none;color:rgba(255,255,255,.7)}

/* ── 19 · APPARITION ─────────────────────────────────────────────── */
.js .rev{opacity:0;transform:translateY(20px)}
.js .rev.vu{opacity:1;transform:none;
  transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){.js .rev{opacity:1;transform:none}}

/* ── 20 · PETITS ÉCRANS ──────────────────────────────────────────── */
@media (max-width:620px){
  .ent-in{height:64px;gap:10px}
  .logo b{font-size:14px}.logo .mk{height:16px}
  .ent .bt{padding:11px 13px;font-size:11px;letter-spacing:.04em}
  .ent .bt i{display:none}
  .burger{width:40px;height:40px;margin-left:2px}
}
@media (max-width:400px){
  .logo b{font-size:12.6px}.logo{gap:8px}
  .ent .bt{padding:10px 11px;font-size:10px}
  .burger{width:36px;height:36px}
}

/* ── 21 · LE REGISTRE SUR TÉLÉPHONE ──────────────────────────────── */
@media (max-width:879px){
  .reg a,.reg div.l{grid-template-columns:auto 1fr;
    grid-template-areas:"n t" ". d" ". f";gap:6px 14px;align-items:start}
  .reg .n{grid-area:n;line-height:1.1}
  .reg .t{grid-area:t}
  .reg .d{grid-area:d;margin-top:4px}
  .reg .f{grid-area:f;justify-self:start;margin-top:8px}
}

/* ── 22 · LA FICHE DE SERVICE ────────────────────────────────────── */
.service{position:relative;background:var(--blanc);border-radius:var(--rond);
  padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:16px;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.service:hover{transform:translateY(-6px);box-shadow:0 30px 56px -30px rgba(62,36,21,.4)}
.service-t{display:flex;align-items:flex-start;gap:16px}
.service-n{flex:none;width:52px;height:52px;border-radius:50%;background:var(--peche);
  color:var(--brasier-t);display:grid;place-content:center;font-family:var(--d);font-weight:800;
  font-size:19px;letter-spacing:-.04em}
.service h3{font-size:clamp(21px,2.1vw,26px)}
.service .promesse{font-size:15.6px;line-height:1.55;color:var(--encre-2)}
.service ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;
  padding-top:16px;border-top:1px solid var(--filet)}
.service li{display:flex;gap:10px;align-items:flex-start;font-size:14.6px;line-height:1.5;
  color:var(--encre-2)}
.service li::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;
  background:var(--brasier);margin-top:7px}
.service .bas{margin-top:auto;padding-top:14px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;flex-wrap:wrap}
.service .tag{font:700 10.5px/1 var(--s);letter-spacing:.14em;text-transform:uppercase;
  color:var(--brasier-t);background:var(--peche);padding:9px 14px;border-radius:var(--pilule)}
.service .go{font:700 11.5px/1 var(--s);letter-spacing:.14em;text-transform:uppercase;
  color:var(--brasier-t);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.service.vedette{background:var(--noir);color:var(--blanc);--encre:#fff;
  --encre-2:rgba(255,255,255,.80);--filet:var(--filet-c)}
.service.vedette .service-n{background:var(--brasier);color:#fff}
.service.vedette .tag{background:rgba(255,255,255,.16);color:#fff}
.service.vedette .go{color:#fff}
.service.vedette li::before{background:var(--brasier)}

/* ── 23 · LE PÔLE ────────────────────────────────────────────────── */
.pole{border-radius:calc(var(--rond) + 10px);padding:clamp(26px,3.4vw,48px);
  background:var(--blanc);position:relative;overflow:hidden}
.pole.p1{background:var(--sable)}
.pole.p2{background:var(--peche)}
.pole.p3{background:var(--noir);color:var(--blanc);--encre:#fff;
  --encre-2:rgba(255,255,255,.8);--encre-3:rgba(255,255,255,.62);--filet:var(--filet-c)}
.pole-t{display:grid;gap:14px;margin-bottom:clamp(20px,2.6vw,32px)}
@media (min-width:860px){.pole-t{grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:min(5vw,52px);align-items:end}}
.pole-t h2{font-size:clamp(26px,3.4vw,44px)}
.pole-n{font:700 11.5px/1 var(--s);letter-spacing:.18em;text-transform:uppercase;
  color:var(--brasier-t);background:var(--blanc);padding:10px 16px;border-radius:var(--pilule);
  display:inline-flex;align-items:center;gap:9px}
.pole.p3 .pole-n{background:rgba(255,255,255,.16);color:#fff}
.pole .plateau .service{background:var(--creme)}
.pole.p3 .plateau .service{background:var(--noir-2);color:#fff;--encre:#fff;
  --encre-2:rgba(255,255,255,.8);--filet:var(--filet-c)}
.pole.p3 .service-n{background:var(--brasier);color:#fff}
.pole.p3 .tag{background:rgba(255,255,255,.16);color:#fff}
.pole.p3 .go{color:#fff}

/* ── 24 · LE CATALOGUE (sommaire collant + détail) ───────────────── */
.cat{display:grid;gap:clamp(22px,3vw,44px)}
@media (min-width:960px){.cat{grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  gap:min(5vw,60px);align-items:start}}
.cat-som{display:none}
@media (min-width:960px){.cat-som{display:block;position:sticky;top:96px}}
.cat-som a{display:flex;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;
  color:var(--encre);border-radius:var(--pilule);transition:.18s;font-weight:600;font-size:15.4px}
.cat-som a:hover{background:var(--peche)}
.cat-som a b{font-family:var(--d);font-weight:800;color:var(--brasier-t);font-size:14px;
  font-variant-numeric:tabular-nums}
.cat-det{display:grid;gap:var(--g)}

/* ── 25 · L'ÉQUIPE ───────────────────────────────────────────────── */
.membre{background:var(--blanc);border-radius:var(--rond);padding:clamp(20px,2.2vw,28px);
  display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.membre:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 28px 52px -30px rgba(62,36,21,.38)}
.membre-ph{aspect-ratio:4/5;max-height:330px;border-radius:calc(var(--rond) - 10px);overflow:hidden;position:relative;
  background:repeating-linear-gradient(135deg,var(--sable) 0 11px,var(--creme) 11px 22px);
  display:grid;place-content:center;text-align:center;gap:6px;padding:14px}
.membre-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.membre-ph b{font-family:var(--d);font-weight:800;font-size:26px;color:var(--brasier);
  letter-spacing:-.04em}
.membre-ph span{font:700 9.5px/1.3 var(--s);letter-spacing:.14em;text-transform:uppercase;
  color:var(--encre-3)}
.membre .corps{display:flex;flex-direction:column;gap:11px;align-items:flex-start}
.membre h3{font-size:clamp(18.5px,1.7vw,20px)}
.membre .role{font:700 10.5px/1 var(--s);letter-spacing:.12em;text-transform:uppercase;
  color:var(--brasier-t);background:var(--peche);padding:8px 12px;border-radius:var(--pilule);
  align-self:flex-start}
.membre p{font-size:14.4px;line-height:1.5;color:var(--encre-2)}
.pole.p3 .membre{background:var(--noir-2);color:#fff;--encre:#fff;--encre-2:rgba(255,255,255,.8)}
.pole.p3 .membre .role{background:rgba(255,255,255,.16);color:#fff}
.pole.p3 .membre-ph{background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 11px,rgba(255,255,255,.02) 11px 22px)}
.pole.p3 .membre-ph span{color:rgba(255,255,255,.6)}

/* ── 26 · L'ORGANIGRAMME ─────────────────────────────────────────── */
.orga{display:grid;gap:var(--g);grid-template-columns:repeat(2,1fr)}
@media (min-width:860px){.orga{grid-template-columns:repeat(4,1fr)}}
.orga div{background:var(--blanc);border-radius:var(--rond);padding:22px;
  display:flex;flex-direction:column;gap:8px}
.orga b{font-family:var(--d);font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:.9;
  color:var(--brasier);letter-spacing:-.05em}
.orga strong{font-family:var(--d);font-weight:700;font-size:17px;letter-spacing:-.02em}
.orga span{font-size:13.6px;line-height:1.45;color:var(--encre-2)}

/* un seul membre dans un pôle : la fiche se couche */
@media (min-width:700px){
  .membre.large{flex-direction:row;align-items:center;gap:26px}
  .membre.large .membre-ph{width:190px;flex:none;aspect-ratio:4/5}
  .membre.large .corps{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
  .membre.large h3{font-size:clamp(20px,2vw,25px)}
  .membre.large p{max-width:46ch}
}


/* ── LA CITATION DU ROMAN, posée comme sur les affiches ─────────────── */
.extrait{position:relative;background:var(--noir);color:#fff;border-radius:calc(var(--rond) + 12px);
  padding:clamp(30px,4.4vw,64px);overflow:hidden}
.extrait::after{content:'';position:absolute;right:-140px;top:-160px;width:520px;height:520px;
  border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(194,82,31,.85),rgba(194,82,31,0) 70%)}
.extrait>*{position:relative;z-index:2}
.extrait blockquote{margin:0;font-family:var(--d);font-weight:800;letter-spacing:-.04em;
  font-size:clamp(26px,3.6vw,52px);line-height:1.08}
.extrait blockquote u{text-decoration:none;background:var(--brasier);color:#fff;
  padding:.02em .14em;border-radius:.2em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.extrait cite{display:block;margin-top:22px;font:600 14px/1.5 var(--s);font-style:normal;
  color:rgba(255,255,255,.7);letter-spacing:.06em}

/* ── LA CARTE PERSONNAGE ───────────────────────────────────────────── */
.perso{background:var(--blanc);border-radius:var(--rond);overflow:hidden;
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.perso:hover{transform:translateY(-7px) rotate(-.5deg);box-shadow:0 30px 56px -30px rgba(62,36,21,.42)}
.perso figure{margin:0;aspect-ratio:4/5;max-height:340px;overflow:hidden;position:relative;background:var(--sable)}
.perso figure img{width:100%;height:100%;object-fit:cover}
.perso .bd{padding:clamp(18px,2.2vw,26px);display:flex;flex-direction:column;gap:11px;flex:1}
.perso .role{align-self:flex-start;font:700 10.5px/1 var(--s);letter-spacing:.14em;
  text-transform:uppercase;color:var(--brasier-t);background:var(--peche);
  padding:9px 13px;border-radius:var(--pilule)}
.perso h3{font-size:clamp(19.5px,1.9vw,22px)}
.perso p{font-size:14.6px;line-height:1.5;color:var(--encre-2)}

/* ── LE COMPTEUR ───────────────────────────────────────────────────── */
.compte{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g);max-width:520px}
.compte div{background:rgba(255,255,255,.12);border-radius:22px;padding:18px 10px;text-align:center}
.compte b{display:block;font-family:var(--d);font-weight:800;font-size:clamp(30px,4vw,46px);
  line-height:1;font-variant-numeric:tabular-nums}
.compte span{display:block;margin-top:7px;font:700 10px/1 var(--s);letter-spacing:.18em;
  text-transform:uppercase;opacity:.72}

/* ══════════════════════════════════════════════════════════════════════
   LE SITE DU LIVRE — composants qui lui appartiennent
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1 · L'OUVERTURE PHOTOGRAPHIQUE ────────────────────────────────── */
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--noir)}
.hero-ph{position:absolute;inset:0}
.hero-ph img{width:100%;height:100%;object-fit:cover;object-position:56% 42%}
.hero-ph::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(44,25,14,.93) 0%,rgba(44,25,14,.78) 24%,
    rgba(44,25,14,.26) 58%,rgba(44,25,14,.42) 100%)}
.hero-in{position:relative;z-index:3;width:100%;max-width:var(--max);margin:0 auto;
  padding:clamp(70px,10vw,120px) var(--m) clamp(34px,5vw,64px);color:#fff}
.hero h1{font-size:clamp(44px,8.4vw,120px);line-height:.98;letter-spacing:-.045em;
  margin-top:22px;max-width:15ch}
.hero h1 u{text-decoration:none;background:var(--brasier);color:#fff;
  padding:.02em .14em;border-radius:.16em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero .chapo{margin-top:24px;color:rgba(255,255,255,.88);max-width:52ch}
.hero .eti{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(8px)}
.hero .main{color:var(--ambre);margin-top:16px;font-size:clamp(19px,2vw,26px);display:block}
.hero-bas{position:relative;z-index:3;background:var(--noir);color:#fff;
  border-top:1px solid rgba(255,255,255,.14)}
.hero-bas .env{display:grid;gap:var(--g);padding-block:clamp(20px,2.4vw,30px)}
@media (min-width:860px){.hero-bas .env{grid-template-columns:repeat(4,1fr);align-items:center}}
.hero-bas div{display:flex;flex-direction:column;gap:5px}
.hero-bas b{font-family:var(--d);font-weight:800;font-size:clamp(24px,2.6vw,34px);
  line-height:1;letter-spacing:-.04em;color:var(--ambre);font-variant-numeric:tabular-nums}
.hero-bas span{font:600 11.5px/1.35 var(--s);letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.66)}
.hero-cred{position:absolute;right:var(--m);bottom:14px;z-index:4;
  font:600 10.5px/1.4 var(--s);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.55);text-align:right}
@media (max-width:820px){.hero-cred{display:none}
  .hero-ph img{object-position:34% 44%}}

/* ── 2 · LE RAIL QUI DÉFILE ────────────────────────────────────────── */
.rail-t{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:clamp(22px,3vw,36px)}
.rail-nav{display:flex;gap:10px}
.rail-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--filet-f);
  background:transparent;color:var(--encre);cursor:pointer;font-size:19px;line-height:1;
  display:grid;place-content:center;transition:.2s}
.rail-nav button:hover{background:var(--brasier-s);border-color:var(--brasier-s);color:#fff}
.p-noir .rail-nav button,.p-brasier .rail-nav button{color:#fff;border-color:var(--filet-cf)}
.p-noir .rail-nav button:hover{background:#fff;color:var(--noir);border-color:#fff}
.rail-p{display:flex;gap:var(--g);overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}
.rail-p::-webkit-scrollbar{display:none}
.rail-p>*{flex:0 0 80%;scroll-snap-align:start}
@media (min-width:700px){.rail-p>*{flex-basis:46%}}
@media (min-width:1100px){.rail-p>*{flex-basis:31.4%}}
.rail-jauge{height:3px;background:var(--filet);border-radius:99px;margin-top:20px;overflow:hidden}
.rail-jauge i{display:block;height:100%;background:var(--brasier);border-radius:99px;
  width:30%;transition:.25s}

/* la fiche d'une femme, dans le rail */
.fem{background:var(--blanc);border-radius:var(--rond);overflow:hidden;display:flex;
  flex-direction:column;text-decoration:none;color:inherit;height:100%;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.fem:hover{transform:translateY(-6px);box-shadow:0 30px 56px -30px rgba(62,36,21,.42)}
.fem figure{margin:0;position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--sable)}
.fem figure img{width:100%;height:100%;object-fit:cover}
.fem .rle{position:absolute;left:14px;top:14px;font:700 10.5px/1 var(--s);letter-spacing:.14em;
  text-transform:uppercase;color:#fff;background:rgba(62,36,21,.62);backdrop-filter:blur(6px);
  padding:10px 14px;border-radius:var(--pilule)}
.fem .bd{padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:11px;flex:1}
.fem h3{font-size:clamp(20px,2vw,25px)}
.fem p{font-size:16.2px;line-height:1.58;color:var(--encre-2);flex:1}
.fem .cit{width:100%;font-family:var(--main);font-weight:700;color:var(--brasier-t);
  font-size:17px;line-height:1.5;text-wrap:balance}

/* ── 4 · LA COUVERTURE MYSTÈRE ─────────────────────────────────────── */
.couv{position:relative;aspect-ratio:3/4;border-radius:var(--rond);overflow:hidden;
  background:linear-gradient(155deg,#4E3020,#3E2415 60%,#0B0806);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  padding:clamp(24px,3vw,40px);text-align:center;color:#fff}
.couv::before{content:'';position:absolute;right:-30%;top:-26%;width:80%;padding-top:80%;
  border-radius:50%;background:radial-gradient(circle at 42% 42%,rgba(194,82,31,.6),rgba(194,82,31,0) 70%)}
.couv>*{position:relative;z-index:2}
.couv .q{font-family:var(--d);font-weight:800;font-size:clamp(88px,12vw,150px);line-height:.8;
  color:var(--brasier)}
.couv b{font-family:var(--d);font-weight:800;font-size:clamp(19px,2vw,24px);letter-spacing:-.03em}
.couv span{font:600 11.5px/1.5 var(--s);letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.62);max-width:24ch}

/* ── 5 · LE GRAND PORTRAIT (la préface) ────────────────────────────── */
.portr{display:grid;gap:clamp(24px,3.4vw,52px);align-items:center}
@media (min-width:900px){.portr{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.portr-ph{position:relative;border-radius:calc(var(--rond) + 8px);overflow:hidden;
  aspect-ratio:4/5;background:var(--sable);box-shadow:0 34px 70px -40px rgba(62,36,21,.6)}
.portr-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
/* le portrait qui n'est pas encore arrive : une attente assumee, pas une image fausse */
.portr-ph.attente,.fem figure.attente{background:var(--noir-2);display:grid;place-content:center;
  border:1px solid rgba(255,255,255,.10)}
.att{font:700 12.2px/1.7 var(--s);letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.44);text-align:center}
.portr-ph .pl{position:absolute;left:16px;bottom:16px;right:16px;
  background:rgba(62,36,21,.66);backdrop-filter:blur(8px);border-radius:20px;padding:14px 18px}
.portr-ph .pl b{display:block;font-family:var(--d);font-weight:800;font-size:18px;color:#fff;
  letter-spacing:-.02em}
.portr-ph .pl span{display:block;margin-top:4px;font:500 12.4px/1.4 var(--s);
  color:rgba(255,255,255,.76)}

/* ── 6 · LE CARNET DES LIEUX ───────────────────────────────────────── */
.lieux{display:grid;gap:var(--g);grid-template-columns:1fr}
@media (min-width:760px){.lieux{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.lieux{grid-template-columns:repeat(3,1fr)}}
.lieu{position:relative;border-radius:var(--rond);overflow:hidden;min-height:250px;
  display:flex;align-items:flex-end;padding:22px;color:#fff;text-decoration:none}
.lieu img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.lieu::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(44,25,14,.9),rgba(44,25,14,.1) 62%)}
.lieu:hover img{transform:scale(1.05)}
.lieu>div{position:relative;z-index:2}
.lieu .n{font:700 10.5px/1 var(--s);letter-spacing:.18em;text-transform:uppercase;
  color:var(--ambre)}
.lieu h3{margin-top:8px;font-size:clamp(21px,2.2vw,27px)}
.lieu p{margin-top:7px;font-size:15.4px;line-height:1.52;color:rgba(255,255,255,.82)}

/* ── 7 · LE MODULE PÉDAGOGIQUE ─────────────────────────────────────── */
.mods{display:grid;gap:var(--g);grid-template-columns:1fr}
@media (min-width:720px){.mods{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.mods{grid-template-columns:repeat(3,1fr)}}
.mod{background:var(--blanc);border-radius:var(--rond);padding:clamp(22px,2.4vw,30px);
  display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.mod .no{width:48px;height:48px;border-radius:50%;background:var(--peche);color:var(--brasier-t);
  display:grid;place-content:center;font-family:var(--d);font-weight:800;font-size:18px}
.mod h3{font-size:clamp(19px,1.9vw,23px)}
.mod p{font-size:14.8px;line-height:1.55;color:var(--encre-2);flex:1}
.mod .tag{align-self:flex-start;font:700 10.5px/1 var(--s);letter-spacing:.14em;
  text-transform:uppercase;color:var(--brasier-t);background:var(--peche);
  padding:9px 13px;border-radius:var(--pilule)}
.nav-plus{width:38px;height:38px;border-radius:50%;border:1px solid var(--filet-f);
  background:transparent;color:var(--encre);cursor:pointer;font-size:17px;line-height:1;
  margin-left:6px;transition:.2s}
.nav-plus:hover{background:var(--noir);color:#fff;border-color:var(--noir)}
@media (max-width:1119px){.nav-plus{display:none}}
