/* =========================================================
   NEXIR · Comparateur ESN : page d'atterrissage et page merci
   (s'ajoute aux styles des pages Expertise et au formulaire de la page Contact)
   ========================================================= */
.cp-hero{min-height:0}
.cp-hero .inner{padding-top:132px;padding-bottom:84px}
.cp-hero .inner.cp-grid,.cp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.cp-hero h1{max-width:16ch;font-size:clamp(36px,4.4vw,64px);line-height:1.03}
.cp-hero .lead{max-width:560px}
.cp-facts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cp-facts li{padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);font-size:14px;color:#C3CBE3}
.cp-facts b{color:#fff;font-family:var(--display);font-weight:700}
.cp-vis{position:relative}
.cp-vis::before{content:"";position:absolute;inset:-40px;z-index:-1;background:radial-gradient(closest-side,rgba(79,61,255,.45),transparent)}

.cp-why{padding:110px 0 90px;background:#fff}
.cp-dims{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:d}
.cp-dims li{display:flex;gap:12px;align-items:flex-start;padding:18px 18px 18px 16px;border-radius:16px;background:var(--paper);border:1px solid var(--line);font:600 15.5px/1.3 var(--display);color:var(--ink);transition:border-color .3s,transform .3s}
.cp-dims li:hover{border-color:#B5ADFF;transform:translateY(-2px)}
.cp-dims .l{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#EEF0FF;color:var(--blue);font:800 13px var(--display)}

.cp-steps{padding:90px 0 100px;background:var(--paper)}
.cp-steps h2{margin-top:16px;max-width:18ch}
.cp-sgrid{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cp-sgrid li{position:relative;padding:30px 28px 30px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(11,18,48,.06)}
.cp-sgrid .n{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--blue);color:#fff;font:800 18px var(--display)}
.cp-sgrid h3{font-size:22px;margin:18px 0 10px}
.cp-sgrid p{margin:0;color:var(--text);font-size:16px;line-height:1.55}

.cp-tool{position:relative;padding:96px 0;background:var(--night);color:#fff;overflow:hidden}
.cp-tool h2{margin-top:16px;max-width:18ch;color:#fff}
.cp-tgrid{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cp-tgrid li{padding:22px 22px 24px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.cp-tgrid b{display:block;font:600 17px/1.3 var(--display);color:#fff;margin-bottom:8px}
.cp-tgrid span{font-size:15px;line-height:1.5;color:#AEB8D3}

.cp-form{padding:100px 0 110px;background:#fff}
.cp-fgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:56px;align-items:start}
.cp-fintro h2{margin-top:16px;font-size:clamp(32px,4vw,54px)}
.cp-fintro .lead{margin-top:16px}
.cp-recv{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.cp-recv li{position:relative;padding-left:28px;font-size:16px;color:var(--ink)}
.cp-recv li::before{content:"";position:absolute;left:3px;top:6px;width:11px;height:6px;border-left:2px solid #16A06A;border-bottom:2px solid #16A06A;transform:rotate(-45deg)}
.cp-card{background:#fff;border-radius:24px;padding:32px 34px 30px;border:1px solid var(--line);box-shadow:0 40px 100px rgba(11,18,48,.12);scroll-margin-top:110px}
.cp-card .ftitle{font-size:22px}
.cp-card .freq,.cp-card .rgpd{color:#555E78}
.cp-card .optin{margin:10px 0 14px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#F7F8FC;color:#3B465C;transition:border-color .2s,background .2s}
.cp-card .optin:hover{border-color:rgba(79,61,255,.35)}
.cp-card .optin:has(input:checked){border-color:rgba(79,61,255,.5);background:#F3F1FF}
.cp-card .optin:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}

.cp-merci{position:relative;min-height:calc(100svh - 120px);padding:150px 0 90px;background:var(--night);color:#fff;overflow:hidden}
.cp-merci .aurora{opacity:.6}
.cp-ok{position:relative;max-width:720px}
.cp-ok:focus{outline:none}
.cp-ok .ok-ic{color:var(--accent);margin-bottom:18px}
.cp-ok h1{font-size:clamp(36px,4.6vw,64px);line-height:1.04;letter-spacing:-.04em;margin:0 0 16px}
.cp-ok .lead{color:#C3CBE3;margin:0}
.cp-dl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:32px}
.cp-fmt{font-size:14px;color:#8F9AB8}
.cp-alt{margin:16px 0 0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.cp-merci .link{color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.cp-howh{font:600 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#8F9AB8;margin:48px 0 14px}
.cp-how{margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:10px;color:#D5DAEA;font-size:16px;line-height:1.55;max-width:640px}
.cp-how li::marker{color:var(--accent);font-weight:700}
.cp-back{margin:40px 0 0;font-size:15px}

@media(max-width:1100px){.cp-dims{grid-template-columns:repeat(3,1fr)}.cp-tgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){
  .cp-hero .inner.cp-grid,.cp-grid,.cp-fgrid{grid-template-columns:1fr;gap:40px}
  .cp-vis{max-width:560px}
  .cp-sgrid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cp-hero .inner{padding-top:104px;padding-bottom:56px}
  .cp-why,.cp-steps,.cp-tool,.cp-form{padding:64px 0}
  .cp-dims{grid-template-columns:1fr 1fr;gap:8px}
  .cp-dims li{padding:14px 12px;font-size:14px;gap:10px}
  .cp-tgrid{grid-template-columns:1fr}
  .cp-card{padding:24px 18px 22px;border-radius:20px}
  .cp-merci{padding:112px 0 64px}
  .cp-dl .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.cp-dims li{transition:none}}

/* ---------- Visuel du comparateur ESN (exemple fictif) : accueil et page d'atterrissage ---------- */
.cmpviz{margin:0;background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.38);overflow:hidden;font-family:var(--body);transform:rotate(.8deg);transition:transform .8s var(--ease)}
.cmpviz:hover{transform:rotate(0)}
.cv-top{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#0B1230;color:#fff}
.cv-top b{font:700 13.5px/1.2 var(--display);letter-spacing:-.01em;flex:1}
.cv-dots{display:flex;gap:5px}.cv-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25)}
.cv-tag{flex:none;font:600 10.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:7px;background:#FFE9B8;color:#6B4A00}
.cv-body{display:grid;grid-template-columns:1.25fr 1fr;gap:6px 18px;align-items:center;padding:14px 18px 16px}
.cv-radar{display:block;width:100%;height:auto}
.cv-grid{fill:none;stroke:#DDE1EC;stroke-width:1}
.cv-lab{font:500 10.5px var(--body);fill:#5B6480}
.cv-s{stroke-width:2.2;stroke-linejoin:round;transform-origin:170px 150px}
.cv-s.s1{fill:rgba(79,61,255,.14);stroke:#4F3DFF}
.cv-s.s2{fill:rgba(61,220,151,.18);stroke:#16A06A}
.cv-s.s3{fill:rgba(200,194,255,.12);stroke:#8C80FF;stroke-dasharray:5 4}
.cv-leg{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:#5B6480;justify-content:center}
.cv-leg i,.cv-bar i{display:inline-block}
.cv-leg i{width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-2px}
.cv-leg .s1,.cv-bar .s1{background:#4F3DFF}.cv-leg .s2,.cv-bar .s2{background:#3DDC97}.cv-leg .s3,.cv-bar .s3{background:#B3AAFF}
.cv-h{display:block;font:600 11px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#5B6480;margin-bottom:10px}
.cv-rank ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cv-rank li{display:grid;grid-template-columns:22px 1fr;gap:4px 8px;align-items:center}
.cv-pos{grid-row:span 2;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#EEF0FF;color:#4F3DFF;font:700 12px var(--display)}
.cv-n{font:600 13.5px/1.2 var(--display);color:var(--ink)}
.cv-bar{height:8px;border-radius:99px;background:#EEF0F6;overflow:hidden}
.cv-bar{display:block}.cv-bar i{display:block!important;height:100%;width:var(--w);border-radius:99px;transform-origin:left;transition:transform 1.2s var(--ease)}
.cv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.cv-chips span{font:600 11px/1 var(--body);padding:6px 9px;border-radius:99px}
.cv-chips .up{background:#E3F8EF;color:#0B6B4A}.cv-chips .dn{background:#FFF1DC;color:#7A4D00}
.cmpviz figcaption{padding:4px 18px 14px;font-size:11.5px;line-height:1.4;color:#5B6480}
.js .rv .cv-s,.js .rv.cmpviz .cv-s{opacity:0;transform:scale(.4);transition:transform 1.1s var(--ease),opacity .6s}
.js .rv .cv-s.s2{transition-delay:.2s}.js .rv .cv-s.s3{transition-delay:.4s}
.js .rv.in .cv-s{opacity:1;transform:none}
.js .rv .cv-bar i{transform:scaleX(0)}.js .rv.in .cv-bar i{transform:none}
@media(max-width:640px){.cmpviz{transform:none}.cv-body{grid-template-columns:1fr;padding:12px 14px 4px}.cv-rank{padding-bottom:4px}.cv-top b{font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.cmpviz,.cv-s,.cv-bar i{transition:none!important;transform:none!important;opacity:1!important}}
