/* ==========================================================================
   PAGE « LES ANNONCES LSA » (/comment-ca-marche/lsa) — préfixe cmcl-
   Propriété de l'agent de cette page. Charge APRÈS cmc.css (partagé).
   Animations : uniquement sous .cmcl.cmcl-anim (classe posée par js/cmc-lsa.js,
   jamais en prefers-reduced-motion) → sans JS, tout est visible à l'état final.
   ========================================================================== */

.cmcl{
  --cmcl-line:rgba(255,255,255,.1);
  --cmcl-ink-2:rgba(255,255,255,.72);
  --cmcl-or-ink:var(--orange);
  --cmcl-frame:radial-gradient(90% 80% at 50% 0%,rgba(var(--orange-rgb),.13),rgba(var(--orange-rgb),0) 66%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  --cmcl-ui:#171717;
  --cmcl-ui-2:#212121;
  --cmcl-ui-line:rgba(255,255,255,.11);
  --cmcl-ui-shadow:0 24px 50px -24px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05);
  --cmcl-green:#34d399;
  --cmcl-green-bg:rgba(52,211,153,.14);
  --cmcl-red:#f87171;
  --cmcl-red-bg:rgba(248,113,113,.13);
  --cmcl-map:#121212;
  --cmcl-road:rgba(255,255,255,.13);
  --cmcl-street:rgba(255,255,255,.05);
  --cmcl-water:rgba(90,150,255,.13);
  position:relative;isolation:isolate;overflow-x:clip;
  padding:clamp(118px,12vw,160px) 0 clamp(40px,5vw,70px)
}

/* ---------- en-tête ---------- */
.cmcl-head{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:900px;margin:0 auto clamp(34px,4vw,52px);text-align:center}
.cmcl-title{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,4.3vw,54px);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.cmcl-accent{color:var(--orange);text-shadow:0 0 34px rgba(var(--orange-rgb),.35)}
.cmcl-sub{max-width:680px;color:var(--cmcl-ink-2);font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.65;text-wrap:pretty}
.cmcl-sub em{font-style:italic;color:var(--text)}
.cmcl-video{margin-bottom:clamp(64px,8vw,110px)}

/* ---------- titres / textes communs ---------- */
.cmcl-h2{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2.6vw,34px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
.cmcl-h2--c{text-align:center}
.cmcl-p{color:var(--cmcl-ink-2);font-size:16px;line-height:1.65;text-wrap:pretty}
.cmcl-p--c{text-align:center;max-width:560px;margin-inline:auto}

/* ---------- à quoi ça ressemble ---------- */
.cmcl-look{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,64px);align-items:center;
  max-width:1100px;margin:0 auto clamp(80px,10vw,140px)}
.cmcl-look-txt{display:flex;flex-direction:column;gap:18px}
.cmcl-pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.cmcl-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 10px;border-radius:var(--radius-pill);
  border:1px solid var(--cmcl-line);background:rgba(255,255,255,.03);font-size:13.5px;font-weight:500}
.cmcl-pill svg{width:16px;height:16px;fill:none;stroke:var(--orange);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cmcl-pill--on{border-color:rgba(52,211,153,.4);background:var(--cmcl-green-bg)}
.cmcl-pill--on svg{stroke:var(--cmcl-green)}
.cmcl-shot{position:relative;margin:0;padding:10px;border-radius:calc(var(--radius) + 4px);background:#1d1d1d;border:1px solid rgba(var(--orange-rgb),.35);
  box-shadow:0 0 0 4px rgba(var(--orange-rgb),.08),0 50px 100px -50px rgba(var(--orange-rgb),.55),0 34px 70px -40px rgba(0,0,0,.9)}
.cmcl-shot img{display:block;width:100%;height:auto;border-radius:var(--radius-sm);background:#202124}
.cmcl-shot-cap{margin-top:10px;text-align:center;font-size:12.5px;color:var(--muted)}
.cmcl-shot-tag{position:absolute;z-index:2;left:-14px;top:-16px;display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:var(--radius-pill);
  background:var(--orange);color:#0a0a0a;font-weight:700;font-size:13px;box-shadow:0 14px 34px -12px rgba(var(--orange-rgb),.8);transform:rotate(-3deg)}
.cmcl-shot-tag span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0a0a0a;color:var(--orange);font:700 13px/1 var(--font-display)}

/* ==========================================================================
   ÉTAPES — fil vertical + pastilles + illustrations alternées
   ========================================================================== */
.cmcl-flow-head{display:flex;flex-direction:column;gap:12px;align-items:center;margin-bottom:clamp(44px,6vw,80px)}
.cmcl-track{position:relative;max-width:1100px;margin:0 auto}
.cmcl-rail{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;border-radius:2px;
  background:linear-gradient(180deg,var(--cmcl-line),var(--cmcl-line))}
.cmcl-rail-fill{position:absolute;inset:0;border-radius:inherit;transform-origin:50% 0;transform:scaleY(var(--cmcl-p,1));
  background:linear-gradient(180deg,var(--orange-2),var(--orange));box-shadow:0 0 14px rgba(var(--orange-rgb),.7)}
.cmcl-steps{list-style:none;position:relative;display:flex;flex-direction:column;gap:clamp(64px,8vw,110px)}
.cmcl-step{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);align-items:center}
.cmcl-n{grid-column:2;grid-row:1;justify-self:center;position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  font:700 19px/1 var(--font-display);background:var(--orange);color:#0a0a0a;border:2px solid var(--orange);
  box-shadow:0 0 0 6px var(--bg),0 0 34px rgba(var(--orange-rgb),.55);
  transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .5s cubic-bezier(.34,1.56,.64,1)}
.cmcl-txt{grid-column:1;grid-row:1;justify-self:end;max-width:430px;display:flex;flex-direction:column;gap:10px;
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
.cmcl-ill{grid-column:3;grid-row:1;justify-self:start;width:100%;max-width:470px;transition:opacity .8s var(--ease) .1s,transform .8s var(--ease) .1s}
.cmcl-step:nth-child(even) .cmcl-txt{grid-column:3;justify-self:start}
.cmcl-step:nth-child(even) .cmcl-ill{grid-column:1;justify-self:end}
.cmcl-h3{font-family:var(--font-display);font-weight:600;font-size:clamp(19px,1.9vw,24px);line-height:1.2;letter-spacing:-.03em;text-wrap:balance}
.cmcl-txt p{color:var(--cmcl-ink-2);font-size:15.5px;line-height:1.65;text-wrap:pretty}

/* cadre d'illustration */
.cmcl-ill{position:relative;height:300px;display:grid;place-items:center;padding:24px;border-radius:24px;overflow:hidden;
  background:var(--cmcl-frame);border:1px solid var(--cmcl-line);
  box-shadow:0 40px 80px -52px rgba(var(--orange-rgb),.5),inset 0 1px 0 rgba(255,255,255,.05)}
.cmcl-ill::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:18px 18px;
  -webkit-mask:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.cmcl-ill > *{position:relative}

/* mini-interface générique */
.cmcl-ui{width:min(100%,330px);padding:16px 18px;border-radius:16px;background:var(--cmcl-ui);border:1px solid var(--cmcl-ui-line);
  box-shadow:var(--cmcl-ui-shadow);font-size:13px;color:var(--text)}
.cmcl-ui-h{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:500;font-size:13.5px;letter-spacing:-.02em;margin-bottom:12px}
.cmcl-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 10px var(--orange)}
.cmcl-ui svg{fill:none;stroke-linecap:round;stroke-linejoin:round}
.cmcl-ill i svg,.cmcl-ok svg,.cmcl-check svg{width:100%;height:100%;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* 1 — éligibilité */
.cmcl-field{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin-bottom:8px;border-radius:10px;
  background:var(--cmcl-ui-2);border:1px solid var(--cmcl-ui-line);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.cmcl-field span{color:var(--muted)}
.cmcl-field b{font-weight:600}
.cmcl-a1{transition-delay:.25s}.cmcl-a2{transition-delay:.45s}
.cmcl-scan{height:4px;border-radius:4px;background:var(--cmcl-ui-line);overflow:hidden;margin:12px 0}
.cmcl-scan span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange-2),var(--orange));transform-origin:0 50%;transition:transform 1s var(--ease) .7s}
.cmcl-ok{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--cmcl-green-bg);color:var(--cmcl-green);font-weight:600;
  border:1px solid rgba(52,211,153,.35);transition:opacity .5s var(--ease) 1.6s,transform .6s cubic-bezier(.34,1.56,.64,1) 1.6s}
.cmcl-ok i{display:grid;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--cmcl-green);color:#06261a}

/* 2 — dossier */
.cmcl-doss{padding-top:18px;padding-bottom:14px;border-top-left-radius:6px}
.cmcl-doss .cmcl-ui-h{margin-bottom:10px}
.cmcl-doss-tab{position:absolute;left:-1px;top:-14px;padding:3px 14px 6px;border-radius:10px 10px 0 0;background:var(--cmcl-ui);border:1px solid var(--cmcl-ui-line);border-bottom:0;
  font-size:11px;font-weight:600;color:var(--cmcl-or-ink)}
.cmcl-check{list-style:none;display:flex;flex-direction:column;gap:6px}
.cmcl-check li{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:var(--cmcl-ui-2);border:1px solid var(--cmcl-ui-line)}
.cmcl-check i{grid-row:span 2;display:grid;width:22px;height:22px;padding:4px;border-radius:7px;background:var(--cmcl-green);color:#06261a;border:1.5px solid var(--cmcl-green);
  transition:background .35s var(--ease),border-color .35s var(--ease)}
.cmcl-check i path{stroke-dasharray:24;stroke-dashoffset:0;transition:stroke-dashoffset .45s var(--ease)}
.cmcl-check span{font-weight:600;line-height:1.25}
.cmcl-check small{color:var(--muted);font-size:11.5px}
.cmcl-c1 i,.cmcl-c1 i path{transition-delay:.45s}
.cmcl-c2 i,.cmcl-c2 i path{transition-delay:.85s}
.cmcl-c3 i,.cmcl-c3 i path{transition-delay:1.25s}
.cmcl-prog{height:5px;border-radius:5px;background:var(--cmcl-ui-line);overflow:hidden;margin-top:12px}
.cmcl-prog span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange-2),var(--cmcl-green));transform-origin:0 50%;transition:transform 1.4s var(--ease) .35s}
.cmcl-prog-l{margin-top:8px;font-size:11.5px;color:var(--muted)}

/* 3 — assurances → badge */
.cmcl-assu{width:100%;height:100%}
.cmcl-paper{position:absolute;width:120px;padding:12px 12px 10px;border-radius:10px;background:var(--cream);color:#1b1b1b;font-size:10.5px;
  box-shadow:0 18px 30px -16px rgba(0,0,0,.7);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.cmcl-paper b{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:-.02em}
.cmcl-paper span{display:block;margin:2px 0 8px;color:#6a5d4a}
.cmcl-paper i{display:block;height:4px;margin-top:5px;border-radius:4px;background:#e5dccb}
.cmcl-paper i + i{width:70%}
.cmcl-paper em{position:absolute;right:-8px;top:-8px;display:grid;width:24px;height:24px;padding:5px;border-radius:50%;background:var(--cmcl-green);color:#06261a}
.cmcl-paper em svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cmcl-paper--1{left:4%;top:12%;transform:rotate(-7deg)}
.cmcl-paper--2{left:9%;top:48%;transform:rotate(5deg);transition-delay:.2s}
.cmcl-assu-arrow{position:absolute;left:calc(9% + 130px);top:50%;width:48px;height:20px;margin-top:-10px;fill:none;stroke:var(--orange);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cmcl-assu-arrow path{stroke-dasharray:80;stroke-dashoffset:0;transition:stroke-dashoffset .7s var(--ease) .7s}
.cmcl-card{position:absolute;right:4%;top:calc(50% - 78px);width:190px;padding:14px;transition:opacity .6s var(--ease) .9s,transform .7s var(--ease) .9s}
.cmcl-card-name{font-family:var(--font-display);font-weight:600;font-size:13.5px;letter-spacing:-.02em}
.cmcl-card-line{display:flex;gap:6px;margin:8px 0 10px}
.cmcl-card-line span{height:5px;border-radius:5px;background:var(--cmcl-ui-line);flex:1}
.cmcl-card-line span + span{flex:.6}
.cmcl-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:var(--radius-pill);background:var(--cmcl-green-bg);color:var(--cmcl-green);
  border:1px solid rgba(52,211,153,.4);font-weight:600;font-size:11.5px;white-space:nowrap;transition:opacity .4s var(--ease) 1.4s,transform .6s cubic-bezier(.34,1.56,.64,1) 1.4s}
.cmcl-badge i{display:grid;width:18px;height:18px;padding:3px;border-radius:50%;background:var(--cmcl-green);color:#06261a}
.cmcl-card-btns{display:flex;gap:6px;margin-top:12px}
.cmcl-card-btns span{flex:1;text-align:center;padding:6px 0;border-radius:var(--radius-pill);border:1px solid var(--cmcl-ui-line);font-size:11px;font-weight:600;color:var(--muted)}
.cmcl-card-btns .is-call{background:var(--orange);border-color:var(--orange);color:#0a0a0a}

/* 4 — carte et zone */
.cmcl-ill:has(.cmcl-map){padding:0}
.cmcl-map{width:100%;height:100%;overflow:hidden;background:var(--cmcl-map)}
.cmcl-map-bg{position:absolute;inset:0;width:100%;height:100%}
.cmcl-map-water{fill:var(--cmcl-water)}
.cmcl-map-road path{fill:none;stroke:var(--cmcl-road);stroke-width:7;stroke-linecap:round}
.cmcl-map-street path{fill:none;stroke:var(--cmcl-street);stroke-width:2}
.cmcl-ring{position:absolute;left:62%;top:52%;border-radius:50%;transform:translate(-50%,-50%) scale(1);
  transition:transform 1.1s var(--ease),opacity .8s var(--ease)}
.cmcl-ring--near{width:118px;height:118px;background:rgba(var(--orange-rgb),.2);border:2px solid var(--orange);box-shadow:0 0 30px rgba(var(--orange-rgb),.35);transition-delay:.35s}
.cmcl-ring--far{width:236px;height:236px;background:rgba(var(--orange-rgb),.06);border:2px dashed rgba(var(--orange-rgb),.65);transition-delay:1.5s}
.cmcl-ring em{position:absolute;left:50%;top:-11px;transform:translateX(-50%);white-space:nowrap;padding:3px 9px;border-radius:var(--radius-pill);
  font-style:normal;font-size:10.5px;font-weight:700;background:var(--orange);color:#0a0a0a}
.cmcl-ring--far em{background:var(--cmcl-ui);color:var(--cmcl-or-ink);border:1px solid rgba(var(--orange-rgb),.6)}
.cmcl-pin{position:absolute;left:62%;top:52%;width:34px;height:34px;margin:-30px 0 0 -17px;color:var(--orange);transition:transform .6s cubic-bezier(.34,1.56,.64,1) .15s,opacity .4s .15s}
.cmcl-pin svg{width:100%;height:100%;fill:var(--orange);stroke:#0a0a0a;stroke-width:1.4;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.cmcl-pin circle{fill:#0a0a0a;stroke:none}
.cmcl-chips{position:absolute;left:14px;top:14px;list-style:none;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cmcl-chips li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;
  background:var(--cmcl-ui);border:1px solid var(--cmcl-ui-line);box-shadow:0 10px 20px -12px rgba(0,0,0,.6);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.cmcl-chips i{display:grid;width:18px;height:18px;padding:3px;border-radius:50%}
.cmcl-chips .is-on i{background:var(--orange);color:#0a0a0a}
.cmcl-chips .is-off{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(var(--ink-rgb),.35)}
.cmcl-chips .is-off i{background:var(--cmcl-ui-2);color:var(--muted)}
.cmcl-chips li:nth-child(2){transition-delay:.12s}.cmcl-chips li:nth-child(3){transition-delay:.24s}

/* 5 — jauge de budget */
.cmcl-gauge{text-align:center}
.cmcl-gauge .cmcl-ui-h{justify-content:center}
.cmcl-gauge-svg{display:block;width:100%;max-width:230px;margin:0 auto;overflow:visible}
.cmcl-gauge-track{fill:none;stroke:var(--cmcl-ui-line);stroke-width:14;stroke-linecap:round}
.cmcl-gauge-fill{fill:none;stroke:var(--orange);stroke-width:14;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:35;
  filter:drop-shadow(0 0 6px rgba(var(--orange-rgb),.6));transition:stroke-dashoffset 1.6s var(--ease) .35s}
.cmcl-gauge-cap{stroke:var(--text);stroke-width:3;stroke-linecap:round}
.cmcl-needle{transform-box:view-box;transform-origin:100px 104px;transform:rotate(27deg);transition:transform 1.6s var(--ease) .35s}
.cmcl-needle path{stroke:var(--text);stroke-width:4;stroke-linecap:round}
.cmcl-needle circle{fill:var(--text)}
.cmcl-gauge-legend{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--muted)}
.cmcl-gauge-legend .is-cap{color:var(--text);font-weight:600}
.cmcl-gauge-note{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:6px 12px;border-radius:var(--radius-pill);
  background:rgba(var(--orange-rgb),.12);border:1px solid rgba(var(--orange-rgb),.35);color:var(--cmcl-or-ink);font-size:11.5px;font-weight:600}
.cmcl-gauge-note i{width:7px;height:7px;border-radius:50%;background:var(--orange)}

/* 6 — téléphone */
.cmcl-ill:has(.cmcl-phone){align-items:end;padding-bottom:0}
.cmcl-phone{width:224px;height:268px;padding:30px 10px 0;border-radius:34px 34px 0 0;border:7px solid #2b2b2b;border-bottom:0;
  background:radial-gradient(120% 80% at 50% 0%,rgba(var(--orange-rgb),.35),rgba(var(--orange-rgb),0) 70%),linear-gradient(180deg,#1a1410,#0d0d0d);
  box-shadow:0 -10px 60px -20px rgba(var(--orange-rgb),.5),inset 0 0 0 1px rgba(255,255,255,.06);color:#fff}
.cmcl-phone-notch{position:absolute;left:50%;top:8px;width:66px;height:18px;margin-left:-33px;border-radius:12px;background:#000}
.cmcl-phone-time{text-align:center;font:600 22px/1 var(--font-display);letter-spacing:-.04em;margin-bottom:10px;opacity:.92}
.cmcl-notif{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;margin-bottom:6px;border-radius:14px;background:rgba(40,40,40,.82);
  border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);font-size:10.5px;line-height:1.35;color:rgba(255,255,255,.75);
  transition:opacity .6s var(--ease) .4s,transform .7s cubic-bezier(.34,1.56,.64,1) .4s}
.cmcl-notif b{display:block;color:#fff;font-size:11.5px}
.cmcl-notif i{flex:none;display:grid;width:24px;height:24px;padding:5px;border-radius:7px;background:var(--orange);color:#0a0a0a}
.cmcl-notif i svg{stroke-width:2.4}
.cmcl-notif i.is-msg{background:#3d7bf7;color:#fff}
.cmcl-notif--2{transition-delay:1.15s}
.cmcl-call{display:flex;justify-content:center;margin-top:10px}
.cmcl-call-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#22c55e;color:#fff}
.cmcl-call-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cmcl-call-btn::before,.cmcl-call-btn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #22c55e;opacity:0}

/* 7 — évaluer ce prospect */
.cmcl-leads{width:min(100%,360px)}
.cmcl-lead{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;margin-bottom:7px;
  border-radius:10px;background:var(--cmcl-ui-2);border:1px solid var(--cmcl-ui-line);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.cmcl-lead:nth-of-type(2){transition-delay:.15s}.cmcl-lead:nth-of-type(3){transition-delay:.3s}
.cmcl-lead > i{width:8px;height:8px;border-radius:50%}
.cmcl-lead > i.is-good{background:var(--cmcl-green)}
.cmcl-lead > i.is-bad{background:var(--cmcl-red)}
.cmcl-lead > span{display:flex;flex-direction:column;font-size:12px;line-height:1.3;min-width:0}
.cmcl-lead > span b{font-size:10.5px;font-weight:600;color:var(--muted)}
.cmcl-lead em{font-style:normal;font-size:10.5px;font-weight:700;padding:4px 8px;border-radius:var(--radius-pill);white-space:nowrap}
.cmcl-lead em.is-good{background:var(--cmcl-green-bg);color:var(--cmcl-green)}
.cmcl-lead--bad{border-color:rgba(248,113,113,.4);background:linear-gradient(90deg,var(--cmcl-red-bg),transparent 70%),var(--cmcl-ui-2)}
.cmcl-act{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.cmcl-eval{background:var(--orange);color:#0a0a0a;box-shadow:0 6px 16px -6px rgba(var(--orange-rgb),.8)}
.cmcl-flag{display:inline-flex;align-items:center;gap:4px;background:var(--cmcl-red-bg);color:var(--cmcl-red);transition:opacity .4s var(--ease) 1.9s,transform .5s cubic-bezier(.34,1.56,.64,1) 1.9s}
.cmcl-flag svg{width:11px;height:11px;fill:currentColor;stroke:none}
.cmcl-cursor{position:absolute;right:18px;top:12px;width:20px;height:20px;fill:#fff;stroke:#0a0a0a;stroke-width:1.4;stroke-linejoin:round;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.5));transition:transform 1s var(--ease) .7s,opacity .4s .7s}

/* ---------- le point clé ---------- */
.cmcl-key{display:flex;gap:18px;align-items:flex-start;max-width:860px;margin:clamp(80px,10vw,130px) auto 0;padding:clamp(22px,3vw,32px);border-radius:var(--radius);
  background:radial-gradient(120% 130% at 0% 0%,rgba(var(--orange-rgb),.16),rgba(var(--orange-rgb),0) 62%),rgba(255,255,255,.02);
  border:1px solid rgba(var(--orange-rgb),.3);box-shadow:0 40px 90px -60px rgba(var(--orange-rgb),.6)}
.cmcl-key-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--orange);color:#0a0a0a;box-shadow:0 12px 30px -10px rgba(var(--orange-rgb),.8)}
.cmcl-key-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cmcl-key-b{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.cmcl-key-h{font-family:var(--font-display);font-weight:500;font-size:clamp(17px,1.8vw,21px);letter-spacing:-.03em}
.cmcl-key-p{color:var(--cmcl-ink-2);font-size:15.5px;line-height:1.65}
.cmcl-key-p strong{color:var(--orange);font-weight:600}
.cmcl-key-go{display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-family:var(--font-display);font-size:12.5px;font-weight:500;letter-spacing:-.01em;
  color:var(--text);text-decoration:none;border-bottom:1px solid rgba(var(--orange-rgb),.5);transition:color .3s,border-color .3s}
.cmcl-key-go svg{width:16px;height:16px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.cmcl-key-go:hover{color:var(--orange);border-color:var(--orange)}
.cmcl-key-go:hover svg{transform:translateX(4px)}

/* ==========================================================================
   ANIMATIONS (état initial seulement sous .cmcl-anim, posé par le JS)
   ========================================================================== */
.cmcl-anim .cmcl-step:not(.is-on) .cmcl-n{background:var(--bg);color:var(--muted);border-color:var(--cmcl-line);box-shadow:0 0 0 6px var(--bg);transform:scale(.88)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-txt{opacity:0;transform:translateX(-26px)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-ill{opacity:0;transform:translateX(26px) scale(.97)}
.cmcl-anim .cmcl-step:nth-child(even):not(.is-in) .cmcl-txt{transform:translateX(26px)}
.cmcl-anim .cmcl-step:nth-child(even):not(.is-in) .cmcl-ill{transform:translateX(-26px) scale(.97)}
/* 1 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-field{opacity:0;transform:translateY(10px)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-scan span{transform:scaleX(0)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-ok{opacity:0;transform:scale(.85)}
/* 2 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-check i{background:transparent;border-color:var(--cmcl-ui-line)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-check i path{stroke-dashoffset:24}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-prog span{transform:scaleX(0)}
/* 3 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-paper{opacity:0;transform:translate(-40px,10px) rotate(-14deg)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-assu-arrow path{stroke-dashoffset:80}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-card{opacity:0;transform:translateY(14px)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-badge{opacity:0;transform:scale(.5)}
/* 4 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-ring--near{transform:translate(-50%,-50%) scale(0)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-ring--far{opacity:0;transform:translate(-50%,-50%) scale(.5)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-pin{opacity:0;transform:translateY(-24px)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-chips li{opacity:0;transform:translateX(-12px)}
/* 5 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-gauge-fill{stroke-dashoffset:100}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-needle{transform:rotate(-90deg)}
/* 6 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-notif{opacity:0;transform:translateY(-18px) scale(.95)}
.cmcl-anim .cmcl-step.is-in .cmcl-call-btn::before{animation:cmcl-ring 1.8s ease-out 1.4s infinite}
.cmcl-anim .cmcl-step.is-in .cmcl-call-btn::after{animation:cmcl-ring 1.8s ease-out 2.3s infinite}
.cmcl-anim .cmcl-step.is-in .cmcl-call-btn{animation:cmcl-shake 1.8s ease-in-out 1.4s infinite}
@keyframes cmcl-ring{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}
@keyframes cmcl-shake{0%,30%,100%{transform:none}5%,15%,25%{transform:rotate(-12deg)}10%,20%{transform:rotate(12deg)}}
/* 7 */
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-lead{opacity:0;transform:translateY(10px)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-flag{opacity:0;transform:scale(.6)}
.cmcl-anim .cmcl-step:not(.is-in) .cmcl-cursor{opacity:0;transform:translate(40px,70px)}
.cmcl-anim .cmcl-step.is-in .cmcl-eval{animation:cmcl-press .35s ease-in-out 1.65s}
@keyframes cmcl-press{50%{transform:scale(.9)}}
/* pin qui respire (ambiance) */
.cmcl-anim .cmcl-step.is-in .cmcl-ring--near{animation:cmcl-breathe 3.2s ease-in-out 1.6s infinite}
@keyframes cmcl-breathe{50%{box-shadow:0 0 50px rgba(var(--orange-rgb),.6)}}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .cmcl-step{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)}
}
@media (max-width:899px){
  .cmcl-look{grid-template-columns:1fr;gap:34px}
  .cmcl-look-txt{text-align:center;align-items:center}
  .cmcl-pills{justify-content:center}
  .cmcl-shot-tag{left:-6px;top:-14px}
  .cmcl-rail{left:22px}
  .cmcl-step{grid-template-columns:44px minmax(0,1fr);column-gap:16px;align-items:start}
  .cmcl-n,.cmcl-step:nth-child(even) .cmcl-n{grid-column:1;grid-row:1;width:44px;height:44px;font-size:16px}
  .cmcl-txt,.cmcl-step:nth-child(even) .cmcl-txt{grid-column:2;grid-row:1;justify-self:stretch;max-width:none;padding-top:6px}
  .cmcl-ill,.cmcl-step:nth-child(even) .cmcl-ill{grid-column:2;grid-row:2;justify-self:stretch;max-width:none;margin-top:18px}
  .cmcl-anim .cmcl-step:not(.is-in) .cmcl-txt,
  .cmcl-anim .cmcl-step:nth-child(even):not(.is-in) .cmcl-txt{transform:translateY(18px)}
  .cmcl-anim .cmcl-step:not(.is-in) .cmcl-ill,
  .cmcl-anim .cmcl-step:nth-child(even):not(.is-in) .cmcl-ill{transform:translateY(24px) scale(.98)}
}
@media (max-width:560px){
  .cmcl-ill{height:auto;min-height:250px;padding:18px;border-radius:20px}
  .cmcl-map{height:260px}
  .cmcl-assu{height:230px}
  .cmcl-ill:has(.cmcl-phone){height:286px}
  .cmcl-gauge-svg{max-width:190px}
  .cmcl-gauge-note{white-space:nowrap;font-size:11px}
  .cmcl-lead em{font-size:10px;padding:3px 7px}
  .cmcl-ui{padding:14px}
  .cmcl-paper{width:100px;padding:10px}
  .cmcl-paper--1{left:3%;top:8%}
  .cmcl-paper--2{left:3%;top:52%}
  .cmcl-assu-arrow{display:none}
  .cmcl-card{right:0;width:152px;padding:12px}
  .cmcl-badge{font-size:10px;padding-right:8px}
  .cmcl-ring--near{width:96px;height:96px}
  .cmcl-ring--far{width:190px;height:190px}
  .cmcl-ring,.cmcl-pin{left:64%;top:58%}
  .cmcl-key{flex-direction:column;gap:14px}
}
@media (max-width:380px){
  .cmcl-step{column-gap:12px}
  .cmcl-paper{width:94px}
}

@media (prefers-reduced-motion:reduce){
  .cmcl *,.cmcl *::before,.cmcl *::after{animation:none!important;transition:none!important}
}

/* ==========================================================================
   MODE CLAIR
   ========================================================================== */
[data-theme="light"] .cmcl{
  --cmcl-line:rgba(15,15,15,.11);
  --cmcl-ink-2:rgba(15,15,15,.72);
  --cmcl-or-ink:#b54f08;
  --cmcl-frame:radial-gradient(90% 80% at 50% 0%,rgba(255,153,28,.18),rgba(255,153,28,0) 66%),linear-gradient(180deg,#fffdf9,#f8f2e8);
  --cmcl-ui:#ffffff;
  --cmcl-ui-2:#faf6ef;
  --cmcl-ui-line:rgba(15,15,15,.1);
  --cmcl-ui-shadow:0 1px 2px rgba(60,35,10,.06),0 24px 44px -26px rgba(90,52,14,.4);
  --cmcl-green:#0f8a4f;
  --cmcl-green-bg:rgba(15,138,79,.1);
  --cmcl-red:#c53030;
  --cmcl-red-bg:rgba(197,48,48,.08);
  --cmcl-map:#f1ebe0;
  --cmcl-road:#ffffff;
  --cmcl-street:rgba(15,15,15,.06);
  --cmcl-water:rgba(70,130,220,.18);
}
[data-theme="light"] .cmcl-accent,[data-theme="light"] .cmcl-key-p strong{color:#b54f08;text-shadow:none}
[data-theme="light"] .cmcl-pill{background:#fffdf9}
[data-theme="light"] .cmcl-pill svg{stroke:#b54f08}
[data-theme="light"] .cmcl-pill--on{background:var(--cmcl-green-bg);border-color:rgba(15,138,79,.35)}
[data-theme="light"] .cmcl-pill--on svg{stroke:var(--cmcl-green)}
[data-theme="light"] .cmcl-shot{background:#f1ebe1;border-color:rgba(230,120,10,.42);box-shadow:0 0 0 4px rgba(var(--orange-rgb),.14),0 44px 84px -50px rgba(217,96,0,.5)}
[data-theme="light"] .cmcl-ill{box-shadow:0 1px 2px rgba(60,35,10,.05),0 40px 80px -56px rgba(217,96,0,.45)}
[data-theme="light"] .cmcl-ill::before{background-image:radial-gradient(rgba(15,15,15,.09) 1px,transparent 1.2px)}
[data-theme="light"] .cmcl-n{box-shadow:0 0 0 6px var(--bg),0 10px 26px -8px rgba(217,96,0,.6)}
[data-theme="light"] .cmcl-anim .cmcl-step:not(.is-on) .cmcl-n{background:#fffdf9;box-shadow:0 0 0 6px var(--bg)}
[data-theme="light"] .cmcl-rail-fill{box-shadow:0 0 10px rgba(var(--orange-rgb),.45)}
[data-theme="light"] .cmcl-ok i,[data-theme="light"] .cmcl-check i,[data-theme="light"] .cmcl-badge i,[data-theme="light"] .cmcl-paper em{color:#fff}
[data-theme="light"] .cmcl-anim .cmcl-step:not(.is-in) .cmcl-check i{background:transparent}
[data-theme="light"] .cmcl-ok,[data-theme="light"] .cmcl-badge{border-color:rgba(15,138,79,.3)}
[data-theme="light"] .cmcl-paper{background:#fff;border:1px solid rgba(15,15,15,.08);box-shadow:0 16px 30px -18px rgba(90,52,14,.45)}
[data-theme="light"] .cmcl-paper i{background:#eee6d8}
[data-theme="light"] .cmcl-ring--far em{background:#fff}
[data-theme="light"] .cmcl-map-road path{stroke-width:8;filter:drop-shadow(0 0 1px rgba(15,15,15,.15))}
[data-theme="light"] .cmcl-chips li{box-shadow:0 8px 18px -12px rgba(90,52,14,.5)}
[data-theme="light"] .cmcl-gauge-note{background:rgba(255,153,28,.14);border-color:rgba(230,120,10,.35)}
[data-theme="light"] .cmcl-phone{border-color:#1f1f1f;box-shadow:0 -10px 50px -24px rgba(217,96,0,.55)}
[data-theme="light"] .cmcl-lead em.is-good{color:#0f8a4f}
[data-theme="light"] .cmcl-key{background:radial-gradient(120% 130% at 0% 0%,rgba(255,153,28,.2),rgba(255,153,28,0) 62%),#fffdf9;border-color:rgba(230,120,10,.32);
  box-shadow:0 1px 2px rgba(60,35,10,.05),0 40px 80px -60px rgba(217,96,0,.5)}
[data-theme="light"] .cmcl-key-go{border-color:rgba(181,79,8,.5)}
[data-theme="light"] .cmcl-key-go svg{stroke:#b54f08}
[data-theme="light"] .cmcl-key-go:hover{color:#b54f08;border-color:#b54f08}
