*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --noir:#0A0706; --charbon:#120C09; --dalle:rgba(255,255,255,.035);
  --braise:#FF5A1F; --braise-rgb:255,90,31;
  --or:#F5B841; --or-rgb:245,184,65;
  --ink:#F5EFE9; --dim:#E9E1DA; --ligne:rgba(255,90,31,.18);
  --vert:#4ADE80; --rouge:#FF4444;
}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--noir);color:var(--ink);overflow-x:clip;max-width:100vw;
     font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
     line-height:1.55}
::selection{background:var(--braise);color:#120C09}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
a{color:inherit}

/* ---------- le foyer : deux lueurs qui respirent sous la page ---------- */
#foyer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#foyer i{position:absolute;border-radius:50%;filter:blur(110px);display:block}
#foyer .f1{width:60vw;height:60vw;left:-18vw;top:-22vw;
           background:radial-gradient(circle,rgba(255,90,31,.30),transparent 68%);
           animation:respire 9s ease-in-out infinite}
#foyer .f2{width:48vw;height:48vw;right:-14vw;bottom:-18vw;
           background:radial-gradient(circle,rgba(245,184,65,.20),transparent 68%);
           animation:respire 13s ease-in-out infinite reverse}
@keyframes respire{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}
#grille{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,90,31,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,90,31,.07) 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000 5%,transparent 70%);
  mask-image:radial-gradient(circle at 50% 30%,#000 5%,transparent 70%)}

main{position:relative;z-index:2}
/* La colonne reste lisible mais respire sur les grands ecrans : figee a
   1080 px, elle devenait un ruban perdu au milieu d'un 1920. */
.zone{max-width:min(1180px,94vw);margin:0 auto;padding:0 5vw}

/* ---------- entete ---------- */
header{padding:26px 5vw;display:flex;align-items:center;justify-content:space-between;
       position:relative;z-index:5}
.marque{display:flex;align-items:center;gap:11px;font-family:'JetBrains Mono',monospace;
        font-size:13px;letter-spacing:.2em;font-weight:500;text-decoration:none}
.marque em{font-style:normal;width:9px;height:9px;border-radius:50%;background:var(--braise);
           box-shadow:0 0 14px var(--braise);animation:bat 2.2s ease-in-out infinite}
@keyframes bat{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
header a.sign{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;
              color:var(--dim);text-transform:uppercase;text-decoration:none}
header a.sign:hover{color:var(--or)}

/* ---------- accroche ---------- */
#hero{padding:4vh 0 3vh;text-align:center}
h1{font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;text-transform:uppercase;
   /* Le plafond n est pas un chiffre choisi : c est la taille au-dela de
      laquelle « BALANCE UN BUSINESS. » ne tient plus sur une ligne. Passe ce
      point, le titre se recasse en quatre lignes et pousse le champ d adresse
      sous la ligne de flottaison.
      Le `min` avec les `vh` compte la hauteur disponible et pas seulement la
      largeur : deux ecrans de meme largeur n offrent pas la meme place. */
   /* 88px et non 112 : a 112, le texte mesure 1230 pixels dans une colonne
      qui en fait 1180. Il tenait sur deux lignes de justesse, et basculait
      a quatre au moindre ecart : zoom du navigateur, police de secours le
      temps du chargement, rendu different d un systeme a l autre.
      A 88 il occupe 82 % de la colonne : une marge, pas un pari. */
   font-size:clamp(42px,min(6.6vw,10.5vh),88px);line-height:.9;letter-spacing:-.04em;
   background:linear-gradient(178deg,#FFF3E6 12%,var(--or) 48%,var(--braise) 88%);
   -webkit-background-clip:text;background-clip:text;color:transparent;
   filter:drop-shadow(0 6px 42px rgba(255,90,31,.32))}
.sous{margin-top:14px;font-size:clamp(15px,2.3vw,19px);color:var(--ink);opacity:.9;
      max-width:620px;margin-left:auto;margin-right:auto}
.sous b{color:var(--or);font-weight:600}
.kicker{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.36em;
        text-transform:uppercase;color:var(--braise);margin-bottom:14px}

/* ---------- le formulaire ---------- */
#form{margin:38px auto 0;max-width:620px}
.champ{display:flex;gap:9px;background:rgba(255,255,255,.045);border:1px solid var(--ligne);
       border-radius:5px;padding:7px 7px 7px 17px;align-items:center;
       transition:border-color .3s,box-shadow .3s}
.champ:focus-within{border-color:rgba(var(--braise-rgb),.65);
                    box-shadow:0 0 0 4px rgba(var(--braise-rgb),.10)}
.champ input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--ink);
             font-size:16px;font-family:inherit;padding:11px 0}
.champ input::placeholder{color:var(--dim)}
.btn{border:0;cursor:pointer;border-radius:4px;padding:13px 24px;white-space:nowrap;
     font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;
     text-transform:uppercase;font-weight:500;text-decoration:none;display:inline-block;
     color:#160C05;background:linear-gradient(120deg,var(--or),var(--braise),var(--or));
     background-size:220% 100%;animation:coule 5s linear infinite;
     box-shadow:0 6px 30px rgba(var(--braise-rgb),.35);transition:box-shadow .3s,transform .2s}
@keyframes coule{to{background-position:220% 0}}
.btn:hover{box-shadow:0 8px 44px rgba(var(--braise-rgb),.6);transform:translateY(-1px)}
.btn[disabled]{opacity:.55;cursor:wait;animation:none}
.btn.creux{background:none;color:var(--ink);border:1px solid var(--ligne);box-shadow:none;
           animation:none}
.btn.creux:hover{border-color:var(--or);background:rgba(var(--or-rgb),.08);transform:none;
                 box-shadow:none}
.plus{margin-top:13px;text-align:center}
.plus button{background:none;border:0;color:var(--dim);cursor:pointer;font-size:12px;
             font-family:'JetBrains Mono',monospace;letter-spacing:.1em}
.plus button:hover{color:var(--or)}
#detail{display:none;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
#detail.on{display:grid}
#detail input{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
              border-radius:4px;padding:12px 14px;color:var(--ink);font-size:14px;
              font-family:inherit;outline:0}
#detail input:focus{border-color:rgba(var(--braise-rgb),.5)}
#detail input.large{grid-column:1/-1}
.note{margin-top:16px;text-align:center;font-size:12px;color:var(--dim)}

/* ---------- pendant la cuisson ---------- */
#cuisson{display:none;margin:46px auto 0;max-width:620px}
#cuisson.on{display:block}
.flamme{height:3px;border-radius:2px;overflow:hidden;background:rgba(255,255,255,.06)}
.flamme i{display:block;height:100%;width:38%;border-radius:2px;
          background:linear-gradient(90deg,transparent,var(--braise),var(--or),transparent);
          animation:court 1.5s ease-in-out infinite}
@keyframes court{0%{transform:translateX(-100%)}100%{transform:translateX(360%)}}
#journal{margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:12.5px;
         color:var(--dim);line-height:2}
#journal div{opacity:0;animation:monte .5s ease forwards}
#journal div b{color:var(--braise);font-weight:400;margin-right:9px}
#journal div.fait{color:var(--ink)}
@keyframes monte{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- le rapport ---------- */
#rapport{display:none;padding:2vh 0 10vh}
#rapport.on{display:block}
.bloc{margin-top:54px}
.titre{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.34em;
       text-transform:uppercase;color:var(--braise);display:flex;align-items:center;gap:14px;
       margin-bottom:20px}
.titre::after{content:"";flex:1;height:1px;
              background:linear-gradient(90deg,var(--ligne),transparent)}

.verdict{text-align:center;padding:44px 0 8px}
.jauge{position:relative;width:210px;height:210px;margin:0 auto 6px}
.jauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.jauge .fond{fill:none;stroke:rgba(255,255,255,.07);stroke-width:9}
.jauge .trait{fill:none;stroke:url(#degr);stroke-width:9;stroke-linecap:round;
              filter:drop-shadow(0 0 12px rgba(var(--braise-rgb),.7))}
.jauge b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
         justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:62px;
         font-weight:700;line-height:1;letter-spacing:-.03em}
.jauge b span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.3em;
              color:var(--dim);font-weight:400;margin-top:9px}
.phrase{font-family:'Space Grotesk',sans-serif;font-size:clamp(21px,3.7vw,34px);font-weight:600;
        line-height:1.28;max-width:760px;margin:22px auto 0;letter-spacing:-.02em}
.cible{margin-top:18px;font-size:13px;color:var(--dim);max-width:600px;margin-left:auto;
       margin-right:auto;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;
       -webkit-box-orient:vertical;overflow:hidden}
.cible b{color:var(--ink);font-weight:500}

.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.note-l{background:var(--dalle);border:1px solid rgba(255,255,255,.06);border-radius:5px;
        padding:17px 18px}
.note-l .h{display:flex;justify-content:space-between;align-items:baseline;
           font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
           text-transform:uppercase;color:var(--dim)}
.note-l .h em{font-style:normal;font-size:19px;color:var(--ink);font-weight:500;
              letter-spacing:0}
.note-l .barre{height:4px;border-radius:2px;background:rgba(255,255,255,.07);margin:11px 0 10px;
               overflow:hidden}
.note-l .barre i{display:block;height:100%;border-radius:2px;width:0;
                 transition:width 1.1s cubic-bezier(.16,1,.3,1)}
.note-l p{font-size:12.5px;color:var(--dim);line-height:1.6}

.forts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.fort{background:linear-gradient(160deg,rgba(74,222,128,.07),rgba(255,255,255,.02));
      border:1px solid rgba(74,222,128,.20);border-radius:5px;padding:19px 20px}
.fort h4{font-size:15px;font-weight:600;margin-bottom:7px}
.fort p{font-size:13px;color:var(--dim);line-height:1.6}

.chaud{background:var(--dalle);border:1px solid rgba(255,255,255,.07);border-left-width:3px;
       border-radius:5px;padding:22px 24px;margin-bottom:12px}
.chaud.Critique{border-left-color:#FF3B3B}
.chaud.Haute{border-left-color:var(--braise)}
.chaud.Moyenne{border-left-color:var(--or)}
.chaud.Faible{border-left-color:#D9D0C8}
.chaud .h{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:13px}
.chaud h4{font-size:17px;font-weight:600;flex:1;min-width:180px}
.puce{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;
      text-transform:uppercase;padding:4px 9px;border-radius:3px;white-space:nowrap;
      border:1px solid rgba(255,255,255,.12);color:var(--dim)}
.puce.Critique{color:#FF6B6B;border-color:rgba(255,59,59,.4);background:rgba(255,59,59,.10)}
.puce.Haute{color:var(--braise);border-color:rgba(var(--braise-rgb),.4);
            background:rgba(var(--braise-rgb),.10)}
.chaud dl{display:grid;gap:11px}
.chaud dt{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.2em;
          text-transform:uppercase;color:var(--braise);margin-bottom:3px}
.chaud dd{font-size:14px;line-height:1.62;color:#F2ECE6}

.cinq{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.cinq .q{background:var(--dalle);border:1px solid rgba(255,255,255,.06);border-radius:5px;
         padding:17px 18px}
.cinq .q p{font-size:13px;color:var(--dim);margin-bottom:11px;line-height:1.45}
.cinq .q b{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;
           text-transform:uppercase}
.cinq .q b.Oui{color:var(--vert)}
.cinq .q b.Partiellement{color:var(--or)}
.cinq .q b.Non{color:var(--rouge)}
.concl{margin-top:14px;font-size:15px;color:#F2ECE6}

.angle{background:linear-gradient(150deg,rgba(var(--or-rgb),.13),rgba(var(--braise-rgb),.05));
       border:1px solid rgba(var(--or-rgb),.3);border-radius:6px;padding:30px 30px 32px;
       position:relative;overflow:hidden}
.angle::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;
              border-radius:50%;background:radial-gradient(circle,rgba(var(--or-rgb),.22),transparent 70%)}
.angle h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,3vw,27px);font-weight:600;
          margin-bottom:12px;letter-spacing:-.02em;position:relative}
.angle p{font-size:15.5px;line-height:1.66;color:#F5F0EA;position:relative;max-width:78ch}

.actions{counter-reset:a}
.acte{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:22px 0;
      border-bottom:1px solid rgba(255,255,255,.06)}
.acte:last-child{border-bottom:0}
.acte::before{counter-increment:a;content:counter(a);font-family:'Space Grotesk',sans-serif;
              font-size:34px;font-weight:700;color:transparent;
              background:linear-gradient(160deg,var(--or),var(--braise));
              -webkit-background-clip:text;background-clip:text;line-height:1}
.acte h4{font-size:17px;font-weight:600;margin-bottom:8px}
.acte p{font-size:13.5px;color:var(--dim);line-height:1.62}
.acte p+p{margin-top:6px;color:#E8E0D8}
.acte p b{color:var(--or);font-weight:500}

.suite{margin-top:56px;background:var(--dalle);border:1px solid var(--ligne);border-radius:6px;
       padding:34px 32px;text-align:center}
.suite h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,3vw,28px);font-weight:600;
          letter-spacing:-.02em}
.suite p{margin:12px auto 24px;color:var(--dim);font-size:14.5px;max-width:60ch}
.suite .duo{display:flex;gap:11px;justify-content:center;flex-wrap:wrap}

.flou{font-size:12.5px;color:var(--dim);line-height:1.9}
.flou li{list-style:none;padding-left:18px;position:relative}
.flou li::before{content:"?";position:absolute;left:0;color:var(--braise);
                 font-family:'JetBrains Mono',monospace;font-size:11px}

#carte{margin-top:18px;background:#0E0908;border:1px solid var(--ligne);border-radius:6px;
       padding:26px;font-family:'JetBrains Mono',monospace;font-size:12.5px;line-height:1.9;
       color:var(--dim);white-space:pre-wrap;word-break:break-word}
#carte b{color:var(--or);font-weight:400}

.erreur{margin:30px auto 0;max-width:620px;background:rgba(255,59,59,.08);
        border:1px solid rgba(255,59,59,.3);border-radius:5px;padding:18px 20px;
        font-size:14px;color:#FFD4D4;display:none}
.erreur.on{display:block}

footer{padding:44px 5vw 40px;text-align:center;font-family:'JetBrains Mono',monospace;
        font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
        border-top:1px solid rgba(255,255,255,.05);position:relative;z-index:2}
footer a{color:var(--or);text-decoration:none}

@media (max-width:720px){
  #detail{grid-template-columns:1fr}
  .champ{flex-direction:column;align-items:stretch;padding:8px}
  .champ input{padding:12px 10px}
  .btn{width:100%;text-align:center}
  .acte{grid-template-columns:38px 1fr;gap:14px}
  .angle{padding:24px 22px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;
  transition-duration:.001ms!important}}

/* ---------- l'aperçu du site, pendant le scan et en tête du rapport ---------- */
.vue{display:none;margin:0 auto 22px;max-width:620px}
.vue.on{display:block;animation:apparait .55s ease}
@keyframes apparait{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.vue-cadre{border:1px solid var(--ligne);border-radius:7px;overflow:hidden;background:#0D0908;
           box-shadow:0 20px 60px -22px rgba(0,0,0,.9)}
.vue-barre{display:flex;align-items:center;gap:6px;padding:9px 13px;background:rgba(255,255,255,.045);
           border-bottom:1px solid rgba(255,255,255,.06)}
.vue-barre i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.16);flex:none}
.vue-barre i:first-child{background:rgba(255,90,31,.6)}
.vue-barre em{font-style:normal;flex:1;margin-left:9px;font-family:'JetBrains Mono',monospace;
              font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;
              text-overflow:ellipsis;text-align:left}
.vue-image{position:relative;aspect-ratio:16/10;background:#0A0706;overflow:hidden}
.vue-image img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
               opacity:0;transition:opacity .7s ease}
.vue-image img.la{opacity:1}
/* la ligne de balayage ne tourne que pendant l'analyse */
.vue-scan{position:absolute;left:0;right:0;height:64px;pointer-events:none;
          background:linear-gradient(180deg,transparent,rgba(var(--braise-rgb),.22),
                     rgba(var(--or-rgb),.5),transparent);
          animation:balaye 2.6s ease-in-out infinite}
@keyframes balaye{0%{top:-64px}100%{top:100%}}
.rapvue{max-width:480px;margin-bottom:26px}
.rapvue .vue-scan{display:none}

.discret{display:flex;align-items:center;gap:9px;justify-content:center;margin-top:14px;
         font-size:12.5px;color:var(--dim);cursor:pointer}
.discret input{accent-color:var(--braise);width:15px;height:15px;cursor:pointer;flex:none}
.discret b{color:var(--ink);font-weight:500}

/* ---------- le mur ---------- */
#mur{padding:2vh 0 2vh}
.murstats{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.1em;
          color:var(--dim)}
.murstats b{color:var(--or);font-weight:400}
/* les onglets en avant : centres, plus gros, cliquables tout de suite */
.onglets{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:44px 0 14px}
/* le filtre commande le tri, comme les onglets : il reste pres d eux et
   prend ses distances avec la grille qu il filtre */
.mur-bar{margin-bottom:34px}
.onglets button{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
                color:var(--dim);border-radius:7px;padding:12px 20px;cursor:pointer;
                font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.08em;
                transition:color .25s,border-color .25s,transform .15s}
.onglets button:hover{color:var(--ink);border-color:var(--ligne);transform:translateY(-1px)}
.onglets button.on{color:#160C05;position:relative;overflow:visible;z-index:0;
                   background:linear-gradient(120deg,var(--or),var(--braise));
                   border-color:transparent}
/* le feu « gooey » (technique Yusuke Nakaya) : des particules qui montent et
   fusionnent dans un filtre blur+contrast — deux foyers posés sur les coins.
   Le conteneur est noir + mix-blend screen : le noir disparaît sur la page. */
.feu-reel{position:absolute;width:38px;height:54px;bottom:calc(100% - 12px);
  pointer-events:none;z-index:3;filter:url(#fx-goo)}
.feu-reel.g{left:-8px}
.feu-reel.d{right:-8px;transform:scale(.78)}
.feu-reel i{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);
  background:#FF4D00;border-radius:50% 50% 46% 46%}
.feu-reel .fm{width:17px;height:27px;animation:fr-danse .55s ease-in-out infinite alternate}
.feu-reel .fc{width:10px;height:16px;background:#FFC531;bottom:9px;
  animation:fr-danse .42s ease-in-out infinite alternate-reverse}
.feu-reel .fy{width:5px;height:8px;background:#FFF2C0;bottom:10px;
  animation:fr-danse .36s ease-in-out infinite alternate}
.feu-reel .fp{width:7px;height:7px;border-radius:50%;animation:fr-monte 1.15s ease-in infinite}
.feu-reel .fp2{animation-delay:.38s;margin-left:-6px;width:6px;height:6px}
.feu-reel .fp3{animation-delay:.76s;margin-left:6px;width:5px;height:5px}
@keyframes fr-danse{
  0%{transform:translateX(-50%) scaleY(.88) scaleX(1.06)}
  100%{transform:translateX(-50%) scaleY(1.18) scaleX(.9)}}
@keyframes fr-monte{
  0%{transform:translate(-50%,0) scale(1);opacity:1}
  75%{opacity:1}
  100%{transform:translate(-50%,-36px) scale(.1);opacity:0}}}}}
.mur-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
         flex-wrap:wrap;margin-bottom:18px}
.mur-info{display:flex;flex-direction:column;gap:5px}
#filtre{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--dim);
        border-radius:4px;padding:9px 13px;font-family:'JetBrains Mono',monospace;font-size:11px;
        outline:0;max-width:100%}
.murgrille{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:13px}
.carte-mur{display:block;text-decoration:none;color:inherit;background:var(--dalle);
           border:1px solid rgba(255,255,255,.07);border-radius:6px;overflow:hidden;
           transition:border-color .3s,transform .3s,box-shadow .3s}
.carte-mur:hover{border-color:var(--ligne);transform:translateY(-3px);
                 box-shadow:0 16px 40px -20px rgba(var(--braise-rgb),.6)}
.carte-mur .img{aspect-ratio:16/10;background:#0D0908 center/cover no-repeat;position:relative}
.carte-mur .img::after{content:"";position:absolute;inset:0;
                       background:linear-gradient(180deg,transparent 40%,rgba(10,7,6,.92))}
.carte-mur .n{position:absolute;right:9px;top:9px;z-index:2;font-family:'Space Grotesk',sans-serif;
              font-weight:700;font-size:19px;padding:4px 10px;border-radius:4px;
              background:rgba(10,7,6,.82);border:1px solid rgba(255,255,255,.12)}
.carte-mur .bas{padding:13px 15px 15px}
.carte-mur .d{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--or);
              white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.carte-mur .p{font-size:13px;color:#EEE7E0;margin-top:7px;line-height:1.48;
              display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.carte-mur .m{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:9.5px;
              letter-spacing:.12em;text-transform:uppercase;color:var(--dim);
              display:flex;justify-content:space-between;gap:8px}
.murvide{color:var(--dim);font-size:13.5px;padding:22px 0}

/* ---------- aller au fond : ce que le rapport gratuit ne peut pas voir ---------- */
.fond{background:linear-gradient(160deg,rgba(var(--braise-rgb),.07),rgba(255,255,255,.02));
      border:1px solid var(--ligne);border-radius:7px;padding:32px 30px 30px}
.fond-intro{font-size:15.5px;line-height:1.66;color:#F4EEE8;max-width:68ch;margin-bottom:26px}
.fond-grille{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:760px){.fond-grille{grid-template-columns:1fr}
                         .fond{padding:24px 20px}}
.mod{background:rgba(10,7,6,.5);border:1px solid rgba(255,255,255,.06);border-radius:5px;
     padding:20px 21px}
.mod-t{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.22em;
       text-transform:uppercase;color:var(--braise);display:block;margin-bottom:10px}
.mod h4{font-size:15.5px;font-weight:600;line-height:1.35;margin-bottom:9px}
.mod p{font-size:13px;color:var(--dim);line-height:1.62}
.fond-note{margin-top:14px;font-size:12.5px;color:var(--dim)}
.suite .duo{margin-top:0}

/* ---------- rapport de securite ---------- */
.secu-resume{font-size:15px;color:#F4EEE8;line-height:1.6;margin-bottom:16px}
.secu-c{background:var(--dalle);border:1px solid rgba(255,255,255,.07);border-left-width:3px;
        border-radius:5px;padding:16px 19px;margin-bottom:10px}
.secu-c.Critique{border-left-color:#FF3B3B}.secu-c.Haute{border-left-color:var(--braise)}
.secu-c.Moyenne{border-left-color:var(--or)}.secu-c.Faible{border-left-color:#D9D0C8}
.secu-c.Info{border-left-color:#5B8CC4}
.secu-c .h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.secu-c h4{font-size:15px;font-weight:600;flex:1}
.secu-c .co{font-size:13.5px;color:#F2ECE6;line-height:1.6}
.secu-c .re{font-size:13px;color:var(--dim);line-height:1.6;margin-top:7px}
.secu-c .re b{color:var(--or);font-weight:500}

/* ---------- le mur payant ---------- */
#paywall{margin-top:44px}
.mur-payant{position:relative;text-align:center;border:1px solid rgba(var(--or-rgb),.32);
            border-radius:8px;padding:40px 30px 34px;overflow:hidden;
            background:linear-gradient(165deg,rgba(var(--braise-rgb),.10),rgba(var(--or-rgb),.04))}
.mur-payant::before{content:"";position:absolute;inset:0;pointer-events:none;
                    background:radial-gradient(120% 80% at 50% 0,rgba(var(--braise-rgb),.14),transparent 60%)}
.cadenas{font-size:34px;position:relative}
.mur-payant h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,3.4vw,30px);
               font-weight:600;letter-spacing:-.02em;margin-top:8px;position:relative}
.mur-payant>.mur-payant,.mur-payant p{position:relative}
#pwSous{color:var(--dim);font-size:14.5px;margin-top:10px}
.pw-liste{list-style:none;max-width:440px;margin:20px auto 0;text-align:left;position:relative}
.pw-liste li{padding:9px 0 9px 28px;position:relative;font-size:14px;color:#F2ECE6;
             border-bottom:1px solid rgba(255,255,255,.05)}
.pw-liste li::before{content:"🔒";position:absolute;left:0;font-size:13px;opacity:.7}
.pw-voies{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-top:26px;position:relative}
.pw-note{margin-top:16px;font-size:12.5px;color:var(--dim);position:relative}

/* l'effet « verrouillé » sur les sections cachées : on floute le contenu factice */
.verrouille{position:relative;filter:blur(6px);opacity:.5;pointer-events:none;user-select:none}

/* les barres factices qu'on floute derriere le mur : la forme du contenu, pas le fond */
.faux-l{display:block;height:.72em;border-radius:5px;margin:.55em 0;
        background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.06))}
.remede-verrou{margin-top:12px}

/* la coupe : un degrade qui mange le haut de la premiere section verrouillee, pour
   que l'oeil sente que le rapport continue sous le voile */
.coupe{position:relative}
.coupe::before{content:"";position:absolute;left:0;right:0;top:-2px;height:120px;z-index:2;
               pointer-events:none;
               background:linear-gradient(180deg,var(--noir) 4%,rgba(10,7,6,0) 100%)}

/* ---------- le livrable : PDF + email ---------- */
#livraison{margin-top:44px}
.livre{border:1px solid rgba(var(--or-rgb),.28);border-radius:8px;padding:26px 24px;
       background:linear-gradient(165deg,rgba(var(--or-rgb),.06),rgba(255,255,255,.01))}
.livre-intro{color:var(--dim);font-size:14px;margin-bottom:18px}
.livre-voies{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.livre-mail{display:flex;gap:9px;flex:1;min-width:240px}
.livre-mail input{flex:1;min-width:0;background:var(--dalle);border:1px solid var(--ligne);
                  border-radius:7px;padding:11px 13px;color:var(--ink);font-size:14px;
                  font-family:inherit}
.livre-mail input:focus{outline:none;border-color:rgba(var(--or-rgb),.5)}
.livre-msg{margin-top:14px;font-size:13px;min-height:1.2em}
.livre-msg.ok{color:#4ADE80}
.livre-msg.ko{color:var(--rouge)}
@media (max-width:560px){.livre-mail{width:100%}.livre-voies #pdfDl{width:100%;text-align:center}}

/* ---------- les trois notes de tete, dès le premier coup d'oeil ---------- */
.troisnotes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:560px;
            margin:26px auto 0}
.tn{background:var(--dalle);border:1px solid rgba(255,255,255,.07);border-radius:7px;
    padding:16px 12px 15px;text-align:center;position:relative;overflow:hidden;
    transition:border-color .3s,transform .3s}
.tn::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
            background:var(--tn-c,rgba(255,255,255,.2))}
.tn.bas{border-color:rgba(255,68,68,.4)}
.tn.bas{padding-bottom:28px}
.tn.bas::after{content:"À corriger";position:absolute;left:0;right:0;bottom:0;
               font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;
               text-transform:uppercase;color:#FF7A6B;background:rgba(255,68,68,.11);
               padding:5px 0;text-align:center}
.tn-t{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
      text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.tn-n{display:block;font-family:'Space Grotesk',sans-serif;font-size:38px;font-weight:700;
      line-height:1;color:var(--tn-c,var(--ink))}
.tn-m{display:block;font-size:11px;color:var(--dim);margin-top:7px;line-height:1.35;min-height:2.4em}
@media (max-width:520px){.troisnotes{gap:8px}.tn-n{font-size:30px}.tn{padding:13px 8px}}

/* ============ REFONTE ACCUEIL : sections editoriales + cellule d'analyse ============ */

h1 .feu{color:transparent}                 /* la 2e ligne reste dans le degrade du titre */
.reac-inline{white-space:nowrap;font-size:.92em;letter-spacing:.08em}
.hero-actions{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:16px}
.btn.mini{padding:11px 18px;font-size:12px}
.plus-inline{background:none;border:0;color:var(--dim);cursor:pointer;font-size:12px;
  font-family:'JetBrains Mono',monospace;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}
.plus-inline:hover{color:var(--or)}

/* labels + titres editoriaux communs */
.label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--braise);margin-bottom:18px}
.edito{font-family:'Space Grotesk',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(28px,5.6vw,60px);line-height:.98;letter-spacing:-.03em;color:var(--ink)}
.edito .feu,.pipeline .pl.feu-b{color:var(--braise)}
.edito .dim2{color:var(--dim)}

/* 2 — casser l'objection ChatGPT */
#pas-prompt{padding-top:clamp(80px,14vh,168px);text-align:center}
.pp-corps{max-width:620px;margin:26px auto 0}
.pp-corps p{color:var(--dim);font-size:clamp(15px,2vw,18px);margin-top:14px}
.pp-corps p:first-child{color:var(--ink)}
.pp-punch{margin-top:42px;font-family:'Space Grotesk',sans-serif;font-weight:600;
  font-size:clamp(17px,3vw,29px);display:flex;gap:.55em;justify-content:center;flex-wrap:wrap}
.pp-punch span{position:relative;padding-bottom:8px}
.pp-punch span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--braise),transparent)}
.pp-punch span:last-child{color:var(--braise)}

/* 3 — la brigade : grille asymetrique 01-07 */
#brigade{padding-top:clamp(80px,14vh,168px);text-align:center}
.brigade-grille{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:46px;text-align:left}
.expert{grid-column:span 2;position:relative;background:var(--dalle);
  border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:24px 22px;overflow:hidden;
  transition:border-color .3s,transform .3s,background .3s}
.expert:nth-child(1),.expert:nth-child(2),.expert:nth-child(6),.expert:nth-child(7){grid-column:span 3}
.expert::after{content:"";position:absolute;left:0;top:0;height:100%;width:2px;
  background:linear-gradient(180deg,var(--braise),transparent);opacity:0;transition:opacity .3s}
.expert:hover{border-color:rgba(var(--braise-rgb),.5);transform:translateY(-4px);
  background:rgba(var(--braise-rgb),.05)}
.expert:hover::after{opacity:1}
.ex-num{position:absolute;top:14px;right:16px;font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:34px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.10)}
.ex-actif{position:absolute;top:22px;left:22px;font-family:'JetBrains Mono',monospace;font-size:8px;
  letter-spacing:.18em;color:var(--vert);opacity:.75;display:flex;align-items:center;gap:5px}
.ex-actif::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vert);
  box-shadow:0 0 7px var(--vert);animation:pulse 1.6s ease-in-out infinite}
.ex-ic{display:block;font-size:30px;margin:22px 0 14px}
.expert h3{font-family:'Space Grotesk',sans-serif;font-size:17px;text-transform:uppercase;
  letter-spacing:-.01em;margin-bottom:5px}
.ex-spe{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.04em;
  color:var(--braise);margin-bottom:12px}
.expert p{color:var(--dim);font-size:13.5px;line-height:1.55}
@media(max-width:900px){.brigade-grille{grid-template-columns:repeat(2,1fr)}
  .expert,.expert:nth-child(n){grid-column:span 1}}
@media(max-width:520px){.brigade-grille{grid-template-columns:1fr}}

/* 4 — dans la cuisine : 3 etapes + pipeline */
#cuisine{padding-top:clamp(80px,14vh,168px);text-align:center}
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px;text-align:left}
.etape{position:relative;padding:28px 24px;border:1px solid var(--ligne);border-radius:11px;
  background:var(--dalle)}
.et-n{display:block;font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:700;
  color:transparent;-webkit-text-stroke:1.5px rgba(var(--braise-rgb),.6);margin-bottom:14px}
.etape h3{font-family:'Space Grotesk',sans-serif;font-size:19px;text-transform:uppercase;margin-bottom:8px}
.etape p{color:var(--dim);font-size:14px}
.pipeline{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:46px}
.pipeline .pl{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;
  padding:11px 17px;border:1px solid var(--ligne);border-radius:30px;color:var(--ink)}
.pipeline .pl.feu-b{border-color:var(--braise);box-shadow:0 0 22px rgba(var(--braise-rgb),.28)}
.pipeline i{color:var(--braise);font-style:normal;font-size:17px}
@media(max-width:700px){.etapes{grid-template-columns:1fr}}

/* 5 — manifeste */
#manifeste{padding:clamp(90px,16vh,200px) 5vw;text-align:center;max-width:1080px;margin:0 auto}
.mani{font-family:'Space Grotesk',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(30px,6.6vw,76px);line-height:.98;letter-spacing:-.035em}
.mani.feu{color:var(--braise);filter:drop-shadow(0 4px 32px rgba(255,90,31,.32))}
.mani-sous{margin-top:30px;color:var(--dim);font-size:clamp(15px,2.2vw,19px)}
.mani-sous b{color:var(--ink)}

/* 6 — communaute */
#communaute{padding-top:clamp(70px,12vh,150px);text-align:center}
.comm-txt{max-width:560px;margin:20px auto 0;color:var(--dim);font-size:clamp(15px,2vw,18px)}
.reactions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:42px auto 0;max-width:640px}
.reac{background:var(--dalle);border:1px solid rgba(255,255,255,.07);border-radius:13px;
  padding:24px 10px;transition:transform .3s,border-color .3s}
.reac:hover{transform:translateY(-5px);border-color:var(--braise)}
.r-ic{font-size:34px;display:block;margin-bottom:11px}
.reac b{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--dim)}
@media(max-width:520px){.reactions{grid-template-columns:repeat(2,1fr)}}

/* 7 — CTA final */
#cta-final{padding:clamp(80px,14vh,168px) 5vw;text-align:center;max-width:1080px;margin:0 auto}
.cf-sur{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.cf-form{max-width:560px;margin:34px auto 0}

/* 8-9 — la cellule d'analyse en cours */
#cuisson{max-width:720px}
.cell-tete{font-family:'Space Grotesk',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(20px,4vw,32px);letter-spacing:-.02em;color:var(--or);text-align:center}
.ct-feu{filter:drop-shadow(0 0 12px var(--braise))}
.cell-sous{color:var(--dim);margin:8px 0 4px;font-size:15px;text-align:center}
.experts-live{display:grid;gap:8px;margin-top:24px;text-align:left;
  transition:opacity .5s,transform .5s,filter .5s}
#cuisson.fige .experts-live{opacity:.12;transform:scale(.98);filter:blur(1px);pointer-events:none}
.exl{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:9px;
  background:var(--dalle);border:1px solid rgba(255,255,255,.06);transition:all .35s}
.exl-ic{font-size:19px;width:24px;text-align:center;flex:0 0 auto}
.exl-nom{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.02em;
  flex:1;text-transform:uppercase}
.exl-etat{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--dim);text-align:right}
.exl-dot{width:8px;height:8px;border-radius:50%;background:#5a5049;flex:0 0 auto}
.exl.attente{opacity:.5}
.exl.actif{border-color:rgba(var(--braise-rgb),.4)}
.exl.actif .exl-dot{background:var(--braise);box-shadow:0 0 10px var(--braise);animation:pulse 1s ease-in-out infinite}
.exl.actif .exl-txt{color:var(--braise)}
.exl.fini{border-color:rgba(74,222,128,.32)}
.exl.fini .exl-dot{background:var(--vert);box-shadow:0 0 8px rgba(74,222,128,.5);animation:none}
.exl.fini .exl-txt{color:var(--vert)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.croisement{display:none;margin-top:22px;text-align:center}
.croisement.on{display:block;animation:apparait .5s ease}
.crois-t{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--braise);margin-bottom:18px}
.crois-liste{list-style:none;display:inline-block;text-align:left}
.crois-liste li{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--dim);
  padding:7px 0 7px 26px;position:relative;opacity:0;transform:translateY(6px);
  transition:opacity .5s,transform .5s}
.crois-liste li.la{opacity:1;transform:none}
.crois-liste li::before{content:"→";position:absolute;left:0;color:var(--braise)}
.verdict-pret{display:none;margin-top:30px;text-align:center;font-family:'Space Grotesk',sans-serif;
  font-weight:700;text-transform:uppercase;font-size:clamp(30px,6vw,58px);letter-spacing:-.03em;
  color:var(--braise);filter:drop-shadow(0 4px 34px rgba(255,90,31,.4))}
.verdict-pret.on{display:block;animation:surgir .6s cubic-bezier(.16,1,.3,1)}
.verdict-pret span{filter:drop-shadow(0 0 16px var(--braise))}
@keyframes surgir{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@media(max-width:520px){.exl-nom{font-size:12px}.exl-etat{font-size:10px}}

/* ============ épuré : carrés transparents + réactions + duel ============ */

/* cartes en transparent (moins de « pavé », plus aéré) */
.expert,.etape,.reac{background:transparent}
.expert:hover{background:rgba(var(--braise-rgb),.05)}

/* 2 — comparatif ChatGPT vs Le Grill : comprendre en un coup d'oeil */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:680px;margin:40px auto 0;text-align:left}
.vs-carte{border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:22px 22px 24px;background:transparent}
.vs-carte.vs-oui{border-color:rgba(var(--braise-rgb),.45)}
.vs-tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--dim);display:block;margin-bottom:14px}
.vs-oui .vs-tag{color:var(--braise)}
.vs-carte ul{list-style:none}
.vs-carte li{font-size:15px;padding:9px 0 9px 26px;position:relative;color:#EFE8E0}
.vs-non li::before{content:"×";position:absolute;left:0;color:#7a6f66;font-weight:700}
.vs-oui li::before{content:"→";position:absolute;left:0;color:var(--braise);font-weight:700}
@media(max-width:560px){.versus{grid-template-columns:1fr;gap:12px}}
.pp-punch span{color:#F6F1EB}
.pp-punch span:last-child{color:var(--braise)}

/* barre de réactions dans le rapport */
.reac-bar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.reac-b{display:inline-flex;align-items:center;gap:8px;background:transparent;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:9px 15px;color:var(--ink);
  font-family:inherit;font-size:13px;transition:border-color .2s,transform .2s,background .2s}
.reac-b:hover{border-color:var(--braise);transform:translateY(-2px)}
.reac-b.on{border-color:var(--braise);background:rgba(var(--braise-rgb),.12);
  box-shadow:0 0 16px rgba(var(--braise-rgb),.2)}
.rb-ic{font-size:16px;line-height:1}
.rb-lab{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim)}
.reac-b.on .rb-lab{color:var(--braise)}
.rb-n{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;min-width:14px;text-align:center}
@media(max-width:520px){.rb-lab{display:none}}

/* badges réactions sur les cartes du mur */
.carte-reac{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px;
  font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--dim)}

/* le duel : bannière face à face en haut du rapport */
.duel-banner{display:none}
.duel-banner.on{display:block;margin-bottom:34px;border:1px solid rgba(var(--braise-rgb),.4);
  border-radius:14px;padding:26px 24px;text-align:center;animation:surgir .5s cubic-bezier(.16,1,.3,1);
  background:linear-gradient(165deg,rgba(var(--braise-rgb),.08),transparent)}
.duel-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--braise);margin-bottom:18px}
.duel-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;max-width:620px;margin:0 auto}
.duel-c{border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:20px 16px}
.duel-c.gagne{border-color:var(--braise);background:rgba(var(--braise-rgb),.08)}
.duel-dom{display:block;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);
  word-break:break-all;margin-bottom:8px}
.duel-sc{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(40px,8vw,64px);line-height:1}
.duel-badge{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;
  color:var(--braise);margin-top:8px;text-transform:uppercase}
.duel-badge.dim{color:transparent}
.duel-mid{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:16px;color:var(--dim)}
.duel-verdict{margin-top:20px;color:var(--ink);font-size:15px}
.duel-txt{color:var(--dim);font-size:14px;margin-bottom:16px}
.duel-form{max-width:480px}
@media(max-width:520px){.duel-sc{font-size:38px}.duel-vs{gap:10px}}

/* ============ nav À propos + mode fiche + commentaires ============ */
.nav-h{display:flex;gap:14px;margin-left:auto;margin-right:26px}
.btn-nav{position:relative;display:inline-flex;align-items:center;gap:8px;
         font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;
         text-transform:uppercase;text-decoration:none;color:var(--or);
         padding:9px 18px;border-radius:999px;
         border:1px solid rgba(var(--or-rgb),.45);
         background:linear-gradient(120deg,rgba(var(--or-rgb),.09),rgba(var(--braise-rgb),.05));
         box-shadow:0 0 22px -10px rgba(var(--or-rgb),.8),inset 0 1px 0 rgba(255,255,255,.06);
         transition:color .25s,border-color .25s,box-shadow .25s,transform .2s}
.btn-nav .bn-ic{font-size:13px;line-height:1;filter:drop-shadow(0 0 6px rgba(var(--braise-rgb),.8))}
.btn-nav:hover{color:#160C05;border-color:var(--or);
               background:linear-gradient(120deg,var(--or),var(--braise));
               box-shadow:0 6px 30px -8px rgba(var(--braise-rgb),.75);transform:translateY(-1px)}
.btn-nav:hover .bn-ic{filter:none}
@media(max-width:560px){.nav-h{margin-right:12px}.btn-nav{padding:8px 13px;font-size:9.5px;letter-spacing:.1em}}

/* fiche partagée : on va droit au verdict, l'accueil s'efface */
body.fiche #hero,body.fiche #mur{display:none}
body.fiche #rapport{margin-top:14px}

/* les commentaires */
#blocComms form{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
#commNom,#commTexte{font:inherit;color:var(--ink);background:rgba(255,255,255,.045);
                    border:1px solid var(--ligne);border-radius:6px;padding:10px 13px;outline:none;
                    transition:border-color .2s,box-shadow .2s}
#commNom{max-width:280px}
#commTexte{resize:vertical;min-height:74px;line-height:1.55}
#commNom:focus,#commTexte:focus{border-color:rgba(var(--braise-rgb),.65);
                                box-shadow:0 0 0 4px rgba(var(--braise-rgb),.10)}
.comm-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.comm-note{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--dim)}
.comm-msg{color:var(--braise);font-size:13px;margin:0 0 12px}
.comm-vide{color:var(--dim);font-size:13.5px}
.comm{background:var(--dalle);border:1px solid rgba(255,255,255,.06);border-left:3px solid rgba(var(--or-rgb),.45);
      border-radius:0 6px 6px 0;padding:11px 14px;margin-bottom:10px}
.comm.moi{border-left-color:var(--braise)}
.comm-h{display:flex;align-items:baseline;gap:9px;margin-bottom:5px}
.comm-h b{font-family:'Space Grotesk',sans-serif;font-size:13px;color:var(--or)}
.comm-moi{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
          color:#160C05;background:var(--braise);border-radius:20px;padding:2px 7px}
.comm-date{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:9.5px;
           letter-spacing:.08em;color:var(--dim)}
.comm p{margin:0;font-size:13.5px;line-height:1.55;color:#F0E9E2;white-space:pre-wrap;word-break:break-word}
#commTotal{color:var(--dim);font-weight:400}

/* badge commentaires sur les cartes du mur */
.carte-mur .carte-comms{margin-top:9px;font-family:'JetBrains Mono',monospace;font-size:10px;
                        letter-spacing:.08em;text-transform:uppercase;color:var(--or)}

/* ============ bandeau news (sticky) + ticker en direct ============ */
#bandeau[hidden]{display:none}
/* Le bandeau etait un flex ou le texte se centrait dans l'espace RESTANT, une
   fois la croix servie : il tombait donc 20 px trop a gauche, a toutes les
   largeurs. On sort la croix du flux et on reserve la meme marge des deux
   cotes : le texte se centre alors sur l'ecran, pas sur ce qui reste. */
#bandeau{position:sticky;top:0;z-index:80;display:flex;align-items:center;
         justify-content:center;
         padding:11px calc(5vw + 42px);
         background:linear-gradient(100deg,rgba(36,16,6,.97),rgba(64,22,6,.97));
         border-bottom:1px solid rgba(var(--or-rgb),.35);backdrop-filter:blur(8px)}
#bandeau p{margin:0;font-size:13.5px;line-height:1.45;text-align:center;color:#F3E4D3;
           max-width:68ch;text-wrap:balance}
#bandeau p::before{content:"";}
#bandeauX{position:absolute;right:5vw;top:50%;transform:translateY(-50%);
          background:none;border:1px solid rgba(255,255,255,.18);color:var(--dim);
          width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1;
          transition:color .2s,border-color .2s}
#bandeauX:hover{color:var(--or);border-color:var(--or)}

#ticker{display:flex;align-items:center;gap:0;background:#0D0806;
        border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}
#ticker[hidden]{display:none}
.ticker-tag{flex:0 0 auto;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
            color:#160C05;background:linear-gradient(120deg,var(--or),var(--braise));
            padding:7px 13px;font-weight:700;white-space:nowrap}
.ticker-fen{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-rail{display:inline-flex;gap:34px;padding:6px 0;white-space:nowrap;will-change:transform;
             animation:tickerfile var(--tk-duree,40s) linear infinite}
.ticker-fen:hover .ticker-rail{animation-play-state:paused}
.ticker-i{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.05em;
          color:#EDE5DD;text-decoration:none;transition:color .2s}
.ticker-i:hover{color:var(--or)}
.ticker-i em{font-style:normal;margin-right:7px}
.ticker-i b{font-weight:700;margin-left:2px}
@keyframes tickerfile{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ réactions : gros emojis + burst au clic ============ */
.reac-b{position:relative;overflow:visible;padding:13px 20px;border-radius:16px;gap:10px}
.reac-b .rb-ic{font-size:30px;line-height:1;transition:transform .18s}
.reac-b:hover .rb-ic{transform:scale(1.18) rotate(-6deg)}
.reac-b .rb-n{font-size:14px}
.reac-b.pop .rb-ic{animation:reacpop .5s cubic-bezier(.2,2.2,.4,1)}
@keyframes reacpop{0%{transform:scale(1)}35%{transform:scale(1.75) rotate(8deg)}
                   70%{transform:scale(.92)}100%{transform:scale(1)}}
.reac-b .burst{position:absolute;left:50%;bottom:55%;font-size:22px;pointer-events:none;z-index:5;
               animation:burstvol 1s ease-out var(--bd,0s) both}
@keyframes burstvol{
  0%{opacity:0;transform:translate(-50%,0) scale(.4)}
  12%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--bx,0px)),-130px) scale(var(--bs,1.3))}}
@media(max-width:560px){
  .reac-bar{gap:8px}
  .reac-b{padding:11px 13px;gap:7px}
  .reac-b .rb-ic{font-size:25px}
  .reac-b .rb-lab{display:none}          /* sur mobile : l'emoji et le compte, l'essentiel */
}

/* ============ commentaires : avatar, pseudo, responsive ============ */
.comm-ligne{display:flex;align-items:center;gap:12px}
.comm-av{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
         width:40px;height:40px;border-radius:50%;font-family:'Space Grotesk',sans-serif;
         font-weight:700;font-size:17px;color:#160C05;
         background:linear-gradient(135deg,var(--or),var(--braise));
         box-shadow:0 0 18px -6px rgba(var(--braise-rgb),.7)}
#commNom{flex:1;max-width:300px}
#blocComms form .btn{padding:12px 26px}
.comm .comm-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.comm .comm-h .comm-av{width:30px;height:30px;font-size:13px}
.comm{border-radius:10px;border-left-width:3px;padding:13px 16px}
.comm p{font-size:14px}
@media(max-width:560px){
  .comm-ligne{gap:10px}
  #commNom{max-width:none}
  .comm-pied{flex-direction:column;align-items:stretch}
  .comm-pied .btn{width:100%;text-align:center}
  .comm-note{text-align:center;order:2;margin-top:8px}
  .comm-date{font-size:8.5px}
}

/* identité anonyme + badge vérifié (prêt pour les comptes) */
.comm-qui{margin:0;font-size:13.5px;color:var(--dim)}
.comm-qui b{color:var(--or);font-family:'Space Grotesk',sans-serif}
.comm-anon{margin-left:8px;font-family:'JetBrains Mono',monospace;font-size:9px;
           letter-spacing:.12em;text-transform:uppercase;color:var(--dim);
           border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:2px 8px}
.comm-verif{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;
            text-transform:uppercase;color:#4ADE80;border:1px solid rgba(74,222,128,.4);
            border-radius:20px;padding:2px 8px}

/* ============ PHASE 1 VIRAL CORE ============ */
/* point rouge live du ticker */
.dot-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FF3B30;
          margin-right:8px;animation:bat 1.6s ease-in-out infinite;vertical-align:1px}

/* niveau du Grill Score */
.niveau{display:inline-flex;align-items:center;gap:10px;margin:16px auto 4px;
        padding:9px 22px 9px 16px;border-radius:4px;
        border:1px solid var(--niv-c,var(--or));
        box-shadow:0 0 34px -12px var(--niv-c,var(--braise))}
.niveau[hidden]{display:none}
.niveau .niv-e{font-size:22px;line-height:1}
.niveau .niv-n{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;
               letter-spacing:.14em;color:var(--niv-c,var(--or))}
.niveau.pop{animation:nivpop .6s cubic-bezier(.2,2,.4,1)}
@keyframes nivpop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}

/* le verdict, cadré pour la capture d'écran */
.verdict-carte{position:relative;max-width:640px;margin:22px auto 0;padding:26px 28px 20px;
               border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(10,7,6,.5)}
.verdict-carte .vc-tag{position:absolute;top:-9px;left:24px;padding:2px 10px;background:#120C09;
        font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.22em;color:var(--dim)}
.verdict-carte .phrase{margin:0}
.roast-btn{margin-top:16px;background:none;border:1px solid rgba(var(--braise-rgb),.5);
           color:var(--braise);font-family:'JetBrains Mono',monospace;font-size:10.5px;
           letter-spacing:.16em;padding:9px 16px;border-radius:4px;cursor:pointer;
           transition:background .2s,color .2s,border-color .2s}
.roast-btn:hover{background:var(--braise);color:#160C05}
.roast-btn:disabled{opacity:.6;cursor:wait}
.phrase.roast-in{animation:roastin .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes roastin{0%{opacity:0;transform:translateY(9px) scale(.98)}100%{opacity:1;transform:none}}

/* vc-tag partagé */
.trancher .vc-tag,.vs-lab{font-family:'JetBrains Mono',monospace;letter-spacing:.22em;color:var(--dim)}

/* la communauté a tranché */
.trancher{max-width:640px;margin:26px auto 0;padding:22px 26px 20px;position:relative;
          border:1px solid rgba(255,255,255,.09);border-radius:6px}
.trancher[hidden]{display:none}
.trancher .vc-tag{position:absolute;top:-9px;left:24px;padding:2px 10px;background:#120C09;font-size:9.5px}
.tr-l{display:flex;align-items:center;gap:12px;margin:9px 0}
.tr-ic{font-size:17px;flex:0 0 24px;text-align:center}
.tr-piste{flex:1;height:7px;background:rgba(255,255,255,.07);border-radius:5px;overflow:hidden}
.tr-piste i{display:block;height:100%;background:linear-gradient(90deg,var(--or),var(--braise));
            border-radius:5px;transition:width .9s cubic-bezier(.16,1,.3,1)}
.tr-l b{font-family:'JetBrains Mono',monospace;font-size:12px;min-width:44px;text-align:right}

/* IA vs Internet */
.vsint{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:20px}
.vsint[hidden]{display:none}
.vs-col{display:flex;flex-direction:column;align-items:center;gap:2px}
.vs-lab{font-size:9.5px}
.vs-col b{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:52px;line-height:1}
.vs-mid{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;letter-spacing:.12em;
        color:var(--braise);text-align:center;max-width:150px}
.vs-phrase{margin:14px 0 0;text-align:center;font-family:'Space Grotesk',sans-serif;
           font-weight:600;font-size:15px;color:var(--or)}
.vs-phrase[hidden]{display:none}

/* partage */
.partage{max-width:640px;margin:22px auto 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
         justify-content:center}
.partage[hidden]{display:none}
.pt-lab{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;
        text-transform:uppercase;color:var(--dim)}
.pt-btns{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}
.pt-btns a,.pt-btns button{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;
        color:var(--ink);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);
        padding:8px 14px;border-radius:4px;cursor:pointer;text-decoration:none;
        transition:border-color .2s,color .2s}
.pt-btns a:hover,.pt-btns button:hover{border-color:var(--or);color:var(--or)}
.pt-btns [hidden]{display:none}

/* niveau sur les cartes du mur */
.carte-mur .carte-niv{position:absolute;left:9px;top:9px;z-index:2;display:inline-flex;
        align-items:center;gap:6px;padding:4px 10px;border-radius:3px;
        background:rgba(10,7,6,.85);border:1px solid var(--niv-c,rgba(255,255,255,.15))}
.carte-mur .carte-niv span{font-size:12px;line-height:1}
.carte-mur .carte-niv i{font-style:normal;font-family:'Space Grotesk',sans-serif;font-weight:700;
        font-size:9px;letter-spacing:.1em;color:var(--niv-c,var(--or))}
.carte-mur .carte-cta{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:10px;
        letter-spacing:.16em;color:var(--braise)}
.carte-mur:hover .carte-cta{color:var(--or)}

@media(max-width:560px){
  .vs-col b{font-size:40px}
  .verdict-carte,.trancher{padding:20px 16px 16px}
}


/* ============ en-tête du mur — éditorial premium ============ */
.mur-tete{margin:6px 0 24px}
/* centre sur grand ecran, comme les onglets juste dessous. Il etait le seul
   element aligne a gauche au milieu d une colonne centree. */
@media(min-width:900px){
  .mur-tete{text-align:center}
  /* le filtre suit ses onglets : un seul element decale sous trois
     elements alignes se lit comme un oubli */
  .mur-bar{display:flex;justify-content:center}
}
.mur-kicker{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;
            text-transform:uppercase;color:var(--braise)}
.mur-titre{margin:10px 0 10px;font-family:'Space Grotesk',sans-serif;font-weight:700;
           text-transform:uppercase;letter-spacing:-.02em;line-height:.95;
           font-size:clamp(27px,6vw,54px);
           background:linear-gradient(115deg,var(--ink) 30%,var(--or) 75%,var(--braise) 105%);
           -webkit-background-clip:text;background-clip:text;color:transparent}
.mur-tete .murstats{display:block;margin:0}
@media(max-width:560px){
  .mur-kicker{letter-spacing:.16em}
  .mur-tete{margin-bottom:18px}
  .murstats{font-size:10.5px;letter-spacing:.06em}
}

/* ============ InfernoButton — le CTA en feu permanent ============ */
.inferno-wrap{position:relative;display:inline-block;isolation:isolate}
.inferno-cv{position:absolute;pointer-events:none;z-index:1}
.inferno-wrap>button{position:relative;z-index:2}
button.inferno{
  --heat:.4;
  position:relative;z-index:2;
  background:linear-gradient(180deg,#141110,#090909 55%,#0D0A08);
  color:#FFF4E4;text-transform:uppercase;font-weight:700;letter-spacing:.08em;
  border-radius:18px;height:64px;padding:0 42px;border:1px solid transparent;
  touch-action:manipulation;user-select:none;-webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -8px 18px -12px rgba(255,80,10,calc(var(--heat) * .9));
  transition:box-shadow .25s}
/* la bordure incandescente : orange -> jaune -> blanc chaud par zones */
button.inferno::after{
  content:"";position:absolute;inset:-1px;border-radius:19px;padding:1px;
  background:linear-gradient(100deg,
    rgba(255,77,0,calc(.35 + var(--heat) * .6)) 0%,
    rgba(255,197,49,calc(.25 + var(--heat) * .7)) 22%,
    rgba(255,246,220,calc(var(--heat) * .95)) 38%,
    rgba(255,77,0,calc(.30 + var(--heat) * .5)) 55%,
    rgba(120,26,4,.55) 75%,
    rgba(255,140,40,calc(.3 + var(--heat) * .6)) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none}
button.inferno:hover{filter:none}
@media(max-width:560px){button.inferno{height:56px;padding:0 26px}}

/* ============ mode profil LinkedIn ============ */
/* sélecteur segmenté, pouce glissant (Apple-like) */
.seg{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(340px,88vw);
     margin:0 auto 24px;padding:4px;border-radius:12px;
     background:rgba(255,255,255,.05);border:1px solid var(--ligne);isolation:isolate}
.seg .mc{position:relative;z-index:1;font-family:'Inter',system-ui,sans-serif;font-weight:600;
         font-size:13.5px;color:var(--dim);background:none;border:0;cursor:pointer;
         padding:9px 22px;border-radius:9px;transition:color .25s}
.seg .mc.on{color:#160C05}
.seg-thumb{position:absolute;z-index:0;top:4px;left:4px;bottom:4px;width:calc(50% - 4px);
           border-radius:9px;background:linear-gradient(120deg,var(--or),var(--braise));
           transition:transform .32s cubic-bezier(.5,.05,.2,1)}
.seg.li .seg-thumb{transform:translateX(100%)}

#panneau-li[hidden]{display:none}
/* une seule surface, épurée */
.li-surface{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.li-drop{display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 16px;cursor:pointer;
         border:1.5px dashed var(--ligne);border-radius:14px;color:var(--dim);font-size:14px;
         text-align:left;transition:border-color .2s,background .2s,color .2s}
.li-drop .li-ic{flex:none;opacity:.8}
.li-drop:hover,.li-drop.sur{border-color:var(--braise);background:rgba(255,90,31,.05);color:var(--ink)}
.li-drop img{max-width:100%;max-height:220px;border-radius:10px;margin:0 auto}
.li-drop.pleine{border-style:solid;justify-content:center;padding:10px}
.li-drop.pleine .li-ic,.li-drop.pleine #liDropTxt{display:none}
#liTexte{width:100%;background:rgba(255,255,255,.045);border:1px solid var(--ligne);color:var(--ink);
         border-radius:12px;padding:11px 14px;font:inherit;font-size:13.5px;resize:vertical;outline:0;
         min-height:44px}
#liTexte:focus{border-color:rgba(255,90,31,.5)}
#panneau-li .btn{width:100%;justify-content:center}
.li-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.li-check{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim);cursor:pointer}
.li-check input{accent-color:var(--braise)}
.li-aide{background:none;border:0;cursor:pointer;font-family:'Inter',system-ui,sans-serif;
         font-size:12.5px;color:var(--or);text-decoration:underline;text-underline-offset:3px}
.li-aide:hover{color:var(--braise)}
.li-legal{max-width:520px;margin:14px auto 0;font-size:11px;line-height:1.5;color:var(--dim);text-align:center}

/* la modale d'aide bookmarklet */
.li-modal[hidden]{display:none}
.li-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.li-modal-fond{position:absolute;inset:0;background:rgba(6,4,3,.72)}
.li-modal-box{position:relative;max-width:420px;width:100%;background:#140D0A;
              border:1px solid var(--ligne);border-radius:18px;padding:28px 26px 26px;text-align:center}
.li-modal-x{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--dim);
            font-size:16px;cursor:pointer;line-height:1}
.li-modal-x:hover{color:var(--ink)}
.li-modal-box h3{font-family:'Space Grotesk',sans-serif;font-size:19px;margin:0 0 14px;color:var(--ink)}
.li-steps{text-align:left;margin:0 0 18px;padding-left:20px;font-size:14px;line-height:1.65;color:#DFD5CC}
.li-steps b{color:var(--or)}
.li-bm{display:inline-flex;align-items:center;gap:8px;cursor:grab;text-decoration:none;
       font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;color:#160C05;
       background:linear-gradient(120deg,var(--or),var(--braise));padding:12px 22px;border-radius:12px;
       box-shadow:3px 3px 0 #B32B08}
.li-bm:active{cursor:grabbing}
.li-hint{display:block;margin-top:11px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--dim)}


/* LinkedIn est réservé à l'ordinateur : sur mobile, coller un profil est pénible.
   On masque le sélecteur et le panneau, il ne reste que l'analyse de site. */
@media (max-width: 720px){
  #panneau-li{display:none !important}   /* l'UI d'upload profil ne s'affiche jamais sur mobile */
}
#li-mobile[hidden]{display:none}
.li-mob-box{max-width:440px;margin:6px auto 0;text-align:center;padding:26px 22px;
            background:var(--dalle);border:1px solid var(--ligne);border-radius:16px}
.li-mob-ic{font-size:34px;line-height:1;margin-bottom:10px}
.li-mob-box h3{font-family:'Space Grotesk',sans-serif;font-size:19px;margin:0 0 10px;color:var(--ink)}
.li-mob-box p{font-size:14px;line-height:1.55;color:#DFD5CC;margin:0 auto 8px;max-width:360px}
.li-mob-note{color:var(--dim);font-size:12.5px}
.li-mob-note b{color:var(--or)}

/* ============ « Sous le capot » : la stack technique ============ */
.stack{display:flex;flex-direction:column;gap:12px}
.st-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.st-note{font-size:13px;color:var(--dim)}
.st-l{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.st-k{flex:0 0 118px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;
      text-transform:uppercase;color:var(--dim)}
.st-v{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.st-chip{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:12px;
         padding:4px 11px;border-radius:20px;color:#DFD5CC;
         background:rgba(255,255,255,.05);border:1px solid var(--ligne)}
.st-chip.chaud{color:#160C05;background:linear-gradient(120deg,var(--or),var(--braise));
               border-color:transparent;font-weight:600}
@media(max-width:560px){.st-k{flex-basis:100%}}

/* ---------- selecteur de langue (drapeaux) ---------- */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;
          font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
          font-weight:500;color:var(--or);padding:9px 13px;border-radius:999px;
          border:1px solid rgba(var(--or-rgb),.45);
          background:linear-gradient(120deg,rgba(var(--or-rgb),.09),rgba(var(--braise-rgb),.05));
          box-shadow:0 0 22px -10px rgba(var(--or-rgb),.8),inset 0 1px 0 rgba(255,255,255,.06);
          transition:color .25s,border-color .25s,box-shadow .25s,transform .2s}
.lang-btn:hover{color:#160C05;border-color:var(--or);
                background:linear-gradient(120deg,var(--or),var(--braise));
                box-shadow:0 6px 30px -8px rgba(var(--braise-rgb),.75);transform:translateY(-1px)}
.lang-flag{font-size:15px;line-height:1}
.lang-car{font-size:9px;opacity:.75;margin-left:-1px}
.lang-menu{position:absolute;top:calc(100% + 9px);right:0;z-index:40;
           min-width:186px;max-height:min(70vh,420px);overflow-y:auto;
           padding:7px;border-radius:14px;
           background:linear-gradient(180deg,rgba(24,16,11,.98),rgba(14,9,7,.98));
           border:1px solid var(--ligne);
           box-shadow:0 24px 60px -20px rgba(0,0,0,.85),0 0 0 1px rgba(var(--braise-rgb),.06),
                      inset 0 1px 0 rgba(255,255,255,.05);
           backdrop-filter:blur(14px);animation:langpop .16s ease-out}
@keyframes langpop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.lang-it{display:flex;align-items:center;gap:11px;width:100%;text-align:left;cursor:pointer;
         font-family:'Inter',sans-serif;font-size:13.5px;color:var(--dim);
         padding:9px 12px;border-radius:9px;border:0;background:none;
         transition:background .18s,color .18s}
.lang-it .lang-flag{font-size:17px}
.lang-it:hover{background:rgba(var(--braise-rgb),.12);color:var(--ink)}
.lang-it.on{color:var(--or);background:rgba(var(--or-rgb),.10)}
html[dir="rtl"] .lang-menu{right:auto;left:0}
html[dir="rtl"] .lang-it{text-align:right}
@media(max-width:560px){.lang-btn{padding:8px 11px;font-size:9.5px}.lang-menu{min-width:168px}}

/* ============ failles & obsolescence des plugins ============ */
.faille-l{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap}
.faille-l:last-child{border-bottom:0}
.fl-nom{font-family:'Space Grotesk',sans-serif;font-size:14px}
.fl-v{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--dim);margin-right:auto}
.ok-secu{color:#4ADE80;font-size:14px}
.faille-teaser .ft-gros{font-size:17px;line-height:1.5;color:var(--ink)}
.faille-teaser .ft-gros b{color:var(--or)}
.faux-failles{display:flex;flex-direction:column;gap:8px;margin:14px 0;filter:blur(3px);opacity:.5}
.faux-failles .faux-l{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--line-2),transparent)}
.ft-cta{margin-top:6px;color:var(--or);font-size:13.5px}

/* ============ polish « Sous le capot » — plus lisible, plus impactant ============ */
#blocStack .stack,#blocFailles>div{max-width:620px;margin:0 auto}
.st-tete{gap:14px;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}
.st-tete .st-chip.chaud{font-size:15px;padding:8px 18px;letter-spacing:.02em}
.st-note{font-size:13.5px;color:var(--ink)}
.st-l{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);margin:0}
.st-l:last-child{border-bottom:0}
.st-k{flex-basis:130px;font-size:11px;color:var(--dim)}
.st-v .st-chip{font-size:12.5px;padding:5px 12px}
/* les deux blocs tech, rapprochés visuellement en une séquence */
#blocFailles{margin-top:-4px}
#blocFailles .titre,#blocStack .titre{font-size:11px}
@media(max-width:560px){
  .st-tete .st-chip.chaud{font-size:14px;padding:7px 15px}
  .st-k{flex-basis:100%;margin-bottom:2px}
  .faille-l{gap:8px}
  .fl-nom{font-size:13px}
}

/* ============================================================
   THÈME CLAIR — version propre (bascule via data-theme=light)
   ============================================================ */
html[data-theme="light"]{
  --noir:#FBF6EF; --charbon:#FFFFFF; --dalle:#FFFFFF;
  --ink:#1B1310; --dim:#6A5B50; --ligne:rgba(255,90,31,.28);
}
html[data-theme="light"] body{ background:#FBF6EF !important; color:var(--ink); }
html[data-theme="light"] body::before,
html[data-theme="light"] body::after,
html[data-theme="light"] .lueur,
html[data-theme="light"] .grille,
html[data-theme="light"] .fond{ opacity:.18 !important; }
/* surfaces (cartes, champs, blocs) en blanc lisible */
html[data-theme="light"] .champ,
html[data-theme="light"] .note-l,
html[data-theme="light"] .chaud,
html[data-theme="light"] .cinq .q,
html[data-theme="light"] .suite,
html[data-theme="light"] .onglets button,
html[data-theme="light"] #filtre,
html[data-theme="light"] .carte-mur,
html[data-theme="light"] .vue-cadre,
html[data-theme="light"] .datacard,
html[data-theme="light"] .st-chip,
html[data-theme="light"] #detail input,
html[data-theme="light"] .kv{
  background:#FFFFFF !important;
  border-color:rgba(255,90,31,.22) !important;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}
html[data-theme="light"] .note-l .barre,
html[data-theme="light"] .flamme,
html[data-theme="light"] .vue-barre{ background:rgba(0,0,0,.07) !important; }
html[data-theme="light"] .vue-barre i{ background:rgba(0,0,0,.18) !important; }
html[data-theme="light"] #carte,
html[data-theme="light"] .vue-image,
html[data-theme="light"] .carte-mur .img{ background:#ECE2D8 !important; }
/* liens/nav header */
html[data-theme="light"] header a.sign,
html[data-theme="light"] .btn-nav{ color:var(--dim) !important; }
html[data-theme="light"] .btn-nav{ border-color:rgba(255,90,31,.25) !important; }
/* sélection */
html[data-theme="light"] ::selection{ background:var(--braise); color:#fff; }
/* le hero garde son dégradé orange (visible sur clair) */
html[data-theme="light"] h1{ background:linear-gradient(178deg,var(--or) 6%,#FF7A2E 46%,var(--braise) 92%) !important; -webkit-background-clip:text;background-clip:text; }

/* ============================================================
   THÈME CLAIR v2 — designé (crème chaude, profondeur par ombres)
   ============================================================ */
html[data-theme="light"]{
  --noir:#FFF7EF; --charbon:#FFFFFF; --dalle:#FFFFFF;
  --ink:#2A1C14; --dim:#7A6455; --ligne:rgba(214,120,50,.22);
}
html[data-theme="light"] body{
  background:radial-gradient(1100px 460px at 50% -10%, rgba(255,138,60,.12), transparent 62%), #FFF7EF !important;
  color:var(--ink);
}
html[data-theme="light"] body::before,
html[data-theme="light"] body::after{ background:none !important; opacity:0 !important; }
html[data-theme="light"] .grille,html[data-theme="light"] .fond,html[data-theme="light"] .lueur{ opacity:0 !important; }

/* SURFACES : blanc, bordure chaude, ombre douce (profondeur) */
html[data-theme="light"] .note-l,
html[data-theme="light"] .chaud,
html[data-theme="light"] .cinq .q,
html[data-theme="light"] .suite,
html[data-theme="light"] .carte-mur,
html[data-theme="light"] .secu-c,
html[data-theme="light"] .tn,
html[data-theme="light"] .expert,
html[data-theme="light"] .reac,
html[data-theme="light"] .champ,
html[data-theme="light"] #detail input,
html[data-theme="light"] #filtre,
html[data-theme="light"] .vue-cadre,
html[data-theme="light"] .datacard,
html[data-theme="light"] .st-chip,
html[data-theme="light"] .kv,
html[data-theme="light"] .livre-mail input,
html[data-theme="light"] .verdict{
  background:#FFFFFF !important;
  border:1px solid rgba(214,120,50,.20) !important;
  box-shadow:0 6px 20px rgba(140,74,28,.09) !important;
}
html[data-theme="light"] .reac:hover,
html[data-theme="light"] .carte-mur:hover{ border-color:var(--braise) !important; box-shadow:0 10px 26px rgba(140,74,28,.16) !important; }

/* barres / pistes / anneau */
html[data-theme="light"] .note-l .barre,
html[data-theme="light"] .flamme,
html[data-theme="light"] .vue-barre{ background:rgba(42,28,20,.08) !important; }
html[data-theme="light"] .vue-barre i{ background:rgba(42,28,20,.20) !important; }
html[data-theme="light"] .jauge .fond{ stroke:rgba(42,28,20,.10) !important; }
html[data-theme="light"] .jauge b span{ color:var(--dim) !important; }

/* cadres d'images (aperçus) */
html[data-theme="light"] #carte,
html[data-theme="light"] .vue-image,
html[data-theme="light"] .carte-mur .img{ background:#F1E7DC !important; }

/* onglets */
html[data-theme="light"] .onglets button{ background:#FFFFFF !important; border-color:rgba(214,120,50,.22) !important; color:var(--dim) !important; box-shadow:0 2px 8px rgba(140,74,28,.06); }
html[data-theme="light"] .onglets button:hover{ color:var(--ink) !important; }

/* bandeau news -> clair chaud */
html[data-theme="light"] #bandeau{ background:linear-gradient(90deg,#FFE7D2,#FFF2E6) !important; border-bottom:1px solid rgba(214,120,50,.25) !important; }
html[data-theme="light"] #bandeau p{ color:#5A3A22 !important; }
html[data-theme="light"] #bandeauX{ border-color:rgba(214,120,50,.35) !important; color:#8A5A30 !important; }

/* header nav + liens */
html[data-theme="light"] header a.sign,
html[data-theme="light"] .btn-nav{ color:var(--dim) !important; border-color:rgba(214,120,50,.22) !important; }

/* hero net */
html[data-theme="light"] h1{ background:linear-gradient(178deg,var(--or) 4%,#FF7A2E 44%,var(--braise) 92%) !important; -webkit-background-clip:text;background-clip:text; }

/* THÈME CLAIR — correctifs cartes verdict / ticker / modale / vert */
html[data-theme="light"]{ --vert:#1F9D57; }
html[data-theme="light"] .verdict-carte,
html[data-theme="light"] .trancher{
  background:#FFFFFF !important;
  border:1px solid rgba(214,120,50,.20) !important;
  box-shadow:0 8px 26px rgba(140,74,28,.10) !important;
}
html[data-theme="light"] .verdict-carte .vc-tag,
html[data-theme="light"] .trancher .vc-tag{ background:#FFE7D2 !important; color:#B8481A !important; }
html[data-theme="light"] .verdict-carte .phrase{ color:var(--ink) !important; }
html[data-theme="light"] #ticker{ background:#FFF2E6 !important; border-color:rgba(214,120,50,.22) !important; }
html[data-theme="light"] #ticker,html[data-theme="light"] #ticker *{ color:#6A4A30 !important; }
html[data-theme="light"] .li-modal-box{ background:#FFFFFF !important; color:var(--ink) !important; box-shadow:0 20px 60px rgba(80,40,15,.25) !important; }

/* ============ bandeau PRO : niveau · évolution · positionnement ============ */
.pro-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px auto 0;max-width:640px}
.pro-bar[hidden]{display:none}
.pb-item{flex:1 1 170px;min-width:150px;padding:11px 14px;border:1px solid var(--ligne);
  border-radius:10px;background:var(--dalle);text-align:center}
.pb-item[hidden]{display:none}
.pb-l{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim);margin-bottom:5px}
.pb-v{display:block;font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:600;color:var(--ink)}
@media(max-width:520px){.pb-item{flex:1 1 100%;padding:9px 12px}.pb-v{font-size:15px}}
html[data-theme="light"] .pb-item{background:#FFFFFF !important;border-color:rgba(214,120,50,.20) !important;
  box-shadow:0 4px 14px rgba(140,74,28,.07)}
.pro-bar{gap:8px}
.pb-item{flex:1 1 0;min-width:0;padding:10px 8px}
.pb-l{font-size:8.5px;letter-spacing:.12em}
.pb-v{font-size:14px;line-height:1.25}
@media(max-width:520px){.pb-item{flex:1 1 0;padding:9px 6px}.pb-v{font-size:12.5px}.pb-l{font-size:8px}}

/* ============ badge « Audité par LE GRILL » (dans le rapport) ============ */
.badge-bloc{margin:34px auto 0;max-width:640px;padding:20px 22px;border:1px solid var(--ligne);
  border-radius:12px;background:var(--dalle);text-align:center}
.badge-bloc[hidden]{display:none}
.bb-lab{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--braise);margin-bottom:8px}
.bb-txt{font-size:13.5px;color:var(--dim);margin:0 0 16px;line-height:1.5}
.bb-img{display:block;margin:0 auto 14px;max-width:100%;height:auto}
.bb-themes{display:flex;gap:8px;justify-content:center;margin-bottom:14px}
.bb-t{background:none;border:1px solid var(--ligne);border-radius:20px;padding:5px 14px;
  font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--dim);cursor:pointer}
.bb-t.on{border-color:var(--braise);color:var(--braise)}
.bb-code{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;line-height:1.6;
  color:var(--dim);background:rgba(0,0,0,.18);border:1px solid var(--ligne);border-radius:8px;
  padding:11px 13px;word-break:break-all;text-align:left;margin-bottom:12px}
.bb-copy{background:linear-gradient(90deg,var(--or),var(--braise));border:0;border-radius:8px;
  padding:10px 22px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;
  color:#160C05;font-weight:700;cursor:pointer}
html[data-theme="light"] .badge-bloc{background:#FFFFFF !important;border-color:rgba(214,120,50,.20) !important;
  box-shadow:0 6px 20px rgba(140,74,28,.09)}
html[data-theme="light"] .bb-code{background:#FBF4EC !important;color:#6A5B50 !important}

/* ============ compliment (3 notes au vert) ============ */
.compliment{display:flex;align-items:center;gap:14px;margin:18px auto 0;max-width:640px;
  padding:16px 20px;border-radius:14px;
  background:linear-gradient(135deg,rgba(31,157,87,.16),rgba(74,222,128,.08));
  border:1px solid rgba(74,222,128,.42)}
.compliment[hidden]{display:none}
.compliment .cp-ic{font-size:26px;line-height:1;filter:drop-shadow(0 0 10px rgba(74,222,128,.5))}
.compliment .cp-txt{margin:0;font-size:14.5px;line-height:1.5;color:#DFF7E7}
/* ============ bouton actualiser la note ============ */
.maj-btn{margin-top:10px;background:none;border:1px solid var(--ligne);border-radius:10px;
  padding:9px 16px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;
  color:var(--dim);cursor:pointer;transition:border-color .2s,color .2s}
.maj-btn[hidden]{display:none}
.maj-btn:hover{border-color:var(--braise);color:var(--braise)}


/* Styles autrefois ecrits en dur dans le HTML. Sortis d'ici pour que la CSP
   puisse interdire les styles en ligne (style-src 'self', sans unsafe-inline). */
.svg-defs{position:absolute}
.duo-espace{margin-top:26px}
.duo-boutons{display:flex;gap:11px;margin-top:14px;flex-wrap:wrap}
.crit{color:#FF4444}

/* ===== Scan en cours (profil LinkedIn) ===== */
#scanLi{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:rgba(10,7,6,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#scanLi[hidden]{display:none}
.scanLi-box{text-align:center;padding:40px 24px;max-width:440px}
.scanLi-flamme{font-size:66px;line-height:1;animation:scanpulse 1.1s ease-in-out infinite}
@keyframes scanpulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,90,31,0))}
  50%{transform:scale(1.16);filter:drop-shadow(0 0 24px rgba(255,90,31,.7))}}
.scanLi-titre{font-family:'Space Grotesk',sans-serif;font-size:27px;font-weight:700;
  color:#F5EFE9;margin-top:16px;letter-spacing:-.01em}
.scanLi-nom{font-family:'JetBrains Mono',monospace;font-size:13.5px;letter-spacing:.12em;
  color:#F5B841;text-transform:uppercase;margin-top:10px;min-height:18px}
.scanLi-sous{color:#9C8E84;font-size:14px;margin-top:12px;line-height:1.5}
.scanLi-barre{margin:26px auto 0;width:230px;height:6px;border-radius:999px;
  background:rgba(255,255,255,.08);overflow:hidden}
.scanLi-barre i{display:block;height:100%;width:38%;border-radius:999px;
  background:linear-gradient(90deg,#FF5A1F,#F5B841);animation:scanbar 1.25s ease-in-out infinite}
@keyframes scanbar{0%{margin-left:-38%}100%{margin-left:100%}}

/* le mur LinkedIn : memes cartes, mais la vignette porte le profil (pas de site) */
.murgrille-li .carte-mur .img{background:linear-gradient(150deg,#1b1f2b,#0e1730)}
#mur-li .mur-kicker{color:#7FB2FF}


/* ---------- petits ecrans : le bloc payant ----------
   Mesure avant correction : a 320 px, le texte du bouton faisait 281 px dans une
   boite de 274, et le cadre sortait de 13 px. `white-space:nowrap` empeche toute
   etiquette longue de passer a la ligne ; on le leve sous 430 px seulement, pour
   que les boutons courts restent sur une ligne partout ailleurs. */
@media (max-width:430px){
  .btn{white-space:normal;line-height:1.4;letter-spacing:.12em;
       padding-left:14px;padding-right:14px;max-width:100%}
  .mur-payant{padding:30px 16px 26px}
  .pw-voies{width:100%;gap:9px}
  .pw-voies .btn{width:100%}
  .pw-liste li{font-size:13.5px;padding-left:24px}
  .mur-payant h3{font-size:clamp(20px,6vw,26px)}
}

/* garde-fou general : un bouton ne doit jamais depasser son conteneur, quelle
   que soit la longueur de son etiquette */
.btn{max-width:100%}


/* ---------- le bandeau quand personne n'a encore ete grille ----------
   Il reste en place — un trou dans l'entete se lit comme une panne — mais il
   cesse de defiler : faire glisser une phrase unique n'aurait aucun sens. */
#ticker.vide .ticker-rail{animation:none;justify-content:center;width:100%}
#ticker.vide .ticker-fen{-webkit-mask-image:none;mask-image:none}
#ticker.vide .ticker-i{color:#9C8E84}
#ticker.vide .ticker-i b{color:var(--or);font-weight:500}
#ticker.vide .ticker-i:hover b{text-decoration:underline}


/* ---------- la progression ----------
   Le moment ou quelqu'un voit que son travail a paye. Il tient en une ligne sur
   grand ecran, en pile au pouce, et la couleur dit le sens sans qu'on lise. */
.prog{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,28px);
  flex-wrap:wrap;margin:18px auto 4px;padding:16px clamp(16px,3vw,26px);
  max-width:640px;border:1px solid var(--pc);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  --pc:rgba(74,222,128,.35);--pt:#4ADE80}
.prog.baisse{--pc:rgba(255,122,46,.35);--pt:#FF7A2E}
.prog.stable{--pc:rgba(255,255,255,.14);--pt:#8B8177}
.prog-chiffres{display:flex;align-items:baseline;gap:10px;line-height:1}
.prog-a{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,5vw,34px);
  font-weight:700;color:#6B635B}
.prog-vers{font-size:clamp(20px,4vw,26px);color:var(--pt)}
.prog-b{font-family:'Space Grotesk',sans-serif;font-size:clamp(38px,8vw,54px);
  font-weight:700;color:var(--pt)}
.prog-dire{display:flex;flex-direction:column;gap:3px;min-width:0}
.prog-delta{font-size:clamp(15px,2.6vw,18px);font-weight:600;color:var(--pt)}
.prog-quand{font-size:13.5px;color:#8B8177}
.prog-rang{font-size:13.5px;color:var(--pt);font-weight:500}
.prog-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.prog-part{border:1px solid var(--pc);background:transparent;color:var(--pt);
  font:inherit;font-size:14px;padding:10px 16px;border-radius:10px;cursor:pointer;
  min-height:44px;transition:background .15s}
.prog-part:hover{background:rgba(255,255,255,.05)}
.prog-lien{font-size:13px;color:#8B8177;text-decoration:underline}
.prog-lien:hover{color:#C9C1B8}
@media(max-width:620px){.prog{flex-direction:column;text-align:center}
  .prog-dire{align-items:center}}

/* un rapport depasse doit le dire, pas laisser croire qu'il est d'aujourd'hui */
.prog-perime{display:block;max-width:640px;margin:14px auto 0;padding:11px 16px;
  border:1px solid rgba(245,184,65,.32);border-radius:12px;background:rgba(245,184,65,.06);
  color:#F5B841;font-size:14px;text-align:center;text-decoration:none;line-height:1.5}
.prog-perime:hover{background:rgba(245,184,65,.11)}


/* ---------- aller voir le site analyse ----------
   L'adresse dans la fausse barre de navigateur fait ce qu'une adresse fait dans
   une vraie : elle emmene. La fleche dit ou, avant le clic. */
.vue-url{font-style:normal;flex:1;margin-left:9px;font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;text-align:left;text-decoration:none;
  display:flex;align-items:center;gap:6px;min-width:0;transition:color .15s}
.vue-url:hover{color:var(--or)}
.vue-url::after{content:"↗";flex:none;font-size:11px;opacity:.5}
.vue-url:hover::after{opacity:1}
/* la capture aussi : c'est le geste attendu devant une image de site */
.vue-image{position:relative}
.vue-aller{position:absolute;inset:0;display:flex;align-items:flex-end;
  justify-content:center;padding-bottom:16px;text-decoration:none;opacity:0;
  background:linear-gradient(180deg,transparent 55%,rgba(10,7,6,.72));
  transition:opacity .2s}
.vue-aller:hover,.vue-aller:focus-visible{opacity:1}
.vue-aller span{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:1px;
  color:#F5EFE9;border:1px solid rgba(255,255,255,.28);border-radius:9px;
  padding:9px 15px;background:rgba(10,7,6,.6)}
/* Au doigt, pas de survol : le voile resterait affiche en permanence et
   cacherait la capture. On le remplace par une pastille dans le coin. */
@media(hover:none){
  .vue-aller{opacity:1;background:none;inset:auto 10px 10px auto;
    padding:0;align-items:center}
  .vue-aller span{font-size:10.5px;padding:7px 11px;background:rgba(10,7,6,.82);
    backdrop-filter:blur(3px)}
}

/* ---------- le mur ----------
   La carte n'est plus un lien mais un article qui en contient deux : celui qui
   couvre la carte, et celui du site analyse par dessus. */
.carte-mur{position:relative}
.carte-tout{position:absolute;inset:0;z-index:1;border-radius:inherit}
.carte-mur .d-lien{position:relative;z-index:2;color:inherit;text-decoration:none;
  display:inline-flex;align-items:center;gap:5px;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.carte-mur .d-lien::after{content:"↗";font-size:10px;opacity:.45}
.carte-mur .d-lien:hover{color:#FFF3E4;text-decoration:underline}
.carte-mur .d-lien:hover::after{opacity:1}


/* ---------- quand la capture n'a pas abouti ----------
   Un cadre noir se lit comme une panne. On explique, et le lien reste. */
.vue-image.sans-capture{display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,#0D0908,#0D0908 10px,#100B09 10px,#100B09 20px)}
.sans-capture-mot{display:flex;flex-direction:column;align-items:center;gap:7px;
  text-align:center;padding:22px;position:relative;z-index:1}
.sans-capture-mot span{font-family:'JetBrains Mono',monospace;font-size:11.5px;
  letter-spacing:1.4px;color:var(--or);text-transform:uppercase}
.sans-capture-mot em{font-style:normal;font-size:13.5px;color:var(--dim);
  line-height:1.5;max-width:34ch}
.carte-mur .img.sans-capture{display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,#0D0908,#0D0908 9px,#110C0A 9px,#110C0A 18px)}
.carte-mur .sc-dom{font-family:'JetBrains Mono',monospace;font-size:12px;
  color:#6B635B;padding:0 16px;text-align:center;word-break:break-all;line-height:1.5}


/* ---------- site ferme pour travaux ----------
   Le jaune du chantier, pas le rouge de l'erreur : ce n'est pas une faute, c'est
   un magasin en travaux. On previent, on ne condamne pas. */
.ferme{max-width:640px;margin:0 auto 18px;padding:16px 20px;border-radius:14px;
  border:1px solid rgba(245,184,65,.34);background:rgba(245,184,65,.07);
  text-align:center}
.ferme-t{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:2px;
  color:#F5B841;display:flex;align-items:center;justify-content:center;gap:8px}
.ferme-p{margin-top:9px;font-size:15.5px;color:var(--ink);line-height:1.55}
.ferme-s{margin-top:6px;font-size:13.5px;color:var(--dim);line-height:1.55}
.carte-mur .carte-ferme{margin-top:9px;font-family:'JetBrains Mono',monospace;
  font-size:9.5px;letter-spacing:1.4px;color:#F5B841}


/* Le prix se lit dans la case, pas dans une note en bas de page : on ne coche
   pas une option payante sans savoir qu'elle l'est. */
#optionPrivee{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.prix-prive{flex:none;font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.6px;color:var(--braise);background:rgba(255,90,31,.1);
  border:1px solid rgba(255,90,31,.45);border-radius:7px;padding:4px 10px;
  font-weight:600;white-space:nowrap;line-height:1.2}
.prix-prive.paye{color:var(--vert,#4ADE80);background:rgba(74,222,128,.1);
  border-color:rgba(74,222,128,.45)}
/* `margin:auto` sur les cotes, sinon le bloc reste colle a gauche de sa
   colonne : son texte est centre DANS le bloc, mais le bloc ne l est pas.
   Mesure avant correction : 98 pixels de decalage. */
#privePourquoi{color:var(--dim);max-width:56ch;margin:8px auto 0;
  line-height:1.6}


/* Le perimetre de la note, sous la jauge. Discret : il informe, il ne plaide
   pas. Mais present, parce qu'une note sans perimetre est une opinion. */
.note-perimetre{margin:2px auto 14px;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:1.4px;
  color:var(--dim);text-transform:uppercase;line-height:1.4}
