/* ===================== SIMULATEUR : QUESTIONNAIRE ===================== */
.simu-hero{padding-bottom:28px}
.simu-sec{padding-top:0}
.simu{max-width:860px;margin:0 auto}
.sq{background:linear-gradient(180deg,rgba(26,29,93,.55),rgba(16,20,55,.55));border:1px solid var(--line-2);border-radius:24px;padding:34px 34px 30px;box-shadow:0 40px 80px -50px rgba(0,0,0,.9)}
@media (max-width:640px){.sq{padding:24px 18px 22px;border-radius:18px}}
.sq-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;font-size:.88rem;color:var(--muted)}
.sq-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:28px}
.sq-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue-bright),var(--blue-soft));border-radius:99px;transition:width .4s ease}
.sq h2{font-size:clamp(1.5rem,3.2vw,2.1rem);margin-bottom:8px}
.sq .hint{color:var(--muted);font-size:.98rem;margin-bottom:24px}
.sq-step{animation:sqIn .35s ease}
@keyframes sqIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.full{grid-column:1/-1}
.fld label{font-size:.88rem;font-weight:600;color:#D5D8EE}
.fld input,.fld textarea,.fld select{width:100%;background:rgba(7,9,18,.55);border:1px solid var(--line-2);border-radius:12px;padding:14px 15px;font:inherit;font-size:1rem;color:#fff;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:90px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--blue-soft);box-shadow:0 0 0 3px rgba(138,141,255,.2)}
.fld input[aria-invalid="true"]{border-color:var(--ko)}
.fld .unit{position:relative}
.fld .unit input{padding-right:46px}
.fld .unit span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600}
.big-input input{font-family:var(--serif);font-size:1.7rem;padding:16px 18px}
.chk{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;color:var(--muted);margin-top:16px;cursor:pointer}
.chk input{width:19px;height:19px;margin-top:2px;flex:0 0 auto;accent-color:var(--blue-bright)}
.chk a{text-decoration:underline;color:#D5D8EE}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.opts.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){.opts,.opts.three{grid-template-columns:1fr}}
.opt{position:relative;display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line-2);border-radius:14px;background:rgba(255,255,255,.02);cursor:pointer;font-weight:600;font-size:.98rem;transition:border-color .15s,background .15s;text-align:left;width:100%}
.opt:hover{border-color:var(--blue-soft)}
.opt[aria-pressed="true"]{border-color:var(--blue-bright);background:rgba(84,87,234,.18)}
.opt .box{flex:0 0 20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:.75rem}
.opt[aria-pressed="true"] .box{background:var(--blue-bright);border-color:var(--blue-bright)}
.opt[aria-pressed="true"] .box::after{content:"✓";color:#fff}
.opt small{display:block;font-weight:400;color:var(--muted);font-size:.82rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{padding:8px 13px;border-radius:999px;border:1px solid var(--line-2);background:none;font-size:.88rem;color:#D5D8EE}
.chip:hover,.chip[aria-pressed="true"]{border-color:var(--blue-soft);color:#fff;background:rgba(138,141,255,.1)}
.more-doms{margin-top:12px;font-size:.92rem;color:var(--blue-soft);background:none;border:0;text-decoration:underline;text-underline-offset:3px}
.sq-err{color:var(--ko);font-size:.92rem;min-height:1.2em;margin-top:14px}
.sq-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.sq-back{background:none;border:0;color:var(--muted);font-weight:600;padding:12px 4px}
.sq-back:hover{color:#fff}
.sq-safe{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.sq-safe span::before{content:"✓ ";color:var(--ok)}

/* chargement */
.sq-load{text-align:center;padding:30px 10px}
.sq-load .spin{width:62px;height:62px;margin:0 auto 26px;border-radius:50%;border:3px solid rgba(138,141,255,.2);border-top-color:var(--blue-soft);animation:sqSpin 1s linear infinite}
@keyframes sqSpin{to{transform:rotate(360deg)}}
.sq-load ul{list-style:none;display:grid;gap:12px;max-width:380px;margin:26px auto 0;text-align:left}
.sq-load li{display:flex;gap:12px;align-items:center;color:var(--muted);transition:color .3s}
.sq-load li::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;border:1.5px solid var(--line-2)}
.sq-load li.on{color:#fff}
.sq-load li.on::before{border-color:var(--blue-soft);border-top-color:transparent;animation:sqSpin .9s linear infinite}
.sq-load li.ok{color:#fff}
.sq-load li.ok::before{background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--ok)}

/* resultat */
.sr-head{text-align:center;max-width:720px;margin:0 auto 26px}
.sr-head .ok{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(52,195,143,.14);color:#7ee2bc;font-weight:600;font-size:.9rem;margin-bottom:16px}
.sr-head .ko{background:rgba(240,98,122,.14);color:#f7a4b2}
.sr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 auto 26px;max-width:980px}
.sr-kpis div{border:1px solid var(--line-2);border-radius:14px;padding:16px;background:rgba(255,255,255,.03);text-align:center}
.sr-kpis b{display:block;font-family:var(--serif);font-weight:500;font-size:1.6rem;color:#fff;line-height:1.15}
.sr-kpis span{font-size:.82rem;color:var(--muted)}
@media (max-width:760px){.sr-kpis{grid-template-columns:1fr 1fr}}
.sr-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:24px 0 30px}
.sr-deck-wrap{max-width:980px;margin:0 auto}
.sr-final{margin:30px auto 0;max-width:980px}
.simu-wide{max-width:1040px}
/* les classes de la presentation ne doivent pas heriter des styles du site */
.s .rv{opacity:1;transform:none;transition:none}
.s .step{border:0;border-radius:0;background:none}
.s .grid{gap:0}

/* ===================== PRESENTATION (reprise de l'outil d'audit R2) ===================== */
#deck{display:grid;gap:16px;--k:.5}
.slot{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.12)}
.slot>.s{position:absolute;top:0;left:0;transform-origin:0 0;transform:scale(var(--k))}
.slot [contenteditable]{border-radius:4px;transition:box-shadow .15s}
.slot [contenteditable]:hover{box-shadow:0 0 0 2px rgba(236,72,153,.45)}
.slot [contenteditable]:focus{outline:none;box-shadow:0 0 0 2px #ec4899;background:rgba(236,72,153,.08)}
.slot-n{position:absolute;right:10px;top:10px;z-index:3;font:600 11px Inter;color:#fff;background:rgba(0,0,0,.45);border-radius:6px;padding:3px 7px}
#stage{position:absolute;left:0;top:0;width:1280px;z-index:-1;pointer-events:none}
.slot{background:#120a46}
/* ===================== SLIDES 1280x720 ===================== */
.s{width:1280px;height:720px;position:relative;overflow:hidden;font-family:Inter,sans-serif;color:#fff;
   background:linear-gradient(118deg,#2a0a4a 0%,#190a56 32%,#0d0a46 62%,#0b1468 100%)}
.s.lt{background:#f7f7fa;color:#0c0a3e}
.s .wv{position:absolute;pointer-events:none}
.s .wv svg{display:block}
.s .wv.tr{right:-60px;top:-110px}
.s .wv.bl{left:-120px;bottom:-150px}
.s.lt .wv.tr{display:none}
.s-in{position:absolute;inset:0;padding:54px 76px 60px;display:flex;flex-direction:column}
.s .ttl{font:800 46px/1.1 Montserrat,sans-serif;letter-spacing:-.01em}
.s.lt .ttl{color:#0c0a3e}
.s .sub{font-size:17px;color:#c9c3f2;margin-top:10px;max-width:64ch}
.s.lt .sub{color:#4a4770}
.s .bd{flex:1;margin-top:28px;min-height:0;position:relative}
.s .ft{position:absolute;left:76px;right:76px;bottom:22px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8e89cf}
.s .ft .r{display:flex;align-items:center;gap:9px}
.s .ft .flg{width:24px;height:24px;display:block;opacity:.85}
.s .ft .flg img{width:100%;height:100%;object-fit:contain}
.s.lt .ft{color:#8b89a8}
.lg{position:absolute;left:76px;bottom:50px;width:78px;height:78px}
.lg img{width:100%;height:100%;object-fit:contain}
.pill{background:#f5157f;border-radius:16px;padding:18px 22px;display:flex;align-items:center;justify-content:center;text-align:center;
  font:700 15px/1.3 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#fff}
.pill.bl{background:#2563ff}

/* couverture */
.cov{position:absolute;inset:0;padding:78px 76px;display:flex;flex-direction:column;justify-content:center}
.cov .mark{position:absolute;left:76px;top:58px;width:96px;height:96px}
.cov .mark img{width:100%;height:100%;object-fit:contain}
.cov .t1{font:400 54px/1.14 Inter,sans-serif;text-transform:uppercase;letter-spacing:.005em;max-width:18ch}
.cov .lnx{font-size:25px;color:#e6e2ff;margin-top:46px}
.cov .dom{margin-top:26px;display:flex;flex-wrap:wrap;gap:9px;max-width:50ch}
.cov .dom div{border:1px solid rgba(245,21,127,.75);border-radius:999px;padding:7px 16px;font-size:14px;color:#ffd9ea}
.cov .date{position:absolute;left:76px;bottom:56px;font-size:13.5px;color:#9b96d6}

/* contexte */
.ctx{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;height:100%;align-items:center}
.ctx p{font-size:19px;line-height:1.55;color:#eae6ff;margin:0 0 24px}
.ctx p:last-child{margin-bottom:0}
.ctx.cp p{font-size:17px;margin-bottom:18px}
.ctx .gap{border-left:3px solid #f5157f;padding:16px 0 16px 22px}
.ctx .gv{font:800 44px Montserrat,sans-serif;color:#ff8fc4}
.ctx .gl{font-size:15px;color:#bdb7e8;margin-top:6px}

/* blocs */
.bx{display:grid;grid-template-columns:.75fr 1.25fr;gap:44px;align-items:center;height:100%}
.bx .side .q{font-size:19px;color:#c9c3f2;line-height:1.55}
.bx .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bx .pill{min-height:112px;font-size:16px}

/* cascade : les objectifs du tunnel, repris du premier rendez-vous */
.casc{display:flex;flex-direction:column;gap:15px;justify-content:center;height:100%;padding:4px 0}
.casc .cs{display:flex;align-items:center;gap:20px;padding:17px 26px;border-radius:14px;
  background:linear-gradient(100deg,rgba(139,92,246,.26),rgba(245,21,127,.12));
  border:1px solid rgba(255,255,255,.14)}
.casc .cs em{font:800 15px Montserrat,sans-serif;font-style:normal;color:#ff6cb0;flex:0 0 auto;letter-spacing:.06em}
.casc .cl{font:700 22px/1.25 Inter,sans-serif}
.casc .cft{margin-top:6px;text-align:center;font-size:15px;color:#bdb7e8}

/* les quatre briques du systeme */
.brq{display:flex;align-items:stretch;gap:14px;height:100%;padding:6px 0}
.brq .bq{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
  padding:26px 18px;border-radius:18px;text-align:center;
  background:linear-gradient(180deg,rgba(139,92,246,.20),rgba(12,10,62,.35));
  border:1px solid rgba(255,255,255,.14)}
.brq .bi{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#8b5cf6,#f5157f)}
.brq .bi svg{width:27px;height:27px}
.brq .bt{font:700 20px/1.25 Inter,sans-serif}
.brq .bd2{font-size:15px;line-height:1.5;color:#c9c3f2}
.brq .bar{align-self:center;color:#8b5cf6;font-size:24px;line-height:1;flex:0 0 auto}

/* etapes */
.st4{display:grid;grid-template-columns:1fr 1fr;gap:34px 46px;align-content:center;height:100%;padding:0 10px}
.st4 .it{display:grid;grid-template-columns:76px 1fr;gap:22px;align-items:center}
.st4 .nn{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font:700 24px Inter,sans-serif;color:#0c0a3e;
  background:conic-gradient(from 160deg,#2563ff,#8b5cf6,#f5157f,#2563ff);position:relative}
.st4 .nn em{position:absolute;inset:5px;border-radius:50%;background:#f7f7fa;display:grid;place-items:center;font-style:normal}
.st4 .lb{font:600 23px/1.3 Inter,sans-serif;border-bottom:1.5px solid #0c0a3e;padding-bottom:4px;display:inline}

/* tableau clair */
.tb{width:100%;border-collapse:collapse;font-size:17.5px;background:#fff;border:1px solid #d9d8e8}
.tb th{background:#0c0a3e;color:#fff;font:700 17px Inter,sans-serif;padding:16px 20px;text-align:center}
.tb td{padding:18px 20px;border-top:1px solid #d9d8e8;text-align:center;color:#1a1750}
.tb td:first-child{text-align:left;font-weight:700}
.tb .hd{background:#0c0a3e;color:#cfcbf5;font:italic 400 14px Inter,sans-serif;padding:12px 20px;text-align:left}

/* budget */
.bgx{display:grid;grid-template-columns:1.2fr .95fr;gap:30px;height:100%}
.bgx .fl{display:flex;flex-direction:column;gap:11px}
.bgx .step{flex:1;display:grid;grid-template-columns:50px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #d9d8e8;border-radius:14px;padding:13px 22px}
.bgx .ix{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font:700 15px Inter,sans-serif;background:#f5157f;color:#fff}
.bgx .sl{font:700 17px Inter,sans-serif;color:#0c0a3e}
.bgx .sd{font-size:13.5px;color:#6d6a90;margin-top:2px}
.bgx .sv{font:800 26px Montserrat,sans-serif;color:#0c0a3e;white-space:nowrap}
.bgx .rc{display:flex;flex-direction:column;gap:12px}
.bgx .rc .c{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:16px;padding:18px;background:#fff;border:1px solid #d9d8e8}
.bgx .rc .c.hl{background:#f5157f;border-color:#f5157f}
.bgx .rv{font:800 44px Montserrat,sans-serif;color:#0c0a3e}
.bgx .rl{font-size:15px;color:#4a4770;margin-top:7px;line-height:1.4}
.bgx .rc .c.hl .rv,.bgx .rc .c.hl .rl{color:#fff}

/* resultats */
.rz{display:grid;grid-template-columns:.95fr 1.35fr;gap:28px;height:100%}
.rz .kg{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.rz .c{background:#fff;border:1px solid #d9d8e8;border-radius:14px;padding:15px 17px}
.rz .c.hl{background:#0c0a3e;border-color:#0c0a3e}
.rz .kv{font:800 24px Montserrat,sans-serif;color:#0c0a3e}
.rz .c.hl .kv{color:#fff}
.rz .kl{font-size:12.5px;color:#55527d;margin-top:3px}
.rz .c.hl .kl{color:#bdb9e8}
.rz .big{grid-column:1/-1;background:#f5157f;border-color:#f5157f;text-align:center;padding:16px}
.rz .big .kv{font-size:38px;color:#fff}
.rz .big .kl{color:#ffd9ea;font-size:13.5px}
.ch{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #d9d8e8;border-radius:16px;padding:18px 20px}
.ch .cl{font-size:13.5px;color:#55527d;margin-bottom:6px}
.ch .bars{flex:1;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid #d9d8e8;padding-top:22px}
.ch .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.ch .b i{display:block;width:100%;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#f5157f,#8b5cf6)}
.ch .b.be i{background:linear-gradient(180deg,#2563ff,#22d3ee)}
.ch .b em{font-style:normal;font:700 11px Montserrat,sans-serif;color:#0c0a3e;margin-bottom:4px}
.ch .ml{display:flex;gap:9px;margin-top:5px}
.ch .ml span{flex:1;text-align:center;font-size:11px;color:#8b89a8}
.ch .lg2{font-size:12px;color:#2563ff;margin-top:7px;font-weight:600}
.ch .nt{font-size:12.5px;color:#6d6a90;margin-top:9px;line-height:1.45}

/* investissement */
.iv2{display:grid;gap:18px;align-content:center;height:100%;padding:0 20px}
.iv2 .row{display:grid;grid-template-columns:290px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid #d9d8e8;border-radius:16px;padding:22px 26px}
.iv2 .row.hl{border-color:#f5157f;box-shadow:0 10px 30px -18px rgba(245,21,127,.65)}
.iv2 .amt{font:800 38px Montserrat,sans-serif;color:#0c0a3e;line-height:1.1}
.iv2 .row.hl .amt{color:#f5157f}
.iv2 .unit{font:600 15px Inter,sans-serif;color:#6d6a90;margin-top:3px}
.iv2 .lab{font:700 21px Inter,sans-serif;color:#0c0a3e}
.iv2 .desc{font-size:14.5px;color:#4a4770;margin-top:6px;line-height:1.45}

/* planning R1 */
.pl4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;height:100%}
.pl4 .c{display:flex;flex-direction:column;background:#fff;border:1px solid #d9d8e8;border-radius:16px;padding:20px 18px}
.pl4 .n{font:800 13px Montserrat,sans-serif;color:#f5157f}
.pl4 .t{font:700 22px Inter,sans-serif;color:#0c0a3e;margin-top:8px}
.pl4 .w{font-size:13.5px;color:#8b89a8;margin-top:3px}
.pl4 ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:11px;flex:1;align-content:start}
.pl4 li{font-size:13.5px;line-height:1.45;color:#2a2757;padding-left:24px;position:relative}
.pl4 li::before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:#f5157f}
.pl4 li::after{content:"";position:absolute;left:4.3px;top:7px;width:6px;height:3px;border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg)}
.pl4 .ft2{margin-top:14px;padding-top:12px;border-top:1px solid #e4e3ef;font-size:12.5px;color:#6d6a90;line-height:1.4}

/* transition */
.tr2{position:absolute;inset:0;display:flex;align-items:center;padding:0 76px}
.tr2 .q{font:400 70px Inter,sans-serif;text-transform:uppercase;letter-spacing:.01em}

/* etudes de cas R1 */
/* etudes de cas : carrousel defilant, repris du site */
.carr{position:relative;height:100%;display:grid;place-items:center;overflow:hidden}
.carr .piste{position:relative;width:100%;height:396px}
.carr .ca{position:absolute;left:50%;top:0;width:430px;margin:0;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#161047,#0c0a3e);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 60px -30px rgba(0,0,0,.85);will-change:transform,opacity}
.carr .ca::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:2;
  background:linear-gradient(90deg,transparent,#f5157f,transparent)}
.carr .scr{background:#fff;overflow:hidden;border-bottom:1px solid rgba(12,10,62,.18)}
.carr .scr img.shot{display:block;width:100%;height:208px;object-fit:cover;object-position:top}
.carr .strip{display:grid}
.carr .strip div{padding:10px 12px;color:#fff}
.carr .strip small{display:block;font-size:11px;opacity:.95}
.carr .strip b{display:block;font:700 18px Inter,sans-serif;margin-top:2px}
.carr .c1{background:#1a73e8}.carr .c2{background:#d93025}.carr .c3{background:#f9ab00}.carr .c4{background:#188038}
.carr .plot{height:140px;padding:10px 12px}
.carr .plot svg{width:100%;height:100%}
.carr figcaption{padding:15px 18px 17px}
.carr .cw{font:700 20px/1.25 Inter,sans-serif}
.carr .cn{margin-top:6px;font-size:15px;color:#c9c3f2}
.carr .cn b{color:#ff4fa3;font-weight:700}
.carr .sb2{color:#c9c3f2}
/* Version figée pour le PDF : trois études côte à côte, sans transformation,
   parce qu'une animation ne s'enregistre pas dans un document. */
.carr .piste.fige{position:static;height:auto;display:flex;gap:18px;justify-content:center;align-items:flex-start}
.carr .piste.fige .ca{position:static;left:auto;width:358px;flex:0 0 auto;
  transform:none!important;opacity:1!important;filter:none!important;z-index:auto!important}
.carr .piste.fige .ca:nth-child(n+4){display:none}
.carr .piste.fige .scr img.shot{height:178px}
.carr .piste.fige .plot{height:120px}
.carr .piste.fige .cw{font-size:18px}
.carr .piste.fige .cn{font-size:14px}
.carr .piste.fige .strip div{padding:8px 9px}
.carr .piste.fige .strip small{font-size:10px}
.carr .piste.fige .strip b{font-size:15.5px;white-space:nowrap}

/* l'agence : animation des realisations et avis clients */
.agc{display:grid;grid-template-columns:.86fr 1.14fr;gap:34px;height:100%;align-items:center}
.agc .vlt{position:relative;width:472px;height:354px;overflow:hidden;align-self:center;justify-self:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.agc .vl{position:absolute;left:0;top:0;transform-origin:50% 50%;will-change:transform}
.agc .vcard{overflow:hidden;background:#101437;box-shadow:-3px 8px 18px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.12)}
.agc .vcard img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.agc .vlogo{display:flex;align-items:center;justify-content:center;opacity:0}
.agc .vlogo img{height:100%;width:auto;display:block}

.agc .avl{overflow:hidden;height:432px;position:relative;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent)}
.agc .avp{display:flex;flex-direction:column;gap:13px;will-change:transform}
.agc .av{background:linear-gradient(180deg,rgba(139,92,246,.17),rgba(12,10,62,.45));
  border:1px solid rgba(255,255,255,.15);border-radius:15px;padding:15px 18px 14px}
.agc .et{color:#fbbf24;font-size:14px;letter-spacing:2px;margin-bottom:7px}
.agc .at{font-size:14.5px;line-height:1.5;color:#e9e7ff}
.agc .aq{display:flex;align-items:center;gap:11px;margin-top:11px}
.agc .ai{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;
  font:700 12px Montserrat,sans-serif;color:#fff;background:linear-gradient(135deg,#8b5cf6,#f5157f)}
.agc .an{font:700 14.5px Inter,sans-serif}
.agc .ar{font-size:12.5px;color:#bdb7e8}
/* Version figée pour le PDF : les trois avis en entier, l'animation sur son image finale. */
/* html2canvas ne sait pas découper un contenu dans un coin arrondi : il laisse
   la carte vide. Pour la photo du PDF, on redresse les coins. */
.agc.fige .vcard{border-radius:0!important;overflow:visible}
.agc.fige .vcard img{object-fit:fill}
.agc.fige .avl{height:auto;max-height:470px;mask-image:none;-webkit-mask-image:none}
.agc.fige .avp{transform:none!important;gap:9px}
.agc.fige .av{padding:11px 14px 10px}
.agc.fige .et{font-size:12px;letter-spacing:1.5px;margin-bottom:5px}
.agc.fige .at{font-size:12.5px;line-height:1.42}
.agc.fige .aq{margin-top:8px;gap:9px}
.agc.fige .ai{width:30px;height:30px;font-size:11px}
.agc.fige .an{font-size:13.5px}
.agc.fige .ar{font-size:11.5px}

/* final */
.fin{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 90px}
.fin .q{font:800 58px/1.15 Montserrat,sans-serif}
.fin .cta{margin-top:44px;padding:20px 44px;border-radius:999px;background:#f5157f;font:700 23px/1.3 Inter,sans-serif;max-width:24ch}
