/* ============================================================
   JANVIER — Landing page campagne ADS
   Charte : rouge #E73643 (site officiel), encre, blanc, accent #7EBEC5
   Typo   : Archivo (titres) + Open Sans (textes) — auto-hébergées
   Textes : plateforme de marque V1 (Google Sheets de l'agence)
   ============================================================ */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 900;font-stretch:75% 125%;font-display:swap;src:url(Archivo-500_900.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(OpenSans-var.woff2) format('woff2')}

:root{
  --rouge:#E73643; --rouge-fonce:#C4222E; --rouge-pale:#FDECEE;
  --encre:#0E0E10; --encre-2:#1A1A1E; --gris:#6B6B73;
  --ligne:#E5E5E8; --brume:#F6F6F7; --bleu:#7EBEC5; --blanc:#fff;
  --r:14px; --pad:clamp(20px,4vw,64px); --tt:.18s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--blanc);color:var(--encre);
  font-family:'Open Sans',-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
/* trame verticale discrète — remplace toute animation décorative */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(90deg,var(--ligne) 1px,transparent 1px);
  background-size:12.5vw 100%;opacity:.55;
}
h1,h2,h3,h4{font-family:Archivo,'Open Sans',Arial,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.04;margin:0}
p{margin:0}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:2px solid var(--rouge);outline-offset:2px;border-radius:4px}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--pad)}

/* ---------- header ---------- */
.topline{height:4px;background:var(--rouge)}
header{position:relative;z-index:5;border-bottom:1px solid var(--ligne);background:var(--blanc)}
header .wrap{display:flex;align-items:center;gap:18px;padding-top:16px;padding-bottom:16px}
.logo{color:var(--rouge);display:block;flex:0 0 auto}
.logo svg{display:block;width:150px;height:auto}
.callbox{margin-left:auto;display:flex;align-items:center;gap:18px}
.dispo{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gris);white-space:nowrap}
.dispo i{width:8px;height:8px;border-radius:50%;background:#2FBF71;box-shadow:0 0 0 3px rgba(47,191,113,.18);flex:0 0 auto}
.dispo i.off{background:#B9B9C0;box-shadow:0 0 0 3px rgba(185,185,192,.2)}
.tel{display:inline-flex;align-items:center;gap:9px;background:var(--rouge);color:#fff;border-radius:100px;padding:10px 18px;font-family:Archivo,sans-serif;font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;transition:background var(--tt),transform var(--tt)}
.tel:hover{background:var(--rouge-fonce);transform:translateY(-1px)}
.tel svg{flex:0 0 auto;opacity:.9}

/* ---------- grille 2 colonnes ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(28px,4vw,70px);align-items:start;padding-bottom:70px}
.col{min-width:0}
section{padding:clamp(38px,5vw,60px) 0;border-bottom:1px solid var(--ligne)}
.hero{padding-top:clamp(34px,4.5vw,54px)}
.trust{border-bottom:0}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--rouge);margin-bottom:22px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--rouge)}
.h2{font-size:clamp(1.5rem,2.5vw,2.1rem);margin-bottom:10px}
.chapo{font-size:15.4px;color:var(--gris);max-width:50em;margin-top:10px}

/* ---------- hero ---------- */
h1{font-size:clamp(2rem,4.2vw,3.5rem);font-weight:800;max-width:17em;position:relative}
h1 em{font-style:normal;position:relative;white-space:nowrap;z-index:1}
h1 em::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.07em;height:.17em;background:var(--rouge);z-index:-1}
.lead{margin-top:24px;font-size:clamp(1rem,1.2vw,1.1rem);color:#37373D;max-width:44em}
.args{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:12px;max-width:46em}
.args li{display:flex;gap:13px;align-items:flex-start;font-size:15.4px}
.args li svg{flex:0 0 auto;margin-top:4px;color:var(--rouge)}
.hero-note{margin-top:30px;display:flex;align-items:center;gap:13px;font-size:13.5px;color:var(--gris)}
.hero-note .dot{width:9px;height:9px;border-radius:50%;background:#2FBF71;box-shadow:0 0 0 4px rgba(47,191,113,.16);flex:0 0 auto}

/* ---------- clients ---------- */
.clients{padding-top:clamp(26px,3vw,36px);padding-bottom:clamp(26px,3vw,36px)}
.clients .lbl{font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--rouge);margin-bottom:8px}
.clients .sous{font-size:13.8px;color:var(--gris);margin-bottom:18px;max-width:44em}
.names{display:flex;flex-wrap:wrap;gap:8px 9px}
.names span{font-family:Archivo,sans-serif;font-weight:600;font-size:13.6px;color:#2B2B31;background:var(--brume);border:1px solid var(--ligne);border-radius:100px;padding:6px 14px}

/* ---------- expertises ---------- */
.exp{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1px;margin-top:30px;background:var(--ligne);border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden}
.exp article{background:var(--blanc);padding:24px 22px 26px;transition:background var(--tt);position:relative}
.exp article::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--rouge);opacity:0;transition:opacity var(--tt)}
.exp article:hover{background:var(--rouge-pale)}
.exp article:hover::before{opacity:1}
.exp .num{font-family:Archivo,sans-serif;font-weight:800;font-size:13px;color:var(--rouge);letter-spacing:.06em;display:block;margin-bottom:12px}
.exp h3{font-size:1.1rem;margin-bottom:7px}
.exp .acc{font-size:14.2px;color:#37373D;font-weight:600;margin-bottom:10px}
.exp .off{font-size:12.7px;color:var(--gris);line-height:1.55}
.exp .off i{color:var(--rouge);font-style:normal;font-weight:800;padding:0 3px}

/* grilles à deux cartes : évite une troisième colonne vide */
.charge .exp,.cible .exp{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}

/* ---------- bandeau rouge (page Performance) ---------- */
.bandeau{border-bottom:0;padding-bottom:0}
.bbox{background:var(--rouge);color:#fff;border-radius:var(--r);padding:clamp(26px,3.2vw,38px)}
.bbox .sign{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.03em;line-height:1.05;margin-bottom:14px}
.bbox p{font-size:15.4px;color:rgba(255,255,255,.92);max-width:46em}

/* ---------- listes oui / non (page Performance) ---------- */
.liste{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}
.liste li{display:flex;gap:10px;align-items:flex-start;font-size:14.2px;color:#37373D}
.liste li::before{flex:0 0 auto;width:17px;height:17px;border-radius:50%;margin-top:2px;
  display:grid;place-items:center;font-size:11px;font-weight:800;font-family:Archivo,sans-serif}
.liste.oui li::before{content:"✓";background:var(--rouge-pale);color:var(--rouge)}
.liste.non li::before{content:"×";background:var(--brume);color:var(--gris)}
.liste.non li{color:var(--gris)}

/* ---------- méthode ---------- */
.steps{margin-top:28px;border-top:1px solid var(--ligne)}
.steps>div{display:grid;grid-template-columns:74px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--ligne);align-items:start}
.steps .idx{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(1.9rem,3vw,2.5rem);color:var(--rouge);line-height:.85;letter-spacing:-.045em}
.steps h3{font-size:1.1rem;margin-bottom:6px}
.steps p{font-size:14.7px;color:var(--gris);max-width:52em}
.steps .tag{display:inline-block;margin-top:11px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--rouge);border-radius:100px;padding:5px 12px}

/* ---------- réassurance ---------- */
.trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:1px;background:var(--ligne);border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden}
.trust li{background:var(--blanc);padding:22px 20px;border-top:3px solid var(--rouge)}
.trust li b{font-family:Archivo,sans-serif;display:block;font-size:1rem;margin-bottom:5px}
.trust li span{font-size:13.5px;color:var(--gris)}

/* ============================================================
   PANNEAU DE CONVERSION — collé à l'écran, jamais hors de vue
   ============================================================ */
.panel{position:sticky;top:16px;align-self:start;background:var(--encre);color:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px -28px rgba(14,14,16,.55);max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-top:4px solid var(--rouge)}
.panel-top{padding:24px 26px 0;flex:0 0 auto}
.panel-body{padding:20px 26px 26px;overflow-y:auto;flex:1 1 auto}
.kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rouge);display:flex;align-items:center;gap:9px}
.kicker::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.14)}
.panel h2{font-size:1.48rem;margin:14px 0 8px;color:#fff}
.panel .sub{font-size:13.5px;color:#9F9FAA}
.bar{height:3px;background:rgba(255,255,255,.13);border-radius:100px;margin-top:20px;overflow:hidden}
.bar i{display:block;height:100%;width:25%;background:var(--rouge);border-radius:100px;transition:width .3s cubic-bezier(.4,0,.2,1)}
.bar-lbl{display:flex;justify-content:space-between;font-size:11.5px;color:#7C7C88;margin-top:9px;font-weight:600}
.q{font-family:Archivo,sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:14px;color:#fff}
.chips{display:grid;gap:8px}
.chip{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--encre-2);border:1px solid rgba(255,255,255,.1);color:#EDEDF2;border-radius:11px;padding:12px 15px;font-size:14.2px;font-weight:600;cursor:pointer;transition:background var(--tt),border-color var(--tt),transform var(--tt)}
.chip::before{content:"";width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);flex:0 0 auto;transition:all var(--tt)}
.chip:hover{background:#22222A;border-color:var(--rouge);transform:translateX(2px)}
.chip[aria-pressed="true"]{border-color:var(--rouge);background:rgba(231,54,67,.16)}
.chip[aria-pressed="true"]::before{border-color:var(--rouge);background:var(--rouge);box-shadow:inset 0 0 0 3px var(--encre)}
.recap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.recap span{font-size:11.4px;font-weight:700;background:var(--rouge);color:#fff;border-radius:100px;padding:4px 11px}
.fields{display:grid;gap:10px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field label{display:block;font-size:11.4px;font-weight:700;color:#8E8E9A;margin-bottom:5px;letter-spacing:.03em}
.field input,.field select,.field textarea{width:100%;background:var(--encre-2);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:11px 13px;font-size:14.4px;font-family:inherit;transition:border-color var(--tt),background var(--tt)}
.field textarea{min-height:62px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%238E8E9A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rouge);background:#22222A}
.field input::placeholder,.field textarea::placeholder{color:#5F5F6B}
.field.err input,.field.err select{border-color:#FF6B75}
.err-msg{display:none;font-size:11.5px;color:#FF8A93;margin-top:4px}
.field.err .err-msg{display:block}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:4px;font-size:12.2px;color:#9F9FAA;line-height:1.45}
.consent input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--rouge);flex:0 0 auto}
.consent a{color:#C9C9D1}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--rouge);color:#fff;border:0;border-radius:11px;padding:15px 18px;font-family:Archivo,sans-serif;font-weight:700;font-size:15.4px;cursor:pointer;transition:background var(--tt),transform var(--tt);text-decoration:none}
.btn:hover{background:var(--rouge-fonce);transform:translateY(-1px)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:14.3px;padding:13px 18px}
.btn.ghost:hover{background:rgba(255,255,255,.06);border-color:var(--rouge)}
.back{background:none;border:0;color:#7C7C88;font-size:12.5px;font-weight:600;cursor:pointer;padding:8px 0 0;display:inline-flex;align-items:center;gap:6px;margin-top:8px}
.back:hover{color:#fff}
.sep{display:flex;align-items:center;gap:12px;margin:18px 0 14px;font-size:11.5px;color:#6E6E7A;font-weight:600}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.11)}
.panel-foot{border-top:1px solid rgba(255,255,255,.09);padding:15px 26px;display:flex;align-items:center;gap:11px;font-size:12.4px;color:#8E8E9A;flex:0 0 auto}
.panel-foot svg{color:var(--rouge);flex:0 0 auto}
.step{display:none}
.step.on{display:block;animation:in .26s ease both}
@keyframes in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.done{text-align:center;padding:6px 0 4px}
.done .tick{width:52px;height:52px;border-radius:50%;background:rgba(47,191,113,.14);color:#2FBF71;display:grid;place-items:center;margin:0 auto 18px}
.done h3{font-size:1.32rem;color:#fff;margin-bottom:10px}
.done p{font-size:13.8px;color:#9F9FAA}
.done .rc{margin-top:20px;background:var(--encre-2);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;text-align:left}
.done .rc div{display:flex;justify-content:space-between;gap:14px;font-size:12.8px;padding:5px 0}
.done .rc div span:first-child{color:#7C7C88}
.done .rc div span:last-child{color:#fff;font-weight:700;text-align:right}

/* ---------- footer ---------- */
footer{background:var(--encre);color:#8E8E9A;padding:0 0 32px;font-size:13.7px;border-top:4px solid var(--rouge)}
footer .wrap{padding-top:44px}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}
footer .logo{color:#fff;display:inline-block;margin-bottom:16px}
footer .logo svg{width:118px}
footer h4{font-size:11.4px;letter-spacing:.13em;text-transform:uppercase;color:#5F5F6B;margin-bottom:12px;font-weight:700;font-family:'Open Sans',sans-serif}
footer a{color:#C9C9D1;text-decoration:none}
footer a:hover{color:#fff}
footer p{margin-bottom:5px}
.f-bot{border-top:1px solid rgba(255,255,255,.09);margin-top:32px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12.4px;color:#5F5F6B}
.f-bot a{color:#5F5F6B}

.mob-cta{display:none}

/* ============================================================
   RESPONSIVE — le panneau remonte juste après le hero
   ============================================================ */
@media(max-width:1080px){
  .layout{display:flex;flex-direction:column;gap:0}
  .col{display:contents}
  /* ordre commun aux deux pages : accueil = hero/clients/expertise/method/trust,
     performance = hero/charge/bandeau/method/plateformes/cible/trust */
  .hero{order:1}.panel{order:2}.clients,.charge{order:3}.bandeau{order:4}
  .expertise{order:5}.method{order:6}.plateformes{order:7}.cible{order:8}.trust{order:9}
  .panel{position:static;max-height:none;margin:26px 0 4px;box-shadow:none;scroll-margin-top:12px}
  h1{max-width:none}
}
@media(max-width:640px){
  section{padding:32px 0}
  .row2{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr;gap:26px}
  .hero{padding-bottom:66px}                  /* dégage le CTA flottant */
  .logo svg{width:112px}
  .dispo{display:none}                        /* header sur une seule ligne */
  .tel{font-size:14.5px;padding:9px 15px}
  .steps>div{grid-template-columns:50px 1fr;gap:14px}
  body::before{background-size:33vw 100%}
  .panel-top,.panel-body,.panel-foot{padding-left:20px;padding-right:20px}
  footer{padding-bottom:92px}
  .mob-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;gap:9px;transition:transform .25s ease}
  .mob-cta.hide{transform:translateY(150%)}
  .mob-cta a{flex:1;text-decoration:none;box-shadow:0 10px 30px -8px rgba(231,54,67,.55)}
  .mob-cta a.call{flex:0 0 54px;background:#fff;color:var(--encre);border:1px solid var(--ligne);box-shadow:0 10px 30px -12px rgba(0,0,0,.35)}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}
