/* ================= AKWEND — direction TABAC =================
   Fond brun-noir, encre chaude, accent laiton.
   Parti pris assumé : un seul monde, sombre. Pas de mode clair.
   Affichage : Bricolage Grotesque. Texte : Archivo.
   ============================================================ */
:root{
  --fond:#100C09;      /* brun-noir, le sol */
  --surf:#1C1510;      /* panneau légèrement relevé */
  --haut:#32271F;      /* panneau chaud, pour détacher une section */
  --encre:#F6F1EA;     /* os */
  --gris:#A2927F;      /* taupe, texte courant */
  --filet:#3E3127;     /* trait */
  --acc:#D9A441;       /* laiton */
  --onacc:#100C09;
  --mes:66ch;
  /* compatibilité : les pages existantes parlent encore ce vocabulaire */
  --plaque:var(--surf);
  --inv-fond:var(--haut); --inv-encre:var(--encre); --inv-gris:var(--gris); --inv-filet:#4A3B2E;
}
*{margin:0;padding:0;box-sizing:border-box}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--fond);color:var(--encre);
  font-family:Archivo,system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
img[style*="aspect-ratio"],[class] img[width]{height:auto}
a{color:inherit;text-decoration:none}
.page{max-width:1120px;margin:0 auto;padding:0 24px}
.page{padding-left:24px;padding-right:24px}
.lire{max-width:var(--mes)}
.tk,.lab{font-size:.63rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}

/* ---------- titres ---------- */
h1,h2,h3,h4{font-family:'Bricolage Grotesque',Archivo,system-ui,sans-serif;font-weight:800;
  letter-spacing:-.03em;line-height:1.04;color:var(--encre);text-wrap:balance}
h1{font-size:clamp(2.4rem,6.2vw,4.2rem)}
h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.06}
h3{font-size:1.2rem;line-height:1.26;letter-spacing:-.02em}
h4{font-size:1.05rem;letter-spacing:-.02em}

/* ---------- en-tête ---------- */
.bandeau{background:var(--haut);color:var(--encre);text-align:center;padding:11px 14px}
.head{border-bottom:1px solid var(--filet);position:sticky;top:0;background:var(--fond);z-index:60;
  transition:box-shadow .3s ease}
.head .in{max-width:1120px;margin:0 auto;padding:17px 24px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;transition:padding .28s cubic-bezier(.22,1,.36,1)}
.logo{font-family:'Bricolage Grotesque',Archivo,sans-serif;font-weight:800;font-size:1.32rem;
  letter-spacing:-.035em;display:inline-block;transition:font-size .28s cubic-bezier(.22,1,.36,1)}
.head nav{display:flex;gap:24px}
.head nav a{font-size:.85rem;color:var(--gris)}
.head nav a:hover{color:var(--encre)}
.head.small .in{padding-top:10px;padding-bottom:10px}
.head.small .logo{font-size:1.08rem}
.head.small{box-shadow:0 1px 0 var(--filet),0 10px 26px rgba(0,0,0,.45)}
@media(max-width:780px){.head nav{display:none}}

/* ---------- boutons ---------- */
.btn{display:inline-block;background:var(--acc);color:var(--onacc);padding:15px 27px;
  font-size:.86rem;font-weight:600;letter-spacing:.01em;border:1.5px solid var(--acc);
  transition:background .15s,color .15s;cursor:pointer}
.btn:hover{background:transparent;color:var(--acc)}
.btn.o{background:transparent;color:var(--encre);border-color:var(--filet)}
.btn.o:hover{border-color:var(--encre)}
.inv .btn.o{color:var(--encre);border-color:var(--inv-filet)}

/* ---------- sections ---------- */
.sec{padding-top:72px;padding-bottom:72px;border-top:1px solid var(--filet)}
.sec:first-of-type{border-top:none}
@media(max-width:860px){.sec{padding-top:50px;padding-bottom:50px}}
.sec-t{display:flex;align-items:baseline;gap:15px;margin-bottom:26px}
.sec-t .no{font-family:'Bricolage Grotesque',Archivo,sans-serif;font-weight:800;font-size:1.1rem;
  color:var(--acc);font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* ---------- texte courant ---------- */
.prose p+p{margin-top:15px}
.prose p{color:var(--gris)}
.prose b,.prose strong{color:var(--encre);font-weight:600}
.prose h3{margin-top:30px;margin-bottom:9px}
.prose a,.enc a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}

/* ---------- encadré ---------- */
.enc{border:1px solid var(--filet);padding:22px 25px;margin-top:26px;background:var(--surf)}
.enc h3{margin-bottom:9px}
.enc p{color:var(--gris)}
.enc p+p{margin-top:11px}
.enc ul{list-style:none;margin-top:11px;display:flex;flex-direction:column;gap:9px}
.enc li{position:relative;padding-left:17px;color:var(--gris)}
.enc li::before{content:"";position:absolute;left:0;top:.68em;width:9px;height:1.5px;background:var(--acc)}
.enc b{color:var(--encre);font-weight:600}

/* ---------- bloc marqué ---------- */
.limite{border:1px solid var(--acc);padding:24px 26px;margin-top:30px;
  display:flex;flex-direction:column;gap:10px}
.limite .lab{color:var(--acc)}
.limite h3{font-size:1.15rem}
.limite p{color:var(--gris);font-size:.96rem}
.limite .bas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}
.limite .px{font-size:.86rem;color:var(--gris);font-variant-numeric:tabular-nums}
.verdict{border:2px solid var(--acc);padding:26px 28px;margin-top:26px}
.verdict .l{font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.verdict h3{font-size:1.24rem;margin:9px 0 10px}
.verdict p{color:var(--gris)}
.verdict p+p{margin-top:11px}
.verdict b{color:var(--encre);font-weight:600}

/* ---------- tableaux ---------- */
.tbl{border:1px solid var(--filet);margin-top:24px}
.tbl-h{background:var(--haut);color:var(--encre);padding:13px 18px;
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.tbl-h h3{color:inherit;font-size:.98rem}
.tbl-h span{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.scr{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:440px}
thead th{font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);
  text-align:left;padding:11px 18px;border-bottom:1px solid var(--filet)}
thead th.n{text-align:right}
tbody td{padding:14px 18px;border-bottom:1px solid var(--filet);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--gris)}
td.ex{font-weight:600}
td.ex .alt{display:block;font-weight:400;color:var(--gris);font-size:.87rem;margin-top:3px;line-height:1.45}
td.d{color:var(--gris);font-size:.94rem}
td.ok{color:var(--encre)}
.tbl .note{padding:14px 18px;border-top:1px solid var(--filet);color:var(--gris);font-size:.88rem;line-height:1.55}
.tbl .note b{color:var(--encre);font-weight:600}
@media(max-width:620px){
  table{min-width:0}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  tbody tr{display:block;padding:14px 18px;border-bottom:1px solid var(--filet)}
  tbody td{display:block;border:none;padding:0}
  td.n{text-align:left;display:inline-block;margin-top:8px;margin-right:18px}
  td.n::before{content:attr(data-l) " ";color:var(--gris);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
  td.d[data-l]{margin-top:11px}
  td.d[data-l]::before{content:attr(data-l);display:block;color:var(--gris);font-size:.6rem;
    font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}
}

/* ---------- semaine ---------- */
.sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--filet);
  border:1px solid var(--filet);margin-top:24px}
.sem div{background:var(--fond);padding:13px 4px;text-align:center;min-width:0}
.sem .j{font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.sem .s{font-size:.8rem;font-weight:600;margin-top:4px}
.sem .off{background:var(--surf)}
.sem .off .s{color:var(--gris);font-weight:400}
@media(max-width:520px){.sem .j{font-size:.52rem;letter-spacing:.04em}.sem .s{font-size:.62rem}.sem div{padding:11px 2px}}

/* ---------- citation ---------- */
.cit{border-left:2px solid var(--acc);padding:4px 0 4px 18px;margin-top:26px}
.cit .q{font-size:1.02rem;line-height:1.6;color:var(--encre)}
.cit .w{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:7px}

/* ---------- trois colonnes ---------- */
.trois{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:40px;margin-top:40px}
.trois .k,.trois .n{font-family:'Bricolage Grotesque',Archivo,sans-serif;font-weight:800;
  font-size:1.9rem;color:var(--acc);line-height:1;letter-spacing:-.03em}
.trois .k{font-family:Archivo,sans-serif;font-weight:600;font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris)}
.trois .v{font-family:'Bricolage Grotesque',Archivo,sans-serif;font-weight:800;font-size:1.5rem;
  margin:5px 0 7px;letter-spacing:-.03em}
.trois .s{font-size:.93rem;color:var(--gris);line-height:1.55}
.trois h3{margin:12px 0 8px}
.trois p{color:var(--gris);font-size:.95rem}

/* ---------- le chemin de décision ---------- */
.path{margin-top:40px;border-top:1px solid var(--filet)}
.path .row{display:grid;grid-template-columns:.42fr 1fr auto;gap:36px;align-items:start;
  padding:32px 0;border-bottom:1px solid var(--filet)}
.path .etat .lab{display:block;margin-bottom:7px}
.path .etat h3{font-size:1.08rem}
.path .rep p{color:var(--gris);font-size:.97rem}
.path .rep .px{margin-top:12px;font-size:.96rem;color:var(--gris)}
.path .rep .px b{font-family:'Bricolage Grotesque',Archivo,sans-serif;font-weight:800;
  font-size:1.25rem;letter-spacing:-.03em;color:var(--encre)}
.path .go{white-space:nowrap;font-size:.87rem;font-weight:600;color:var(--acc);padding-top:3px}
.path .go:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.path .row{grid-template-columns:1fr;gap:11px;padding:26px 0}.path .go{padding-top:6px}}

/* ---------- avant / après ---------- */
.ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px;max-width:560px}
.ba figure{margin:0}
.ba img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 22%}
.ba figcaption{display:flex;justify-content:space-between;gap:6px;margin-top:9px;font-size:.7rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap}
.ba figcaption span{color:var(--gris);font-variant-numeric:tabular-nums}
@media(max-width:520px){.ba figcaption{font-size:.6rem;letter-spacing:.05em}}

/* ---------- bande détachée ---------- */
.bande{background:var(--haut);padding:66px 0}
.bande p{color:var(--gris)}
.bande h2,.inv h2{color:var(--encre)}
.inv .tk{color:var(--gris)}

/* ---------- qui / pas qui ---------- */
.qui{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;
  background:var(--filet);border:1px solid var(--filet);margin-top:26px}
.qui>div{background:var(--fond);padding:24px 26px}
.qui h3{font-size:1.05rem;margin-bottom:14px}
.qui ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.qui li{position:relative;padding-left:20px;color:var(--gris);font-size:.94rem;line-height:1.5}
.qui .oui li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1.5px;background:var(--acc)}
.qui .non li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1.5px;background:var(--filet)}

/* ---------- pied ---------- */
footer{border-top:1px solid var(--filet);padding:34px 0 52px;color:var(--gris);font-size:.83rem}
footer .page{display:flex;flex-direction:column;gap:8px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;
  background:var(--surf);padding:2px 6px;color:var(--encre)}
.px s{font-family:Archivo,sans-serif;font-weight:400;color:var(--gris);font-size:.72em;
  margin-right:9px;text-decoration:line-through}

/* ---------- animations ---------- */
.js-anim .rev{opacity:0;transform:translate3d(0,18px,0)}
.js-anim .rev.in{opacity:1;transform:none;
  transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1)}
.js-anim .rev.d1.in{transition-delay:.07s}
.js-anim .rev.d2.in{transition-delay:.14s}
@media(prefers-reduced-motion:reduce){.js-anim .rev{opacity:1;transform:none}}

/* A l'impression (et donc dans les PDF clients envoyes sur WhatsApp), les blocs
   en attente d'animation doivent etre visibles : sinon tout ce qui n'a pas ete
   scrolle sort blanc. Aucun effet a l'ecran. */
@media print{
  .js-anim .rev{opacity:1 !important;transform:none !important}
  .bandeau,.head{position:static}
}
