@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:100% 125%;font-display:swap;src:url(fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/jetbrains-mono.woff2) format('woff2')}
/* ==========================================================
   Breizh Reprog — V60 (refonte complète)
   Palette : nuit violette, violet Breizh, lilas, rose chaleur
   Typo : Archivo (largeur variable) + JetBrains Mono (données)
   ========================================================== */
:root{
  --nuit:#0c0714;
  --plaque:#151021;
  --plaque-2:#1c1530;
  --ligne:#2b2140;
  --violet:#9b5cff;
  --violet-fort:#7c3aed;
  --lilas:#cdb8ff;
  --chaleur:#ff4fa8;
  --texte:#f3eff8;
  --gris:#a197b1;
  --gris-2:#8f85a1;
  --violet-btn:#8645f0;
  --ok:#5ee0a0;
  --erreur:#ff7a93;
  --r-s:10px;--r-m:16px;--r-l:26px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --wrap:1200px;
  --display:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--nuit);color:var(--texte);font:400 17px/1.6 var(--display);font-stretch:100%;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-family:var(--display);font-stretch:125%;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(42px,6.6vw,92px);font-weight:850}
h2{font-size:clamp(30px,4.2vw,56px);font-weight:800}
h3{font-size:clamp(19px,1.6vw,22px);font-weight:750;font-stretch:112%;letter-spacing:-.01em;line-height:1.2}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
.lead{max-width:58ch;color:var(--gris);font-size:clamp(17px,1.4vw,19px)}
.muted{color:var(--gris)}
.small{font-size:14px}
.skip{position:absolute;left:12px;top:-60px;z-index:999;padding:10px 14px;border-radius:var(--r-s);background:var(--violet);color:#fff;text-decoration:none;font-weight:700}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--lilas);outline-offset:3px;border-radius:6px}
::selection{background:var(--violet);color:#fff}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;font:700 15px/1 var(--display);font-stretch:108%;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-1{background:var(--violet-btn);color:#fff}
.btn-1:hover{background:var(--violet-fort)}
.btn-2{background:transparent;border-color:var(--ligne);color:var(--texte)}
.btn-2:hover{border-color:var(--lilas)}
.btn-wa{background:#173b2b;border-color:#2d6b4c;color:#dffbe9}
.btn-wa:hover{background:#1d4a36}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- En-tête ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(12,7,20,.82);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s}
.site-head.is-scrolled{border-bottom-color:var(--ligne)}
.head-in{display:flex;align-items:center;gap:28px;height:76px}
.mark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;font-stretch:125%;font-size:19px;letter-spacing:-.02em;white-space:nowrap}
.mark-glyph{position:relative;width:30px;height:30px;border-radius:8px;background:var(--violet);overflow:hidden;flex:none}
.mark-glyph::before,.mark-glyph::after{content:"";position:absolute;left:6px;right:6px;height:3px;border-radius:2px;background:#fff}
.mark-glyph::before{top:9px;right:12px}
.mark-glyph::after{top:17px}
.mark small{font-weight:500;font-stretch:100%;color:var(--gris);font-size:13px;letter-spacing:0}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav a{padding:10px 12px;border-radius:999px;text-decoration:none;color:var(--gris);font-size:15px;font-weight:600;transition:color .2s,background .2s}
.nav a:hover{color:var(--texte)}
.nav a[aria-current="page"]{color:var(--texte);background:var(--plaque-2)}
.head-cta{margin-left:8px;min-height:44px;padding:0 18px;font-size:14px}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--ligne);background:transparent;color:var(--texte);cursor:pointer}
.burger span{display:block;width:18px;height:2px;margin:4px auto;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Sections ---------- */
.sec{padding-block:clamp(64px,9vw,128px)}
.sec-tight{padding-block:clamp(40px,6vw,80px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(28px,4vw,52px)}
.sec-head p{margin:0;max-width:44ch;color:var(--gris)}
.rule{border:0;border-top:1px solid var(--ligne);margin:0}

/* ---------- Héros + cartographie ---------- */
.hero{position:relative;padding-block:clamp(40px,6vw,84px) clamp(56px,7vw,96px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto 40%;height:120%;background:radial-gradient(closest-side,rgba(155,92,255,.22),transparent 70%);pointer-events:none}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{max-width:15ch;font-size:clamp(40px,4.5vw,68px)}
.hero-in>*,.split>*,.panel>*,.form-layout>*{min-width:0}
.hero .lead{margin:24px 0 32px}
.plate{margin-top:36px;max-width:440px}
.plate label{display:block;margin-bottom:10px;color:var(--gris);font-size:14px}
.plate-box{display:flex;height:62px;border-radius:12px;overflow:hidden;background:#f4f3ee;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 18px 40px -18px rgba(0,0,0,.8)}
.plate-box:focus-within{box-shadow:0 0 0 3px var(--lilas)}
.plate-eu{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:44px;padding-bottom:9px;background:#1f3ea6;color:#fff;font:800 15px/1 var(--display)}
.plate-eu::before{content:"";width:18px;height:18px;margin-bottom:auto;margin-top:8px;border-radius:50%;border:2px dotted #ffd84a}
.plate-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#121016;text-align:center;font:700 clamp(22px,3.2vw,28px)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.plate-box input::placeholder{color:#b9b8c0}
.plate-box button{flex:none;border:0;padding:0 20px;background:#121016;color:#fff;font:700 15px/1 var(--display);cursor:pointer;transition:background .2s}
.plate-box button:hover{background:var(--violet-fort)}
.plate-err{min-height:22px;margin:8px 0 0;color:var(--erreur);font-size:14px}


/* ---------- Bande infos ---------- */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--ligne)}
.facts>div{padding:22px 24px;border-right:1px solid var(--ligne)}
.facts>div:last-child{border-right:0}
.facts dt{color:var(--gris-2);font-size:13px}
.facts dd{margin:4px 0 0;font-weight:700;font-stretch:110%}
.facts a{text-decoration:none}
.facts a:hover{color:var(--lilas)}

/* ---------- Choix (liste) ---------- */
.choices{list-style:none;margin:0;padding:0;border-top:1px solid var(--ligne)}
.choices li{border-bottom:1px solid var(--ligne)}
.choice{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:clamp(22px,3vw,34px) 4px;text-decoration:none;transition:padding .35s var(--ease),background .35s}
.choice h3{font-size:clamp(24px,3.2vw,42px);font-stretch:125%;font-weight:800;letter-spacing:-.03em;transition:color .3s}
.choice p{margin:8px 0 0;color:var(--gris);font-size:15px}
.choice .from{color:var(--gris);font-size:14px;text-align:right;white-space:nowrap}
.choice .from b{display:block;color:var(--texte);font-size:clamp(20px,2.2vw,26px);font-stretch:115%}
.choice .go{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--ligne);transition:background .3s,border-color .3s,transform .35s var(--ease)}
.choice .go svg{width:18px;height:18px}
.choice:hover{padding-inline:18px 10px;background:linear-gradient(90deg,rgba(155,92,255,.1),transparent 70%)}
.choice:hover h3{color:var(--lilas)}
.choice:hover .go{background:var(--violet);border-color:var(--violet);transform:rotate(-45deg)}

/* ---------- Tableau de tarifs ---------- */
.prices{width:100%;border-collapse:collapse}
.prices caption{text-align:left;padding:0 0 14px;font-weight:800;font-stretch:118%;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em}
.prices th,.prices td{padding:18px 14px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:middle}
.prices thead th{padding-top:0;color:var(--gris-2);font-weight:600;font-size:13px}
.prices tbody th{font-weight:700;font-size:17px}
.prices tbody th small{display:block;margin-top:3px;color:var(--gris);font-weight:400;font-size:14px}
.prices td.p{white-space:nowrap;font-weight:700;font-stretch:112%;text-align:right}
.prices td.p span{display:block;color:var(--gris-2);font-weight:500;font-size:12px;font-stretch:100%}
.prices td.a{width:1%;white-space:nowrap;text-align:right}
.prices tbody tr{transition:background .2s}
.prices tbody tr:hover{background:rgba(155,92,255,.06)}
.link-ask{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--ligne);text-decoration:none;font-size:14px;font-weight:650;transition:border-color .2s,background .2s}
.link-ask:hover{border-color:var(--violet);background:rgba(155,92,255,.12)}
.price-groups{display:grid;gap:clamp(40px,6vw,72px)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--ligne);background:transparent;color:var(--gris);font:650 14px/1 var(--display);cursor:pointer;transition:all .2s}
.filters button:hover{color:var(--texte);border-color:var(--gris-2)}
.filters button[aria-pressed="true"]{background:var(--texte);border-color:var(--texte);color:var(--nuit)}
.note{margin-top:28px;padding:18px 20px;border-left:3px solid var(--violet);border-radius:0 var(--r-s) var(--r-s) 0;background:var(--plaque);color:var(--gris);font-size:14.5px}
.note b{color:var(--texte)}

/* ---------- Étapes ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0;counter-reset:s}
.steps::before{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:var(--ligne)}
.steps::after{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:linear-gradient(90deg,var(--violet),var(--chaleur));transform-origin:left;transform:scaleX(var(--p,1));transition:transform 1.6s var(--ease)}
.steps li{position:relative;counter-increment:s}
.steps li::before{content:counter(s);position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px;border-radius:50%;background:var(--nuit);border:2px solid var(--violet);font-weight:800;font-stretch:120%}
.steps h3{margin-bottom:8px}
.steps p{margin:0;color:var(--gris);font-size:15px}

/* ---------- Panneau fichier ---------- */
.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:clamp(28px,5vw,60px);border-radius:var(--r-l);background:linear-gradient(135deg,#21123d,#140d22 60%);border:1px solid #3a2763}
.panel .price-big{display:flex;align-items:baseline;gap:10px;margin:22px 0 26px}
.panel .price-big b{font-size:clamp(48px,6vw,76px);font-weight:850;font-stretch:125%;letter-spacing:-.04em;line-height:1}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ticks li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:18px;border-radius:var(--r-m);background:rgba(12,7,20,.55);border:1px solid rgba(205,184,255,.12)}
.ticks li::before{content:"";width:28px;height:28px;border-radius:50%;background:var(--violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.ticks b{display:block;margin-bottom:2px}
.ticks span{color:var(--gris);font-size:15px}
.ticks.warn li::before{background:#4a1d2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7a93' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/13px no-repeat}

/* ---------- Deux colonnes / FAQ ---------- */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,6vw,96px);align-items:start}
.split .sticky{position:sticky;top:110px}
.qa{border-bottom:1px solid var(--ligne)}
.qa:first-child{border-top:1px solid var(--ligne)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px;list-style:none;cursor:pointer;font-weight:700;font-size:18px;font-stretch:106%}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--ligne);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdb8ff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--ease),background-color .3s}
.qa[open] summary::after{transform:rotate(45deg);background-color:var(--plaque-2)}
.qa summary:hover{color:var(--lilas)}
.qa .ans{padding:0 2px 24px;color:var(--gris);max-width:62ch}
.qa[open] .ans{animation:open .35s var(--ease)}
@keyframes open{from{opacity:0;transform:translateY(-6px)}}

/* ---------- Bloc final ---------- */
.final{position:relative;overflow:hidden;padding:clamp(40px,7vw,90px) clamp(24px,5vw,70px);border-radius:var(--r-l);background:var(--violet-fort)}
.final::after{content:"";position:absolute;right:-8%;top:-30%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,79,168,.55),transparent 70%);pointer-events:none}
.final h2{position:relative;max-width:14ch}
.final p{position:relative;max-width:48ch;margin:18px 0 30px;color:#eadfff}
.final .actions{position:relative}
.final .btn-1{background:#fff;color:var(--violet-fort)}
.final .btn-1:hover{background:#f1eaff}
.final .btn-2{border-color:rgba(255,255,255,.4);color:#fff}
.final .btn-2:hover{border-color:#fff}

/* ---------- Pages internes ---------- */
.page-head{padding-block:clamp(48px,7vw,96px) clamp(32px,4vw,56px)}
.page-head h1{font-size:clamp(38px,5.6vw,76px);max-width:16ch}
.page-head .lead{margin-top:22px}
.crumbs{display:flex;gap:8px;margin-bottom:22px;color:var(--gris-2);font-size:14px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--lilas)}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.toc a{padding:10px 16px;border-radius:999px;border:1px solid var(--ligne);text-decoration:none;font-size:14px;font-weight:600;color:var(--gris);transition:color .2s,border-color .2s}
.toc a:hover{color:var(--texte);border-color:var(--lilas)}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.box{padding:26px;border-radius:var(--r-m);border:1px solid var(--ligne);background:var(--plaque)}
.box h3{margin-bottom:10px}
.box p{margin:0;color:var(--gris);font-size:15px}
.box .tag{display:inline-block;margin-bottom:14px;padding:5px 10px;border-radius:999px;background:var(--plaque-2);color:var(--lilas);font-size:13px;font-weight:650}
.box .amount{display:block;margin-top:18px;font-weight:800;font-stretch:118%;font-size:20px}
.box.feature{border-color:#4b3283;background:linear-gradient(160deg,#22153e,var(--plaque))}
.prose{max-width:70ch}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#d9d2e3}
.prose a{color:var(--lilas)}
.prose dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0 0 1em}
.prose dt{color:var(--gris)}
.prose dd{margin:0}
.empty{padding:clamp(28px,5vw,56px);border-radius:var(--r-l);border:1px dashed var(--ligne);text-align:center;color:var(--gris)}
.empty h2{color:var(--texte);margin-bottom:12px}
.proj-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ligne)}
.proj-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--ligne)}
.proj-list b{font-size:clamp(20px,2.2vw,28px);font-stretch:118%;letter-spacing:-.02em}
.chip{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--plaque-2);color:var(--lilas);font-size:13px;font-weight:650}

/* ---------- Formulaire ---------- */
.form-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,64px);align-items:start}
.aside{position:sticky;top:104px;display:grid;gap:14px}
.progress{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:p}
.progress li{counter-increment:p;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-s);color:var(--gris);font-weight:600;transition:background .3s,color .3s}
.progress li::before{content:counter(p);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--ligne);font-size:14px;transition:all .3s}
.progress li.now{background:var(--plaque-2);color:var(--texte)}
.progress li.now::before{border-color:var(--violet);color:var(--lilas)}
.progress li.done{color:var(--texte)}
.progress li.done::before{content:"";background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23062a18' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/15px no-repeat;border-color:var(--ok)}
.form{display:grid;gap:clamp(30px,4vw,44px)}
.fs{margin:0;padding:0;border:0;display:grid;gap:16px}
.fs legend{padding:0;margin-bottom:6px;font-weight:800;font-stretch:118%;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em}
.fs legend span{display:block;margin-top:4px;color:var(--gris);font-weight:400;font-stretch:100%;font-size:15px;letter-spacing:0}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.f{display:grid;gap:8px}
.f label{font-weight:650;font-size:15px}
.f label .facult{color:var(--gris-2);font-weight:400}
.f input,.f textarea{width:100%;min-height:52px;padding:12px 16px;border-radius:var(--r-s);border:1px solid var(--ligne);background:var(--plaque);color:var(--texte);font:400 16px/1.4 var(--display);transition:border-color .2s,box-shadow .2s}
.f textarea{min-height:130px;resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:var(--gris-2)}
.f input:focus,.f textarea:focus{outline:0;border-color:var(--violet);box-shadow:0 0 0 3px rgba(155,92,255,.25)}
.f input[aria-invalid="true"]{border-color:var(--erreur);box-shadow:0 0 0 3px rgba(255,122,147,.18)}
.f .err{display:none;color:var(--erreur);font-size:14px}
.f input[aria-invalid="true"]~.err{display:block}
.f .help{color:var(--gris-2);font-size:13.5px}
.f input[type=date],.f input[type=time]{color-scheme:dark}
.f.plate-f input{font:700 22px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.file{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border-radius:var(--r-s);border:1px dashed var(--ligne)}
.file input{position:absolute;width:1px;height:1px;opacity:0}
.file label{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:var(--plaque-2);cursor:pointer;font-weight:650;font-size:14px}
.file:focus-within label{outline:2px solid var(--lilas);outline-offset:2px}
.file span{color:var(--gris);font-size:14px}
.grp{border:1px solid var(--ligne);border-radius:var(--r-m);background:var(--plaque);transition:border-color .3s}
.grp[open]{border-color:#43306d}
.grp summary{display:flex;align-items:center;gap:14px;padding:16px 18px;list-style:none;cursor:pointer}
.grp summary::-webkit-details-marker{display:none}
.grp summary b{flex:1;font-size:16px}
.grp summary b small{display:block;color:var(--gris);font-weight:400;font-size:13.5px}
.grp .count{padding:5px 10px;border-radius:999px;background:var(--violet-btn);color:#fff;font-size:12.5px;font-weight:700}
.grp .count:empty{display:none}
.grp summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--ligne);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdb8ff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat;transition:transform .3s var(--ease)}
.grp[open] summary::after{transform:rotate(45deg)}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.opt{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-s);border:1px solid var(--ligne);background:var(--nuit);cursor:pointer;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--gris-2)}
.opt input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:0;border-radius:6px;border:1.5px solid var(--gris-2);display:grid;place-items:center;transition:all .2s}
.opt input::after{content:"";width:6px;height:11px;margin-top:-2px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .2s var(--ease)}
.opt input:checked{background:var(--violet);border-color:var(--violet)}
.opt input:checked::after{transform:rotate(45deg) scale(1)}
.opt:has(input:checked){border-color:var(--violet);background:rgba(155,92,255,.1)}
.opt b{display:block;font-size:15px}
.opt small{color:var(--gris);font-size:13px}
.confirm{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.confirm input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--violet)}
.confirm.bad{color:var(--erreur)}
.form-err{display:none;padding:14px 16px;border-radius:var(--r-s);background:rgba(255,122,147,.1);border:1px solid rgba(255,122,147,.4);color:#ffd0da}
.form-err.on{display:block}
.pre-note{padding:12px 14px;border-radius:var(--r-s);background:rgba(94,224,160,.08);border:1px solid rgba(94,224,160,.35);color:#c9f5de;font-size:14.5px}
.submit-row{display:grid;gap:12px}
.submit-row .btn{width:100%;min-height:58px;font-size:16px}

/* ---------- Fenêtre de relecture ---------- */
.dlg{width:min(640px,calc(100% - 24px));max-height:calc(100svh - 24px);padding:0;border:1px solid #43306d;border-radius:var(--r-l);background:var(--plaque);color:var(--texte)}
.dlg::backdrop{background:rgba(6,3,12,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dlg[open]{animation:dlg .4s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(18px) scale(.98)}}
.dlg-in{padding:clamp(22px,4vw,34px)}
.dlg h2{font-size:clamp(26px,3.4vw,34px);margin:0 44px 8px 0}
.dlg pre{margin:18px 0;max-height:min(40svh,340px);overflow:auto;padding:16px 18px;border-radius:var(--r-m);background:var(--nuit);border:1px solid var(--ligne);font:500 13.5px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#e2dbec}
.dlg .x{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid var(--ligne);background:transparent;color:var(--texte);font-size:18px;cursor:pointer}
.dlg .x:hover{background:var(--plaque-2)}
.dlg .actions .btn{flex:1 1 auto}
.dlg .back{margin-top:14px;padding:8px 0;border:0;background:none;color:var(--lilas);font:650 14px/1 var(--display);cursor:pointer}

/* ---------- Pied de page ---------- */
.foot{margin-top:clamp(40px,6vw,80px);padding-block:56px 40px;border-top:1px solid var(--ligne);color:var(--gris);font-size:15px}
.foot-in{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:32px}
.foot h2{margin-bottom:14px;color:var(--texte);font-size:15px;font-stretch:110%;letter-spacing:0}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--lilas)}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding-top:24px;border-top:1px solid var(--ligne);color:var(--gris-2);font-size:13.5px}

/* ---------- Barre mobile ---------- */
.dock{display:none}

/* ---------- Page TikTok ---------- */
.link-page{min-height:100svh;display:grid;place-items:center;padding:40px 20px}
.link-card{width:min(460px,100%);text-align:center}
.link-card .mark{justify-content:center;font-size:24px;margin-bottom:26px}
.link-card h1{font-size:clamp(34px,8vw,48px);max-width:none}
.link-card p{color:var(--gris);margin:14px 0 28px}
.link-card .stack{display:grid;gap:10px}
.link-card .stack .btn{width:100%;min-height:58px;font-size:16px}

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .nav,.head-cta{display:none}
  .burger{display:block}
  .nav.open{display:flex;position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:stretch;gap:2px;padding:12px 20px 20px;background:var(--nuit);border-bottom:1px solid var(--ligne)}
  .nav.open a{padding:14px 12px;font-size:17px;border-radius:var(--r-s)}
  .nav.open .nav-cta{display:flex;margin-top:8px;justify-content:center;background:var(--violet-btn);color:#fff}
  .hero-in,.split,.panel,.form-layout{grid-template-columns:minmax(0,1fr)}
  .split .sticky,.aside{position:static}
  .hero h1{max-width:14ch}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts>div:nth-child(2){border-right:0}
  .facts>div:nth-child(-n+2){border-bottom:1px solid var(--ligne)}
  .foot-in{grid-template-columns:1fr 1fr}
  .cols-3{grid-template-columns:1fr 1fr}
  .steps{--n:2!important;row-gap:40px}
  .steps::before,.steps::after{display:none}
}
.nav-cta{display:none}
@media (max-width:680px){
  body{font-size:16px;padding-bottom:84px}
  .wrap{width:calc(100% - 32px)}
  .head-in{height:68px}
  .nav.open{top:68px}
  .choice{grid-template-columns:minmax(0,1fr) auto;gap:14px}
  .choice .go{display:none}
  .prices thead{display:none}
  .prices tbody th{padding-left:2px}
  .prices td.a .link-ask{padding:8px 12px}
  .prices td.p{padding-inline:6px}
  .prices tr{display:grid;grid-template-columns:1fr auto;align-items:center}
  .prices tbody th{grid-column:1/-1;border-bottom:0;padding-bottom:4px}
  .prices td.p{text-align:left;padding-top:0}
  .prices td.a{padding-top:0;width:auto}
  .grid-2,.opts,.cols-2,.cols-3{grid-template-columns:1fr}
  .steps{--n:1!important}
  .foot-in{grid-template-columns:1fr}
  .dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .dock .btn{min-height:54px;padding:0 10px;border-radius:16px;white-space:nowrap;font-size:14.5px;box-shadow:0 14px 30px rgba(0,0,0,.5)}
  .dock .btn-wa{background:#173b2b}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ==========================================================
   V61 — compte-tours, animations, page fichier TDI
   ========================================================== */
.hero-info{margin:22px 0 0;color:var(--gris);font-size:15px}
.hero-info a{color:var(--texte);font-weight:700;text-decoration:none;border-bottom:1px solid var(--violet)}


/* Apparition au défilement */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease) var(--rd,0ms),transform .75s var(--ease) var(--rd,0ms)}
.js .rv.in{opacity:1;transform:none}
.js .rv-l{transform:translateX(-30px)}
.js .rv-s{transform:scale(.94)}
/* Titres : mots qui montent */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w>span{display:inline-block}
.js .split-ready .w>span{transform:translateY(105%);transition:transform .9s var(--ease) calc(var(--wi) * 70ms + 80ms)}
.js .split-ready.in .w>span{transform:none}
/* Entrée / sortie de page */
.js body{animation:pagein .5s var(--ease) both}
@keyframes pagein{from{opacity:0}}
body.leaving{opacity:0;transition:opacity .18s ease}
/* Boutons : flèche et reflet */
.btn-1{position:relative;overflow:hidden}
.btn-1::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-1:hover::after{transform:translateX(120%)}
.btn:hover{transform:translateY(-2px)}
.choice .from b,.prices td.p{transition:color .3s}
.choice:hover .from b{color:var(--lilas)}
.box{transition:border-color .3s,transform .35s var(--ease),background .3s}
a.box:hover{border-color:var(--violet);transform:translateY(-4px)}

/* ---------- Page Fichier TDI ---------- */
.tdi-hero{position:relative;padding-block:clamp(40px,6vw,80px) clamp(48px,7vw,96px);overflow:hidden}
.tdi-hero::before{content:"";position:absolute;inset:-30% -20% auto 35%;height:130%;background:radial-gradient(closest-side,rgba(155,92,255,.2),transparent 70%);pointer-events:none}
.tdi-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.tdi-hero-in>*{min-width:0}
.tdi-hero h1{font-size:clamp(38px,5vw,72px);max-width:13ch}
.tdi-hero .lead{margin:22px 0 0}
.tdi-price{display:flex;align-items:baseline;gap:8px;margin:28px 0 30px}
.tdi-price span{color:var(--gris);font-size:15px;margin-right:4px}
.tdi-price b{font-size:clamp(56px,7vw,92px);font-weight:850;font-stretch:125%;letter-spacing:-.04em;line-height:.9;background:linear-gradient(90deg,#fff,#cdb8ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.flow{display:grid;gap:0;padding:clamp(22px,3vw,34px);border-radius:var(--r-l);border:1px solid #3a2763;background:linear-gradient(160deg,#1e1236,#130c20)}
.flow-node{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center;padding:6px 0}
.flow-ico{grid-row:span 2;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--nuit);border:1px solid var(--ligne);color:var(--lilas);transition:background .4s,border-color .4s,color .4s,box-shadow .4s}
.flow-ico svg{width:26px;height:26px}
.flow-node b{font-size:18px;font-stretch:112%}
.flow-node small{color:var(--gris);font-size:14.5px}
.flow-node.on .flow-ico{background:var(--violet);border-color:var(--violet);color:#fff;box-shadow:0 0 0 6px rgba(155,92,255,.18),0 10px 30px rgba(155,92,255,.5)}
.flow-line{position:relative;width:2px;height:38px;margin-left:27px;background:var(--ligne);overflow:hidden}
.flow-line i{position:absolute;left:0;top:-40%;width:100%;height:40%;background:linear-gradient(transparent,var(--chaleur));opacity:0}
.flow-line.on i{animation:drip .9s var(--ease) forwards}
@keyframes drip{0%{top:-40%;opacity:1}100%{top:100%;opacity:1}}

.checker{display:grid;gap:22px;padding:clamp(22px,3vw,34px);border-radius:var(--r-l);border:1px solid var(--ligne);background:var(--plaque)}
.checker fieldset{margin:0;padding:0;border:0}
.checker legend{padding:0;margin-bottom:12px;font-weight:750;font-size:16px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills label{position:relative;cursor:pointer}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--ligne);background:var(--nuit);color:var(--gris);font-weight:650;font-size:15px;transition:all .25s var(--ease)}
.pills label:hover span{color:var(--texte);border-color:var(--gris-2)}
.pills input:checked+span{background:var(--violet);border-color:var(--violet);color:#fff;transform:scale(1.03)}
.pills input:focus-visible+span{outline:2px solid var(--lilas);outline-offset:3px}
.verdict{padding:20px 22px;border-radius:var(--r-m);border:1px solid var(--ligne);background:var(--nuit);transition:border-color .4s,background .4s}
.verdict b{display:block;font-size:19px;font-stretch:112%;margin-bottom:6px}
.verdict p{margin:0;color:var(--gris);font-size:15px}
.verdict .actions{margin-top:16px}
.verdict .btn{min-height:44px;font-size:14px}
.verdict.ok{border-color:rgba(94,224,160,.5);background:rgba(94,224,160,.07)}
.verdict.ok b{color:#9bf0c6}
.verdict.wait{border-color:rgba(255,196,94,.5);background:rgba(255,196,94,.06)}
.verdict.wait b{color:#ffd58a}
.verdict.no{border-color:rgba(255,122,147,.45);background:rgba(255,122,147,.06)}
.verdict.no b{color:#ffb3c2}
.verdict.pop{animation:pop .45s var(--ease)}
@keyframes pop{0%{transform:scale(.97);opacity:.4}}

.tl{position:relative;list-style:none;margin:0;padding:0 0 0 58px;counter-reset:t}
.tl::before,.tl::after{content:"";position:absolute;left:21px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--ligne)}
.tl::after{background:linear-gradient(var(--violet),var(--chaleur));transform-origin:top;transform:scaleY(var(--p,1))}
.tl li{position:relative;counter-increment:t;padding-bottom:clamp(30px,4vw,48px)}
.tl li:last-child{padding-bottom:0}
.tl li::before{content:counter(t);position:absolute;left:-58px;top:-4px;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--nuit);border:2px solid var(--ligne);font-weight:800;font-stretch:120%;color:var(--gris);transition:border-color .4s,color .4s,background .4s,box-shadow .4s}
.tl li.on::before{border-color:var(--violet);background:var(--violet);color:#fff;box-shadow:0 0 0 6px rgba(155,92,255,.16)}
.tl h3{margin-bottom:6px}
.tl p{margin:0;color:var(--gris);max-width:52ch}

.configs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cfg{position:relative;display:flex;flex-direction:column;gap:10px;min-height:260px;padding:26px;border-radius:var(--r-l);border:1px solid var(--ligne);background:var(--plaque);text-decoration:none;overflow:hidden;transition:border-color .3s,transform .4s var(--ease),box-shadow .3s}
.cfg::after{content:"";position:absolute;inset:auto -30% -60% -30%;height:80%;background:radial-gradient(closest-side,rgba(155,92,255,.35),transparent 70%);opacity:0;transition:opacity .4s}
.cfg:hover{transform:translateY(-6px);border-color:var(--violet);box-shadow:0 24px 50px -24px rgba(124,58,237,.8)}
.cfg:hover::after{opacity:1}
.cfg.hot{border-color:#4b3283;background:linear-gradient(160deg,#25163f,var(--plaque))}
.cfg-n{align-self:flex-start;padding:5px 11px;border-radius:999px;background:var(--plaque-2);color:var(--lilas);font-size:13px;font-weight:700}
.cfg p{margin:0;color:var(--gris);font-size:15px}
.cfg-p{position:relative;z-index:1;margin-top:auto;font-size:22px;font-stretch:118%}
.send h2{font-size:clamp(26px,3vw,38px);margin-bottom:20px}

@media (max-width:1040px){
  .tdi-hero-in{grid-template-columns:minmax(0,1fr)}
  .configs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .configs{grid-template-columns:1fr}
  .cfg{min-height:0}
  .tl{padding-left:52px}
  .tl li::before{left:-52px;width:40px;height:40px}
  .tl::before,.tl::after{left:19px}
}
@media (prefers-reduced-motion:reduce){
  .js .rv,.js .split-ready .w>span{opacity:1!important;transform:none!important}
}

/* ==========================================================
   V62 — promo Noël, estimateur, configurateur TDI
   ========================================================== */
html:not(.promo) .promo-only{display:none!important}
html.promo .promo-off{display:none!important}
.promo-bar{position:relative;overflow:hidden;background:linear-gradient(90deg,#5b21b6,#9d174d,#5b21b6);background-size:200% 100%;animation:barflow 9s linear infinite;color:#fff;font-size:14.5px}
.promo-bar .wrap{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;min-height:44px;padding-block:8px;text-align:center}
.promo-bar p{margin:0}
.promo-bar s{opacity:.7}
.promo-bar a{padding:6px 14px;border-radius:999px;background:#fff;color:#4c1d95;font-weight:750;text-decoration:none;font-size:13.5px;transition:transform .2s}
.promo-bar a:hover{transform:scale(1.05)}
@keyframes barflow{to{background-position:200% 0}}
.snow{position:absolute;inset:-20px 0 0;pointer-events:none;background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(2px 2px at 90px 10px,#fff,transparent),radial-gradient(1.5px 1.5px at 160px 40px,#fff,transparent),radial-gradient(2px 2px at 240px 20px,#fff,transparent),radial-gradient(1.5px 1.5px at 320px 35px,#fff,transparent);background-size:340px 60px;opacity:.55;animation:snow 6s linear infinite}
@keyframes snow{to{background-position:40px 60px}}
.xmas{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 14px;border-radius:999px;background:rgba(255,79,168,.14);border:1px solid rgba(255,79,168,.4);color:#ffc2e2;font-size:14px;font-weight:700}
.chip-line{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.price-big s,.tdi-price s{font-size:20px;color:var(--gris-2)}
.prices td.p em.pv{display:block;font-style:normal}
.prices td.p s{color:var(--gris-2)}

/* Héros : fond animé */
.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-bg i{position:absolute;left:-30%;height:2px;width:30%;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(155,92,255,.7),transparent);animation:streak 5s linear infinite}
.hero-bg i:nth-child(1){top:18%;animation-delay:0s}.hero-bg i:nth-child(2){top:34%;animation-delay:1.6s;animation-duration:6.5s}
.hero-bg i:nth-child(3){top:52%;animation-delay:.8s;animation-duration:4.2s}.hero-bg i:nth-child(4){top:68%;animation-delay:2.4s}
.hero-bg i:nth-child(5){top:82%;animation-delay:3.3s;animation-duration:7s}.hero-bg i:nth-child(6){top:8%;animation-delay:4.1s;animation-duration:5.6s}
@keyframes streak{to{left:130%}}


/* Bandeau défilant */
.marquee{overflow:hidden;border-block:1px solid var(--ligne);padding:18px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq{display:flex;width:max-content;animation:mq 30s linear infinite}
.mq span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-size:clamp(22px,3vw,36px);font-weight:800;font-stretch:125%;letter-spacing:-.02em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(205,184,255,.55)}
.mq span:nth-child(3n+1){color:var(--texte);-webkit-text-stroke:0}
.mq span::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--violet)}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee:hover .mq{animation-play-state:paused}

/* Configurateur TDI */
.cfgr{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(20px,3vw,40px);align-items:start}
.cfgr-steps{display:grid;gap:16px}
.cstep{margin:0;padding:clamp(18px,2.4vw,26px);border:1px solid var(--ligne);border-radius:var(--r-l);background:var(--plaque);transition:opacity .4s,border-color .4s}
.cstep[disabled]{opacity:.42}
.cstep:not([disabled]):focus-within{border-color:#43306d}
.cstep legend{display:flex;align-items:center;gap:12px;padding:0 6px 0 0;font-weight:800;font-stretch:115%;font-size:clamp(19px,2vw,23px)}
.cstep legend span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--violet-btn);color:#fff;font-size:15px}
.cstep[disabled] legend span{background:var(--plaque-2);color:var(--gris)}
.cstep legend small{color:var(--gris-2);font-weight:500;font-size:14px;font-stretch:100%}
.chint{margin:10px 0 0;color:var(--gris-2);font-size:13.5px}
.cwait{margin:0;color:var(--gris-2);font-size:14px}
.tiles{display:grid;gap:10px;margin-top:16px}
.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tiles.codes{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
.tile{position:relative;display:block;cursor:pointer}
.tile input{position:absolute;opacity:0;width:1px;height:1px}
.tile>span{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;border-radius:var(--r-m);border:1px solid var(--ligne);background:var(--nuit);transition:border-color .25s,background .25s,transform .3s var(--ease),box-shadow .25s}
.tile.mini>span{padding:12px 14px}
.tile b{font-size:17px;font-stretch:112%}
.tile.mini b{font-size:16px;font-family:var(--mono);letter-spacing:.04em}
.tile em{font-style:normal;color:var(--gris);font-size:13.5px}
.tile em s{color:var(--gris-2)}
.tile em.free{color:var(--ok);font-weight:700}
.tile:hover>span{border-color:var(--gris-2);transform:translateY(-2px)}
.tile input:checked+span{border-color:var(--violet);background:linear-gradient(160deg,rgba(155,92,255,.22),rgba(155,92,255,.06));box-shadow:0 0 0 1px var(--violet),0 12px 30px -12px rgba(155,92,255,.6)}
.tile input:checked+span::after{content:"";position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat;animation:popc .3s var(--ease)}
.tile input:focus-visible+span{outline:2px solid var(--lilas);outline-offset:3px}
.cstep[disabled] .tile{cursor:not-allowed}
.pop-in{animation:popin .45s var(--ease) both}
@keyframes popin{from{opacity:0;transform:translateY(10px) scale(.96)}}
@keyframes popc{from{transform:scale(0)}}
.cfgr-sum{position:sticky;top:96px;display:grid;gap:16px;padding:clamp(20px,2.6vw,28px);border-radius:var(--r-l);border:1px solid #3a2763;background:linear-gradient(160deg,#21133d,#130c20);box-shadow:0 30px 70px -30px rgba(124,58,237,.6)}
.cfgr-sum.shake{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.sum-k{margin:0;color:var(--gris);font-size:13.5px}
.sum-title{font-size:clamp(20px,2vw,24px);font-stretch:118%}
.pw{display:grid;gap:8px}
.pw>span{color:var(--gris);font-size:13.5px}
.pw-bars{display:grid;gap:6px}
.pw-bars>div{position:relative;height:30px;border-radius:8px;background:#21182f;overflow:hidden}
.pw-bars i{position:absolute;inset:0 auto 0 0;width:0;border-radius:8px;background:#5d5370;transition:width .8s var(--ease)}
.pw-bars .hot i{background:linear-gradient(90deg,var(--violet),var(--chaleur));box-shadow:0 0 18px rgba(255,79,168,.45)}
.pw-bars b{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;font-variant-numeric:tabular-nums}
.pw-legend{display:flex;align-items:center;gap:8px;margin:0;color:var(--gris-2);font-size:12.5px}
.pw-legend i{width:12px;height:12px;border-radius:3px;background:#5d5370}
.pw-legend i.h{margin-left:8px;background:linear-gradient(90deg,var(--violet),var(--chaleur))}
.sum-msg{margin:0;color:var(--lilas);font-size:14.5px;min-height:1px}
.sum-msg:empty{display:none}
.sum-lines{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sum-lines:empty{display:none}
.sum-lines li{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--ligne);font-size:15px;animation:popin .35s var(--ease) both}
.sum-lines s{color:var(--gris-2);font-weight:500;margin-left:4px}
.sum-lines .free,.tile .free{color:var(--ok)}
.sum-total{display:flex;justify-content:space-between;align-items:baseline}
.sum-total span{color:var(--gris)}
.sum-total b{font-size:clamp(28px,3vw,36px);font-stretch:120%}
.sum-total b small{font-size:14px;color:var(--gris);font-stretch:100%}
.sum-total.bump b{animation:bump .4s var(--ease)}
@keyframes bump{40%{transform:scale(1.08)}}
.sum-actions{display:grid;gap:8px}
.sum-actions .btn{width:100%}
.sum-go[aria-disabled="true"]{opacity:.5}
.sum-note{margin:0;color:var(--gris-2);font-size:12.5px}

@media (max-width:1040px){
  .cfgr{grid-template-columns:minmax(0,1fr)}
  .cfgr-sum{position:static}
}
@media (max-width:680px){
  .tiles.three{grid-template-columns:1fr 1fr}
  .tiles.codes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .promo-bar{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){.hero-bg,.snow{display:none}.mq{animation:none}}
.cstep>legend{float:left;width:100%;margin-bottom:2px}
.cstep>legend~*{clear:both}
.tile.other b{font-family:var(--display);letter-spacing:0;font-size:15px}
.hero-bg{opacity:.45}
.hero-bg i{top:auto}
.hero-bg i:nth-child(1){top:6%}.hero-bg i:nth-child(2){top:92%}.hero-bg i:nth-child(3){top:97%}.hero-bg i:nth-child(4){top:3%}.hero-bg i:nth-child(5){top:88%}.hero-bg i:nth-child(6){top:10%}

/* ==========================================================
   V63 — bloc TikTok, tarifs TDI
   ========================================================== */
.tt{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,36px);padding:clamp(18px,2.6vw,28px);border-radius:var(--r-l);border:1px solid #3a2763;background:linear-gradient(160deg,#1e1236,#130c20);text-decoration:none;box-shadow:0 40px 80px -40px rgba(124,58,237,.6);transition:transform .4s var(--ease),border-color .3s}
.tt:hover{transform:translateY(-4px);border-color:var(--violet)}
.tt-phone{position:relative;width:clamp(180px,17vw,230px);aspect-ratio:9/18.5;padding:9px;border-radius:34px;background:#08050d;border:2px solid #2f2445;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 30px 60px -20px rgba(0,0,0,.8);transform:rotate(-4deg);transition:transform .5s var(--ease)}
.tt:hover .tt-phone{transform:rotate(0) scale(1.02)}
.tt-phone::before{content:"";position:absolute;top:16px;left:50%;z-index:3;width:56px;height:16px;margin-left:-28px;border-radius:10px;background:#08050d}
.tt-screen{position:relative;height:100%;border-radius:26px;overflow:hidden;background:#140c22}
.tt-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:22px 52px 70px 18px;opacity:0;transform:translateY(100%);animation:ttslide 12s infinite}
.tt-slide small{color:rgba(255,255,255,.75);font-size:12px;font-weight:600}
.tt-slide b{margin-top:6px;color:#fff;font-size:clamp(20px,2vw,26px);font-weight:850;font-stretch:122%;line-height:1.02;letter-spacing:-.02em}
.tt-slide.s1{background:radial-gradient(120% 80% at 20% 10%,#7c3aed,transparent 60%),linear-gradient(160deg,#2a1350,#0e0818)}
.tt-slide.s2{background:radial-gradient(120% 80% at 80% 20%,#db2777,transparent 60%),linear-gradient(160deg,#3b0f2e,#0e0818);animation-delay:3s}
.tt-slide.s3{background:radial-gradient(120% 80% at 30% 80%,#9b5cff,transparent 60%),linear-gradient(200deg,#1d1240,#0e0818);animation-delay:6s}
.tt-slide.s4{background:radial-gradient(120% 80% at 70% 70%,#c026d3,transparent 60%),linear-gradient(200deg,#2b0f3d,#0e0818);animation-delay:9s}
@keyframes ttslide{0%{opacity:1;transform:translateY(100%)}4%{transform:translateY(0)}25%{opacity:1;transform:translateY(0)}29%{opacity:1;transform:translateY(-100%)}30%,100%{opacity:0;transform:translateY(-100%)}}
.tt-side{position:absolute;right:10px;bottom:74px;z-index:2;display:grid;gap:14px}
.tt-side i{display:block;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14) center/16px no-repeat}
.tt-side .ic-heart{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 21s-7.5-4.6-9.5-9.3C1 8 3.5 4.5 7 4.5c2 0 3.6 1.1 5 2.9 1.4-1.8 3-2.9 5-2.9 3.5 0 6 3.5 4.5 7.2C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E")}
.tt-side .ic-msg{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.tt-side .ic-share{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M14 4l8 7-8 7v-4C8 14 4.5 16 2 20c1-6 4.5-10.5 12-11z'/%3E%3C/svg%3E")}
.tt-side .ic-heart{animation:heart 3s ease-in-out infinite}
@keyframes heart{0%,80%,100%{transform:scale(1)}88%{transform:scale(1.25);background-color:rgba(255,79,168,.7)}}
.tt-cap{position:absolute;left:14px;right:50px;bottom:22px;z-index:2;display:grid;gap:2px;color:#fff}
.tt-cap b{font-size:13px}
.tt-cap span{font-size:11px;color:rgba(255,255,255,.75)}
.tt-prog{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;height:3px;border-radius:2px;background:rgba(255,255,255,.2);overflow:hidden}
.tt-prog i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;animation:ttprog 3s linear infinite}
@keyframes ttprog{from{transform:scaleX(0)}}
.tt-txt{display:grid;gap:8px}
.tt-txt b{font-size:clamp(22px,2.4vw,30px);font-weight:800;font-stretch:120%;letter-spacing:-.02em;line-height:1.05}
.tt-txt span{color:var(--gris);font-size:15px}
.tt-txt em{justify-self:start;margin-top:10px;display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;background:var(--texte);color:var(--nuit);font-style:normal;font-weight:750;font-size:15px;transition:background .2s}
.tt:hover .tt-txt em{background:var(--lilas)}
.tile em.pr{color:var(--texte);font-weight:800;font-size:18px;font-stretch:115%}
@media (max-width:680px){
  .tt{grid-template-columns:1fr;justify-items:center;text-align:center}
  .tt-txt em{justify-self:center}
  .tt-phone{width:190px}
}
@media (prefers-reduced-motion:reduce){.tt-slide{animation:none}.tt-slide.s1{opacity:1;transform:none}.tt-prog i,.ic-heart{animation:none}}
.tt-slide,.tt-cap{text-align:left}
.tt-slide{padding-right:58px}.tt-slide b{font-size:clamp(18px,1.8vw,24px)}

/* ---------- V64 — analyse gratuite ---------- */
.tag-free{display:inline-block;margin-bottom:16px;padding:6px 12px;border-radius:999px;background:rgba(94,224,160,.14);border:1px solid rgba(94,224,160,.45);color:#9bf0c6;font-size:13px;font-weight:750}
.chip-free{background:rgba(94,224,160,.12);color:#9bf0c6;text-decoration:none;border:1px solid rgba(94,224,160,.4);transition:background .2s}
.chip-free:hover{background:rgba(94,224,160,.22)}
.ana-steps{list-style:none;margin:24px 0;padding:0;display:grid;gap:12px;counter-reset:a}
.ana-steps li{counter-increment:a;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;color:#e2dbec}
.ana-steps li::before{content:counter(a);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--violet);color:#fff;font-weight:800;font-size:14px}
.ana-mail{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0;color:var(--gris)}
.ana-mail a{color:var(--texte);font-weight:700;overflow-wrap:anywhere}
.copy-mail{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--ligne);background:transparent;color:var(--lilas);font:650 13.5px/1 var(--display);cursor:pointer;transition:border-color .2s}
.copy-mail:hover{border-color:var(--lilas)}
.ana-form{display:grid;gap:14px;align-self:start;padding:clamp(20px,2.6vw,28px);border-radius:var(--r-l);background:rgba(12,7,20,.6);border:1px solid rgba(205,184,255,.14)}
.ana-form .btn{width:100%;min-height:54px}
.ana-form .help{margin:0;color:var(--gris);font-size:13.5px}
.ana-form .help b{color:var(--texte)}
.f select{width:100%;min-height:52px;padding:0 44px 0 16px;border-radius:var(--r-s);border:1px solid var(--ligne);background:var(--plaque) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cdb8ff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;color:var(--texte);font:400 16px/1.4 var(--display);-webkit-appearance:none;appearance:none}
.f select:focus{outline:0;border-color:var(--violet);box-shadow:0 0 0 3px rgba(155,92,255,.25)}
.f input#a_code{font:700 18px/1 var(--mono);letter-spacing:.06em}

/* ---------- V65 ---------- */
.wa-float{display:none}
@media (min-width:681px){
  .wa-float{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 20px 0 16px;border-radius:999px;background:#173b2b;border:1px solid #2d6b4c;color:#dffbe9;font-weight:750;font-size:15px;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,.5);transform:translateY(140%);opacity:0;transition:transform .45s var(--ease),opacity .3s,background .2s}
  .wa-float.show{transform:none;opacity:1}
  .wa-float:hover{background:#1d4a36}
  .wa-float i{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:wap 2s infinite}
}
@keyframes wap{70%{box-shadow:0 0 0 10px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.draft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--r-s);background:var(--plaque-2);border:1px solid var(--ligne);color:var(--gris);font-size:14.5px}
.draft button{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--ligne);background:transparent;color:var(--lilas);font:650 13.5px/1 var(--display);cursor:pointer}
.draft button:hover{border-color:var(--lilas)}
.cfg-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--ligne);background:transparent;color:var(--lilas);font:650 13.5px/1 var(--display);cursor:pointer}
.cfg-link:hover{border-color:var(--lilas)}
.notfound{min-height:60vh;display:grid;align-content:center}
.notfound .big{font-size:clamp(90px,18vw,200px);font-weight:900;font-stretch:125%;letter-spacing:-.05em;line-height:.9;background:linear-gradient(90deg,#9b5cff,#ff4fa8);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-reduced-motion:reduce){.wa-float{transition:none}.wa-float i{animation:none}}

/* ---------- V66 — réalisations, avis, carte cadeau ---------- */
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.rgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.rc{margin:0;display:flex;flex-direction:column;border-radius:var(--r-l);border:1px solid var(--ligne);background:var(--plaque);overflow:hidden;transition:border-color .3s,transform .4s var(--ease),box-shadow .3s}
.rc:hover{border-color:#4b3283;transform:translateY(-4px);box-shadow:0 24px 50px -26px rgba(124,58,237,.7)}
.rc-media{position:relative;aspect-ratio:9/14;background:#08050d;overflow:hidden}
.rc-media video,.rc-media img{display:block;width:100%;height:100%;object-fit:cover}
.rc-badge{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:999px;background:rgba(12,7,20,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px;font-weight:700}
.rc-sound{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(12,7,20,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;transition:background .2s,transform .2s}
.rc-sound:hover{transform:scale(1.06)}
.rc-sound svg{width:20px;height:20px}
.rc-sound .w1,.rc-sound .w2{display:none}
.rc-sound[aria-pressed="true"]{background:var(--violet-btn)}
.rc-sound[aria-pressed="true"] .w1,.rc-sound[aria-pressed="true"] .w2{display:block}
.rc-sound[aria-pressed="true"] .off{display:none}
.rc figcaption{display:grid;gap:8px;padding:18px 18px 20px}
.rc-tags{display:flex;flex-wrap:wrap;gap:6px}
.rc-tags .chip{font-size:12px;padding:4px 10px}
.rc h3{font-size:18px}
.rc-gain{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;color:var(--gris);font-size:15px;font-variant-numeric:tabular-nums}
.rc-gain b{color:var(--texte);font-size:17px;font-stretch:115%}
.rc-desc{margin:0;color:var(--gris);font-size:14px}
.avis{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 48px;padding:clamp(26px,4vw,48px);border-radius:var(--r-l);border:1px solid var(--ligne);background:linear-gradient(160deg,var(--plaque-2),var(--plaque))}
.gift-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 26px;border-radius:var(--r-l);background:linear-gradient(110deg,#5b21b6,#9d174d);text-decoration:none;color:#fff;transition:transform .35s var(--ease)}
.gift-strip:hover{transform:translateY(-3px)}
.gift-ico{font-size:38px}
.gift-strip b{display:block;font-size:clamp(19px,2vw,24px);font-stretch:115%}
.gift-strip span{color:#f3e8ff;font-size:15px}
.gift-strip em{font-style:normal;padding:12px 18px;border-radius:999px;background:#fff;color:#4c1d95;font-weight:750;white-space:nowrap}
.gift-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:start}
.gift-form{display:grid;gap:16px}
.gift-side{position:sticky;top:96px;display:grid;gap:14px}
.gcard{position:relative;aspect-ratio:1.6;display:flex;flex-direction:column;padding:clamp(20px,3vw,30px);border-radius:24px;overflow:hidden;color:#fff;background:radial-gradient(80% 90% at 100% 0%,rgba(255,79,168,.55),transparent 60%),radial-gradient(70% 80% at 0% 100%,rgba(155,92,255,.6),transparent 60%),linear-gradient(135deg,#2a1150,#12081f);box-shadow:0 30px 70px -30px rgba(124,58,237,.8),inset 0 0 0 1px rgba(255,255,255,.12)}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(-100%);animation:gshine 4.5s ease-in-out infinite}
@keyframes gshine{60%,100%{transform:translateX(100%)}}
.gcard-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gcard .mark{font-size:16px}
.gcard-k{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700}
.gcard-presta{margin:auto 0 6px;font-size:clamp(26px,3.4vw,38px);font-weight:850;font-stretch:122%;letter-spacing:-.03em;line-height:1}
.gcard-who{margin:0;font-size:15px}
.gcard-who span{opacity:.75}
.gcard-msg{margin:6px 0 0;font-style:italic;font-size:14px;opacity:.9;min-height:1em}
.gcard-foot{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:11.5px;opacity:.85}
.gcard-stamp{position:absolute;right:-34px;top:22px;padding:4px 40px;transform:rotate(35deg);background:rgba(255,255,255,.92);color:#4c1d95;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.gcard.final .gcard-stamp{display:none}
@media (max-width:1040px){.gift-layout{grid-template-columns:minmax(0,1fr)}.gift-side{position:static;order:-1}.rgrid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.rgrid.three{grid-template-columns:minmax(0,1fr)}.rgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rc figcaption{padding:14px}.rc h3{font-size:16px}.avis{grid-template-columns:1fr}.gift-strip{grid-template-columns:1fr;text-align:center}.gift-strip em{justify-self:center}}
@media (max-width:420px){.rgrid{grid-template-columns:minmax(0,1fr)}}
@media print{body *{visibility:hidden}.gcard,.gcard *{visibility:visible}.gcard{position:fixed;left:10mm;top:10mm;width:160mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}.gcard::after{display:none}}
@media (prefers-reduced-motion:reduce){.gcard::after{animation:none}}
[hidden]{display:none!important}
.gcard-stamp{top:auto;bottom:26px;right:-38px;transform:rotate(-35deg)}
.gcard-foot{padding-right:60px}

/* ---------- V67 — envoi de fichier, Flex Fuel ---------- */
.up-type{margin:0;padding:0;border:0}
.up-type legend{padding:0;margin-bottom:10px;font-weight:700;font-size:15px}
.drop{position:relative;border:2px dashed #4b3283;border-radius:var(--r-m);background:rgba(155,92,255,.06);transition:border-color .2s,background .2s}
.drop.over{border-color:var(--lilas);background:rgba(155,92,255,.16)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop label{display:grid;justify-items:center;gap:6px;padding:26px 18px;text-align:center;cursor:pointer}
.drop label b{font-size:17px}
.drop label span:not(.drop-ico){color:var(--gris);font-size:13.5px;max-width:40ch}
.drop-ico{width:46px;height:46px;border-radius:14px;background:var(--violet-btn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4M7 9l5-5 5 5M5 20h14'/%3E%3C/svg%3E") center/22px no-repeat}
.drop:focus-within{border-color:var(--lilas)}
.drop-list{list-style:none;margin:0;padding:0 14px;display:grid;gap:8px}
.drop-list:not(:empty){padding-bottom:14px}
.drop-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--r-s);background:var(--nuit);border:1px solid var(--ligne);font-size:14px;animation:popin .3s var(--ease)}
.drop-list li span{overflow-wrap:anywhere}
.drop-list li small{color:var(--gris);white-space:nowrap}
.drop-list li button{border:0;background:none;color:var(--gris);font-size:18px;cursor:pointer;padding:0 4px}
.drop-list li button:hover{color:var(--erreur)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.up-prog{position:relative;height:36px;border-radius:999px;background:var(--nuit);border:1px solid var(--ligne);overflow:hidden}
.up-prog i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--violet-btn),var(--chaleur));transition:width .2s}
.up-prog span{position:relative;display:grid;place-items:center;height:100%;font-weight:700;font-size:14px}
.up-ok{padding:18px;border-radius:var(--r-m);background:rgba(94,224,160,.1);border:1px solid rgba(94,224,160,.45);animation:popin .4s var(--ease)}
.up-ok b{display:block;color:#9bf0c6;font-size:19px}
.up-ok p{margin:4px 0 12px;color:var(--gris)}
.up.sent>*:not(.up-ok){display:none}
.form-err a{color:#fff}
.e85-card{display:grid;place-items:center}
.pump{width:min(100%,420px);display:grid;gap:14px;padding:30px;border-radius:var(--r-l);border:1px solid #3a2763;background:linear-gradient(160deg,#1e1236,#130c20);box-shadow:0 40px 80px -40px rgba(124,58,237,.6)}
.pump-k{color:var(--gris);font-size:14px}
.pump-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pump-row b{font-size:22px;font-stretch:118%}
.pump-row strong{font-size:clamp(34px,4vw,48px);font-weight:850;font-stretch:120%;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pump-row:first-of-type strong{color:#9bf0c6}
.pump-row.muted strong{color:var(--gris);font-size:clamp(26px,3vw,34px)}
.pump-bar{height:10px;border-radius:6px;background:#2b2140;overflow:hidden}
.pump-bar i{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,#5ee0a0,#9bf0c6);transform-origin:left;animation:fill 1.4s var(--ease) both .4s}
@keyframes fill{from{transform:scaleX(0)}}
.pump small{color:var(--gris-2)}
.calc{display:grid;gap:16px;padding:clamp(20px,3vw,32px);border-radius:var(--r-l);border:1px solid var(--ligne);background:var(--plaque)}
.calc input[type=range]{width:100%;accent-color:var(--violet)}
.calc-out{display:grid;gap:10px;padding:20px;border-radius:var(--r-m);background:var(--nuit);border:1px solid var(--ligne)}
.co-main{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px dashed var(--ligne)}
.co-main span{color:var(--gris)}
.co-main b{font-size:clamp(36px,4.4vw,52px);font-weight:850;font-stretch:120%;letter-spacing:-.03em;color:#9bf0c6;font-variant-numeric:tabular-nums}
.co-row{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.co-row span{color:var(--gris)}
.co-row b{font-variant-numeric:tabular-nums}
.co-row.hot b{color:var(--lilas)}

/* ===== V68 : analyse gratuite mise en avant ===== */
.btn-free{background:linear-gradient(135deg,#34c98a,#1fa874);color:#06140d;font-weight:800;box-shadow:0 10px 30px -12px rgba(52,201,138,.7)}
.btn-free:hover{background:linear-gradient(135deg,#46dc9c,#27b880);transform:translateY(-2px)}
.ana-hl{position:relative}
.ana-hl-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(26px,5vw,56px);border-radius:var(--r-l);background:radial-gradient(120% 90% at 100% 0%,rgba(52,201,138,.16),transparent 55%),linear-gradient(135deg,#17122a,#0f0b1b 70%);border:1px solid rgba(94,224,160,.32);box-shadow:0 30px 80px -40px rgba(52,201,138,.45)}
.ana-hl h2{margin:0}
.ana-hl .lead{margin:18px 0 0}
.af{list-style:none;margin:26px 0;padding:0;display:grid;gap:12px}
.af-card{display:grid;gap:4px;padding:14px 16px 14px 48px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(205,184,255,.12);position:relative}
.af-card::before{content:"";position:absolute;left:16px;top:16px;width:20px;height:20px;border-radius:50%;background:rgba(52,201,138,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239bf0c6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;border:1px solid rgba(94,224,160,.5)}
.af-card b{font-size:16px}
.af-card span{color:var(--gris);font-size:14.5px;line-height:1.5}
.ana-hl .actions{margin:0}
.ana-hl-note{margin:14px 0 0;color:var(--gris-2);font-size:13.5px}
.scan{position:relative;overflow:hidden;border-radius:18px;background:#07040d;border:1px solid rgba(205,184,255,.16);box-shadow:0 20px 60px -30px #000;font-family:"JetBrains Mono",ui-monospace,monospace}
.scan-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(205,184,255,.1);font-size:12px;color:var(--gris)}
.scan-dots{display:flex;gap:5px}.scan-dots i{width:9px;height:9px;border-radius:50%;background:#2b2140}
.scan-st{color:#9bf0c6;display:flex;align-items:center;gap:7px}
.scan-st::before{content:"";width:7px;height:7px;border-radius:50%;background:#34c98a;box-shadow:0 0 0 0 rgba(52,201,138,.6);animation:scanPulse 1.6s infinite}
.scan-hex{margin:0;padding:16px 14px 6px;font-size:clamp(10px,1.05vw,12.5px);line-height:1.85;color:#5d5375;white-space:pre;overflow:hidden}
.scan-hex .ad{color:#8f85a1}
.scan-hex mark{background:transparent;color:inherit;border-radius:3px;transition:background .5s,color .5s}
.scan.in .scan-hex mark{animation:scanMark 6s infinite}
.scan-bar{position:absolute;left:0;right:0;top:44px;height:46px;background:linear-gradient(180deg,transparent,rgba(155,92,255,.22) 60%,rgba(155,240,198,.55) 98%,transparent);pointer-events:none;animation:scanMove 3s cubic-bezier(.45,0,.55,1) infinite alternate}
.scan-tags{position:relative;margin:0;padding:8px 14px 16px;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.scan-tags li{padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:rgba(52,201,138,.14);border:1px solid rgba(94,224,160,.45);color:#9bf0c6}
.scan.rv:not(.in) .scan-tags li{opacity:0}
.scan-tags li:nth-child(4){background:rgba(255,79,168,.12);border-color:rgba(255,79,168,.45);color:#ffb3d6}
.scan.in .scan-tags li{animation:scanTag .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.9s + var(--t) * .55s)}
.scan-cap{margin-left:auto;font-size:10px;color:#4a405e;letter-spacing:.08em;text-transform:uppercase}
@keyframes scanMove{from{transform:translateY(0)}to{transform:translateY(230px)}}
@keyframes scanMark{0%,8%{background:transparent;color:#5d5375}14%,80%{background:rgba(52,201,138,.22);color:#c9ffe5}100%{background:transparent;color:#5d5375}}
@keyframes scanTag{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes scanPulse{70%{box-shadow:0 0 0 8px rgba(52,201,138,0)}100%{box-shadow:0 0 0 0 rgba(52,201,138,0)}}
.ana-form.is-ana{border-color:rgba(94,224,160,.45);box-shadow:0 0 0 1px rgba(94,224,160,.2) inset}
.ana-form.is-ana .up-btn{background:linear-gradient(135deg,#34c98a,#1fa874);color:#06140d}
@media (max-width:860px){.ana-hl-in{grid-template-columns:1fr}}
@media (max-width:520px){.scan-cap{display:none}.scan-st{margin-left:auto}.scan-hex{font-size:9.5px}.ana-hl .actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.scan-bar,.scan-st::before{animation:none}.scan-bar{display:none}.scan .scan-tags li{opacity:1;transform:none;animation:none}.scan.in .scan-hex mark{animation:none;background:rgba(52,201,138,.22);color:#c9ffe5}}

/* ===== V69 : estimation de puissance ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.est-hero{align-self:center;display:grid;gap:22px;padding:clamp(24px,3.4vw,38px);border-radius:var(--r-l);background:linear-gradient(135deg,#21123d,#140d22 70%);border:1px solid #3a2763;box-shadow:0 40px 90px -50px rgba(155,92,255,.8)}
.eh-row{display:grid;grid-template-columns:78px 1fr auto;gap:16px;align-items:center;font-weight:700}
.eh-row span{color:var(--gris);font-size:14px}
.eh-row b{font-size:clamp(22px,2.6vw,30px);font-weight:850;font-stretch:118%;font-variant-numeric:tabular-nums;min-width:4.4ch;text-align:right}
.eh-row.hot b{background:linear-gradient(90deg,#b37cff,#ff4fa8);-webkit-background-clip:text;background-clip:text;color:transparent}
.eh-bar,.eo-bar{height:14px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.eh-bar i,.eo-bar i{display:block;height:100%;border-radius:inherit;background:#5d4a85}
.eh-row.hot i,.eo-row.hot i{background:linear-gradient(90deg,#8645f0,#ff4fa8);box-shadow:0 0 18px rgba(255,79,168,.5)}
.eh-bar i{width:var(--w);animation:ehGrow 1.4s cubic-bezier(.2,.8,.2,1) both}
.eh-row.hot .eh-bar i{animation-delay:.35s}
@keyframes ehGrow{from{width:0}}
.eh-cap{margin:0;color:var(--gris-2);font-size:13px}
.est-search{position:relative;max-width:640px;margin:0 0 22px}
.est-search input{width:100%;min-height:58px;padding:0 20px 0 52px;border-radius:999px;border:1px solid #43306d;background:var(--plaque) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a197b1' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 20px center/20px no-repeat;color:var(--texte);font:inherit;font-size:16px}
.est-search input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px rgba(155,92,255,.2)}
.est-res{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;border-radius:18px;background:#160e26;border:1px solid #43306d;box-shadow:0 30px 70px -20px #000}
.est-res button{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;width:100%;padding:12px 14px;border:0;border-radius:12px;background:none;color:var(--texte);font:inherit;text-align:left;cursor:pointer}
.est-res button:hover,.est-res button:focus{background:rgba(155,92,255,.16);outline:none}
.est-res button span{color:var(--gris);font-size:14px}
.est-res .none{padding:12px 14px;color:var(--gris);font-size:14px}
.est-sub{color:var(--gris)!important}
.est-out{display:grid;gap:18px;margin:6px 0 4px}
.eo-blk{display:grid;gap:10px}
.eo-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:800}
.eo-gain{color:#9bf0c6;font-size:14px;font-variant-numeric:tabular-nums}
.eo-row{display:grid;grid-template-columns:64px 1fr 76px;gap:12px;align-items:center;font-size:14px}
.eo-row span{color:var(--gris)}
.eo-row b{text-align:right;font-variant-numeric:tabular-nums}
.eo-row.hot b{color:var(--lilas);font-size:16px}
.eo-bar i{width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.eo-row.hot .eo-bar i{transition-delay:.2s}
.est-tdi{margin:0;padding:12px 14px;border-radius:12px;background:rgba(94,224,160,.08);border:1px solid rgba(94,224,160,.3);color:#cfe9dc;font-size:14px}
.est-tdi a{color:#9bf0c6;font-weight:700}
.est-sum.pop{animation:estPop .5s cubic-bezier(.2,.8,.2,1)}
@keyframes estPop{40%{transform:scale(1.015);box-shadow:0 0 0 2px rgba(155,92,255,.45)}}
.est-miss{margin:22px 0 0;color:var(--gris)}
.est-miss a{color:var(--texte);font-weight:700}
#e_mods .tile em,#e_mots .tile em{font-variant-numeric:tabular-nums}
@media (max-width:860px){.est-hero{margin-top:10px}}
@media (prefers-reduced-motion:reduce){.eh-bar i{animation:none}.eo-bar i{transition:none}.est-sum.pop{animation:none}}
.nav a,.head .btn{white-space:nowrap}
@media (max-width:1240px){.nav{gap:0}.nav a{padding:9px 9px;font-size:14px}}
.est-sum .sum-total b{font-size:clamp(24px,2.4vw,30px)}
/* V71 avis Google */
.avis-wrap{display:grid;gap:18px}
.av-score{display:flex;align-items:center;gap:14px;margin-bottom:12px}.av-score b{font-size:clamp(40px,6vw,56px);line-height:1;letter-spacing:-.03em}
.av-stars{display:inline-flex;gap:3px}.av-stars svg{width:20px;height:20px;fill:#ffc94d}
.av-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.av-card{margin:0;padding:22px;border-radius:var(--r-l);border:1px solid var(--ligne);background:var(--plaque)}
.av-card blockquote{margin:12px 0;color:var(--texte,#f4f0fa);line-height:1.55}.av-card figcaption{font-size:14px;color:#a197b1}
/* V71 pourquoi / suivi / après-commande */
.af.why{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0}
.up-code{margin:16px 0;padding:16px;border-radius:14px;border:1px dashed var(--violet);background:rgba(155,92,255,.08);text-align:center}
.up-code span{display:block;font-size:13px;color:var(--gris)}.up-code strong{display:block;font:800 30px ui-monospace,monospace;letter-spacing:.06em;color:var(--lilas);margin:4px 0}
.up-code p{margin:6px 0 0;font-size:14px;color:var(--gris)}
.up-next{margin:18px 0;padding:18px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--ligne)}
.up-next h3{margin:0 0 6px;font-size:20px}.up-next>p{color:var(--gris);margin:0 0 12px}
.up-opts{display:flex;flex-wrap:wrap;gap:10px}.up-opts .btn{min-height:46px;padding:0 16px;font-size:15px}.up-small{font-size:14px;margin:12px 0 0!important}
.suivi-box{max-width:620px;margin:0 auto;display:block}
.suivi-res{margin-top:26px;padding-top:22px;border-top:1px solid var(--ligne)}.suivi-res h2{margin:0 0 4px;font-size:26px}.sr-prest{color:var(--gris);margin:0 0 18px}
.steps-line{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.steps-line li{position:relative;padding:12px 14px 12px 46px;border-radius:12px;background:rgba(255,255,255,.04);color:var(--gris)}
.steps-line li::before{content:"";position:absolute;left:15px;top:14px;width:18px;height:18px;border-radius:50%;border:2px solid var(--ligne)}
.steps-line li.ok{color:var(--texte)}.steps-line li.ok::before{background:#34c98a;border-color:#34c98a}
.steps-line li.now{color:#fff;background:rgba(155,92,255,.16);border:1px solid var(--violet)}.steps-line li.now::before{background:var(--violet);border-color:var(--violet);box-shadow:0 0 0 5px rgba(155,92,255,.25)}
.sr-note{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.05)}.sr-note:empty{display:none}.sr-maj{font-size:13px;color:var(--gris);margin:12px 0 0}
/* V73 service fichier TDI */
.af.svc-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0 0 18px}
.box.mat{padding:22px}.box.mat h3{margin:0 0 12px}
.mat-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mat-list li{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04)}
.mat-list b{font-size:16px}.mat-list span{color:var(--gris);font-size:14.5px;line-height:1.5}
.box.mat .sum-note{margin-top:16px}
/* V73 logo */
.mark-logo{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none;background:#000;box-shadow:0 0 0 1px rgba(155,92,255,.35)}
footer .mark-logo{width:72px;height:72px;border-radius:18px}
.gcard .mark-logo{width:30px;height:30px;border-radius:8px}
.link-card .mark-logo{width:56px;height:56px}
/* V74 logo accueil */
.hero-logo{display:block;width:132px;height:132px;border-radius:28px;margin:0 0 22px;box-shadow:0 0 0 1px rgba(155,92,255,.4),0 18px 60px rgba(124,58,237,.35);background:#000}
@media (max-width:680px){.hero-logo{width:96px;height:96px;border-radius:22px;margin-bottom:16px}}
/* V76 remise 2 fichiers + tuto */
.duo{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;padding:12px 14px;border-radius:12px;border:1px dashed rgba(155,92,255,.55);background:rgba(155,92,255,.07);cursor:pointer}
.duo input{width:20px;height:20px;margin-top:2px;accent-color:var(--violet);flex:none}
.duo b{display:block}.duo small{display:block;color:var(--gris);font-size:13px;line-height:1.4;margin-top:2px}
.tuto{max-width:760px}.tuto-steps{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px;counter-reset:t}
.tuto-steps li{counter-increment:t;position:relative;display:grid;gap:4px;padding:16px 18px 16px 62px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--ligne)}
.tuto-steps li::before{content:counter(t);position:absolute;left:16px;top:16px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--violet-fort);color:#fff}
.tuto-steps b{font-size:17px}.tuto-steps span{color:var(--gris);line-height:1.55}
.box.mat p{margin:0 0 8px;color:var(--gris);line-height:1.55}
/* V77 pièces montées */
.det{display:grid;gap:16px;margin-bottom:16px}.det[hidden]{display:none}
.dq p{margin:0 0 8px;font-weight:700}.dq p small{font-weight:400;color:var(--gris)}
.dq .pills{display:flex;flex-wrap:wrap;gap:8px}
.dinp{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--ligne);background:var(--nuit);color:var(--texte);font:inherit}
.dinp:focus{outline:2px solid var(--violet);outline-offset:1px}
.cstep[hidden]{display:none}
/* V78 page TDI : sous-menu, prix, stages, explications */
html{scroll-padding-top:130px}
.subnav{position:sticky;top:68px;z-index:40;background:rgba(12,7,20,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ligne)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:8px;padding-bottom:8px;scrollbar-width:none}.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:8px 14px;border-radius:999px;font-size:14.5px;font-weight:650;color:var(--gris);text-decoration:none;white-space:nowrap}
.subnav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.subnav a.sn-help{margin-left:auto;color:var(--lilas);border:1px solid rgba(205,184,255,.35)}
.tdi-stages{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0}
.tdi-stages span{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--ligne);font-weight:650}
.tdi-stages b{color:#fff}.tdi-stages em{align-self:center;font-style:normal;color:#5ee0a0;font-size:14px;font-weight:650}
.stg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.stg-c{padding:22px;border-radius:var(--r-l);border:1px solid var(--ligne);background:var(--plaque)}
.stg-n{font-size:14px;font-weight:750;color:var(--lilas);text-transform:uppercase;letter-spacing:.06em}
.stg-p{display:block;font-size:38px;line-height:1.1;margin:6px 0 10px;letter-spacing:-.02em}
.stg-t{margin:0 0 12px;font-weight:650;line-height:1.4}
.stg-c ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--gris);font-size:14.5px}
.stg-c li{position:relative;padding-left:20px}.stg-c li::before{content:"✓";position:absolute;left:0;color:#5ee0a0;font-weight:800}
.simple{max-width:820px}
@media (max-width:900px){.subnav{top:60px}}
.sum-draft{margin:6px 0 10px;font-size:13.5px;color:var(--gris)}.sum-draft .cfg-link{display:inline;padding:0;margin-left:4px}
.up-recap{margin-top:16px;padding:18px;border-radius:14px;border:1px solid var(--violet);background:rgba(155,92,255,.08)}
.up-recap h3{margin:0 0 10px;font-size:20px}.up-recap dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px}
.up-recap dt{color:var(--gris);font-size:14px}.up-recap dd{margin:0;overflow-wrap:anywhere}
.up-recap-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
/* V80 annonce, barre admin */
.annonce{background:#2b2140;color:#fff;text-align:center;padding:10px 16px;font-weight:650;font-size:15px;border-bottom:1px solid var(--violet)}
.adm-bar{position:fixed;left:14px;bottom:14px;z-index:70;display:flex;align-items:center;gap:4px;padding:6px 8px 6px 14px;border-radius:999px;background:#1c1530;border:1px solid var(--violet);box-shadow:0 12px 30px rgba(0,0,0,.5);font-size:14px}
.adm-bar b{color:var(--lilas);margin-right:6px}.adm-bar a{padding:7px 12px;border-radius:999px;color:#fff;text-decoration:none;font-weight:650}
.adm-bar a:hover{background:rgba(255,255,255,.1)}.adm-bar i{font-style:normal;background:var(--violet-fort);border-radius:99px;padding:1px 7px;margin-left:4px}
.adm-link{opacity:.7}
@media (max-width:760px){.adm-bar{bottom:78px}}
.page-head h1.h1-long{font-size:clamp(24px,7.1vw,76px);overflow-wrap:break-word;hyphens:auto}
/* V85 : vérificateur de compatibilité */
.checker .k-hint{margin:10px 0 0;color:var(--gris);font-size:14px;line-height:1.5}
.checker .k-ref{width:100%;max-width:420px;min-height:50px;padding:0 16px;border-radius:14px;border:1px solid var(--ligne);background:var(--nuit);color:var(--texte);font:inherit;font-size:17px;letter-spacing:.04em;text-transform:uppercase}
.checker .k-ref:focus{outline:2px solid var(--violet);outline-offset:2px}
.checker legend small{font-weight:500;color:var(--gris)}
.verdict.no{border-color:rgba(255,120,140,.45);background:rgba(255,120,140,.06)}.verdict.no b{color:#ffb0bd}
.verdict.pop{animation:vpop .35s ease}@keyframes vpop{from{transform:scale(.985);opacity:.6}}
/* V86 : vidéos de présentation (lecture au clic) */
.vfeat{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:center}
.vf-k{display:inline-block;margin-bottom:16px;padding:6px 12px;border-radius:999px;background:rgba(155,92,255,.14);border:1px solid rgba(155,92,255,.35);color:var(--lilas);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.vfeat-txt .lead{margin:18px 0 22px}
.vf-list{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.vf-list li{position:relative;padding-left:30px;color:var(--texte)}
.vf-list li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;border-radius:50%;background:var(--violet-btn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
.vfeat-media{display:flex;justify-content:center}
.vframe{position:relative;width:min(100%,340px);aspect-ratio:9/16;border-radius:30px;overflow:hidden;background:#07040d;border:1px solid var(--ligne);box-shadow:0 40px 90px -40px rgba(124,58,237,.9),0 0 0 8px rgba(255,255,255,.03)}
.vframe video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vp{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:16%;gap:12px;border:0;padding:0;cursor:pointer;color:#fff;font:700 15px var(--display);background:linear-gradient(180deg,rgba(12,7,20,0) 40%,rgba(12,7,20,.55))}
.vp svg{width:74px;height:74px;padding:20px 18px 20px 22px;border-radius:50%;fill:#fff;background:rgba(134,69,240,.92);box-shadow:0 12px 40px -6px rgba(134,69,240,.9),0 0 0 10px rgba(134,69,240,.22);transition:transform .3s var(--ease)}
.vp span{padding:6px 14px;border-radius:999px;background:rgba(12,7,20,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vp:hover svg,.vp:focus-visible svg{transform:scale(1.08)}
.vframe.on .vp{display:none}
@media (max-width:860px){.vfeat{grid-template-columns:minmax(0,1fr)}.vfeat-media{order:-1}.vframe{width:min(100%,300px)}}
/* V86 : fiches véhicules */
.veh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.veh .rc{height:100%}
.veh-side{display:grid;gap:22px}
.vgain{padding:clamp(20px,3vw,30px);border-radius:var(--r-l);background:linear-gradient(160deg,var(--plaque-2),var(--plaque));border:1px solid var(--ligne)}
.vgain .sum-k{margin-bottom:16px}
.vg-row+.vg-row{margin-top:22px}
.vg-lab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-weight:700}
.vg-lab em{font-style:normal;font-weight:800;font-stretch:115%;color:var(--ok);font-size:20px}
.vg-bar{position:relative;height:38px;border-radius:12px;background:rgba(255,255,255,.04);overflow:hidden;margin-top:6px}
.vg-bar i{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:12px;background:rgba(161,151,177,.22)}
.vg-bar.s i{background:linear-gradient(90deg,var(--violet-fort),var(--chaleur))}
.vg-bar span{position:relative;display:flex;justify-content:space-between;align-items:center;height:100%;padding:0 14px;font-size:14.5px;color:var(--lilas)}
.vg-bar.s span{color:#fff}.vg-bar b{font-size:16px;font-variant-numeric:tabular-nums;color:#fff}
.rc-more{display:inline-block;margin-top:10px;color:var(--lilas);font-weight:700;font-size:14.5px;text-underline-offset:3px}
@media (max-width:860px){.veh{grid-template-columns:minmax(0,1fr)}}
/* V86 : paiement en ligne, carte cadeau réservée */
.up-pay{margin-top:18px;padding:18px;border-radius:var(--r-m);background:rgba(155,92,255,.1);border:1px solid rgba(155,92,255,.35)}
.up-pay>span{display:block;color:var(--lilas);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.up-pay p{color:var(--gris);font-size:15px;margin:0 0 14px}
.gift-done{padding:clamp(20px,3vw,30px);border-radius:var(--r-l);background:linear-gradient(160deg,rgba(94,224,160,.1),var(--plaque));border:1px solid rgba(94,224,160,.35)}
.gift-done>b{display:block;font-size:24px;font-stretch:118%;margin-bottom:10px}
.gift-done strong{font-family:var(--mono);font-size:19px;letter-spacing:.04em;color:#fff}
.gift-done .gd-t{color:var(--gris)}
.gift-done strong{white-space:nowrap}
/* V87 : espace client */
.sr-docs,.sr-hist{margin-top:26px;padding-top:22px;border-top:1px solid var(--ligne)}
.sr-docs h3,.sr-hist h3{font-size:19px;margin-bottom:14px}
.sr-docs ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px}
.sr-docs li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border-radius:var(--r-m);background:rgba(255,255,255,.03);border:1px solid var(--ligne)}
.sr-docs li>div{flex:1 1 180px;min-width:0}.sr-docs li b{display:block}.sr-docs li small{color:var(--gris)}
.sr-docs .btn{padding:10px 16px;font-size:14.5px;min-height:0}
.sr-hist ol{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--ligne);display:grid;gap:12px}
.sr-hist li{position:relative;display:flex;flex-wrap:wrap;gap:4px 12px}.sr-hist li::before{content:"";position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--violet-btn);box-shadow:0 0 0 3px var(--nuit)}
.sr-hist time{color:var(--gris);font-variant-numeric:tabular-nums;min-width:86px}
.sr-pay{margin-top:20px;padding:18px;border-radius:var(--r-m);background:rgba(155,92,255,.1);border:1px solid rgba(155,92,255,.35)}
.sr-pay>span{display:block;color:var(--lilas);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.sr-pay p{color:var(--gris);margin:0 0 14px}
/* V87 : articles de conseil */
.art-meta{display:block;margin-top:14px;color:var(--gris-2);font-size:14.5px}
.art{max-width:760px}
.art ul{padding-left:1.2em}.art li{margin-bottom:.5em}
.tbl-wrap{overflow-x:auto;margin:6px 0 22px;border-radius:var(--r-m);border:1px solid var(--ligne)}
.tbl-art{width:100%;border-collapse:collapse;font-size:15.5px;font-variant-numeric:tabular-nums}
.tbl-art th,.tbl-art td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--ligne);vertical-align:top}
.tbl-art th{background:var(--plaque-2);color:var(--lilas);font-size:13.5px;letter-spacing:.04em;text-transform:uppercase}
.tbl-art tr:last-child td{border-bottom:0}.tbl-art b{color:var(--ok);font-weight:750}
