/* HaSenso — page « Je veux l'IA dans mon entreprise ! » (/2027/ia/) — v3 */
:root{
  --navy:#26264c;
  --navy-2:#303060;
  --navy-3:#1c1c3a;
  --pink:#ff005a;
  --pink-2:#e0004f;
  --pink-soft:#ffe2ec;
  --stone:#d2d2ce;
  --mist:#f3f3f0;
  --paper:#ffffff;
  --ink:#26264c;
  --ink-soft:#5b5b78;
  --line:#e2e2de;
  --display:"Oswald","Arial Narrow",Arial,sans-serif;
  --text:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--text);font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit}
button,a,summary,label{-webkit-tap-highlight-color:transparent}
img,svg{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
section{scroll-margin-top:20px}

/* ---------- Titres communs ---------- */
.h-sec{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.3vw,3.2rem);line-height:1.07;max-width:22ch}
.sub{font-size:clamp(1.08rem,1.6vw,1.22rem);color:var(--ink-soft);max-width:58ch;margin-top:16px}
.dark .h-sec{color:#fff}
.dark .sub{color:rgba(255,255,255,.75)}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--display);font-weight:500;font-size:1.1rem;letter-spacing:.02em;padding:.75em 1.5em;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s;line-height:1.2}
.btn-pink{background:var(--pink);color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}
@media (hover:hover){
  .btn-pink:hover{background:var(--pink-2)}
  .btn-navy:hover{background:var(--navy-2)}
  .btn-ghost:hover{background:var(--navy);color:#fff}
  .dark .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
}
.chev::after{content:"";width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.15em) rotate(45deg);transition:transform .2s}
.reveal.open .chev::after{transform:translateY(.1em) rotate(-135deg)}
.arrow::after{content:"";width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-.1em,-.1em)}

/* Menu de contact, identique partout : il s'ouvre par-dessus la page sans rien décaler */
.reveal{position:relative;display:inline-block;vertical-align:top}
.reveal-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;z-index:40;width:max-content;min-width:100%;max-width:calc(100vw - 40px);flex-direction:column;gap:2px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 48px -20px rgba(38,38,76,.5);text-align:left}
.reveal.open .reveal-menu{display:flex}
.reveal.right .reveal-menu{left:auto;right:0}
.reveal-menu a{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:12px;text-decoration:none;color:var(--navy)}
.reveal-menu i{flex:none;width:38px;height:38px;border-radius:50%;background:var(--pink-soft);display:grid;place-items:center}
.reveal-menu svg{width:18px;height:18px;fill:none;stroke:var(--pink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.reveal-menu b{display:block;font-weight:600;font-size:.98rem;white-space:nowrap}
.reveal-menu small{display:block;font-size:.8rem;color:var(--ink-soft)}
@media (hover:hover){.reveal-menu a:hover{background:var(--mist)}}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin-top:30px}

/* ---------- En-tête ---------- */
.top{display:flex;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:20px}
.brand img{height:60px;width:auto}
/* ---------- 1. Hero ---------- */
.hero{padding:34px 0 96px}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(2.7rem,6vw,5.1rem);line-height:1.02;letter-spacing:-.005em;position:relative}
.q{color:var(--pink)}
.hero .answer-line{font-family:var(--display);font-weight:500;font-size:clamp(1.45rem,2.6vw,2.1rem);line-height:1.2;margin-top:22px;max-width:24ch}
.hero .answer-line strong{font-weight:500;color:var(--pink)}
.hero .pitch{margin-top:18px;color:var(--ink-soft);max-width:50ch}

/* Visuel : détecteur */
.scan{position:relative;background:var(--navy);color:#fff;border-radius:26px;padding:26px 24px 22px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(38,38,76,.55)}
.scan-head{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:rgba(255,255,255,.7);margin-bottom:16px}
.scan-head b{font-family:var(--display);font-weight:500;font-size:1.15rem;color:#fff;letter-spacing:.01em}
.live{display:inline-flex;align-items:center;gap:8px}
.live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.scan ul{list-style:none;display:grid;gap:8px;position:relative}
.scan li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.05);font-size:.92rem}
.bars{display:flex;gap:3px;align-items:flex-end}
.bars b{width:5px;border-radius:2px;background:rgba(255,255,255,.22)}
.bars b:nth-child(1){height:8px}.bars b:nth-child(2){height:12px}.bars b:nth-child(3){height:16px}
.scan li em{font-style:normal;font-size:.74rem;padding:.2em .7em;border-radius:999px;white-space:nowrap;min-width:84px;text-align:center}
.scan li[data-l="3"]{background:rgba(255,0,90,.14);box-shadow:inset 0 0 0 1px rgba(255,0,90,.45)}
.scan li[data-l="3"] .bars b{background:var(--pink)}
.scan li[data-l="3"] em{background:var(--pink);color:#fff}
.scan li[data-l="2"] .bars b:nth-child(-n+2){background:#fff}
.scan li[data-l="2"] em{background:rgba(255,255,255,.14);color:#fff}
.scan li[data-l="1"] .bars b:nth-child(1){background:rgba(255,255,255,.6)}
.scan li[data-l="1"]{color:rgba(255,255,255,.6)}
.scan li[data-l="1"] em{color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.2)}
.scan-line{position:absolute;left:0;right:0;height:44px;margin-top:-22px;top:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,0,90,0),rgba(255,0,90,.16) 45%,rgba(255,0,90,.16) 55%,rgba(255,0,90,0));
  animation:sweep 3.6s ease-in-out infinite alternate}
.scan-line::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--pink);box-shadow:0 0 12px 2px rgba(255,0,90,.55)}
@keyframes sweep{from{top:0}to{top:100%}}
.scan-foot{margin-top:16px;font-size:.85rem;color:rgba(255,255,255,.75);display:flex;gap:18px;flex-wrap:wrap}
.scan-foot span{display:inline-flex;align-items:center;gap:8px}
.scan-foot i{width:10px;height:10px;border-radius:3px;background:var(--pink)}
.scan-foot i.w{background:#fff}


/* ---------- Hero (v3) ---------- */
.signs{list-style:none;display:grid;gap:10px;margin-top:22px}
.signs li{position:relative;padding-left:22px;color:var(--ink-soft);line-height:1.45}
.signs li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--pink)}

/* ---------- Test ---------- */
.diag{padding:30px 0 100px}
.test{margin-top:40px;background:var(--navy);color:#fff;border-radius:28px;display:grid;grid-template-columns:1fr 260px;min-height:450px}
.stage{padding:44px 52px;display:flex;flex-direction:column;justify-content:center}
.count{font-size:.9rem;color:rgba(255,255,255,.6);margin-bottom:14px}
.stage h3{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.18;max-width:26ch}
.hint{color:rgba(255,255,255,.72);margin-top:14px;max-width:52ch;font-size:1rem}
.answers{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.answer{font-family:var(--display);font-weight:500;font-size:1.35rem;letter-spacing:.03em;min-width:130px;padding:.6em 1.6em;border-radius:999px;border:2px solid rgba(255,255,255,.6);background:transparent;color:#fff;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
@media (hover:hover){.answer:hover{background:var(--pink);border-color:var(--pink)}}
.back{margin-top:26px;background:none;border:0;color:rgba(255,255,255,.6);font:inherit;font-size:.92rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.back[hidden]{display:none}
@media (hover:hover){.back:hover{color:#fff}}
.stage-inner{transition:opacity .18s ease,transform .18s ease}
.stage-inner.leaving{opacity:0;transform:translateY(8px)}

/* Chemin compact (petits écrans) */
.trail{display:none;align-items:center;gap:14px;margin-bottom:22px;padding-top:14px}
.t-line{flex:1;display:flex;align-items:center;min-width:0}
.t-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#fff}
.t-dot.end{border-radius:3px}
.t-dot.now{background:var(--pink);box-shadow:0 0 0 4px rgba(255,0,90,.25)}
.t-dot.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.35);box-shadow:none}
.t-link{flex:1 1 0;min-width:14px;max-width:54px;height:2px;background:var(--pink);position:relative}
.t-link i{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-style:normal;font-size:.7rem;line-height:1;color:rgba(255,255,255,.75)}
.t-link.ghost{background:none;height:0;border-top:2px dashed rgba(255,255,255,.22)}
.t-label{flex:none;font-size:.85rem;color:rgba(255,255,255,.6)}

/* Résultat */
.verdict .kicker{font-size:.9rem;color:rgba(255,255,255,.6)}
.verdict .situation{margin-top:6px;font-weight:600;font-size:1.1rem;color:#fff}
.verdict h3{color:var(--pink);font-size:clamp(2.2rem,4vw,3rem);margin-top:2px}
.verdict .nuance{margin-top:12px;max-width:56ch;color:rgba(255,255,255,.85)}
.plan{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.plan > p{font-size:.9rem;color:rgba(255,255,255,.6)}
.plan ol{list-style:none;margin-top:12px;display:grid;gap:8px;max-width:560px}
.plan li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);font-size:.98rem;line-height:1.35}
.plan li b{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);display:grid;place-items:center;font-family:var(--display);font-weight:500;font-size:.95rem}
.plan li div{min-width:0}
.plan li small{display:block;font-size:.78rem;font-weight:500;color:var(--pink);margin-bottom:2px}
.plan li span{display:block}
.plan li.from{color:#fff}
.plan li.from b{border-color:rgba(255,255,255,.7)}
.plan li.here{color:#fff;font-weight:500;background:rgba(255,0,90,.12);border-color:rgba(255,0,90,.55)}
.plan li.here b{background:var(--pink);border-color:var(--pink);color:#fff}
.verdict .reveal{margin-top:26px}
.faq-link{margin-top:20px;font-size:.95rem;color:rgba(255,255,255,.7)}
.faq-link a{color:#fff;text-decoration-color:var(--pink);text-underline-offset:3px}
.verdict .restart{display:block;margin-top:10px}

/* Carte de l'arbre */
.map{background:var(--navy-3);border-radius:0 28px 28px 0;padding:30px 20px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.map svg{width:100%;max-width:220px;height:auto}
.map .legend{font-size:.8rem;color:rgba(255,255,255,.6);text-align:center;line-height:1.4}
.edge{stroke:rgba(255,255,255,.22);stroke-width:2;fill:none;transition:stroke .3s}
.edge.on{stroke:var(--pink);stroke-width:3}
.node{fill:var(--navy-3);stroke:rgba(255,255,255,.4);stroke-width:2;transition:fill .3s,stroke .3s}
.node.seen{fill:#fff;stroke:#fff}
.node.now{fill:var(--pink);stroke:var(--pink)}
.node.end.now{stroke:#fff}
.pulse{fill:none;stroke:var(--pink);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.pulse.run{animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.2)}}
.map text{font-family:var(--text);font-size:10px;fill:rgba(255,255,255,.55)}

/* ---------- Sections ---------- */
section.block{padding:100px 0}
.mist{background:var(--mist)}

/* Méthode */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.step{position:relative;background:#fff;border-radius:22px;padding:32px 28px 28px;border:2px solid transparent;transition:border-color .3s;display:flex;flex-direction:column}
.step .num{font-family:var(--display);font-weight:600;font-size:4rem;line-height:1;color:var(--pink)}
.step h3{font-family:var(--display);font-weight:500;font-size:1.55rem;margin-top:12px;line-height:1.15}
.step p{color:var(--ink-soft);margin-top:10px}
.step .link{font-size:.95rem}
.step .link a{color:var(--ink);font-weight:500;text-decoration-color:var(--pink);text-underline-offset:3px}
.step .spacer{flex:1;min-height:16px}
.step .keep{margin-top:0;padding-top:14px;border-top:1px solid var(--line);font-size:.95rem;color:var(--ink)}
.step .tag{position:absolute;top:-14px;right:22px;background:var(--pink);color:#fff;font-size:.82rem;font-weight:500;padding:.3em .9em;border-radius:999px;display:none}
.step.is-start{border-color:var(--pink)}
.step.is-start .tag{display:block}

/* Iceberg */
.lead-in{font-size:.95rem;font-weight:500;color:var(--pink);margin-bottom:8px}
.berg{margin-top:50px;border-radius:24px;overflow:hidden;border:1px solid var(--line)}
.berg-top{padding:32px 40px 28px;background:#fff}
.berg-top h3,.berg-bottom h3{font-family:var(--display);font-weight:500;font-size:1.35rem}
.berg-top p{color:var(--ink-soft);margin-top:6px;max-width:56ch}
.berg-bottom{background:var(--navy);color:#fff;padding:32px 40px 40px;border-top:4px solid var(--pink)}
.berg-bottom ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;margin-top:22px}
.berg-bottom li{position:relative;padding-left:22px;color:rgba(255,255,255,.9)}
.berg-bottom li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--pink)}
.berg-note{margin-top:28px;font-size:1.15rem;max-width:60ch}
.berg-note strong{font-weight:600}

/* Engagements */
.gains{display:grid;grid-template-columns:1fr 1fr;gap:40px 60px;margin-top:50px}
.gain h3{font-family:var(--display);font-weight:500;font-size:1.5rem;padding-top:14px;border-top:3px solid var(--navy)}
.gain p{color:var(--ink-soft);margin-top:8px;max-width:46ch}

/* Objections */
.faq-list{margin-top:44px;max-width:860px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 4px;font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.2}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";flex:none;width:34px;height:34px;border-radius:50%;background-color:var(--mist);background-image:linear-gradient(var(--navy),var(--navy)),linear-gradient(var(--navy),var(--navy));background-repeat:no-repeat;background-position:center;background-size:14px 2px,2px 14px;transition:transform .2s,background-color .2s}
.faq-item[open] summary::after{transform:rotate(45deg);background-color:var(--pink);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)}
@media (hover:hover){.faq-item:not([open]) summary:hover::after{background-color:var(--pink-soft)}}
.faq-item p{padding:0 60px 26px 4px;color:var(--ink-soft);max-width:66ch}

/* Product Builder + contact */
.final{background:var(--navy);color:#fff;padding:100px 0}
.final-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end}
.final .who{margin-top:20px;color:rgba(255,255,255,.85);max-width:54ch}
.final .who strong{color:#fff;font-weight:600}
.final .role{margin-top:18px;padding-left:16px;border-left:3px solid var(--pink);color:#fff;max-width:50ch}
.cta-box{background:var(--navy-2);border-radius:24px;padding:36px}
.cta-box h3{font-family:var(--display);font-weight:500;font-size:2rem;line-height:1.1}
.cta-box p{color:rgba(255,255,255,.78);margin-top:10px}
.cta-box .reveal{display:block;margin-top:26px}
.cta-box .reveal-btn{width:100%}
.cta-box .reveal-menu{left:0;right:0;width:auto}

/* Références */
.refs{padding:80px 0 70px;border-bottom:1px solid var(--line)}
.refs h2{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.1}
.logos{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:36px 56px;margin-top:36px}
.logos img{height:var(--h,56px);width:auto}
.logos .fallback{font-family:var(--display);font-weight:500;font-size:1.3rem}

footer{padding:28px 0 36px;font-size:.9rem;color:var(--ink-soft)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
footer a{color:var(--ink);text-underline-offset:3px}

/* ---------- Diagnostic d'efficacité (repris de la v2) ---------- */
.panel{margin-top:44px;background:var(--navy);color:#fff;border-radius:28px;display:grid;grid-template-columns:1fr 300px;overflow:hidden;min-height:470px}
.panel.done{grid-template-columns:1fr;overflow:visible}
.panel.done .signals{display:none}
.panel .stage{padding:40px 50px 44px;display:flex;flex-direction:column;justify-content:flex-start}
.panel .stage-inner{transition:opacity .18s ease,transform .18s ease;display:flex;flex-direction:column;flex:1}
.panel .stage-inner.leaving{opacity:0;transform:translateY(8px)}
.progress{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.progress ol{list-style:none;display:flex;gap:6px;flex:1;max-width:320px}
.progress li{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.18)}
.progress li.on{background:var(--pink)}
.progress span{font-size:.85rem;color:rgba(255,255,255,.6);white-space:nowrap}
.panel .stage h3{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.18;max-width:28ch}
.panel .hint{color:rgba(255,255,255,.68);margin-top:10px;font-size:.98rem}
.choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.choice{font-family:var(--display);font-weight:500;font-size:1.15rem;letter-spacing:.02em;padding:.62em 1.4em;border-radius:999px;border:2px solid rgba(255,255,255,.55);background:transparent;color:#fff;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
@media (hover:hover){.choice:hover{background:var(--pink);border-color:var(--pink)}}
.multi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.opt{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);cursor:pointer;font-size:.97rem;line-height:1.35;transition:border-color .15s,background .15s;text-align:left;color:#fff;font-family:inherit}
.opt i{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center}
.opt[aria-pressed="true"]{border-color:var(--pink);background:rgba(255,0,90,.14)}
.opt[aria-pressed="true"] i{background:var(--pink);border-color:var(--pink)}
.opt[aria-pressed="true"] i::after{content:"";width:5px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.opt.none{grid-column:1/-1;justify-content:center;border-style:dashed}
.opt.none i{display:none}
@media (hover:hover){.opt:hover{border-color:rgba(255,255,255,.55)}}
.next{margin-top:22px;align-self:flex-start}
.next:disabled{opacity:.35;cursor:not-allowed}
.panel .back{margin-top:auto;padding-top:24px;background:none;border:0;color:rgba(255,255,255,.6);font:inherit;font-size:.92rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.panel .back[hidden]{visibility:hidden}
@media (hover:hover){.panel .back:hover{color:#fff}}

/* Signaux en direct */
.signals{background:var(--navy-3);padding:36px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.signals > p{font-size:.85rem;color:rgba(255,255,255,.6)}
.sig{display:grid;grid-template-columns:28px 1fr;gap:4px 12px;align-items:center}
.sig svg{width:24px;height:24px;stroke:rgba(255,255,255,.55);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.sig b{font-weight:500;font-size:.95rem}
.meter{grid-column:2;display:flex;gap:4px}
.meter i{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.14);transition:background .35s}
.sig small{grid-column:2;font-size:.78rem;color:rgba(255,255,255,.55)}
.sig[data-l="1"] .meter i:nth-child(-n+2){background:#fff}
.sig[data-l="2"] .meter i{background:var(--pink)}
.sig[data-l="2"] svg{stroke:var(--pink)}
.sig[data-l="1"] svg{stroke:#fff}

/* Résultat */
.result h3{color:#fff;font-size:clamp(1.9rem,3.6vw,2.8rem);max-width:24ch}
.result .lead{margin-top:12px;color:rgba(255,255,255,.82);max-width:62ch}
.magnitude{margin-top:18px;display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 18px;border-radius:14px;background:rgba(255,0,90,.12);box-shadow:inset 0 0 0 1px rgba(255,0,90,.4);font-size:.95rem;align-self:flex-start}
.magnitude strong{font-family:var(--display);font-weight:500;font-size:1.3rem;color:#fff}
.magnitude a{color:rgba(255,255,255,.8);font-size:.88rem;text-underline-offset:3px}
.levers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}
.lever{border-radius:16px;padding:18px 18px 20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.lever svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lever b{display:block;font-family:var(--display);font-weight:500;font-size:1.2rem;margin-top:10px}
.lever em{display:inline-block;font-style:normal;font-size:.74rem;padding:.2em .75em;border-radius:999px;margin-top:6px;background:rgba(255,255,255,.12)}
.lever p{font-size:.9rem;color:rgba(255,255,255,.75);margin-top:10px;line-height:1.5}
.lever[data-l="2"]{border-color:rgba(255,0,90,.6);background:rgba(255,0,90,.1)}
.lever[data-l="2"] svg{stroke:var(--pink)}
.lever[data-l="2"] em{background:var(--pink);color:#fff}
.lever[data-l="0"]{opacity:.7}
.next-step{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1fr auto;gap:18px 30px;align-items:start}
.next-step h4{font-family:var(--display);font-weight:500;font-size:1.5rem}
.next-step p{color:rgba(255,255,255,.75);margin-top:4px;max-width:46ch}
.panel .result .back{margin-top:18px;padding-top:0}

/* ---------- 5. Détecteur d'irritants ---------- */
.detector{background:var(--navy);color:#fff;padding:100px 0;position:relative;z-index:2}
.det-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.det-top p{color:rgba(255,255,255,.78)}
.irritants{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.irritants li{padding:.5em 1em;border-radius:999px;border:1px solid rgba(255,255,255,.25);font-size:.95rem;background:rgba(255,255,255,.04)}
.irritants-intro{margin-bottom:16px}
.claim{margin-top:60px;font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.2}
.claim span{color:var(--pink)}

.flow-wrap{margin-top:34px}
.flow-label{font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:14px}
.flow{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}
.flow::before{content:"";position:absolute;left:28px;right:calc((100% - 56px) / 5 - 28px);top:27px;height:2px;background:rgba(255,255,255,.18)}
.flow::after{content:"";position:absolute;top:22px;left:22px;width:12px;height:12px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 6px rgba(255,0,90,.25);animation:travel 6s linear infinite}
@keyframes travel{0%{left:22px;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:calc(100% - (100% - 56px) / 5 + 22px);opacity:0}}
.flow li{position:relative;z-index:1}
.flow .dot{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--navy);border:2px solid rgba(255,255,255,.35)}
.flow .dot svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flow li:first-child .dot{border-color:var(--pink)}
.flow li:last-child .dot{background:var(--pink);border-color:var(--pink)}
.flow h3{font-family:var(--display);font-weight:500;font-size:1.25rem;margin-top:16px;letter-spacing:.02em}
.flow p{margin-top:8px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:.93rem;line-height:1.45;color:rgba(255,255,255,.9)}
.flow li:last-child p{background:rgba(255,0,90,.14);border-color:rgba(255,0,90,.5)}
.solutions{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.solutions > span{color:rgba(255,255,255,.75);margin-right:6px}
.solutions b{font-weight:500;padding:.45em 1.05em;border-radius:999px;background:#fff;color:var(--navy);font-size:.95rem}
.det-cta{margin-top:44px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:flex-start}
.det-cta .more{align-self:center;color:rgba(255,255,255,.8);text-underline-offset:3px;font-size:.95rem}


/* Diagnostic d'efficacité et détecteur : écrans moyens et petits */
@media (max-width:1080px){.levers{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .panel{grid-template-columns:1fr;min-height:0}
  .signals{display:none}
  .panel .stage{padding:30px 32px 34px}
  .det-top{grid-template-columns:1fr;gap:36px}
  .flow{grid-template-columns:1fr;gap:12px}
  .flow::before{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}
  .flow::after{left:22px;top:22px;animation:travel-v 6s linear infinite}
  .flow li{display:grid;grid-template-columns:56px 1fr;gap:4px 18px;align-items:start}
  .flow .dot{grid-row:span 2}
  .flow h3{margin-top:14px}
  .flow p{margin-top:4px}
  .next-step{grid-template-columns:1fr}
}
@keyframes travel-v{0%{top:22px;opacity:0}6%{opacity:1}94%{opacity:1}100%{top:calc(100% - 34px);opacity:0}}
@media (max-width:640px){
  .panel .stage{padding:26px 20px 28px}
  .multi{grid-template-columns:1fr}
  .choices{display:grid;grid-template-columns:1fr 1fr}
  .choices .choice:last-child:nth-child(odd){grid-column:1/-1}
  .choice{padding:.62em .8em}
  .levers{grid-template-columns:1fr;gap:10px}
  .lever{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:0 12px;padding:14px 16px}
  .lever b{margin-top:0;font-size:1.1rem}
  .lever em{margin-top:0}
  .lever p{grid-column:1/-1;margin-top:8px}
  .next-step .reveal,.next-step .reveal .btn,.det-cta .reveal,.det-cta .reveal .btn{width:100%}
  .next-step .reveal-menu,.det-cta .reveal-menu{left:0;right:0;width:auto}
  .magnitude{display:block}
  .magnitude strong{display:block;margin:2px 0 4px}
}
@media (prefers-reduced-motion:reduce){.flow::after{display:none}}

/* ---------- Ce que vous y gagnez ---------- */
.gains2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.gains2 h3{font-family:var(--display);font-weight:500;font-size:1.55rem;line-height:1.15;margin-top:18px}
.gains2 p{margin-top:10px;color:var(--ink-soft)}
.g-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--pink-soft)}
.g-ico svg{width:28px;height:28px;fill:none;stroke:var(--pink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.g-ico-dark{background:rgba(255,255,255,.1)}

/* Carte principale : la propriété */
.g-own{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 44px;border-radius:26px;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.g-own::after{content:"";position:absolute;left:-110px;bottom:-130px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(255,0,90,.14);pointer-events:none}
.g-own h3{font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:600}
.g-own p{color:rgba(255,255,255,.8);font-size:1.08rem;max-width:40ch}
.g-own-text{position:relative;z-index:1}
.g-owned{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1}
.g-owned li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);font-weight:500}
.g-owned li:last-child:nth-child(odd){grid-column:1/-1}
.g-owned svg{flex:none;width:24px;height:24px;padding:4px;border-radius:50%;background:var(--pink);fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* Cartes secondaires */
.g-card{display:flex;flex-direction:column;padding:32px 30px 30px;border-radius:24px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
@media (hover:hover){.g-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(38,38,76,.45)}}
.g-card p{flex:1}
.g-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.g-tags li{font-size:.85rem;font-weight:500;padding:.35em .9em;border-radius:999px;background:var(--mist);border:1px solid var(--line)}
.g-bars{margin-top:22px;display:grid;gap:12px}
.g-bars .k{font-size:.78rem;color:var(--ink-soft);text-transform:none}
.g-row em{display:block;font-style:normal;font-size:.82rem;font-weight:500;margin-bottom:5px}
.g-bar{height:10px;border-radius:5px;background:var(--mist)}
.g-bar i{display:block;height:100%;border-radius:5px;background:var(--stone)}
.g-bar.pink i{background:var(--pink)}
.g-line{list-style:none;display:flex;margin-top:24px;position:relative}
.g-line::before{content:"";position:absolute;left:6px;right:6px;top:6px;height:2px;background:var(--pink)}
.g-line li{flex:1;position:relative;padding-top:22px;font-size:.82rem;font-weight:500;color:var(--ink-soft)}
.g-line li:nth-child(2){text-align:center}
.g-line li:nth-child(2)::before{left:50%;margin-left:-7px}
.g-line li::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--pink);box-sizing:border-box}
.g-line li:last-child{text-align:right}
.g-line li:last-child::before{left:auto;right:0;background:var(--pink)}
@media (max-width:1080px){
  .gains2{grid-template-columns:1fr 1fr}
  .gains2 .g-card:last-child{grid-column:1/-1}
}
@media (max-width:760px){
  .gains2{grid-template-columns:1fr}
  .g-own{grid-template-columns:1fr;gap:26px;padding:30px 24px}
  .gains2 .g-card:last-child{grid-column:auto}
  .g-card{padding:26px 22px}
}
@media (max-width:400px){.g-owned{grid-template-columns:1fr}.g-owned li:last-child:nth-child(odd){grid-column:auto}}

/* ---------- Bandeaux dépliables ---------- */
section.band{padding:0}
.band-head{list-style:none;cursor:pointer;padding:40px 0}
.band-head::-webkit-details-marker{display:none}
.band-row{display:flex;align-items:center;justify-content:space-between;gap:28px}
.band-title{font-size:clamp(1.7rem,3.4vw,2.6rem);max-width:none}
.teaser{margin-top:8px;color:var(--ink-soft);font-size:1.05rem;max-width:62ch}
.dark .teaser{color:rgba(255,255,255,.75)}
.band-toggle{flex:none;display:flex;align-items:center;gap:14px}
.band-toggle em{font-style:normal;font-family:var(--display);font-weight:500;font-size:1.05rem;letter-spacing:.02em}
.band-toggle em::before{content:"Découvrir"}
details[open] > .band-head .band-toggle em::before{content:"Réduire"}
.band-toggle i{width:52px;height:52px;border-radius:50%;background-color:var(--navy);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-repeat:no-repeat;background-position:center;background-size:18px 2px,2px 18px;transition:transform .25s,background-color .2s}
.dark .band-toggle i{background-color:#fff;background-image:linear-gradient(var(--navy),var(--navy)),linear-gradient(var(--navy),var(--navy))}
details[open] > .band-head .band-toggle i{transform:rotate(45deg)}
@media (hover:hover){.band-head:hover .band-toggle i{background-color:var(--pink);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)}.band-head:hover .band-toggle em{color:var(--pink)}}
.band-body > .wrap{padding-bottom:90px}
.band-body > .wrap > .sub:first-child{margin-top:0}
.band-body .steps,.band-body .panel,.band-body .berg,.band-body .gains,.band-body .faq-list{margin-top:36px}
.band-body .det-top{margin-top:4px}
section.band + section.band{border-top:1px solid var(--line)}
section.band.dark,section.band.dark + section.band{border-top:0}
details.band-d[open] .band-body{animation:bandIn .3s ease}
@keyframes bandIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-grid,.final-grid{grid-template-columns:1fr;gap:40px}
  .test{grid-template-columns:1fr;min-height:0}
  .stage{justify-content:flex-start;padding:30px 40px 40px}
  .map{display:none}
  .trail{display:flex}
  .count{display:none}
  .steps{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .brand img{height:44px}
  .top .btn{padding:.6em 1.1em;font-size:.95rem}
  .hero{padding:18px 0 60px}
  .diag{padding:10px 0 70px}
  section.block,.final{padding:70px 0}
  .stage{padding:26px 20px 30px}
  .answer{flex:1;min-width:0}
  .berg-top,.berg-bottom{padding-left:24px;padding-right:24px}
  .berg-bottom ul{grid-template-columns:1fr}
  .gains{grid-template-columns:1fr;gap:30px}
  .cta-box{padding:28px 22px}
  .refs{padding:60px 0 50px}
  .band-head{padding:28px 0}
  .band-row{gap:16px;align-items:flex-start}
  .band-toggle em{display:none}
  .band-toggle i{width:44px;height:44px;background-size:16px 2px,2px 16px}
  .band-body > .wrap{padding-bottom:60px}
  .logos{gap:28px 36px}
  .logos img{height:calc(var(--h,56px) * .8)}
  .cta-row .btn,.cta-row .reveal,.cta-row .reveal .btn,.verdict .reveal,.verdict .reveal .btn{width:100%}
  .cta-row .reveal-menu,.verdict .reveal-menu{left:0;right:0;width:auto}
  .scan li{grid-template-columns:1fr auto;gap:6px 10px}
  .scan li .bars{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .scan-line{display:none}
}

/* Les bandeaux gardent leur propre espacement sur mobile */
@media (max-width:640px){section.band{padding:0}}


/* =========================================================
   Réseaux et groupements d'entreprises
   Univers « partenaires » : vert d'eau, distinct du rose réservé aux entreprises
   ========================================================= */
:root{
  --teal:#00d4b4;
  --teal-2:#00bfa2;
  --teal-ink:#006b5c;
  --teal-soft:#e2f8f4;
}
.btn-teal{background:var(--teal);color:var(--navy)}
.btn-go::after{content:"";width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
@media (hover:hover){
  .btn-teal:hover{background:var(--teal-2)}
  .btn-go:hover::after{transform:translateX(3px) rotate(-45deg)}
}

/* lien d'accès dans l'en-tête */
.top-actions{display:flex;align-items:center;gap:22px}
.top-partners{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:500;font-size:1.02rem;letter-spacing:.02em;color:var(--navy);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.top-partners .dot,.partners-tag .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(0,212,180,.22)}
.top-partners .short{display:none}
@media (hover:hover){.top-partners:hover{border-bottom-color:var(--teal);color:var(--teal-ink)}}

/* le bloc */
.partners{position:relative;background:var(--teal-soft);padding:96px 0}
.partners::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--teal)}
.partners-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}
.partners-tag{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:7px 14px 7px 12px;border-radius:999px;background:#fff;color:var(--teal-ink);font-weight:600;font-size:.88rem}
.partners .h-sec{color:var(--navy)}
.partners-lead{margin-top:20px;max-width:56ch;color:var(--ink)}
.partners-lead strong{font-weight:600}
.partners .cta-row{margin-top:32px}
.partners-facts{list-style:none;background:#fff;border-radius:22px;padding:8px 28px;box-shadow:0 30px 60px -40px rgba(0,107,92,.45)}
.partners-facts li{display:grid;grid-template-columns:9.5rem 1fr;align-items:baseline;gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.partners-facts li:first-child{border-top:0}
.partners-facts b{font-family:var(--display);font-weight:600;font-size:1.65rem;line-height:1.1;color:var(--navy)}
.partners-facts span{color:var(--ink-soft);font-size:.95rem;line-height:1.45}

@media (max-width:900px){
  .partners{padding:72px 0}
  .partners-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:640px){
  .top-actions{gap:14px}
  .top-partners .long{display:none}
  .top-partners .short{display:inline}
  .partners{padding:60px 0}
  .partners-facts{padding:4px 20px}
  .partners-facts li{grid-template-columns:7.2rem 1fr;gap:12px;padding:16px 0}
  .partners-facts b{font-size:1.4rem}
}
@media (max-width:400px){
  .top-partners{font-size:.95rem}
}
@media (max-width:360px){
  .top-actions{gap:10px}
  .top-partners .dot{display:none}
  .top .reveal-btn{white-space:nowrap;padding:.6em 1em;font-size:.95rem}
  .top{gap:12px}
  .top .brand img{max-width:92px;height:auto}
}
