/* =========================================================================
   PIERRE FLOURENS - systeme de design partagé (accueil + PDP + pages)
   RESET BOLD V2 — 9 juil. 2026. Registre « pharmacie qui vend », anti-IA-soft.
   ADN repris des modèles qui VENDENT (Feel Reformed), recoloré à NOS codes :
   photo-DOMINANTE en très grand, gros type Montserrat, bandes CHARBON à
   texte blanc, alternance franche.
   Système V2 (corrections fondateur) :
     · BLANC PUR dominant + BANDES CHARBON (#191A1C) à texte blanc pour le punch ;
     · UN seul ROUGE d'action (#C8342A) partout : boutons, prix, badges, CTA final ;
     · AMBRE = signature RARE (monogramme + capot d'étui) — plus AUCUN bandeau/aplat ambre ;
     · réassurance & CTA final en BLANC/CHARBON, jamais ambre ;
     · contraste élevé, aplats, ombres NETTES (décalage plat), rayons faibles ;
     · on s'appuie sur la PHOTO en très grand et le gros type, pas sur des pictos.
   CHAUD TUÉ : tous les gris/off-white sont NEUTRES, très légèrement FROIDS —
   zéro cast jaune/beige, zéro crème. ZÉRO bleu. Corps 19 px, contraste AAA.
   Voix typo : Montserrat 700-800 (titres + chiffres) + Inter (courant).
   Icônes : jeu Lucide (assets/icons/), uniquement là où fonctionnel.
   ========================================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  /* Palette figée — aucune autre couleur autorisée.
     TOUS les neutres sont dé-chaudés : très légèrement FROIDS, zéro cast jaune. */
  --blanc:#FFFFFF;            /* fond dominant */
  --gris-clair:#F1F2F3;       /* fond alterné NEUTRE froid — jamais crème/beige */
  --gris-clair-2:#E6E7E9;     /* panneau neutre appuyé */
  --charbon:#191A1C;          /* bande de punch + texte — near-black NEUTRE (dé-chaudé) */
  --charbon-2:#111214;        /* charbon le plus profond (footer) */
  --charbon-soft:#26272A;     /* cartes/filets sur bande charbon */
  --encre:#191A1C;            /* texte sur clair — AAA (~16:1 sur blanc) */
  --rouge:#C8342A;            /* ACTION : boutons, prix, badges, CTA final — un seul rouge */
  --rouge-2:#A82A22;          /* rouge survol/appui */
  --rouge-3:#8C231C;          /* rouge profond (filet d'action) */
  --ambre:#D89A3E;            /* SIGNATURE RARE : monogramme + capot d'étui, rien d'autre */
  --ambre-2:#C6852B;          /* ambre appuyé */
  --ambre-fonce:#A56E1E;      /* ambre foncé (réserve) */
  --vert:#1F8A5B;             /* garantie — remplissage (grand texte blanc) */
  --vert-txt:#157049;         /* garantie — texte vert sur blanc (AA+) */
  --offwhite:#F4F5F6;         /* texte/filet sur charbon — neutre froid */
  --offwhite-mut:#ACAEB2;     /* texte atténué sur charbon — neutre */
  --gris:#585A5E;             /* mentions/légendes sur clair — neutre, contraste 60+ */
  --gris-2:#6B6D71;           /* mentions plus légères — neutre */
  --filet:#E4E5E7;            /* hairline NEUTRE sur clair */
  --filet-2:#D6D7DA;          /* filet appuyé sur clair */
  --filet-dark:rgba(244,245,246,.16); /* filet sur charbon */

  /* Échelle d'espacement — rythme structuré, jamais uniforme */
  --s1:4px; --s2:8px; --s3:12px; --s4:20px; --s5:32px; --s6:52px; --s7:88px; --s8:128px;

  /* Typo — Montserrat (titres/chiffres) + Inter (courant) */
  --head:"Montserrat","Segoe UI",system-ui,Arial,sans-serif;
  --sans:"Inter","Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;

  --measure:64ch;            /* lignes courtes ~60-70 caractères */
  --page:1240px;
  --radius:8px;
  --radius-sm:5px;
  --ombre:16px 18px 0 -2px var(--gris-clair-2); /* décalage PLAT, pas d'ombre flottante */

  /* --- Alias de compatibilité (autres pages : PDP, labo, ingrédients, légal…) ---
     Les anciens noms de tokens sont REPOINTÉS sur les valeurs BOLD : le crème
     devient un gris neutre (dé-crémage global), le serif devient Montserrat.
     → tout le site hérite du reset sans réécrire chaque page inline. */
  --serif:var(--head);       /* ancien titrage Fraunces → Montserrat */
  --encre-2:#37393C;         /* encre adoucie (survols, texte secondaire) — neutre */
  --creme:#F1F2F3;           /* ancien crème → gris neutre froid (dé-crémé) */
  --creme-2:#E6E7E9;         /* ancien crème appuyé → gris neutre froid */
  --rouge-wash:rgba(200,52,42,.055); /* lavis ROSÉ FROID (halo reco) — dérivé du rouge, jamais crème */
}

/* ---------- 2. Reset raisonné ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--blanc);
  color:var(--encre);
  font-family:var(--sans);
  font-size:19px;                 /* corps 19 px (cible 18-20) */
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--rouge);text-underline-offset:.16em;text-decoration-thickness:2px}
a:hover{color:var(--rouge-2)}
h1,h2,h3,h4{font-family:var(--head);font-weight:800;line-height:1.06;margin:0;
  letter-spacing:-.012em;text-wrap:balance}
strong,b{font-weight:700}
::selection{background:var(--rouge);color:#fff}
:focus-visible{outline:3px solid var(--rouge);outline-offset:3px;border-radius:2px}
.tnum,.dose__n,.price,.tier__day,.repere__n,.bignum__n,table{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- 3. Gabarit & rythme ---------- */
.wrap{max-width:var(--page);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.wrap--narrow{max-width:900px}
.prose{max-width:var(--measure)}
.prose p{margin:0 0 var(--s4)}
.prose p:last-child{margin-bottom:0}
section{padding-block:var(--s7)}
.sec-tight{padding-block:var(--s6)}
/* Bandes de fond — l'alternance porte le rythme bold */
.tint,.band--soft{background:var(--gris-clair)}   /* alt NEUTRE, jamais crème */
.invert,.band--charbon{background:var(--charbon);color:var(--offwhite)}
.invert h1,.invert h2,.invert h3,.band--charbon h1,.band--charbon h2,.band--charbon h3{color:#fff}
.invert a,.band--charbon a{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em}
.invert a:hover,.band--charbon a:hover{color:var(--offwhite-mut)}
.invert p,.band--charbon p{color:var(--offwhite)}
.hr{height:1px;background:var(--filet);border:0;margin:0}
.hr--ink{height:3px;background:var(--encre);border:0;margin:0}
/* Les enfants de grille doivent pouvoir rétrécir (anti-débordement mobile) */
.hero__grid>*,.split>*,.limpide>*,.dyna>*,.tiers>*,.voices>*,.teaser>*{min-width:0}

/* Kicker de section (autres pages) : pastille numéro + intitulé capitales tracées */
.kicker{display:flex;align-items:center;gap:var(--s3);
  font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--encre);margin:0 0 var(--s4)}
.kicker__num{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;
  background:var(--charbon);color:#fff;border-radius:5px;font-size:15px;letter-spacing:0}
.invert .kicker,.band--charbon .kicker{color:#fff}
.invert .kicker__num,.band--charbon .kicker__num{background:var(--charbon-soft);color:#fff}

/* Overline (ACCUEIL V2) : intitulé de section SEUL — pas de pastille, pas de
   filet coloré devant le titre (on a retiré le « petit trait » = tell IA).
   Le titre porte seul, en gros Montserrat. */
.overline{font-family:var(--head);font-weight:800;font-size:13.5px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--gris);margin:0 0 var(--s3)}
.band--charbon .overline,.invert .overline{color:var(--offwhite-mut)}

/* ---------- 4. Échelle typographique (bold) ---------- */
.display{font-family:var(--head);font-weight:800;
  font-size:clamp(38px,6vw,74px);line-height:1.02;letter-spacing:-.02em}
.h-lead{font-family:var(--head);font-weight:800;
  font-size:clamp(28px,3.8vw,44px);line-height:1.06;letter-spacing:-.012em}
.h-sec{font-family:var(--head);font-weight:800;
  font-size:clamp(23px,2.9vw,33px);line-height:1.1;letter-spacing:-.006em}
.lede{font-size:clamp(19px,1.55vw,22px);line-height:1.5;color:var(--encre);max-width:58ch}
.invert .lede,.band--charbon .lede{color:var(--offwhite)}
/* Eyebrow : intitulé sobre, SANS pastille ambre (dé-ambré). */
.eyebrow{display:inline-block;font-family:var(--head);font-weight:800;font-size:13.5px;
  letter-spacing:.17em;text-transform:uppercase;color:var(--gris);margin:0 0 var(--s3)}
.band--charbon .eyebrow,.invert .eyebrow{color:var(--offwhite-mut)}
/* Emphase de mot-clé : encre pleine + soulignage ROUGE franc (jamais surligneur ambre) */
.mark{font-weight:800;color:var(--encre);
  box-shadow:inset 0 -.16em 0 rgba(200,52,42,.9);
  padding:0 .01em}
.band--charbon .mark,.invert .mark{color:#fff}
.rouge{color:var(--rouge)}
.note{font-size:15.5px;line-height:1.55;color:var(--gris)}
.invert .note,.band--charbon .note{color:var(--offwhite-mut)}
.aster{color:var(--rouge);font-weight:800}

/* ---------- 5. Boutons (dessinés, gros, sans dégradé) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--head);font-weight:800;font-size:18px;line-height:1.05;
  text-decoration:none;cursor:pointer;text-align:center;letter-spacing:.005em;
  padding:18px 30px;min-height:60px;border-radius:var(--radius-sm);
  border:2.5px solid transparent;transition:background .15s,color .15s,border-color .15s,transform .05s}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--rouge);color:#fff;border-color:var(--rouge)}
.btn--primary:hover{background:var(--rouge-2);border-color:var(--rouge-2);color:#fff}
.btn--primary .arw{color:#fff}
.btn--ghost{background:transparent;color:var(--encre);border-color:var(--encre)}
.btn--ghost:hover{background:var(--encre);color:#fff}
.invert .btn--ghost,.band--charbon .btn--ghost{color:#fff;border-color:#fff}
.invert .btn--ghost:hover,.band--charbon .btn--ghost:hover{background:#fff;color:var(--charbon)}
/* Boutons ambre (réserve) : contour charbon si jamais posés sur un aplat ambre */
.on-amber .btn--primary{border-color:var(--charbon)}
.btn--block{display:flex;width:100%}
.btn--lg{min-height:66px;font-size:20px;padding:20px 36px}
.btn--sm{min-height:48px;padding:11px 20px;font-size:16px}
.btn__sub{display:block;font-weight:700;font-size:12.5px;letter-spacing:.01em;opacity:.92;margin-top:3px}
.arw{font-weight:900}

/* ---------- 6. Iconographie — jeu LUCIDE (stroke=currentColor) ---------- */
.ic{width:1.3em;height:1.3em;flex:0 0 auto;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.28em}
.ic--lg{width:34px;height:34px}

/* ---------- 7. Barre utilitaire (téléphone TOUJOURS visible — collante) ---------- */
.util{background:var(--charbon);color:var(--offwhite);font-size:14.5px;
  position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.12)}
.util__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  min-height:46px;padding-block:6px;flex-wrap:wrap}
.util__phone{display:inline-flex;align-items:center;gap:.5em;color:#fff;
  font-weight:700;text-decoration:none}
.util__phone .ic{color:#fff}
.util__phone .num{font-variant-numeric:tabular-nums;font-weight:800}
.util__phone:hover{color:var(--offwhite-mut)}
.util__items{display:flex;align-items:center;gap:var(--s5);color:var(--offwhite);flex-wrap:wrap}
.util__it{display:inline-flex;align-items:center;gap:.45em;font-weight:600}

/* ---------- 8. Header / masthead ---------- */
.head{background:var(--blanc);border-bottom:1px solid var(--filet);position:relative;z-index:30}
.head__in{display:flex;align-items:center;gap:var(--s4);min-height:84px}
/* Wordmark — PISTE typographique ; logo final → graphiste (DA §9) */
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--encre)}
.brand__mk{width:46px;height:46px;flex:0 0 auto;background:var(--charbon);border-radius:6px;
  display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:26px;
  color:var(--ambre);line-height:1}
.brand__tx{display:flex;flex-direction:column;line-height:1}
.brand__lab{font-family:var(--head);font-weight:800;font-size:10.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gris)}
.brand__nm{font-family:var(--head);font-weight:800;font-size:25px;color:var(--encre);
  letter-spacing:-.01em;margin-top:3px}
.nav{display:flex;align-items:center;gap:var(--s5);margin-left:auto}
.nav__link{font-family:var(--head);font-weight:700;font-size:16px;color:var(--encre);
  text-decoration:none;padding:6px 2px;border-bottom:3px solid transparent}
.nav__link:hover{color:var(--rouge);border-bottom-color:var(--rouge)}
.head__cta{margin-left:var(--s2)}
.burger{display:none;margin-left:auto;width:54px;height:54px;border:2.5px solid var(--encre);
  border-radius:var(--radius-sm);background:var(--blanc);cursor:pointer;
  align-items:center;justify-content:center;color:var(--encre)}
.burger .ic{width:26px;height:26px}

/* ---------- 9. Bandeau réassurance — BLANC/CHARBON (dé-ambré), sans picto déco ---------- */
.reassure{background:var(--blanc);border-block:1px solid var(--filet)}
.reassure__in{display:flex;align-items:stretch;flex-wrap:wrap;justify-content:space-between;gap:0}
.reassure__it{display:inline-flex;align-items:center;gap:.5em;font-family:var(--head);
  font-weight:800;font-size:15px;letter-spacing:.01em;color:var(--encre);
  padding:15px clamp(10px,2vw,22px);flex:1 1 auto;justify-content:center;
  border-left:1px solid var(--filet)}
.reassure__it:first-child{border-left:0}
.reassure__it .ic{color:var(--encre);width:1.2em;height:1.2em}

/* ---------- 10. HERO — photo DOMINANTE + fiche étui en incrustation ---------- */
.hero{position:relative;background:var(--blanc)}
.hero__grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.08fr);align-items:stretch}
.hero__col{padding:clamp(36px,5vw,72px) clamp(28px,4vw,60px) clamp(36px,5vw,72px)
  clamp(20px,calc((100vw - var(--page))/2 + 48px),200px);
  display:flex;flex-direction:column;justify-content:center}
.hero .display{max-width:18ch}
.hero__sub{font-family:var(--head);font-weight:700;font-size:clamp(19px,1.9vw,24px);
  line-height:1.28;color:var(--encre);margin:var(--s4) 0 0;max-width:36ch}
.hero__p{font-family:var(--sans);margin:var(--s4) 0 0;max-width:46ch;color:var(--encre);font-size:18px}
.hero__price{display:flex;align-items:baseline;gap:.5em;flex-wrap:wrap;margin-top:var(--s5)}
.hero__price .lbl{font-weight:700;font-size:16px;color:var(--gris)}
.hero__price .amt{font-family:var(--head);font-weight:800;font-size:clamp(34px,4vw,46px);
  color:var(--rouge);line-height:1}
.hero__price .u{font-family:var(--head);font-weight:800;font-size:18px;color:var(--encre)}
.hero__price .sub{font-size:15px;font-weight:700;color:var(--gris)}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4)}
.hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5);
  margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--filet)}
.hero__rea{display:inline-flex;align-items:center;gap:.4em;font-weight:700;font-size:15px;color:var(--encre)}
.hero__rea .ic{color:var(--vert);width:1.2em;height:1.2em}
/* Réassurance hero en texte simple (pas de rangée de pictos) */
.hero__reassure{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--filet);
  font-family:var(--head);font-weight:700;font-size:15px;color:var(--gris);line-height:1.5}
.hero__reassure b{color:var(--encre)}
/* Colonne média : photo cover, bleed jusqu'au bord droit du viewport */
.hero__media{position:relative;min-height:clamp(460px,56vw,720px);background:var(--gris-clair)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__tag{position:absolute;top:16px;right:16px;z-index:3;
  background:rgba(27,22,19,.82);color:var(--offwhite);font-family:var(--head);
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 11px;border-radius:5px}

/* Preuve ★ — honnête, chiffres réels et gros */
.stars{display:inline-flex;align-items:center;gap:.5em;font-weight:800;font-size:16px}
.stars__g{color:var(--ambre-fonce);letter-spacing:.06em;font-size:19px}
.stars__n{color:var(--gris);font-weight:700}

/* --- Fiche produit type FACE D'ÉTUI (composée, incrustée sur la photo) --- */
.box{position:relative;background:var(--blanc);border:2px solid var(--charbon);
  border-radius:var(--radius);max-width:340px;box-shadow:var(--ombre)}
.hero__media .box{position:absolute;left:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:2}
.box__cap{background:var(--ambre);color:var(--charbon);padding:12px 18px 11px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:2px solid var(--charbon)}
.box__cap .lab{font-family:var(--head);font-weight:800;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.box__cap .fr{font-family:var(--head);font-weight:800;font-size:11.5px;display:inline-flex;align-items:center;gap:.4em}
.box__body{padding:18px 20px 18px}
.box__name{font-family:var(--head);font-weight:800;font-size:28px;line-height:1;color:var(--encre);letter-spacing:-.015em}
.box__sub{font-family:var(--head);font-weight:800;font-size:12px;letter-spacing:.06em;color:var(--gris);
  text-transform:uppercase;margin-top:5px}
.box__doses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:16px 0 4px;
  border:1.5px solid var(--charbon);border-radius:6px;overflow:hidden}
.box__doses .dose{padding:12px 6px 11px;text-align:center;border-left:1.5px solid var(--filet-2)}
.box__doses .dose:first-child{border-left:0}
.dose__n{font-family:var(--head);font-weight:800;font-size:26px;line-height:1;color:var(--encre)}
.dose__n small{font-size:13px;font-weight:800}
.dose__u{display:block;font-size:11px;font-weight:800;letter-spacing:.03em;
  text-transform:uppercase;color:var(--gris);margin-top:5px}
.dose__vnr{display:block;font-size:10.5px;color:var(--gris);font-weight:800;margin-top:2px}
.box__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:14px;padding-top:12px;border-top:2px dashed var(--filet-2);
  font-size:12px;font-weight:700;color:var(--gris)}
.box__ca{display:inline-block;background:var(--charbon);color:#fff;
  font-family:var(--head);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 9px;border-radius:4px}

/* frise posologie matin/midi/soir */
.poso{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.poso__step{text-align:center;padding:14px 6px;background:var(--gris-clair);border-radius:var(--radius-sm);
  border:1px solid var(--filet)}
.poso__step .ic{color:var(--encre);width:26px;height:26px;margin:0 auto 6px}
.poso__step b{display:block;font-family:var(--head);font-weight:800;font-size:14px;color:var(--encre)}
.poso__step span{display:block;font-size:12.5px;color:var(--gris);margin-top:2px}
.invert .poso__step,.band--charbon .poso__step{background:var(--charbon-soft);border-color:var(--filet-dark)}
.invert .poso__step b,.band--charbon .poso__step b{color:#fff}
.invert .poso__step span,.band--charbon .poso__step span{color:var(--offwhite-mut)}

/* ---------- 11. Repères chiffrés (le problème) — GROS numéraux ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(28px,5vw,64px);align-items:start}
.reperes{border-top:3px solid var(--charbon)}
.repere{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4);align-items:center;
  padding:var(--s4) 0;border-bottom:1.5px solid var(--filet-2)}
.repere__n{font-family:var(--head);font-weight:800;font-size:clamp(38px,4.6vw,54px);
  line-height:.92;color:var(--rouge);white-space:nowrap;letter-spacing:-.02em}
.repere__lbl{font-size:16.5px;line-height:1.35;color:var(--encre);font-weight:700}
.repere__lbl small{display:block;font-weight:500;color:var(--gris);font-size:15px;margin-top:3px}
.invert .repere,.band--charbon .repere{border-bottom-color:var(--filet-dark)}
.invert .reperes,.band--charbon .reperes{border-top-color:#fff}
.invert .repere__n,.band--charbon .repere__n{color:#fff}
.invert .repere__lbl,.band--charbon .repere__lbl{color:#fff}
.invert .repere__lbl small,.band--charbon .repere__lbl small{color:var(--offwhite-mut)}

/* ---------- 12. Notice / allégations ---------- */
.notice{background:var(--gris-clair);border:1.5px solid var(--filet-2);border-radius:var(--radius);
  padding:clamp(22px,3vw,34px)}
.notice__t{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gris);margin:0 0 var(--s4);display:flex;align-items:center;gap:.6em}
.notice__t .ic{color:var(--encre)}
.claims{list-style:none;margin:0;padding:0}
.claims li{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--filet-2);
  font-size:16.5px;line-height:1.45}
.claims li:first-child{border-top:0}
.claims li::before{content:"";position:absolute;left:2px;top:18px;width:11px;height:11px;
  background:var(--charbon);border-radius:2px}
.claims b{font-weight:800}

.dostable{width:100%;border-collapse:collapse;font-size:16.5px}
.dostable th,.dostable td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--filet-2)}
.dostable thead th{font-family:var(--head);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gris);border-bottom:3px solid var(--charbon)}
.dostable td.v{font-family:var(--head);font-weight:800;font-size:20px;text-align:right;
  color:var(--encre);white-space:nowrap}
.dostable tr:last-child td{border-bottom:0}

/* ---------- 13. Transparence « limpide » (bande charbon + photo dominante) ---------- */
.limpide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(30px,5vw,64px);align-items:center}
.compare{display:flex;gap:var(--s5);margin-top:var(--s5);flex-wrap:wrap}
.compare__it{flex:1 1 210px}
.compare__tag{display:inline-flex;align-items:center;gap:.4em;font-family:var(--head);font-weight:800;
  font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.compare__tag.yes{color:#fff}
.compare__tag.no{color:var(--offwhite-mut)}

/* ---------- 14. Teaser d'offre — 3 paliers, abonnement par défaut ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);align-items:stretch}
.tier{position:relative;background:var(--blanc);border:2px solid var(--filet-2);
  border-radius:var(--radius);padding:28px 24px 26px;display:flex;flex-direction:column}
.tier--reco{border-color:var(--charbon);border-width:3px;box-shadow:var(--ombre)}
.tier__badge{position:absolute;top:-15px;left:24px;background:var(--rouge);color:#fff;
  font-family:var(--head);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:7px 14px;border-radius:5px}
.tier__name{font-family:var(--head);font-weight:800;font-size:23px;color:var(--encre);letter-spacing:-.01em}
.tier__vol{font-size:14.5px;font-weight:600;color:var(--gris);margin-top:3px}
.tier__price{margin-top:16px;font-weight:700;font-size:16px;color:var(--encre)}
.tier__price .amt{display:block;font-family:var(--head);font-weight:800;font-size:32px;
  color:var(--rouge);line-height:1;letter-spacing:-.02em}
.tier__day{display:inline-block;margin-top:10px;background:var(--charbon);color:#fff;
  font-family:var(--head);font-weight:800;font-size:14px;padding:6px 12px;border-radius:5px}
.tier__list{list-style:none;margin:18px 0 22px;padding:0;font-size:15.5px}
.tier__list li{position:relative;padding:8px 0 8px 28px;line-height:1.35}
.tier__list li .ic{position:absolute;left:0;top:9px;width:18px;height:18px;color:var(--vert)}
.tier__cta{margin-top:auto}

/* ---------- 15. Garantie (objet graphique calme — vert, uniquement ici) ---------- */
.guarantee{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,36px);
  align-items:center;background:var(--blanc);border:3px solid var(--vert);border-radius:var(--radius);
  padding:clamp(22px,3vw,34px)}
.seal{width:130px;height:130px;flex:0 0 auto;border-radius:50%;background:var(--vert);
  color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1;box-shadow:inset 0 0 0 3px rgba(255,255,255,.8)}
.seal__k{font-family:var(--head);font-weight:800;font-size:9px;letter-spacing:.04em;text-transform:uppercase;opacity:.9}
.seal b{font-family:var(--head);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.03em;margin:0}
.seal span{font-family:var(--head);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-top:1px}
.guarantee__t{font-family:var(--head);color:var(--vert-txt);font-weight:800;font-size:14px;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.guarantee__lead{font-size:19px;line-height:1.45}
.guarantee__lead b{color:var(--vert-txt)}

/* ---------- 16. Marque « franc-jeu » (checklist) ---------- */
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2);
  grid-template-columns:repeat(2,minmax(0,1fr))}
.checklist li{display:grid;grid-template-columns:auto 1fr;gap:.7em;align-items:start;
  padding:14px 16px;background:var(--blanc);border:1.5px solid var(--filet-2);border-radius:var(--radius-sm);
  font-size:16.5px;line-height:1.35;font-weight:600}
.checklist li .ic{margin-top:2px}
.check--yes .ic{color:var(--vert)}
.check--no{color:var(--gris)}
.check--no .ic{color:var(--rouge)}
.legalnote{margin-top:var(--s4);padding:18px 22px;background:var(--gris-clair);
  border:1.5px solid var(--filet-2);border-radius:var(--radius-sm);
  font-size:15.5px;line-height:1.55;color:var(--gris)}
.legalnote b{color:var(--encre)}

/* ---------- 17. Hook dynamomètre (objet-preuve) ---------- */
.dyna{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px);align-items:center}
.dyna__gauge{justify-self:center;text-align:center}
.gauge{--v:62;width:200px;height:110px;position:relative;margin:0 auto}
.gauge svg{width:100%;height:100%;overflow:visible}
.gauge__val{font-family:var(--head);font-weight:800;font-size:42px;color:var(--rouge);line-height:1;margin-top:-6px}
.gauge__lbl{font-family:var(--head);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}

/* ---------- 18. Preuve sociale — témoignages honnêtes ---------- */
.voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.voice{background:var(--blanc);border:1.5px solid var(--filet-2);border-radius:var(--radius);
  padding:26px 24px;display:flex;flex-direction:column}
.voice__stars{color:var(--ambre-fonce);font-size:18px;letter-spacing:.05em;font-weight:800}
.voice__tx{font-size:17px;line-height:1.5;margin:12px 0 18px;color:var(--encre)}
.voice__tx::before{content:"«\00a0"}
.voice__tx::after{content:"\00a0»"}
.voice__who{display:flex;align-items:center;gap:12px;margin-top:auto}
.voice__ph{width:48px;height:48px;border-radius:50%;background:var(--gris-clair-2);
  border:1.5px dashed var(--filet-2);flex:0 0 auto;display:grid;place-items:center;
  color:var(--gris)}
.voice__ph .ic{width:22px;height:22px}
.voice__nm{font-family:var(--head);font-weight:800;font-size:16px;color:var(--encre)}
.voice__badge{display:inline-flex;align-items:center;gap:.3em;font-size:11.5px;font-weight:800;letter-spacing:.02em;
  color:var(--vert-txt);text-transform:uppercase;margin-top:2px}
.voice__badge .ic{width:1.05em;height:1.05em}
.rating-head{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s5)}
.rating-head .big{font-family:var(--head);font-weight:800;font-size:48px;color:var(--encre);line-height:1}
.rating-head .g{color:var(--ambre-fonce);font-size:24px;letter-spacing:.06em}

/* ---------- 19. Caution Laboratoire (signature + cachet) ---------- */
.signature{font-family:var(--head);font-weight:800;font-size:28px;color:var(--encre);
  margin-top:var(--s4);letter-spacing:-.01em}
.stamp{width:134px;height:134px;flex:0 0 auto;border-radius:50%;
  border:3px solid var(--charbon);color:var(--charbon);
  display:grid;place-items:center;text-align:center;transform:rotate(-7deg);
  font-weight:800;line-height:1.12;padding:10px}
.stamp b{font-family:var(--head);font-weight:800;font-size:19px;display:block;color:var(--encre)}
.stamp span{font-family:var(--head);font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:3px}
.stamp .ic{width:22px;height:22px;margin:5px auto 0}

/* ---------- 20. Bandeau CTA final — BANDE CHARBON (dé-ambré), photo en fond ---------- */
.finalcta{position:relative;background:var(--charbon);color:#fff;overflow:hidden}
.finalcta__bg{position:absolute;inset:0;z-index:0}
.finalcta__bg img{width:100%;height:100%;object-fit:cover;opacity:.20;
  filter:grayscale(.3)}
.finalcta__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(25,26,28,.72),rgba(25,26,28,.86))}
.finalcta .wrap{position:relative;z-index:1}
.finalcta .display,.finalcta h2{color:#fff}
.finalcta p{color:var(--offwhite)}
.finalcta__phone{display:inline-flex;align-items:center;gap:.5em;font-family:var(--head);font-weight:800;
  color:#fff;text-decoration:none;font-size:18px;margin-top:var(--s5)}
.finalcta__phone .num{color:#fff;font-variant-numeric:tabular-nums;text-decoration:underline;text-underline-offset:.2em}
.finalcta__phone .ic{color:#fff}

/* ---------- 21. Footer (charbon profond) ---------- */
.foot{background:var(--charbon-2);color:var(--offwhite-mut);font-size:15.5px;padding-block:var(--s6) var(--s5)}
.foot a{color:var(--offwhite);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:.16em}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:var(--s5)}
.foot__brand .brand__nm{color:#fff}
.foot__brand .brand__lab{color:var(--offwhite-mut)}
.foot__brand .brand__mk{background:var(--ambre);color:var(--charbon)}
.foot h4{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;margin-bottom:var(--s3)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot__legal{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--filet-dark);
  font-size:14px;color:var(--offwhite-mut);line-height:1.6}
.foot__legal b{color:var(--offwhite)}

/* ---------- 22. Barre d'achat collante ---------- */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--blanc);
  border-top:3px solid var(--charbon);box-shadow:0 -8px 28px rgba(27,22,19,.16);
  transform:translateY(110%);transition:transform .28s ease}
.buybar.is-visible{transform:translateY(0)}
.buybar__in{display:flex;align-items:center;gap:var(--s4);padding-block:12px;min-height:74px}
.buybar__info{line-height:1.2}
.buybar__info b{font-family:var(--head);font-size:17px;color:var(--encre)}
.buybar__info .amt{color:var(--rouge);font-weight:800}
.buybar__info span{display:block;font-size:14px;color:var(--gris);font-weight:600}
.buybar__cta{margin-left:auto}

/* ---------- 23. Pop-up de bienvenue ---------- */
.modal{position:fixed;inset:0;z-index:90;display:none;padding:20px;overflow-y:auto;
  -webkit-overflow-scrolling:touch;background:rgba(27,22,19,.6)}
.modal[data-open]{display:flex}
/* margin:auto + overlay scrollable = carte centrée si elle tient, sinon alignée en haut
   et défilable — la croix reste toujours atteignable, sur toutes les tailles d'écran. */
.modal__card{background:var(--blanc);max-width:520px;width:100%;margin:auto;border-radius:var(--radius);
  border-top:8px solid var(--charbon);overflow:hidden;position:relative;
  box-shadow:0 26px 64px rgba(25,26,28,.35)}
.modal__card--wide{max-width:640px}
.modal__body{padding:clamp(26px,4vw,42px)}
.modal__close{position:absolute;top:12px;right:12px;z-index:3;width:46px;height:46px;
  min-width:46px;min-height:46px;padding:0;border:2px solid #fff;border-radius:999px;cursor:pointer;
  background:var(--charbon);color:#fff;display:grid;place-items:center;
  box-shadow:0 3px 12px rgba(25,26,28,.45);-webkit-appearance:none;appearance:none;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation}
.modal__close .ic{width:24px;height:24px;stroke:#fff;stroke-width:2.4}
.modal__close:hover{background:#000}
.modal__close:focus-visible{outline:3px solid var(--rouge);outline-offset:3px}
.modal__k{font-family:var(--head);font-weight:800;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris)}
.modal__t{font-family:var(--head);font-weight:800;font-size:29px;line-height:1.08;margin:8px 0 10px;color:var(--encre)}
.modal__phone{display:flex;align-items:center;gap:.5em;font-family:var(--head);font-weight:800;font-size:22px;
  color:var(--encre);text-decoration:none;margin-top:6px}
.modal__phone .num{color:var(--rouge)}
.modal__phone .ic{color:var(--encre)}
.modal__fine{margin-top:16px;font-size:13.5px;color:var(--gris)}

/* ---------- 24. Emplacement photo (HONNÊTE — à shooter) ---------- */
.photoslot{position:relative;background:var(--gris-clair);border:2px dashed var(--filet-2);
  border-radius:var(--radius);min-height:280px;display:grid;place-items:center;text-align:center;
  padding:28px;overflow:hidden}
.photoslot__tag{position:absolute;top:14px;left:14px;background:var(--charbon);color:#fff;
  font-family:var(--head);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 11px;border-radius:5px}
.photoslot__d{max-width:34ch;color:var(--gris);font-size:15.5px;line-height:1.5}
.photoslot__d .ic{width:32px;height:32px;color:var(--gris);margin:0 auto 10px}
.photoslot__d b{font-family:var(--head);display:block;color:var(--encre);font-size:16.5px;margin-bottom:4px}

/* ---------- 25. Utilitaires ---------- */
.stack-3>*+*{margin-top:var(--s3)}
.stack-4>*+*{margin-top:var(--s4)}
.stack-5>*+*{margin-top:var(--s5)}
.center{text-align:center}
.maxw{max-width:760px;margin-inline:auto}

/* =========================================================================
   EXTENSION — composants « pages qui vendent » (accueil + PDP)
   Restylés bold ; mêmes classes → toutes les pages héritent du reskin.
   ========================================================================= */

/* ---------- 26. Figure photo RÉELLE (placeholder de banque, étiqueté) ---------- */
.shot{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--gris-clair);line-height:0}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot--tall{aspect-ratio:4/5}
.shot--wide{aspect-ratio:3/2}
.shot--sq{aspect-ratio:1/1}
.shot__tag{position:absolute;left:12px;bottom:12px;z-index:2;
  background:rgba(27,22,19,.82);color:var(--offwhite);font-family:var(--head);
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 11px;border-radius:5px;line-height:1.1}
.shot__cap{position:absolute;left:0;right:0;bottom:0;z-index:1;
  padding:28px 16px 12px;color:#fff;font-size:13.5px;font-weight:700;line-height:1.35;
  background:linear-gradient(to top,rgba(27,22,19,.78),rgba(27,22,19,0))}

/* ---------- 27. Bandeau preuve sociale (honnête) ---------- */
.proofbar{background:var(--gris-clair);border-block:1px solid var(--filet-2)}
.proofbar__in{display:flex;align-items:center;justify-content:center;
  gap:var(--s3) var(--s6);flex-wrap:wrap;padding-block:18px;text-align:center}
.proofbar__stars{display:inline-flex;align-items:baseline;gap:.55em;font-weight:800}
.proofbar__g{color:var(--ambre-fonce);font-size:24px;letter-spacing:.06em}
.proofbar__n{font-size:16px;color:var(--encre)}
.proofbar__n b{font-weight:800}
.proofbar__sep{width:2px;height:26px;background:var(--filet-2)}
.proofbar__it{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:15.5px;color:var(--encre)}
.proofbar__it b{font-weight:800}
.proofbar__it .ic{color:var(--encre);width:1.25em;height:1.25em}

/* ---------- 28. Bloc produit unique — teaser vers la PDP ---------- */
.teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr);
  gap:clamp(28px,4vw,56px);align-items:center;
  background:var(--blanc);border:3px solid var(--charbon);border-radius:var(--radius);
  padding:clamp(26px,3.4vw,44px);box-shadow:var(--ombre)}
.teaser__k{font-family:var(--head);font-weight:800;font-size:13.5px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--gris);display:inline-block;margin-bottom:var(--s3)}
.teaser__price{display:flex;align-items:baseline;gap:.4em;margin:var(--s4) 0 var(--s2);flex-wrap:wrap}
.teaser__amt{font-family:var(--head);font-weight:800;font-size:clamp(44px,5.4vw,64px);
  color:var(--rouge);line-height:.9;letter-spacing:-.02em}
.teaser__u{font-family:var(--head);font-weight:800;font-size:18px;color:var(--encre)}
.teaser__sub{font-size:16px;color:var(--gris);font-weight:600}
.teaser__cta{margin-top:var(--s5);display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.teaser__bonus{display:inline-flex;align-items:center;gap:.5em;margin-top:var(--s4);
  font-size:15px;font-weight:700;color:var(--encre)}
.teaser__bonus .ic{color:var(--vert);width:1.3em;height:1.3em}

/* ---------- 29. Chiffres-héros (PDP : 30 g · 6 g · 20 µg) ---------- */
.bignums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-block:3px solid var(--charbon)}
.bignum{padding:28px 22px 26px;text-align:center;border-left:1.5px solid var(--filet-2)}
.bignum:first-child{border-left:0}
.bignum__n{font-family:var(--head);font-weight:800;font-size:clamp(44px,5.6vw,66px);
  line-height:.95;color:var(--encre);letter-spacing:-.02em}
.bignum__n small{font-size:.42em;font-weight:800}
.bignum__u{display:block;font-family:var(--head);font-size:13.5px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--rouge);margin-top:10px}
.bignum__d{display:block;font-size:14.5px;color:var(--gris);font-weight:600;margin-top:4px}
.invert .bignums,.band--charbon .bignums{border-color:#fff}
.invert .bignum,.band--charbon .bignum{border-left-color:var(--filet-dark)}
.invert .bignum__n,.band--charbon .bignum__n{color:#fff}
.invert .bignum__u,.band--charbon .bignum__u{color:#fff}
.invert .bignum__d,.band--charbon .bignum__d{color:var(--offwhite-mut)}

/* ---------- 30. Galerie PDP ---------- */
.pdp{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,452px);
  gap:clamp(26px,3.6vw,56px);align-items:start}
.gallery{position:sticky;top:64px}
.gallery__strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.gallery__strip .shot,.gallery__strip .photoslot{aspect-ratio:1/1;min-height:0;border-radius:6px}
.gallery__strip .photoslot{padding:8px}
.gallery__strip .photoslot__d{font-size:11.5px;line-height:1.3}

/* ---------- 31. Sélecteur de DURÉE (radio-cartes) ---------- */
.buycard{background:var(--blanc);border:3px solid var(--charbon);border-radius:var(--radius);
  padding:24px 22px 22px;box-shadow:var(--ombre)}
.buycard__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.buycard__title{font-family:var(--head);font-weight:800;font-size:23px;color:var(--encre)}
.buycard__hint{font-size:15px;color:var(--gris);margin:2px 0 16px}
.buycard__hint a{font-weight:800}
.pick{border:2px solid var(--filet-2);border-radius:var(--radius);overflow:hidden;margin:0;padding:0}
.pick__row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;align-items:center;padding:16px 16px 15px;border-top:2px solid var(--filet-2);
  cursor:pointer;background:var(--blanc);transition:background .14s}
.pick__row:first-child{border-top:0}
.pick__row:hover{background:var(--gris-clair)}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick__mark{width:26px;height:26px;border-radius:50%;border:3px solid var(--filet-2);
  flex:0 0 auto;position:relative;transition:border-color .14s}
.pick__mark::after{content:"";position:absolute;inset:5px;border-radius:50%;
  background:var(--rouge);transform:scale(0);transition:transform .14s}
.pick__name{font-family:var(--head);font-weight:800;font-size:18px;color:var(--encre);line-height:1.2}
.pick__meta{display:block;font-weight:500;font-size:14px;color:var(--gris);margin-top:3px}
.pick__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.pick__flag{font-family:var(--head);font-size:11.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:4px 9px;border-radius:5px;line-height:1.1}
.pick__flag--disc{background:var(--rouge);color:#fff}
.pick__flag--gift{background:var(--charbon);color:#fff}
.pick__price{text-align:right;white-space:nowrap}
.pick__day{font-family:var(--head);font-weight:800;font-size:24px;color:var(--rouge);line-height:1;display:block}
.pick__day small{font-size:12px;font-weight:800;color:var(--gris);display:block;letter-spacing:.02em;text-transform:uppercase;margin-top:2px}
.pick__was{font-size:13px;color:var(--gris);text-decoration:line-through;text-decoration-color:var(--rouge);display:block;margin-top:6px}
.pick__now{font-size:14.5px;font-weight:800;color:var(--encre);display:block}
.pick__row.is-picked,.pick__row:has(input:checked){background:var(--rouge-wash);box-shadow:inset 0 0 0 3px var(--rouge)}
.pick__row.is-picked .pick__mark,.pick__row:has(input:checked) .pick__mark{border-color:var(--rouge)}
.pick__row.is-picked .pick__mark::after,.pick__row:has(input:checked) .pick__mark::after{transform:scale(1)}
.pick__row .pick__badge{grid-column:1 / -1;justify-self:start;background:var(--rouge);color:#fff;
  font-family:var(--head);font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 11px;border-radius:5px;margin-bottom:4px}
.pick__row:focus-within{outline:3px solid var(--rouge);outline-offset:2px}
.abo-only{display:flex;align-items:center;gap:.5em;margin:14px 0 0;font-size:14px;font-weight:600;color:var(--gris)}
.abo-only .ic{color:var(--gris);width:1.2em;height:1.2em}
.buycard__pay{font-size:14px;color:var(--gris);text-align:center;margin-top:10px}
.warranty{margin-top:16px;border:2px solid var(--vert);border-radius:var(--radius);padding:16px 18px;background:var(--blanc)}
.warranty__t{display:flex;align-items:center;gap:.5em;color:var(--vert-txt);font-family:var(--head);font-weight:800;font-size:16px}
.warranty__t .ic{color:var(--vert);width:1.4em;height:1.4em}
.warranty ol{margin:10px 0 0;padding-left:20px;font-size:15px;line-height:1.5}
.warranty ol li{margin-top:4px}
.warranty b{color:var(--vert-txt)}
.buycard__reassure{margin-top:14px;font-size:14px;color:var(--gris);line-height:1.5}

/* ---------- 32. Bénéfices EFSA — registre éditorial, GROS numéraux ---------- */
.bnf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.bnf__card{background:var(--blanc);border:1.5px solid var(--filet-2);border-radius:var(--radius);padding:26px 24px;display:flex;flex-direction:column}
.bnf__ic{width:52px;height:52px;border-radius:var(--radius-sm);background:var(--charbon);
  display:grid;place-items:center;color:#fff;margin-bottom:18px}
.bnf__ic .ic{width:28px;height:28px}
.bnf__t{font-family:var(--head);font-weight:800;font-size:22px;color:var(--encre)}
.bnf__p{font-size:16.5px;line-height:1.5;margin:8px 0 16px}
.bnf__efsa{margin-top:auto;padding-top:14px;border-top:1px solid var(--filet-2);
  font-size:14.5px;line-height:1.5;color:var(--gris);font-style:italic}
.bnf__efsa b{color:var(--encre);font-style:normal;font-weight:700}

.benlist{border-top:3px solid var(--charbon)}
.benitem{display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:var(--s3) clamp(20px,3vw,46px);padding:var(--s5) 0;
  border-bottom:1.5px solid var(--filet-2);align-items:baseline}
.benitem__n{font-family:var(--head);font-weight:800;font-size:clamp(36px,4.4vw,54px);
  line-height:.85;color:var(--filet-2);letter-spacing:-.02em}
.benitem__t{font-family:var(--head);font-weight:800;color:var(--encre);line-height:1.12;font-size:clamp(21px,2.3vw,27px)}
.benitem__p{font-size:17px;line-height:1.55;margin:8px 0 0;max-width:62ch}
.benitem__efsa{margin-top:12px;font-size:15px;line-height:1.5;color:var(--gris);font-style:italic;max-width:66ch}
.benitem__efsa b{color:var(--encre);font-style:normal;font-weight:700}
.benitem--lead .benitem__t{font-size:clamp(25px,3vw,34px)}
.benitem--lead .benitem__p{font-size:18.5px;color:var(--encre)}

.voice--empty{border-style:dashed;background:var(--gris-clair)}
.voice__empty{font-size:16px;line-height:1.5;color:var(--gris);margin:0 0 18px;display:flex;align-items:center;gap:.6em}
.voice__empty .ic{color:var(--gris);flex:0 0 auto}
.voice__who--empty .voice__nm{color:var(--gris)}

/* encadré « mention phare » vitamine D / chute — bloc de preuve bold */
.claimhero{margin-top:var(--s5);border:2px solid var(--charbon);
  border-radius:var(--radius-sm);padding:clamp(22px,3vw,32px);background:var(--blanc)}
.claimhero p{margin:0;font-size:18px;line-height:1.5}
.claimhero .lead{font-weight:700;color:var(--encre)}
.claimhero .src{display:block;margin-top:10px;font-size:14.5px;color:var(--gris);font-style:italic}

/* ---------- 33. FAQ accordéon ---------- */
.acc{border-top:3px solid var(--charbon)}
.acc__item{border-bottom:1.5px solid var(--filet-2)}
.acc__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  text-align:left;background:none;border:0;cursor:pointer;padding:22px 4px;min-height:60px;
  font-family:var(--head);font-weight:800;font-size:clamp(18px,2vw,22px);color:var(--encre);line-height:1.25}
.acc__q:hover{color:var(--rouge)}
.acc__q::after{content:"";flex:0 0 auto;width:15px;height:15px;border-right:3px solid var(--rouge);
  border-bottom:3px solid var(--rouge);transform:rotate(45deg);margin-right:6px;transition:transform .18s}
.acc__q[aria-expanded="true"]::after{transform:rotate(-135deg)}
.acc__a{padding:0 4px 24px}
.acc__a p{margin:0 0 12px;font-size:17px;line-height:1.55;max-width:70ch}
.acc__a p:last-child{margin-bottom:0}

/* ---------- 34. Cross-sell léger ---------- */
.crosssell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s4);align-items:center;
  border:1.5px solid var(--filet-2);border-radius:var(--radius);padding:20px 22px;background:var(--gris-clair)}
.crosssell__ph{width:72px;height:72px;border-radius:var(--radius-sm);background:var(--blanc);
  border:1.5px dashed var(--filet-2);display:grid;place-items:center;color:var(--gris);flex:0 0 auto}
.crosssell__ph .ic{width:32px;height:32px}
.crosssell__t{font-family:var(--head);font-weight:800;font-size:17px;color:var(--encre)}
.crosssell__d{font-size:15px;color:var(--gris);margin-top:2px}

/* ---------- 35. Champs de formulaire ---------- */
.field{margin-top:14px}
.field label{display:block;font-family:var(--head);font-weight:800;font-size:15px;color:var(--encre);margin-bottom:6px}
.field input{width:100%;font-family:var(--sans);font-size:18px;color:var(--encre);
  padding:14px 16px;min-height:56px;background:var(--blanc);border:2px solid var(--filet-2);border-radius:var(--radius-sm)}
.field input:focus{outline:none;border-color:var(--rouge)}
.field__hint{font-size:13.5px;color:var(--gris);margin-top:5px;line-height:1.45}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13.5px;color:var(--gris);line-height:1.45}
.consent input{margin-top:3px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--rouge)}

/* ---------- 36. Aide au choix (modale) ---------- */
.helptable{width:100%;border-collapse:collapse;font-size:16px;margin-top:6px}
.helptable th,.helptable td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--filet-2);vertical-align:top}
.helptable thead th{font-family:var(--head);font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gris);border-bottom:3px solid var(--charbon)}
.helptable td b{color:var(--encre)}

/* ---------- 36b. Bande-STATEMENT plein cadre (photo TRÈS GRANDE + phrase courte)
   Reprise directe du procédé Feel Reformed (image full-bleed, énoncé bref),
   recolorée à nos codes : scrim charbon, gros Montserrat blanc, zéro picto. ---------- */
.statement{position:relative;min-height:clamp(420px,58vw,600px);display:flex;
  align-items:flex-end;overflow:hidden;background:var(--charbon)}
.statement__bg{position:absolute;inset:0;z-index:0}
.statement__bg img{width:100%;height:100%;object-fit:cover;display:block}
.statement__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(25,26,28,.10) 0%,rgba(25,26,28,.24) 42%,rgba(25,26,28,.86) 100%)}
.statement__in{position:relative;z-index:1;width:100%;
  max-width:var(--page);margin-inline:auto;padding:clamp(36px,6vw,80px) clamp(20px,5vw,48px)}
.statement__tag{position:absolute;top:16px;right:16px;z-index:2;
  background:rgba(25,26,28,.82);color:var(--offwhite);font-family:var(--head);
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 11px;border-radius:5px}
.statement h2{color:#fff;max-width:20ch;font-size:clamp(30px,5vw,60px);line-height:1.02;letter-spacing:-.02em}
.statement__sub{color:var(--offwhite);font-family:var(--head);font-weight:700;
  font-size:clamp(17px,1.7vw,21px);margin-top:var(--s4);max-width:44ch;line-height:1.35}

/* ---------- 36c. Programme « 100 foyers fondateurs » (privilège, remplace les avis fantômes) ---------- */
.founders{background:var(--blanc);border:3px solid var(--charbon);border-radius:var(--radius);
  box-shadow:var(--ombre);overflow:hidden}
.founders__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.founders__media{position:relative;min-height:100%;background:var(--gris-clair)}
.founders__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.founders__body{padding:clamp(28px,3.4vw,48px)}
.founders__flag{display:inline-block;font-family:var(--head);font-weight:800;font-size:12.5px;
  letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--rouge);
  padding:6px 13px;border-radius:5px;margin-bottom:var(--s4)}
.founders__list{list-style:none;margin:var(--s4) 0 var(--s5);padding:0;
  border-top:2px solid var(--charbon)}
.founders__list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8em;align-items:start;
  padding:15px 0;border-bottom:1px solid var(--filet-2);font-size:17px;line-height:1.4}
.founders__list li b{font-family:var(--head);color:var(--encre)}
.founders__list .ic{width:24px;height:24px;color:var(--vert);margin-top:1px}
.founders__note{font-size:15px;line-height:1.55;color:var(--gris);margin:var(--s4) 0 0}
.founders__note b{color:var(--encre)}

/* ---------- 37. Responsive ---------- */
@media (max-width:1000px){
  .hero__grid{grid-template-columns:1fr}
  .hero__col{padding:clamp(28px,6vw,48px) clamp(20px,5vw,40px)}
  .hero__media{min-height:clamp(360px,70vw,520px);order:-1}
  .hero__media .box{max-width:300px}
}
@media (max-width:960px){
  .split,.limpide,.dyna,.pdp,.teaser{grid-template-columns:1fr;gap:var(--s5)}
  .tiers,.voices,.bnf{grid-template-columns:1fr}
  .gallery{position:static;top:auto}
  .bignums{grid-template-columns:1fr}
  .bignum{border-left:0;border-top:1.5px solid var(--filet-2)}
  .bignum:first-child{border-top:0}
  .foot__grid{grid-template-columns:1fr 1fr}
  .checklist{grid-template-columns:1fr}
  .founders__grid{grid-template-columns:1fr}
  .founders__media{min-height:clamp(240px,52vw,380px)}
  .founders__media img{position:relative;height:auto;aspect-ratio:3/2}
}
@media (max-width:760px){
  .nav,.head__cta{display:none}
  .burger{display:flex}
  .nav[data-open]{display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:var(--blanc);border-bottom:1px solid var(--filet);
    padding:8px 20px 16px;box-shadow:0 14px 28px rgba(27,22,19,.12);z-index:40}
  .nav[data-open] .nav__link{padding:15px 0;border-bottom:1px solid var(--filet)}
  .util__items,.util__lead,.util__tail{display:none}
  .util__phone{font-size:15px}
  .reassure__it{flex:1 1 45%;border-left:0;justify-content:flex-start}
  .guarantee{grid-template-columns:1fr;text-align:center}
  .seal{margin:0 auto}
  .proofbar__sep{display:none}
  .proofbar__in{gap:12px 22px}
  .pick__row{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .pick__price{grid-column:2;text-align:left}
  .crosssell{grid-template-columns:auto 1fr;row-gap:12px}
  .crosssell .btn{grid-column:1 / -1}
  .buybar__info span{display:none}
  .buybar__cta .btn{padding-inline:20px}
  /* Hero mobile : la photo garde tout son cadre (le visage = confiance),
     la fiche étui passe DESSOUS avec un léger chevauchement (pas de recouvrement) */
  .hero__media{min-height:0;order:-1}
  .hero__media img{position:relative;height:auto;aspect-ratio:4/3}
  .hero__media .box{position:relative;left:auto;right:auto;bottom:auto;
    margin:-48px auto 0;max-width:340px}
}
@media (max-width:480px){
  body{font-size:18px}
  .foot__grid{grid-template-columns:1fr}
  .reassure__it{flex:1 1 100%}
}

/* ---------- 38. Respect des préférences de mouvement ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .buybar{transition:none}
}

/* =========================================================================
   39. EXTENSION SELL-THROUGH — mécaniques volées aux références (Feel Reformed,
   Nutrisolution), recolorées à NOS codes bold. HONNÊTE : offre evergreen,
   AUCUN compte à rebours, AUCUN faux avis, placeholders assumés.
   ========================================================================= */

/* --- 39a. Barre d'annonce permanente (rouge, evergreen, pas d'horloge) --- */
.promo{background:var(--rouge);color:#fff}
.promo__in{display:flex;align-items:center;justify-content:center;
  gap:.5em clamp(16px,3vw,44px);flex-wrap:wrap;padding:9px 16px;min-height:42px;
  font-family:var(--head);font-weight:800;font-size:14.5px;letter-spacing:.005em;text-align:center}
.promo__it{display:inline-flex;align-items:center;gap:.45em;line-height:1.25}
.promo__it .ic{width:1.15em;height:1.15em;flex:0 0 auto;color:#fff}
.promo u{text-underline-offset:.18em;text-decoration-thickness:2px}
@media (max-width:600px){.promo__in{font-size:13px;gap:.4em 16px}.promo__it--sec{display:none}}

/* --- 39b. Badge « ÉCONOMISEZ X% » (angulaire, franc) --- */
.savebadge{display:inline-block;background:var(--rouge);color:#fff;font-family:var(--head);
  font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  padding:5px 11px;border-radius:var(--radius-sm);line-height:1.1;white-space:nowrap}
.savebadge--ink{background:var(--charbon)}
.savebadge--ghost{background:transparent;color:var(--gris);border:1.5px solid var(--filet-2)}

/* --- 39c. Offre en « tarif de notice » (lignes, PAS 3 cartes qui lévitent) --- */
.plans{border:3px solid var(--charbon);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--ombre);background:var(--blanc);max-width:940px;margin:var(--s2) auto 0}
.plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(16px,3vw,40px);
  align-items:center;padding:clamp(20px,2.6vw,28px) clamp(18px,2.8vw,32px);
  border-top:2px solid var(--filet-2)}
.plan:first-child{border-top:0}
.plan--reco{background:var(--rouge-wash);box-shadow:inset 0 0 0 3px var(--rouge)}
.plan__name{font-family:var(--head);font-weight:800;font-size:clamp(20px,2.1vw,24px);
  color:var(--encre);line-height:1.12}
.plan__star{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--rouge);vertical-align:middle;margin-left:8px;white-space:nowrap}
.plan__vol{font-size:15.5px;color:var(--gris);font-weight:600;margin-top:4px}
.plan__badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.plan__price{text-align:right;white-space:nowrap;display:flex;flex-direction:column;
  align-items:flex-end;gap:3px}
.plan__day{font-family:var(--head);font-weight:800;font-size:clamp(28px,3.4vw,38px);
  color:var(--rouge);line-height:1}
.plan__day small{font-size:.4em;font-weight:800;color:var(--encre);letter-spacing:.02em}
.plan__amt{font-family:var(--head);font-weight:800;font-size:clamp(25px,2.9vw,33px);
  color:var(--rouge);line-height:1}
.plan__was{font-size:14px;color:var(--gris);text-decoration:line-through;text-decoration-color:var(--rouge)}
.plan__now{font-size:14.5px;font-weight:700;color:var(--encre)}
.plan__note{font-size:14.5px;font-weight:700;color:var(--gris)}
.plan__price .btn{margin-top:10px}
@media (max-width:640px){
  .plan{grid-template-columns:1fr;gap:12px}
  .plan__price{text-align:left;align-items:flex-start}
  .plan__price .btn{width:100%}
}

/* --- 39d. Bloc caution scientifique signé (placeholder honnête) --- */
.signed{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,40px);
  align-items:center;background:var(--gris-clair);border:1.5px solid var(--filet-2);
  border-radius:var(--radius);padding:clamp(22px,3vw,36px)}
.signed__portrait{position:relative;width:clamp(100px,12vw,140px);aspect-ratio:1;border-radius:50%;
  background:var(--gris-clair-2);border:2px dashed var(--filet-2);display:grid;place-items:center;
  color:var(--gris);flex:0 0 auto}
.signed__portrait .ic{width:42%;height:42%}
.signed__tag{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:var(--charbon);color:#fff;font-family:var(--head);font-size:10px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:5px}
.signed__name{font-family:var(--head);font-weight:800;font-size:clamp(21px,2.4vw,27px);
  color:var(--encre);line-height:1.12}
.signed__todo{display:inline-block;font-size:.58em;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--charbon);border:2px solid var(--charbon);border-radius:5px;
  padding:2px 8px;vertical-align:middle;margin-left:8px}
.signed__p{margin:12px 0 0;font-size:16.5px;line-height:1.55;color:var(--encre);max-width:60ch}
.signed__sig{font-family:var(--head);font-weight:800;font-size:22px;color:var(--encre);
  margin-top:14px;letter-spacing:-.01em}
@media (max-width:640px){.signed{grid-template-columns:1fr;text-align:center;justify-items:center}}

/* --- 39e. Bandeau paiement (footer) — confiance montrée, marques de paiement --- */
.foot__pay{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s5);
  padding-top:var(--s4);border-top:1px solid var(--filet-dark)}
.foot__pay-t{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--offwhite)}
.paystrip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.paymark{display:inline-flex;align-items:center;gap:.4em;font-family:var(--head);font-weight:800;
  font-size:12px;letter-spacing:.03em;color:var(--offwhite);border:1.5px solid var(--filet-dark);
  border-radius:5px;padding:6px 10px;background:rgba(255,255,255,.05)}
.paymark .ic{width:1.15em;height:1.15em;color:var(--offwhite)}

/* =========================================================================
   40. PRÉ-LANCEMENT — page « Programme Fondateur » (1000 foyers, pré-commande)
   Sell-through additionnel. HONNÊTE : rareté réelle (1000), valeur réelle
   (dynamomètre 45 €), zéro fausse urgence, EFSA verbatim, science réelle citée.
   ========================================================================= */

/* 40a. Intitulé fondateur — kicker PLAT (plus de pastille ovale : c'était un tell IA) */
.foundchip{display:inline-flex;align-items:center;gap:.5em;font-family:var(--head);font-weight:800;
  font-size:13.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gris)}
.foundchip .ic{width:1.1em;height:1.1em;color:var(--rouge)}
.preorder__buy .foundchip{color:var(--offwhite-mut)}
.preorder__buy .foundchip .ic{color:var(--ambre)}

/* 40b. Prix-cadeau « 45 € barré → OFFERT » */
.pricegift{display:inline-flex;align-items:baseline;gap:.55em;flex-wrap:wrap}
.pricegift__was{font-family:var(--head);font-weight:800;font-size:21px;color:var(--gris);
  text-decoration:line-through;text-decoration-color:var(--rouge);text-decoration-thickness:2px}
.pricegift__free{font-family:var(--head);font-weight:800;font-size:15px;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;background:var(--rouge);padding:5px 12px;border-radius:var(--radius-sm);line-height:1.1}
.invert .pricegift__was,.preorder__buy .pricegift__was{color:var(--offwhite-mut)}

/* 40c. Barre de rareté fondateur (RÉELLE : 1000 foyers, aucun faux compteur) */
.founderbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,3vw,30px);align-items:center;
  background:var(--rouge);color:#fff;border-radius:var(--radius);
  padding:clamp(20px,2.6vw,28px) clamp(22px,3vw,34px);box-shadow:12px 14px 0 -2px var(--rouge-3)}
.founderbar__n{font-family:var(--head);font-weight:800;font-size:clamp(46px,6.2vw,74px);color:#fff;
  line-height:.86;letter-spacing:-.02em;white-space:nowrap}
.founderbar__t{font-family:var(--head);font-weight:800;font-size:clamp(18px,2vw,23px);color:#fff;line-height:1.12}
.founderbar__d{font-size:15px;color:#fff;opacity:.92;margin-top:5px;line-height:1.4}
.founderbar__d b{opacity:1}
.founderbar__cta{background:#fff;color:var(--rouge);border-color:#fff;white-space:nowrap;
  animation:fv-pulse 2.2s ease-in-out infinite}
.founderbar__cta:hover{background:var(--charbon);color:#fff;border-color:var(--charbon)}

/* 40c-bis. Micro-mouvement = sentiment d'urgence (honnête : pas de compteur).
   Entièrement désactivé par le bloc prefers-reduced-motion existant. */
@keyframes fv-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}50%{box-shadow:0 0 0 12px rgba(255,255,255,0)}}
@keyframes fv-pulse-r{0%,100%{box-shadow:0 0 0 0 rgba(200,52,42,.5)}50%{box-shadow:0 0 0 12px rgba(200,52,42,0)}}
@keyframes fv-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.btn--primary .arw{animation:fv-nudge 1.4s ease-in-out infinite}
.buybar__cta{animation:fv-pulse-r 2.4s ease-in-out infinite}

/* 41. PRESSE — vrais logos (encart citation vedette + logo wall + logos dans les cartes) */
.presslead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,52px);align-items:center;
  background:var(--blanc);border:3px solid var(--charbon);border-radius:var(--radius);
  padding:clamp(26px,4vw,52px);box-shadow:var(--ombre)}
.presslead>*{min-width:0}
.presslead__logo{display:grid;place-items:center;padding:clamp(16px,2.4vw,30px);
  background:var(--gris-clair);border:1.5px solid var(--filet-2);border-radius:var(--radius);min-width:clamp(150px,20vw,230px)}
.presslead__logo img{max-width:100%;max-height:124px;display:block}
.presslead__q{font-family:var(--head);font-weight:800;font-size:clamp(21px,2.7vw,32px);line-height:1.22;color:var(--encre)}
.presslead__q::before{content:"«\00a0"} .presslead__q::after{content:"\00a0»"}
.presslead__src{margin-top:16px;font-size:15.5px;color:var(--gris);font-weight:700}
.presslead__src a{color:var(--rouge);font-weight:800}
@media (max-width:760px){.presslead{grid-template-columns:1fr;text-align:center}.presslead__logo{margin-inline:auto}}

.presswall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(22px,5vw,60px);
  padding:clamp(22px,3vw,34px) clamp(16px,3vw,28px)}
.presswall__t{flex-basis:100%;text-align:center;font-family:var(--head);font-weight:800;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:4px}
.presswall a{display:inline-flex;align-items:center;transition:transform .15s}
.presswall a:hover{transform:translateY(-3px)}
.presswall img{max-height:clamp(30px,4.4vw,48px);max-width:155px;display:block}

.pcard__logo{display:flex;align-items:center;min-height:44px;margin-bottom:14px;
  padding-bottom:14px;border-bottom:3px solid var(--charbon)}
.pcard__logo img{max-height:52px;max-width:170px;display:block}

/* Ingrédients : PHOTO illustrative au lieu de l'icône SVG */
.ingr__photo{aspect-ratio:16/11;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:16px;background:var(--gris-clair)}
.ingr__photo img{width:100%;height:100%;object-fit:cover;display:block}

/* 42. Précommande / checkout */
.pretag{display:inline-block;font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;background:var(--rouge);padding:7px 13px;border-radius:var(--radius-sm)}
.checkout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(26px,4vw,48px);align-items:start}
.checkout>*{min-width:0}
.checkout__recap{position:sticky;top:64px}
@media (max-width:900px){.checkout{grid-template-columns:1fr}.checkout__recap{position:static}}
.recap{background:var(--blanc);border:3px solid var(--charbon);border-radius:var(--radius);
  padding:clamp(24px,3vw,36px);box-shadow:var(--ombre)}
.recap h2{font-size:20px;margin-bottom:var(--s3)}
.recap__tot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:16px;
  padding-top:16px;border-top:2px dashed var(--filet-2)}
.recap__tot .l{font-family:var(--head);font-weight:800;font-size:17px;color:var(--encre)}
.recap__tot .amt{font-family:var(--head);font-weight:800;font-size:30px;color:var(--rouge)}
.recap__day{font-size:15px;color:var(--gris);margin-top:4px;text-align:right;font-weight:700}
.recap__terms{margin-top:var(--s4);padding:16px 18px;background:var(--gris-clair);
  border:1.5px solid var(--filet-2);border-radius:var(--radius-sm);font-size:14.5px;line-height:1.5;color:var(--encre)}
.recap__terms b{color:var(--encre)}

/* 40d. « Ce que dit la recherche » — cartes de référence (autorité, honnête) */
.science{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.cite{background:var(--charbon-soft);border:1px solid var(--filet-dark);
  border-radius:var(--radius);padding:26px 28px;display:flex;flex-direction:column}
.cite__f{font-size:18.5px;line-height:1.5;color:#fff}
.cite__f b{font-weight:800}
.cite__src{margin-top:16px;padding-top:14px;border-top:1px solid var(--filet-dark);
  font-size:13.5px;line-height:1.5;color:var(--offwhite-mut)}
.cite__src b{display:block;color:#fff;font-family:var(--head);font-weight:800;font-size:12px;
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}

/* 40e. Bloc pré-commande fondateur (value stack + achat) */
.preorder{background:var(--blanc);border:3px solid var(--charbon);border-radius:var(--radius);
  box-shadow:var(--ombre);overflow:hidden;max-width:1040px;margin-inline:auto}
.preorder__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.preorder__stack{padding:clamp(26px,3.2vw,44px)}
.preorder__k{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris);margin:0 0 var(--s3)}
.vstack{list-style:none;margin:var(--s4) 0 0;padding:0;border-top:2px solid var(--charbon)}
.vstack li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8em;align-items:center;
  padding:15px 0;border-bottom:1px solid var(--filet-2);font-size:16.5px;line-height:1.35}
.vstack li .ic{width:22px;height:22px;color:var(--vert)}
.vstack__lbl b{font-family:var(--head);color:var(--encre)}
.vstack__val{font-family:var(--head);font-weight:800;color:var(--encre);white-space:nowrap;text-align:right}
.vstack__val--free{color:var(--rouge)}
.vstack__was{display:block;font-size:13px;color:var(--gris);text-decoration:line-through;
  text-decoration-color:var(--rouge);font-weight:700}
.preorder__buy{padding:clamp(26px,3.2vw,44px);background:var(--charbon);color:#fff;
  display:flex;flex-direction:column;justify-content:center}
.preorder__buy .foundchip{align-self:flex-start;margin-bottom:var(--s4)}
.preorder__was{color:var(--offwhite-mut);text-decoration:line-through;text-decoration-color:var(--rouge);
  font-size:18px;font-weight:700}
.preorder__day{font-family:var(--head);font-weight:800;font-size:clamp(42px,5.4vw,60px);color:#fff;
  line-height:1;letter-spacing:-.02em;margin-top:4px}
.preorder__day small{font-size:.32em;color:var(--offwhite-mut);letter-spacing:.02em}
.preorder__now{font-family:var(--head);font-weight:800;font-size:20px;color:#fff;margin-top:6px}
.preorder__buy .btn{margin-top:var(--s4)}
.preorder__note{font-size:14.5px;color:var(--offwhite-mut);line-height:1.55;margin-top:var(--s4)}
.preorder__note b{color:#fff}

/* 40f. Photoslot compact (visuel dynamomètre / packshot à shooter) */
.photoslot--dyna{min-height:clamp(300px,40vw,420px)}

@media (max-width:860px){.preorder__grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .science{grid-template-columns:1fr}
  .founderbar{grid-template-columns:1fr;text-align:center;justify-items:center}
}

/* 40g. Ingrédients « hyper visuels » (actif + dose + rôle) — façon Feel Reformed / NS */
.ingr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.ingr>*{min-width:0}
.ingr__card{background:var(--blanc);border:2px solid var(--filet-2);border-radius:var(--radius);
  padding:26px 22px 24px;display:flex;flex-direction:column}
.ingr__card--hero{border-color:var(--charbon);border-width:3px;box-shadow:var(--ombre)}
.ingr__ic{width:58px;height:58px;border-radius:var(--radius-sm);background:var(--charbon);
  display:grid;place-items:center;color:#fff;margin-bottom:18px}
.ingr__ic .ic{width:30px;height:30px}
.ingr__card--hero .ingr__ic{background:var(--rouge)}
.ingr__dose{font-family:var(--head);font-weight:800;font-size:clamp(26px,3vw,32px);color:var(--rouge);
  line-height:1;letter-spacing:-.01em}
.ingr__dose small{display:block;font-size:11.5px;font-weight:800;color:var(--gris);
  letter-spacing:.04em;text-transform:uppercase;margin-top:4px}
.ingr__t{font-family:var(--head);font-weight:800;font-size:19px;color:var(--encre);margin:12px 0 8px;line-height:1.15}
.ingr__p{font-size:15.5px;line-height:1.5;color:var(--encre-2)}
.ingr__p b{color:var(--encre);font-weight:800}
.freefrom{display:flex;flex-wrap:wrap;align-items:center;gap:12px clamp(16px,3vw,32px);margin-top:var(--s5);
  padding:20px clamp(20px,3vw,28px);background:var(--gris-clair);border:1.5px solid var(--filet-2);border-radius:var(--radius)}
.freefrom__t{flex-basis:100%;font-family:var(--head);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin-bottom:2px}
.freefrom__it{display:inline-flex;align-items:center;gap:.45em;font-size:15.5px;font-weight:700;color:var(--encre)}
.freefrom__it .ic{width:1.25em;height:1.25em;color:var(--rouge)}
.freefrom__it.is-yes .ic{color:var(--vert-txt)}
@media (max-width:960px){.ingr{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ingr{grid-template-columns:1fr}}

/* 40h. Encart science (teaser landing → page « La science ») */
.sciteaser{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(26px,4vw,56px);
  align-items:center}
.sciteaser>*{min-width:0}
.sciteaser__logos{display:flex;flex-wrap:wrap;gap:10px}
.sciteaser__logos span{font-family:var(--head);font-weight:800;font-size:14px;color:var(--encre);
  background:var(--blanc);border:1.5px solid var(--filet-2);border-radius:6px;padding:8px 12px}
@media (max-width:800px){.sciteaser{grid-template-columns:1fr}}

/* 40i. Cartes presse (page « La science ») — noms de médias en wordmark, article lié */
.press{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.press>*{min-width:0}
.pcard{display:flex;flex-direction:column;background:var(--blanc);border:1.5px solid var(--filet-2);
  border-radius:var(--radius);padding:24px 26px}
.pcard__media{font-family:var(--head);font-weight:800;font-size:18px;letter-spacing:.01em;color:var(--encre);
  padding-bottom:12px;border-bottom:3px solid var(--charbon);margin-bottom:14px;align-self:flex-start}
.pcard__title{font-family:var(--head);font-weight:800;font-size:16.5px;line-height:1.25;color:var(--encre)}
.pcard__q{font-size:15.5px;line-height:1.5;color:var(--encre-2);margin:12px 0 16px}
.pcard__q::before{content:"« "} .pcard__q::after{content:" »"}
.pcard__link{margin-top:auto;font-family:var(--head);font-weight:800;font-size:15px;color:var(--rouge);
  display:inline-flex;align-items:center;gap:.4em;text-decoration:none}
.pcard__link:hover{color:var(--rouge-2);text-decoration:underline;text-underline-offset:.16em}
@media (max-width:900px){.press{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.press{grid-template-columns:1fr}}

/* Mini-cartes presse : logo (gros) + courte citation, sous la citation vedette */
.pmini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.pmini>*{min-width:0}
.pmini__card{display:flex;flex-direction:column;gap:12px;background:var(--blanc);border:1.5px solid var(--filet-2);
  border-radius:var(--radius);padding:22px 20px;text-decoration:none;transition:border-color .15s,transform .15s}
.pmini__card:hover{border-color:var(--charbon);transform:translateY(-3px)}
.pmini__logo{height:clamp(36px,4.6vw,48px);display:flex;align-items:center}
.pmini__logo img{max-height:100%;max-width:145px;display:block}
.pmini__q{font-size:14px;line-height:1.4;color:var(--encre-2)}
.pmini__q b{color:var(--encre);font-weight:800}
@media (max-width:900px){.pmini{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pmini{grid-template-columns:1fr}}

/* === WATCHLIST : purge des placeholders pre-lancement sur TOUTES les pages ===
   (telephone/[N° VERT], tags "visuel provisoire", bloc responsable scientifique,
   marques de paiement, lien bon de bienvenue). Retirer ce bloc = tout revient. */
.shot__tag,.hero__tag,.statement__tag,.photoslot__tag,.photoslot,.signed,.foot__pay,
.person,.arthero__byline,.author,.prodflag,
.util__phone,.finalcta__phone,a[href^="tel:"],[data-welcome-open]{display:none!important}

/* === WATCHLIST : bandeau consentement cookies (RGPD) === */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--charbon-2);
  color:var(--offwhite);border-top:3px solid var(--rouge)}
.cbar__in{max-width:var(--page);margin:0 auto;padding:15px clamp(16px,4vw,32px);
  display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap}
.cbar__tx{margin:0;flex:1 1 400px;font-size:15px;line-height:1.5;color:var(--offwhite-mut)}
.cbar__tx b{color:var(--offwhite)}
.cbar__tx a{color:#fff;text-underline-offset:.2em}
.cbar__btns{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap}
.cbar .btn--ghost{color:var(--offwhite);border-color:var(--filet-dark)}
.cbar .btn--ghost:hover{border-color:var(--offwhite);color:#fff}

/* === WATCHLIST : bloc d'inscription inline (pages de contenu -> flow / capture) === */
.capture{background:var(--charbon);color:var(--offwhite);border-radius:var(--radius);
  padding:clamp(26px,4vw,46px);margin:var(--s6) 0;display:grid;gap:26px 44px;
  grid-template-columns:1.05fr .95fr;align-items:center}
.capture__k{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--rouge);margin:0 0 10px}
.capture__t{font-size:clamp(23px,3vw,31px);color:#fff;margin:0 0 12px;letter-spacing:-.01em;line-height:1.1}
.capture__d{margin:0;color:var(--offwhite-mut);font-size:16px;line-height:1.55;max-width:44ch}
.capture__form{background:var(--charbon-soft);border:1px solid var(--filet-dark);
  border-radius:var(--radius);padding:20px}
.capture__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.capture__form input[type=text],.capture__form input[type=email]{width:100%;padding:13px 14px;
  border:1.5px solid #3a3b3e;border-radius:var(--radius-sm);background:#fff;color:var(--encre);
  font:inherit;font-size:16px}
.capture__form input::placeholder{color:var(--gris-2)}
.consent--sm{font-size:13.5px;color:var(--offwhite-mut);line-height:1.45;display:flex;
  gap:9px;align-items:flex-start;margin:2px 0 13px}
.consent--sm input{margin-top:3px;flex:0 0 auto}
.consent--sm a{color:#fff}
.capture__err{color:#ffb4ae;font-size:14px;margin:10px 0 0}
@media (max-width:820px){.capture{grid-template-columns:1fr;gap:20px}.capture__row{grid-template-columns:1fr}}

/* === WATCHLIST : bandeau util en USP (icone + benefice, plus vendeur) === */
.util__it{display:inline-flex;align-items:center;gap:.42em}
.util__it .ic{width:1.05em;height:1.05em;color:currentColor;opacity:.85;flex:0 0 auto}

/* === SECTION "NOS ORIGINES" / PIERRE FLOURENS (bandeau vert foret, comme la cover du guide) === */
.flourens{background:#153A2B;color:#DCE7DE}
.flourens .overline{color:var(--ambre)}
.flourens h2,.flourens h3,.flourens strong{color:#fff}
.flourens .lede{color:#EAF1EB}
.flourens__grid{display:grid;grid-template-columns:400px 1fr;gap:var(--s8);align-items:start;margin-top:var(--s6)}
.flourens__figs{position:sticky;top:var(--s5)}
.pf-portrait{margin:0;background:#fff;padding:14px;border-radius:3px;box-shadow:0 30px 62px rgba(0,0,0,.4)}
.pf-portrait img{display:block;width:100%;height:auto}
.pf-cap{display:block;padding:12px 4px 2px;font-size:12.5px;line-height:1.5;color:var(--gris-2);text-align:center}
.pf-cap b{color:var(--encre);font-weight:800}
.pf-book{display:flex;gap:18px;align-items:flex-start;margin-top:var(--s5)}
.pf-book img{width:128px;height:auto;flex:0 0 auto;box-shadow:0 14px 30px rgba(0,0,0,.45)}
.pf-book span{font-size:13px;line-height:1.55;color:#B7CABE;padding-top:6px}
.pf-book i{color:#fff;font-style:italic}
.flourens__body>p{margin-top:var(--s4);max-width:60ch;color:#DCE7DE;font-size:17.5px;line-height:1.65}
.pf-quote{margin:var(--s7) 0;padding:var(--s5) 0;border-top:2px solid rgba(255,255,255,.3);border-bottom:2px solid rgba(255,255,255,.3)}
.pf-quote p{font-family:var(--head);font-weight:800;font-size:clamp(25px,3.1vw,37px);line-height:1.16;color:#fff;margin:0;max-width:20ch}
.pf-quote cite{display:block;margin-top:16px;font-style:normal;font-size:14px;color:var(--ambre);font-family:var(--sans);font-weight:600}
.pf-read{margin-top:var(--s7)}
.pf-read h3{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre);margin-bottom:12px}
.pf-read p{color:#DCE7DE;margin:0;max-width:60ch;font-size:17.5px;line-height:1.65}
@media(max-width:820px){
  .flourens__grid{grid-template-columns:1fr;gap:var(--s5)}
  .flourens__figs{position:static}
  .pf-portrait{max-width:340px}
  .pf-book{margin-top:var(--s4)}
}

/* Nom d'institut ecrit en toutes lettres (pas de logo), presse & pcards */
.pmini__name{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--head);font-weight:800;font-size:17px;line-height:1.1;letter-spacing:.01em;color:var(--encre)}
.pmini__name small{font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);margin-top:4px}
.pcard__name{display:flex;flex-direction:column;justify-content:center;font-family:var(--head);font-weight:800;font-size:19px;line-height:1.05;letter-spacing:.01em;color:var(--encre)}
.pcard__name small{font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);margin-top:4px}
