/* ==========================================================================
   Afterclick — Landing page
   Desktop 1440 · Mobile 390 — intégration pixel perfect d'après Figma
   ========================================================================== */

/* --------------------------------- Tokens -------------------------------- */
:root{
  /* Couleurs */
  --ink-900:#152238;
  --ink-panel:#111c29;
  --ink-panel-2:#182534;
  --border-dark:#27323f;
  --brand-500:#fd4500;
  --brand-100:#ffe4da;
  --brand-50:#fef3f1;
  --bg-page:#ffffff;
  --bg-soft:#fdfaf9;
  --border-rule:#eceff3;
  --text-body:#5a6b85;
  --text-muted:#8c99ac;
  --on-dark:#ffffff;
  --on-dark-mute:#9aa7b8;
  --accent-blue-50:#eaf1fe;
  --accent-green-50:#e7f8f1;
  --accent-yellow-50:#fef6e4;
  --accent-pink-50:#fdecf4;

  /* Typographie (desktop) */
  --fs-display:64px;   --lh-display:1.06;  --ls-display:-1.8px;
  --fs-h2:44px;        --lh-h2:1.18;       --ls-h2:-1.1px;
  --fs-h3:22px;        --lh-h3:1.32;       --ls-h3:-0.3px;
  --fs-h4:18px;        --lh-h4:1.38;       --ls-h4:-0.2px;
  --fs-lead:19px;      --lh-lead:1.6;      --ls-lead:-0.1px;
  --fs-body:16px;      --lh-body:1.62;
  --fs-body-sm:14px;   --lh-body-sm:1.58;
  --fs-caption:13px;   --lh-caption:1.5;
  --fs-eyebrow:12px;   --ls-eyebrow:1.3px;
  --fs-button:16px;
  --fs-tag:13px;
  --fs-stat:34px;      --lh-stat:1.12;     --ls-stat:-0.8px;
  --fs-price:38px;     --lh-price:1.15;    --ls-price:-1px;
}

/* --------------------------------- Reset --------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg-page);
  color:var(--ink-900);
  font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

/* ------------------------------ Utilitaires ------------------------------ */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 40px}
.container--1200{max-width:1200px}
.container--1198{max-width:1198px}
.container--1000{max-width:1000px}

.c-brand{color:var(--brand-500)}
.ta-c{text-align:center}

.h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:800}
.h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:700}
.lead{font-size:var(--fs-lead);line-height:var(--lh-lead);letter-spacing:var(--ls-lead);color:var(--text-body);font-weight:400}
.lead--880{width:880px;max-width:100%}
.lead--700{width:700px;max-width:100%}
.body{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);font-weight:400}
.caption{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text-muted)}

.eyebrow{
  display:inline-flex;align-items:center;
  padding:9px 18px;border-radius:999px;
  background:var(--brand-50);color:var(--brand-500);
  font-size:var(--fs-eyebrow);font-weight:600;line-height:14px;
  letter-spacing:var(--ls-eyebrow);text-align:center;
}

.only-mobile,.only-mobile-flex{display:none!important}
.only-desktop{display:inline}
.only-desktop-flex{display:inline-flex}

/* Lignes verticales de la grille (x = 120px et 1320px sur 1440) */
.grid-line{
  position:absolute;top:0;bottom:0;width:1px;
  background:var(--brand-100);pointer-events:none;
}
.grid-line--left{left:8.3333%}
.grid-line--right{left:91.6667%}

/* -------------------------------- Boutons -------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:var(--fs-button);font-weight:600;line-height:1.3;letter-spacing:-0.1px;
  white-space:nowrap;
}
.btn--primary{
  gap:12px;padding:19px 34px;border-radius:12px;
  background:var(--brand-500);color:var(--on-dark);
  box-shadow:0 8px 20px -4px rgba(253,69,0,.28);
}
.btn--30{gap:10px;padding:17px 30px;box-shadow:0 8px 20px -4px rgba(252,69,0,.26)}
.btn--outline{
  gap:10px;padding:15px 0;border-radius:11px;
  background:var(--bg-page);border:1.5px solid var(--brand-500);color:var(--brand-500);
}
.btn--block{width:100%;padding-left:0;padding-right:0}
.btn--block.btn--primary{padding:15px 0;border-radius:11px;gap:10px}
.btn--nav{
  padding:15px 26px;border-radius:10px;
  background:#172945;color:var(--on-dark);
}

/* ============================== S — Header =============================== */
.s-header{
  position:sticky;top:0;z-index:50;
  display:flex;flex-direction:column;align-items:center;
  background:var(--bg-page);border-bottom:1px solid var(--brand-100);
}
.header__container{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:1200px;padding:20px 40px;
}
.header__logo{width:150px;height:38px;position:relative;overflow:hidden;flex:none}
.header__logo img{position:absolute;left:-10.38px;top:-9.79px;width:173.07px;height:57.58px;max-width:none}
.header__nav{display:flex;align-items:center;gap:36px}
.header__nav a{
  font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-0.1px;
  color:var(--ink-900);white-space:nowrap;transition:color .15s ease;
}
.header__nav a:hover{color:var(--brand-500)}
.header__actions{display:flex;align-items:center;gap:10px}
.burger{display:none;flex-direction:column;align-items:center;gap:5px;padding:11px 4px}
.burger span{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--ink-900)}
.mobile-menu{display:none}

/* =============================== S — Hero ================================ */
.s-hero{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:44px;
  padding-top:60px;background:var(--bg-page);
}
.hero__content{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:26px;
  width:100%;max-width:1280px;padding:0 40px;
}

/* Trust row */
.hero__trust{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px 18px;width:100%;
  font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--ink-900);
}
.hero__trust p{white-space:nowrap}
.trust__tests{order:1}
.trust__sep--1{order:2}
.trust__rating{order:3}
.trust__sep--2{order:4}
.trust__partners{order:5}
.trust__sep{width:1px;height:14px;background:var(--border-rule);flex:none}
.trust__rating{display:flex;align-items:center;gap:3px}
.stars{display:flex;align-items:center;gap:1px}
.stars img{width:15px;height:15px}
.trust__score{white-space:pre}
.trust__score::before{content:"  "}
.trust__partners{display:flex;align-items:center;gap:8px}
.trust__logo{width:20px;height:20px;border-radius:4px;object-fit:cover;flex:none}

.hero__title{
  font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);
  font-weight:800;text-align:center;width:100%;
}
.hero__lead{
  width:800px;max-width:100%;text-align:center;
  font-size:var(--fs-lead);line-height:var(--lh-lead);letter-spacing:var(--ls-lead);
  color:var(--text-body);
}
.hero__cta{box-shadow:0 8px 20px -4px rgba(253,69,0,.28)}

.hero__features{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:12px 40px;width:100%;
}
.feature{display:flex;align-items:center;gap:10px}
.feature p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-900);white-space:nowrap}
.feature__tile{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px;border-radius:10px;background:var(--brand-50);flex:none;
}
.feature__tile img{width:18px;height:18px}

/* Décor du hero */
.hero__decor{position:absolute;inset:0;pointer-events:none}
.float-badge{position:absolute;display:block;width:66px;height:66px}
.float-badge img{
  width:66px;height:66px;border-radius:19.14px;object-fit:cover;
  box-shadow:0 10px 24px -6px rgba(20,33,56,.16);
}
.float-badge--google   {left:100.37px;top:153.27px;transform:rotate(6deg)}
.float-badge--meta     {left:198.22px;top:229.62px;transform:rotate(-4deg)}
.float-badge--instagram{right:47.25px;top:137px;transform:rotate(-5deg)}
.float-badge--tiktok   {right:115px;top:222.75px;transform:rotate(5deg)}
.float-badge--youtube  {right:51.77px;top:301.68px;transform:rotate(3deg)}
.hero__note{position:absolute;display:block}
.hero__note--trafic{left:66px;top:312px;width:196px;height:104px}
.hero__note--trafic img{width:100%;height:100%;object-fit:contain}
.hero__note--marge{right:109px;top:326px;width:150px;height:89px;overflow:hidden}
.hero__note--marge img{position:absolute;left:11.6px;top:-0.39px;width:126.81px;height:89px;max-width:none}

/* Panneau sombre */
.hero__visual-wrap{
  display:flex;flex-direction:column;align-items:center;
  width:100%;padding:0 160px;
}
.panel{
  position:relative;width:100%;max-width:1120px;height:500px;
  border-radius:26px;overflow:hidden;
  background:linear-gradient(134.87deg,#17212e 0%,#0e1724 34.615%,#0a121c 76.923%);
  box-shadow:0 24px 60px -12px rgba(13,23,38,.28);
}
.panel__glow{position:absolute;left:160px;top:-98px;width:690px;height:520px;max-width:none}
.panel__connectors{position:absolute;left:0;top:0;width:1120px;height:500px;max-width:none}

.panel__sources{display:contents}
.pill{
  position:absolute;left:32px;width:184px;height:52px;
  display:flex;align-items:center;gap:10px;
  padding:10px 14px 10px 12px;border-radius:14px;
  background:var(--ink-panel-2);border:1px solid var(--border-dark);
}
.pill p{
  font-size:18px;font-weight:700;line-height:1.38;letter-spacing:-0.2px;
  color:var(--on-dark);white-space:nowrap;
}
.pill__icon{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px;border-radius:9px;background:rgba(255,255,255,.07);flex:none;
}
.pill__icon img{width:16px;height:16px}
.pill--1{top:46px}.pill--2{top:116px}.pill--3{top:186px}.pill--4{top:256px}

.mockup{
  position:absolute;left:356px;top:100px;width:248px;height:176px;
  display:flex;flex-direction:column;
  border-radius:14px;overflow:hidden;
  background:var(--ink-panel-2);border:1px solid var(--border-dark);
  box-shadow:0 12px 28px -6px rgba(0,0,0,.3);
}
.mockup__bar{display:flex;align-items:center;gap:6px;padding:11px 12px;width:100%}
.mockup__bar img{width:6px;height:6px;flex:none}
.mockup__url{
  flex:1;min-width:0;display:flex;align-items:center;justify-content:center;
  padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.08);
  font-size:13px;line-height:1.5;color:var(--on-dark);white-space:nowrap;
}
.mockup__body{flex:1;min-height:0;display:flex;gap:12px;padding:6px 12px 14px}
.mockup__product{width:96px;height:100%;border-radius:8px;background:rgba(255,255,255,.1);flex:none}
.mockup__lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.mockup__lines .line{height:8px;border-radius:4px;background:rgba(255,255,255,.16)}
.mockup__lines .line--1{width:100%;background:rgba(255,255,255,.24)}
.mockup__lines .line--2{width:121px}
.mockup__lines .line--3{width:87px}
.line-spacer{height:6px}
.line-cta{height:26px;border-radius:6px;background:var(--brand-500)}

.panel__flow{display:contents}
.flow-arrow{display:none}
.price-badge{
  position:absolute;display:inline-flex;align-items:center;
  padding:7px 13px;border-radius:999px;
  background:#0e1724;border:1.5px solid var(--brand-500);
  color:var(--brand-500);font-size:18px;font-weight:700;line-height:1.38;letter-spacing:-0.2px;
  white-space:nowrap;box-shadow:0 0 16px 0 rgba(253,69,0,.35);
}
.price-badge--1{left:248px;top:181px}
.price-badge--2{left:628px;top:151px}
.price-badge--3{left:790px;top:151px}

.margin-card{
  position:absolute;left:904px;top:100px;width:184px;height:176px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:16px 14px;border-radius:16px;text-align:center;white-space:nowrap;
  background:var(--ink-panel-2);border:1px solid var(--border-dark);
}
.margin-card__label,.margin-card__old{font-size:14px;line-height:1.58;color:var(--on-dark-mute)}
.margin-card__old{text-decoration:line-through}
.margin-card__value{
  font-size:var(--fs-stat);line-height:var(--lh-stat);letter-spacing:var(--ls-stat);
  font-weight:800;color:var(--brand-500);
}
.margin-card__sessions{font-size:14px;line-height:1.58;color:var(--on-dark)}

.statbar{
  position:absolute;left:32px;top:354px;width:1056px;height:120px;
  display:flex;align-items:center;
  padding:16px 24px;border-radius:18px;
  background:rgba(255,255,255,.05);border:1px solid var(--border-dark);
}
.stat{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 30px}
.stat__icon{width:26px;height:26px;flex:none}
.stat__icon--24{width:24px;height:24px}
.stat__text{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.stat__title{font-size:22px;font-weight:700;line-height:1.32;letter-spacing:-0.3px;color:var(--on-dark)}
.stat__sub{font-size:14px;line-height:1.58;color:var(--on-dark-mute)}
.stat__divider{width:1px;height:46px;background:rgba(255,255,255,.1);flex:none}

/* =============================== S — Logos =============================== */
.s-logos{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:26px;
  padding:58px 0;background:var(--bg-page);
}
.logos__eyebrow{
  font-size:var(--fs-eyebrow);font-weight:600;line-height:1.2;letter-spacing:var(--ls-eyebrow);
  color:var(--text-muted);text-align:center;white-space:nowrap;
}
.logos__row{
  display:flex;align-items:flex-start;gap:12px;
  width:100%;max-width:1200px;padding:0 40px;
}
.logo-cell{
  flex:1;min-width:0;height:88px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:10px;overflow:hidden;
}
.logo-cell img{width:var(--w);height:var(--h,48px);object-fit:cover;flex:none}
.logo-cell--fizimed img{object-fit:cover}

/* ============================= S — Résultats ============================= */
.s-results{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-page);
}
.results__container{position:relative;display:flex;flex-direction:column;gap:46px}
.results__header{display:flex;align-items:center;justify-content:space-between;width:100%}
.results__header .h2{width:621px;max-width:100%}
.results__grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:30px;width:100%}

.slot{position:relative;height:180px}
.slot--1{width:585px;filter:drop-shadow(0 4px 60px #ffe9e1)}
.slot--2{flex:1;min-width:420px;max-width:610px;filter:drop-shadow(0 4px 60px #ffe9e1)}
.slot--3{flex:1;min-width:420px;max-width:610px;filter:drop-shadow(0 2px 50px #ffddd0)}
.slot--4{flex:1;min-width:420px;max-width:610px;filter:drop-shadow(0 8px 60px #f5caba)}

.result-card{
  position:absolute;left:6px;right:6px;top:50%;height:170px;
  display:flex;align-items:center;gap:22px;
  padding:22px 28px 22px 26px;border-radius:18px;
  background:var(--bg-page);border:1px solid var(--border-rule);
  box-shadow:0 14px 34px -8px rgba(31,41,61,.09);
}
.slot--1 .result-card{transform:translateY(-50%) rotate(-3.21deg) skewX(-1.11deg)}
.slot--2 .result-card{transform:translateY(-50%) rotate(2.37deg) skewX(-0.06deg)}
.slot--3 .result-card{transform:translateY(-50%) rotate(2.1deg) skewX(-0.21deg)}
.slot--4 .result-card{transform:translateY(-50%) rotate(-1.64deg) skewX(0.33deg)}

.result-card__tile{
  display:inline-flex;align-items:center;justify-content:center;
  width:110px;height:110px;padding:16px;border-radius:13px;
  background:var(--brand-50);flex:none;
}
.result-card__tile img{width:56px;height:56px}
.result-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.result-card__stat{
  font-size:var(--fs-stat);line-height:var(--lh-stat);letter-spacing:var(--ls-stat);
  font-weight:800;color:var(--brand-500);white-space:nowrap;
}
.result-card__label{font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-h4);letter-spacing:var(--ls-h4);white-space:nowrap}
.result-card__detail{font-size:16px;font-weight:700;line-height:1.2;color:var(--text-body)}
.result-card__detail--158{line-height:1.58}

.results__note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}

.doodle{position:absolute;pointer-events:none}
.doodle--results-arrow {left:-40px;top:262px;width:96px;height:166px}
.doodle--results-eclats{right:14.94px;top:144.26px;width:79.06px;height:79.06px}
.doodle--results-cursor{right:52px;top:498.58px;width:72px;height:72px}

/* ============================== S — Leviers ============================== */
.s-levers{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-soft);
}
.levers__container{position:relative;display:flex;flex-direction:column;align-items:center;gap:52px}
.section-head{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}
.levers__grid{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;
  gap:26px;width:1072px;max-width:100%;
}
.lever{
  flex:1;min-width:340px;max-width:390px;
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  padding:28px;border-radius:20px;border:1px solid var(--border-rule);
}
.lever--brand {background:var(--brand-50);height:302px}
.lever--blue  {background:var(--accent-blue-50)}
.lever--green {background:var(--accent-green-50);height:302px}
.lever--yellow{background:var(--accent-yellow-50);height:276px}
.lever--pink  {background:var(--accent-pink-50)}
.lever__tile{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px;border-radius:13px;background:rgba(255,255,255,.85);flex:none;
}
.lever__tile img{width:24px;height:24px}

.doodle--lev-orange{left:31px;top:223px;width:126.78px;height:126.78px}
.doodle--lev-green {right:47.5px;top:462.64px;width:87px;height:84.71px}
.doodle--lev-yellow{left:118px;top:655px;width:87.86px;height:87.16px}
.doodle--lev-pink  {right:147.02px;top:610px;width:111.98px;height:111.98px}

/* ============================== S — Méthode ============================== */
.s-method{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-page);
}
.method__container{position:relative;display:flex;flex-direction:column;gap:60px}
.method__header{display:flex;align-items:center;gap:60px;width:100%}
.method__intro{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.method__note{width:300px;height:185px;object-fit:contain;flex:none}

.method__steps{position:relative;display:flex;align-items:stretch;gap:30px;width:100%}
.step{
  flex:1;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding:30px 28px 28px;border-radius:20px;
  background:var(--brand-50);border:1px solid var(--border-rule);
}
.step__head{display:flex;align-items:center;gap:14px}
.step__num{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 15px;border-radius:999px;
  background:var(--bg-page);border:1.5px solid var(--brand-100);
  font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:var(--ls-h3);color:var(--brand-500);
}
.step__tile{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px;border-radius:12px;
  background:var(--bg-page);border:1px solid var(--brand-100);
}
.step__tile img{width:24px;height:24px}
.tags{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.tag{
  display:inline-flex;align-items:center;
  padding:7px 13px;border-radius:999px;
  background:var(--bg-page);border:1px solid var(--brand-100);
  font-size:var(--fs-tag);font-weight:500;line-height:1.3;color:var(--brand-500);white-space:nowrap;
}
.step__arrow{position:absolute;top:34px;width:22px;height:22px;pointer-events:none}
.step__arrow--1{left:calc((100% - 60px)/3 + 4px)}
.step__arrow--2{left:calc((100% - 60px)/3*2 + 37.67px)}

/* ============================= S — Confiance ============================= */
.s-trust{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-page);
}
.trust__container{position:relative;display:flex;align-items:center;gap:72px}
.trust__blob{position:absolute;left:-60px;top:148px;width:660px;height:540px;max-width:none;pointer-events:none}
.trust__intro{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:22px}

.founder-wrap{position:relative;width:100%;height:318px}
.founder{
  position:absolute;left:0;top:0;width:523px;max-width:100%;
  display:flex;align-items:center;gap:26px;padding-top:18px;
}
.founder__photo{width:168px;height:168px;flex:none}
.founder__bio{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.founder__note{width:214px;height:143px;object-fit:contain}
.founder__name{font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:var(--ls-h3);white-space:nowrap}
.founder__role{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-muted);white-space:nowrap}
.founder__quote{font-size:var(--fs-body);font-weight:500;line-height:var(--lh-body);color:var(--text-body)}
.doodle--founder{left:146px;top:7px;width:96px;height:166px}

.proofs{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:20px}
.proof{
  display:flex;align-items:flex-start;gap:20px;
  padding:26px;border-radius:18px;
  background:var(--bg-page);border:1px solid var(--border-rule);
  box-shadow:0 8px 20px -4px rgba(31,41,61,.05);
}
.proof__tile{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px;border-radius:13px;background:var(--brand-50);flex:none;
}
.proof__tile img{width:22px;height:22px}
.proof__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.proof__text .h3{white-space:nowrap}

/* ============================ S — Témoignages ============================ */
.s-testimonials{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-soft);
}
.testimonials__container{display:flex;flex-direction:column;align-items:center;gap:52px}
.testimonials__grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:26px;width:100%}
.review{
  flex:1;min-width:340px;max-width:400px;
  display:flex;flex-direction:column;align-items:flex-start;gap:18px;
  padding:26px;border-radius:20px;
  background:var(--bg-page);border:1px solid var(--border-rule);
  box-shadow:0 10px 24px -6px rgba(31,41,61,.05);
}
.review--remus{height:380px}
.review__brand{display:flex;align-items:center;justify-content:space-between;width:100%}
.review__logo{width:var(--w);height:var(--h,48px);object-fit:cover;flex:none}
.review__cat{
  display:inline-flex;align-items:center;
  padding:5px 11px;border-radius:999px;
  background:var(--bg-soft);border:1px solid var(--border-rule);
  font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);white-space:nowrap;
}
.review__stat{
  display:flex;align-items:center;gap:14px;width:100%;
  padding:14px 18px;border-radius:13px;background:var(--brand-50);
}
.review__stat-value{
  font-size:var(--fs-stat);line-height:var(--lh-stat);letter-spacing:var(--ls-stat);
  font-weight:800;color:var(--brand-500);white-space:nowrap;
}
.review__stat-label{flex:1;min-width:0;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text-body)}
.review__author{display:flex;align-items:center;gap:12px;width:100%}
.review__author img{width:42px;height:42px;flex:none}
.review__name{font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-h4);letter-spacing:var(--ls-h4);white-space:nowrap}
.review__role{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text-muted);white-space:nowrap}
.testimonials__cta{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}

/* =========================== S — Bandeau Zéro ============================ */
.s-zero{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:36px 0;
}
.zero__row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:16px 48px;width:100%;max-width:1280px;padding:0 40px;
}
.zero__item{display:flex;align-items:center;gap:6.4px}
.zero__item p{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-size:16px;line-height:24px;letter-spacing:-0.32px;color:#202938;
  text-align:center;white-space:nowrap;
}
.zero__icon{
  display:inline-flex;padding:3.2px;border-radius:2px;background:#fff;
  filter:drop-shadow(0 2px 3.5px rgba(0,0,0,.1));flex:none;
}
.zero__icon img{width:17.59px;height:17.59px}

/* ============================== S — Offres =============================== */
.s-pricing{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-page);
}
.pricing__container{position:relative;display:flex;flex-direction:column;align-items:center;gap:52px}
.pricing__note{position:absolute;right:14px;top:60px;width:190px;height:188px;object-fit:cover;pointer-events:none}
.pricing__grid{display:flex;align-items:flex-start;gap:24px;width:100%}
.plan{
  flex:1;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  padding:30px 30px 32px;border-radius:20px;
  background:var(--bg-page);border:1px solid var(--border-rule);
  box-shadow:0 10px 24px -6px rgba(31,41,61,.05);
}
.plan:first-child{height:630px}
.plan--featured{
  background:var(--brand-50);border:1.8px solid var(--brand-500);
  box-shadow:0 16px 36px -8px rgba(253,69,0,.14);
}
.plan__head{display:flex;align-items:center;justify-content:space-between;width:100%}
.plan__num{font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-h4);letter-spacing:var(--ls-h4);color:var(--text-muted)}
.plan--featured .plan__num{color:var(--brand-500)}
.plan__badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px 6px 12px;border-radius:999px;background:var(--brand-500);
  font-size:var(--fs-tag);font-weight:500;line-height:1.3;color:var(--on-dark);white-space:nowrap;
}
.plan__badge img{width:14px;height:14px}
.plan__divider{width:100%;height:1px;background:var(--border-rule)}
.plan__price{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.plan__amount{font-size:var(--fs-price);line-height:var(--lh-price);letter-spacing:var(--ls-price);font-weight:800}
.plan__unit{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-muted)}
.plan__terms{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text-muted)}
.plan__features{display:flex;flex-direction:column;gap:11px;width:100%;padding-top:4px}
.plan__features li{display:flex;align-items:flex-start;gap:11px;width:100%}
.plan__features img{width:17px;height:17px;flex:none}
.plan__features span{flex:1;min-width:0;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--ink-900)}

.pricing__reassurance{display:flex;align-items:flex-start;gap:40px;width:100%;padding-top:10px}
.reassurance{flex:1;min-width:0;display:flex;align-items:center;gap:13px}
.reassurance img{width:24px;height:24px;flex:none}
.reassurance>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.reassurance__title{font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-h4);letter-spacing:var(--ls-h4);white-space:nowrap}
.reassurance__sub{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text-muted)}

/* =============================== S — FAQ ================================= */
.s-faq{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding:104px 0;background:var(--bg-soft);
}
.faq__container{display:flex;flex-direction:column;align-items:center;gap:48px}
.faq__list{display:flex;flex-direction:column;gap:14px;width:100%}
.faq-item{
  width:100%;border-radius:16px;
  background:var(--bg-page);border:1px solid var(--border-rule);
  padding:24px 28px;
}
.faq-item.is-open{border:1.5px solid var(--brand-100)}
.faq-item__q{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  width:100%;text-align:left;
}
.faq-item__q .h3{flex:1;min-width:0}
.faq-item__toggle{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px;border-radius:999px;background:var(--brand-50);flex:none;
}
.faq-item.is-open .faq-item__toggle{background:var(--brand-500)}
.faq-item__toggle img{width:18px;height:18px}
.faq-item__a{display:none;padding-top:14px}
.faq-item.is-open .faq-item__a{display:block}

.faq__cta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;
  padding:26px 30px;border-radius:18px;background:var(--brand-50);
}
.faq__cta>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.faq__cta .h3{white-space:nowrap}

/* ============================== S — Footer =============================== */
.s-footer{
  display:flex;flex-direction:column;align-items:center;
  padding:76px 0 32px;background:var(--ink-panel);color:var(--on-dark);
}
.footer__container{display:flex;flex-direction:column;gap:48px}
.footer__top{display:flex;align-items:flex-start;gap:80px;width:100%}
.footer__brand{flex:1;min-width:0;max-width:380px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer__logo{position:relative;display:block;width:200px;height:50px;overflow:hidden}
.footer__logo img{position:absolute;left:-24.32px;top:-14.76px;width:247.84px;height:82.84px;max-width:none}
.footer__desc{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--on-dark-mute)}
.footer__social{display:flex;gap:10px}
.footer__social-link{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px;border-radius:10px;background:rgba(255,255,255,.07);
  transition:background .15s ease;
}
.footer__social-link:hover{background:rgba(255,255,255,.14)}
.footer__social-link img{width:18px;height:18px}

.footer__cols{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px 64px}
.footer__col{display:flex;flex-direction:column;gap:14px}
.footer__col-title{font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-h4);letter-spacing:var(--ls-h4);color:var(--on-dark)}
.footer__col a{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--on-dark-mute);transition:color .15s ease}
.footer__col a:hover{color:var(--on-dark)}

.footer__cta{
  flex:1;min-width:0;max-width:320px;
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding:24px 26px;border-radius:16px;
  background:rgba(255,255,255,.05);border:1px solid var(--border-dark);
}
.footer__cta-title{font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:var(--ls-h3);white-space:nowrap}
.footer__cta-sub{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--on-dark-mute)}
.footer__cta .btn img{width:19px;height:19px}

.footer__divider{width:100%;height:1px;background:rgba(255,255,255,.1)}
.footer__legal{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--on-dark-mute);white-space:nowrap;
}
.footer__legal-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.footer__legal-links a{transition:color .15s ease}
.footer__legal-links a:hover{color:var(--on-dark)}

/* ==========================================================================
   Tablette — 1024px et moins : les grilles se réorganisent
   ========================================================================== */
@media (max-width:1180px){
  .doodle,.hero__decor,.trust__blob,.method__note,.pricing__note,.step__arrow{display:none}
  .results__header{flex-direction:column;align-items:flex-start;gap:24px}
  .results__header .h2{width:100%}
  .slot--1{width:100%;flex:1 1 100%}
  .slot--2,.slot--3,.slot--4{min-width:300px}
  .trust__container{flex-direction:column;align-items:stretch;gap:48px}
  .founder{position:static;width:100%}
  .founder-wrap{height:auto}
  .pricing__grid{flex-wrap:wrap;justify-content:center}
  .plan{min-width:320px;flex:1 1 320px}
  .plan:first-child{height:auto}
  .method__steps{flex-wrap:wrap}
  .step{min-width:300px;flex:1 1 300px}
  .footer__top{flex-wrap:wrap;gap:48px}
  .footer__brand,.footer__cta{max-width:none;flex:1 1 300px}
  .footer__cols{flex:1 1 100%}
}

/* Entre 1160 et 1440 px, le panneau garde sa composition exacte (1120 x 500) */
@media (max-width:1439px) and (min-width:1160px){
  .hero__visual-wrap{padding:0 20px}
  .panel{width:1120px;max-width:none;flex:none}
}

/* En dessous de 1160 px, le panneau s'empile — sa composition fixe ne tient plus */
@media (max-width:1159px){
  .hero__visual-wrap{padding:0 20px}
  .panel{
    position:relative;height:auto;max-width:1120px;
    display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;
  }
  .panel__glow,.panel__connectors{display:none}
  .panel__sources{display:flex;flex-wrap:wrap;gap:12px;width:100%}
  .pill{position:static;flex:1;min-width:180px;width:auto}
  .mockup{position:static;width:100%;max-width:440px}
  .panel__flow{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}
  .flow-arrow{display:block;width:16px;height:16px;flex:none}
  .price-badge{position:static}
  .margin-card{position:static;width:100%;max-width:440px;height:auto}
  .statbar{position:static;width:100%;height:auto;padding:16px 24px}
}

/* ==========================================================================
   Mobile — 390px de référence
   ========================================================================== */
@media (max-width:980px){
  :root{
    --fs-display:36px;  --lh-display:1.1;  --ls-display:-1px;
    --fs-h2:28px;       --lh-h2:1.2;       --ls-h2:-0.7px;
    --fs-h3:19px;       --lh-h3:1.32;      --ls-h3:-0.2px;
    --fs-h4:16px;       --lh-h4:1.38;      --ls-h4:-0.1px;
    --fs-lead:16px;     --lh-lead:1.6;     --ls-lead:0px;
    --fs-body:15px;     --lh-body:1.62;
    --fs-body-sm:13px;  --lh-body-sm:1.58;
    --fs-caption:12px;  --lh-caption:1.5;
    --fs-eyebrow:11px;  --ls-eyebrow:1.2px;
    --fs-button:15px;
    --fs-tag:12px;
    --fs-stat:30px;     --lh-stat:1.15;    --ls-stat:-0.8px;
    --fs-price:30px;    --lh-price:1.15;   --ls-price:-0.8px;
  }

  .eyebrow{line-height:13px}
  /* Les conteneurs passés en colonne ne doivent plus étirer leurs enfants */
  .levers__grid>*,.method__steps>*,.trust__container>*,.testimonials__grid>*,
  .pricing__grid>*,.footer__top>*,.results__grid>*{flex:none}

  .only-mobile{display:inline!important}
  .only-mobile-flex{display:inline-flex!important}
  .only-desktop,.only-desktop-flex{display:none!important}
  .grid-line{display:none}
  .container,.container--1200,.container--1198,.container--1000{max-width:none;padding:0 20px}
  .lead--880,.lead--700{width:100%}
  /* Ces deux titres se replient naturellement sur mobile (pas de césure forcée) */
  .s-method .h2 br,.s-pricing .h2 br{display:none}

  /* -------- Header -------- */
  .header__container{max-width:none;padding:14px 20px}
  .header__nav{display:none}
  .header__logo{width:130px;height:35px}
  .header__logo img{left:-9px;top:-9.02px;width:150px;height:53.03px}
  .btn--nav{padding:10px 14px}
  .burger{display:flex}
  .mobile-menu{
    display:flex;flex-direction:column;width:100%;
    padding:8px 20px 18px;border-top:1px solid var(--brand-100);background:var(--bg-page);
  }
  .mobile-menu[hidden]{display:none}
  .mobile-menu a{padding:12px 0;font-size:16px;font-weight:600;color:var(--ink-900)}

  /* -------- Hero -------- */
  .s-hero{padding:64px 0;gap:44px}
  .hero__content{padding:0 20px;gap:26px;max-width:none}
  .hero__decor{display:none}

  .hero__trust{flex-direction:column;gap:8px;text-align:center}
  .hero__trust p{white-space:normal}
  .trust__partners{order:1}
  .trust__sep--1{order:2}
  .trust__tests{order:3}
  .trust__sep--2{order:4}
  .trust__rating{order:5}
  .trust__sep{width:100%;max-width:350px;height:1px}
  .trust__partners{font-size:var(--fs-body-sm)}

  .hero__lead{width:100%}
  .hero__cta{width:100%}
  .hero__features{gap:8px 8px}
  .feature p{font-size:var(--fs-body)}

  .hero__visual-wrap{padding:0 20px}
  .panel{
    position:relative;height:auto;max-width:none;
    display:flex;flex-direction:column;align-items:center;gap:16px;
    padding:18px 14px;
    background:linear-gradient(100.91deg,#17212e 0%,#0e1724 34.615%,#0a121c 76.923%);
  }
  .panel__glow,.panel__connectors{display:none}

  .panel__sources{display:flex;flex-wrap:wrap;gap:10px;width:100%}
  .pill{position:static;flex:1;min-width:140px;width:auto;height:auto}
  .pill p{font-size:16px;letter-spacing:-0.1px}

  .mockup{position:static;width:100%;height:176px}
  .mockup__url{font-size:12px}
  .mockup__lines .line--2,.mockup__lines .line--3{width:100%}

  .panel__flow{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
  .flow-arrow{display:block;width:16px;height:16px;flex:none}
  .price-badge{position:static;font-size:16px;letter-spacing:-0.1px}

  .margin-card{position:static;width:100%;height:auto}
  .margin-card__label,.margin-card__sessions,.margin-card__old{font-size:13px;width:100%}
  .margin-card__value{font-size:30px;line-height:1.15;width:100%}

  .statbar{
    position:static;width:100%;height:auto;
    flex-direction:column;align-items:center;gap:14px;padding:16px;border-radius:18px;
  }
  .stat{width:100%;gap:12px;padding:0 30px}
  .stat__icon,.stat__icon--24{width:22px;height:22px}
  .stat__text{width:100%;white-space:normal}
  .stat__title{font-size:19px;letter-spacing:-0.2px}
  .stat__sub{font-size:13px}
  .stat__divider{width:100%;height:1px}

  /* -------- Logos -------- */
  .s-logos{padding:40px 0;gap:26px}
  .logos__eyebrow{white-space:normal;padding:0 20px}
  .logos__row{
    display:grid;grid-template-columns:repeat(3,92px);justify-content:center;
    align-items:center;gap:14px;padding:0 20px;max-width:none;
  }
  .logo-cell{
    position:relative;height:var(--mh);min-width:0;
    border-radius:0;background:transparent;overflow:hidden;
  }
  .logo-cell img{
    position:absolute;left:0;top:var(--mt);
    width:92px;height:var(--mih);object-fit:cover;
  }

  /* -------- Résultats -------- */
  .s-results{padding:64px 0}
  .results__container{gap:22px;align-items:center}
  .results__header{justify-content:center}
  .results__header .h2{width:100%;text-align:center}
  .results__grid{flex-direction:column;gap:13px}
  .slot{width:100%!important;flex:none!important;min-width:0!important;max-width:none!important;height:auto;filter:none}
  .result-card{position:static;height:auto;transform:none!important;padding:16px 17px;gap:14px}
  .slot--1 .result-card,.slot--2 .result-card,.slot--3 .result-card,.slot--4 .result-card{transform:none}
  .result-card__label{white-space:normal;font-size:16px}
  .result-card__stat{font-size:30px}
  .result-card__detail,.result-card__detail--158{font-size:13px;font-weight:400;line-height:1.38}
  .result-card__detail br{display:none}
  .results__note{text-align:left;width:100%}

  /* -------- Leviers -------- */
  .s-levers{padding:64px 0}
  .levers__container{gap:52px}
  .levers__grid{flex-direction:column;width:100%;gap:14px}
  .lever{width:100%;min-width:0;max-width:none;height:auto!important;padding:28px}

  /* -------- Méthode -------- */
  .s-method{padding:64px 0}
  .method__container{gap:60px}
  .method__header{gap:0}
  .method__intro{align-items:center;text-align:center;gap:20px;width:100%}
  .method__intro .btn{width:100%}
  .method__steps{flex-direction:column;gap:16px}
  .step{width:100%;min-width:0}

  /* -------- Confiance -------- */
  .s-trust{padding:64px 0}
  .trust__container{flex-direction:column;align-items:stretch;gap:30px}
  .trust__intro{align-items:center;text-align:center;gap:22px}
  .founder-wrap{height:auto}
  .founder{
    position:static;width:100%;
    padding:18px 12px;gap:16px;border-radius:20px;background:var(--brand-50);text-align:left;
  }
  .founder__photo{width:80px;height:80px}
  .founder__bio{gap:6px}
  .founder__note{display:none}
  .founder__name{font-size:19px;letter-spacing:-0.2px;white-space:normal}
  .founder__role{font-size:15px;white-space:normal}
  .founder__quote{font-size:15px;font-weight:400}
  .proofs{gap:20px}
  .proof__text .h3{white-space:normal}

  /* -------- Témoignages -------- */
  .s-testimonials{padding:64px 0}
  .testimonials__container{gap:52px}
  .testimonials__grid{flex-direction:column;gap:14px}
  /* La maquette mobile réordonne les avis */
  .review--puppy{order:1}
  .review--remus{order:2}
  .review--lacoste{order:3}
  .review{width:100%;min-width:0;max-width:none;height:auto!important}
  .review__name{white-space:normal}
  .review__role{white-space:normal}
  .testimonials__cta .btn{width:100%}

  /* -------- Bandeau Zéro -------- */
  .s-zero{padding:28px 0}
  .zero__row{gap:12px 14px;padding:0 20px}

  /* -------- Offres -------- */
  .s-pricing{padding:64px 0}
  .pricing__container{gap:52px}
  .pricing__grid{flex-direction:column;gap:16px}
  .plan{width:100%;min-width:0;height:auto!important}
  .pricing__reassurance{flex-direction:column;gap:14px}
  .reassurance__title{white-space:normal}

  /* -------- FAQ -------- */
  .s-faq{padding:64px 0}
  .faq__container{gap:48px}
  .faq__list{gap:14px}
  .faq-item__q{gap:14px}
  .faq__cta{flex-direction:column;align-items:flex-start;gap:16px;padding:24px}
  .faq__cta .h3{white-space:normal}
  .faq__cta .btn{width:100%}

  /* -------- Footer -------- */
  .s-footer{padding:52px 0 28px}
  .footer__container{gap:48px}
  .footer__top{flex-direction:column;gap:32px}
  .footer__brand,.footer__cta{max-width:none;width:100%}
  .footer__cta{max-width:320px}
  .footer__logo{width:150px;height:37px}
  .footer__logo img{left:-18.24px;top:-10.92px;width:185.88px;height:61.3px}
  .footer__cols{flex-direction:column;gap:24px;width:100%}
  .footer__col{width:100%;gap:14px}
  .footer__legal{flex-direction:column;align-items:flex-start;gap:0;white-space:normal}
  .footer__legal-links{flex-direction:column;gap:14px}
}

@media (max-width:359px){
  .logos__row{grid-template-columns:repeat(3,1fr)}
  .logo-cell img{width:100%}
}
