
:root{--creme:#FBF9F4;--encre:#1A1712;--bleu:#2B57E6;--pierre:#8A8378;--ligne:#E7E2D7;--blanc:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--creme);color:var(--encre);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* ── NAV ── */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--ligne)}
.nav-in{max-width:1180px;margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;gap:34px}
.logo{font-size:15px;letter-spacing:.38em;font-weight:800;text-transform:uppercase}
.nav-links{display:flex;gap:26px;align-items:center;flex:1}
.nav-links > a, .drop > button{font-size:15px;font-weight:550;color:var(--encre);background:none;border:none;cursor:pointer;font-family:inherit;padding:6px 0;display:flex;align-items:center;gap:6px}
.nav-links a:hover, .drop > button:hover{color:var(--bleu)}
.nav-links a.on{color:var(--bleu)}
.chev{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.drop{position:relative}
.drop-panel{position:absolute;top:44px;left:-18px;background:var(--blanc);border:1px solid var(--ligne);border-radius:16px;padding:10px;min-width:520px;display:none;box-shadow:0 24px 60px rgba(26,23,18,.10);grid-template-columns:1fr 1fr;gap:2px}
.drop.open .drop-panel{display:grid}
.drop-panel a{display:block;padding:11px 14px;border-radius:10px;font-size:14.5px}
.drop-panel a:hover{background:var(--creme)}
.drop-panel a b{display:block;font-weight:650}
.drop-panel a span{display:block;font-size:12.5px;color:var(--pierre);margin-top:1px}
.drop-panel a i{font-style:normal;font-size:10.5px;letter-spacing:.18em;color:var(--bleu);font-weight:800}
.btn{display:inline-block;background:var(--encre);color:var(--creme);font-size:15px;font-weight:600;padding:11px 22px;border-radius:99px;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.blue{background:var(--bleu)}
.btn.ghost{background:transparent;color:var(--encre);border:1px solid var(--encre)}
.ink .btn.ghost{color:var(--creme);border-color:rgba(251,249,244,.4)}
.nav-login{font-size:14.5px;font-weight:600;color:var(--pierre);margin-right:2px;white-space:nowrap}
.nav-login:hover{color:var(--bleu)}
@media (max-width:820px){.nav-login{display:none}}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.burger span{display:block;width:22px;height:2px;background:var(--encre);margin:5px 0;border-radius:2px}

/* ── SECTIONS ── */
.sec{padding:104px 0}
.sec.tight{padding:72px 0}
.ink{background:var(--encre);color:var(--creme)}
.eyebrow{font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--pierre);margin-bottom:22px;font-weight:650}
.eyebrow b{color:var(--bleu)}
.ink .eyebrow{color:rgba(251,249,244,.45)}
h1{font-size:clamp(42px,6.4vw,88px);line-height:1.0;letter-spacing:-.032em;font-weight:750;max-width:1000px}
h2{font-size:clamp(30px,3.8vw,50px);line-height:1.06;letter-spacing:-.026em;font-weight:720;max-width:900px}
h3{font-size:19px;font-weight:680;letter-spacing:-.01em}
.accent{color:var(--bleu)}
.lead{font-size:clamp(17px,1.6vw,21px);line-height:1.55;color:var(--pierre);max-width:720px;margin-top:24px}
.ink .lead{color:rgba(251,249,244,.72)}
.center{text-align:center}
.center h1,.center h2,.center .lead{margin-left:auto;margin-right:auto}
.cta-row{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.center .cta-row{justify-content:center}

/* cartes */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--blanc);border:1px solid var(--ligne);border-radius:16px;padding:26px;transition:transform .18s ease, box-shadow .18s ease;display:block}
a.card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(26,23,18,.08)}
.card i{font-style:normal;font-size:11.5px;letter-spacing:.22em;color:var(--bleu);font-weight:800;display:block;margin-bottom:10px}
.card b{display:block;font-size:20px;font-weight:700;letter-spacing:-.01em}
.card p{font-size:14.5px;color:var(--pierre);margin-top:7px;line-height:1.45}
.card .go{display:inline-block;margin-top:14px;font-size:13.5px;color:var(--bleu);font-weight:650}

/* colonnes editoriales */
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px}
.steps.s3{grid-template-columns:repeat(3,1fr)}
.step{padding:0 28px;border-left:1px solid var(--ligne)}
.step:first-child{border-left:none;padding-left:0}
.ink .step{border-color:rgba(251,249,244,.14)}
.step .n{font-size:12px;letter-spacing:.2em;color:var(--bleu);font-weight:750;display:block;margin-bottom:12px}
.step b{display:block;font-size:18.5px;margin-bottom:8px;font-weight:680}
.step p{font-size:15px;line-height:1.5;color:var(--pierre)}
.ink .step p{color:rgba(251,249,244,.62)}

/* listes */
.checklist{margin-top:44px;display:flex;flex-direction:column;gap:18px;max-width:860px}
.checklist > div{display:flex;gap:16px;align-items:baseline;font-size:18px;line-height:1.5}
.checklist .dot{width:8px;height:8px;border-radius:50%;background:var(--bleu);flex:none;position:relative;top:-3px}
.checklist span{color:var(--pierre);font-size:15.5px}
.ink .checklist span{color:rgba(251,249,244,.55)}

/* tableau */
.tbl{width:100%;border-collapse:collapse;margin-top:48px;background:var(--blanc);border-radius:16px;overflow:hidden;border:1px solid var(--ligne)}
.tbl td,.tbl th{padding:15px 22px;border-bottom:1px solid var(--ligne);font-size:16px;text-align:left;vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl th{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--pierre)}
.tbl td:first-child{font-weight:650}
.tbl td:nth-child(2){color:var(--pierre);font-size:15px}
.tbl td:last-child{color:var(--bleu);font-weight:700;font-size:14px;letter-spacing:.05em;text-align:right}
.tbl-scroll{overflow-x:auto}

/* nuit */
.nuit{margin-top:48px;max-width:860px}
.nuit > div{display:flex;gap:26px;align-items:baseline;padding:15px 0;border-bottom:1px solid rgba(251,249,244,.12)}
.nuit .h{font-size:16px;letter-spacing:.06em;color:var(--bleu);font-weight:750;width:96px;flex:none;font-variant-numeric:tabular-nums}
.nuit .t{font-size:18px;line-height:1.45}
.nuit .t span{color:rgba(251,249,244,.55);font-size:15px}

/* versus */
.versus{margin-top:48px;background:var(--blanc);border:1px solid var(--ligne);border-radius:16px;overflow:hidden}
.versus > div{display:grid;grid-template-columns:1fr 1.15fr;border-bottom:1px solid var(--ligne)}
.versus > div:last-child{border-bottom:none}
.versus .eux{padding:15px 22px;font-size:15px;line-height:1.45;color:var(--pierre);background:#F6F3EC}
.versus .nous{padding:15px 22px;font-size:15.5px;line-height:1.45;font-weight:560;border-left:1px solid var(--ligne)}
.versus .head{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;padding:12px 22px}
.versus .head.nous{color:var(--bleu);background:var(--blanc)}

/* preuve chiffres */
.big{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.big > div{background:var(--blanc);border:1px solid var(--ligne);border-radius:16px;padding:26px}
.ink .big > div{background:rgba(251,249,244,.04);border-color:rgba(251,249,244,.14)}
.big b{display:block;font-size:44px;font-weight:750;letter-spacing:-.03em;color:var(--bleu);font-variant-numeric:tabular-nums}
.big span{display:block;font-size:14.5px;color:var(--pierre);margin-top:6px;line-height:1.4}
.ink .big span{color:rgba(251,249,244,.55)}

/* ecran reel */
.shot{margin-top:56px;border-radius:18px;overflow:hidden;border:1px solid var(--ligne);box-shadow:0 40px 90px rgba(26,23,18,.16)}
.shot-cap{display:flex;align-items:center;gap:12px;margin-top:16px}
.shot-cap i{font-style:normal;font-size:10.5px;letter-spacing:.2em;font-weight:800;color:var(--bleu);text-transform:uppercase;border:1px solid rgba(43,87,230,.45);border-radius:99px;padding:4px 10px}
.shot-cap span{font-size:14px;color:var(--pierre)}

/* tarifs */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.plan{background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:34px 30px;display:flex;flex-direction:column}
.plan.star{border-color:var(--bleu);border-width:2px;position:relative}
.plan .tag{position:absolute;top:-13px;left:28px;background:var(--bleu);color:#fff;font-size:11px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;border-radius:99px;padding:5px 12px}
.plan h3{font-size:22px}
.plan .prix{font-size:46px;font-weight:750;letter-spacing:-.03em;margin-top:14px}
.plan .prix small{font-size:15px;color:var(--pierre);font-weight:500;letter-spacing:0}
.plan ul{list-style:none;margin:22px 0 28px;flex:1}
.plan li{font-size:14.5px;color:var(--pierre);padding:6px 0 6px 20px;position:relative;line-height:1.4}
.plan li::before{content:"";position:absolute;left:0;top:13px;width:7px;height:7px;border-radius:50%;background:var(--bleu)}
.plan .btn{text-align:center}

/* bascule mensuel / annuel */
.bill{display:flex;justify-content:center;margin-top:44px}
.bill-in{position:relative;display:inline-flex;background:var(--blanc);border:1px solid var(--ligne);border-radius:99px;padding:5px;gap:2px}
.bill button{position:relative;z-index:1;border:none;background:none;font-family:inherit;font-size:14.5px;font-weight:650;color:var(--pierre);padding:9px 20px;border-radius:99px;cursor:pointer;transition:color .25s ease}
.bill button.on{color:var(--creme)}
.bill button b{font-weight:800;color:var(--bleu)}
.bill button.on b{color:#9db7ff}
.bill .thumb{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 6px);background:var(--encre);border-radius:99px;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.bill.annual .thumb{transform:translateX(calc(100% + 2px))}
.bill-note{text-align:center;font-size:13px;color:var(--pierre);margin-top:14px;min-height:18px}
.prix .pval{font-variant-numeric:tabular-nums}
/* barre de progression de lecture */
.lectbar{position:fixed;top:0;left:0;height:2.5px;background:var(--bleu);width:0;z-index:60;transition:none}
/* bandeau defilant des huit metiers */
.ticker{background:var(--encre);color:var(--creme);overflow:hidden;padding:16px 0;white-space:nowrap}
.ticker-in{display:inline-block;animation:tick 36s linear infinite;will-change:transform}
.ticker span{font-size:14px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;margin:0 26px;opacity:.85}
.ticker b{color:var(--bleu);margin:0 4px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ticker-in{animation:none}}
/* orbes de profondeur dans les sections noires */
.sec.ink{position:relative;overflow:hidden}
.orb{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 35% 35%, rgba(43,87,230,.34), rgba(43,87,230,0) 62%);filter:blur(10px);pointer-events:none;animation:orbe 11s ease-in-out infinite alternate;will-change:transform}
.orb.o2{width:380px;height:380px;animation-duration:14s;animation-delay:-6s;background:radial-gradient(circle at 60% 40%, rgba(43,87,230,.22), rgba(43,87,230,0) 60%)}
@keyframes orbe{from{transform:translate3d(-4%,-6%,0) scale(1)}to{transform:translate3d(5%,7%,0) scale(1.12)}}
@media (prefers-reduced-motion: reduce){.orb{animation:none}}
.sec.ink .wrap{position:relative;z-index:1}
/* cascades des listes */
html.js .checklist.rv.in > div{animation:riseIn .6s cubic-bezier(.22,1,.36,1) both}
html.js .checklist.rv.in > div:nth-child(2){animation-delay:.1s}
html.js .checklist.rv.in > div:nth-child(3){animation-delay:.2s}
html.js .checklist.rv.in > div:nth-child(4){animation-delay:.3s}
html.js .checklist.rv.in > div:nth-child(5){animation-delay:.4s}
html.noanim .checklist > div{animation:none!important;opacity:1!important}
/* ── animations pilotees par le defilement (variable --p : 0 loin, 1 en place) ── */
html.js [data-anim]{--p:0}
html.js [data-anim="grow"]{transform:scale(calc(.90 + .10 * var(--p)));border-radius:calc(34px - 14px * var(--p));opacity:calc(.35 + .65 * var(--p));transition:none;will-change:transform,opacity}
html.js [data-anim="grow"] .avant{transform:translateX(calc(-9% * (1 - var(--p))));transition:none;will-change:transform}
html.js [data-anim="grow"] .avec{transform:translateX(calc(9% * (1 - var(--p))));transition:none;will-change:transform}
html.js [data-anim="rise"]{transform:translateY(calc(44px * (1 - var(--p))));opacity:var(--p);transition:none;will-change:transform,opacity}
html.js [data-anim="fade"]{opacity:calc(.15 + .85 * var(--p));transform:translateY(calc(20px * (1 - var(--p))));transition:none}
html.noanim [data-anim], html.noanim [data-anim] .avant, html.noanim [data-anim] .avec{--p:1;transform:none!important;opacity:1!important}
@media (prefers-reduced-motion: reduce){html.js [data-anim],html.js [data-anim] .avant,html.js [data-anim] .avec{--p:1;transform:none!important;opacity:1!important}}
/* tout est vivant au survol (desktop seulement) */
@media (hover: hover){
  .card,.plan,.valeur > div,.big > div,.duel .avant,.duel .avec{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;transform-style:preserve-3d;will-change:transform}
  .tilt-on{box-shadow:0 30px 70px rgba(26,23,18,.14)!important}
  .plan:hover{border-color:var(--bleu)}
  .valeur > div:hover b{transform:scale(1.06)}
  .valeur b{transition:transform .35s cubic-bezier(.22,1,.36,1);display:inline-block;transform-origin:left bottom}
  .duel li{transition:transform .3s cubic-bezier(.22,1,.36,1),color .3s ease}
  .duel .avec li:hover{transform:translateX(8px);color:var(--bleu)}
  .duel .avant li:hover{transform:translateX(-8px)}
  .btn{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}
  .btn:hover{box-shadow:0 14px 34px rgba(43,87,230,.28)}
  .tbl tr{transition:background .25s ease}
  .tbl tr:hover td{background:#FDFCF8}
  .faq details{transition:background .3s ease,padding-left .3s ease}
  .faq details:hover{background:rgba(43,87,230,.03);padding-left:10px}
  .nav-links > a{position:relative}
  .nav-links > a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--bleu);transition:right .3s cubic-bezier(.22,1,.36,1)}
  .nav-links > a:hover::after{right:0}
}
/* concierge (chatbot) */
.cg-btn{position:fixed;right:22px;bottom:22px;z-index:70;background:var(--encre);color:var(--creme);border:none;border-radius:99px;padding:14px 22px;font-family:inherit;font-size:15px;font-weight:650;cursor:pointer;box-shadow:0 16px 40px rgba(26,23,18,.28);transition:transform .2s ease}
.cg-btn:hover{transform:translateY(-2px)}
.cg{position:fixed;right:22px;bottom:86px;z-index:71;width:min(390px,calc(100vw - 32px));height:min(560px,calc(100vh - 120px));background:var(--creme);border:1px solid var(--ligne);border-radius:20px;box-shadow:0 40px 90px rgba(26,23,18,.30);display:none;flex-direction:column;overflow:hidden}
.cg.open{display:flex}
.cg-head{background:var(--encre);color:var(--creme);padding:16px 20px;display:flex;align-items:center;justify-content:space-between}
.cg-head b{font-size:15px}
.cg-head span{display:block;font-size:12px;color:rgba(251,249,244,.55);margin-top:2px}
.cg-head button{background:none;border:none;color:var(--creme);font-size:22px;cursor:pointer;line-height:1;padding:4px}
.cg-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.cg-m{max-width:85%;padding:11px 15px;border-radius:15px;font-size:14.5px;line-height:1.5}
.cg-m.bot{background:var(--blanc);border:1px solid var(--ligne);align-self:flex-start;border-bottom-left-radius:5px}
.cg-m.moi{background:var(--bleu);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
.cg-m.pense{color:var(--pierre);font-style:italic;background:none;border:none;padding:4px 15px}
.cg-in{display:flex;gap:8px;padding:14px;border-top:1px solid var(--ligne);background:var(--blanc)}
.cg-in input{flex:1;border:1px solid var(--ligne);border-radius:99px;padding:11px 16px;font-family:inherit;font-size:14.5px;outline:none;background:var(--creme)}
.cg-in input:focus{border-color:var(--bleu)}
.cg-in button{background:var(--bleu);color:#fff;border:none;border-radius:99px;width:42px;height:42px;font-size:17px;cursor:pointer;flex:none}
.cg-sugg{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 8px}
.cg-sugg button{background:var(--blanc);border:1px solid var(--ligne);border-radius:99px;padding:7px 13px;font-family:inherit;font-size:12.5px;color:var(--encre);cursor:pointer}
.cg-sugg button:hover{border-color:var(--bleu);color:var(--bleu)}
/* recherche faq */
.faq-tools{display:flex;gap:12px;margin-top:40px;flex-wrap:wrap}
.faq-tools input{flex:1;min-width:240px;border:1px solid var(--ligne);border-radius:99px;padding:13px 20px;font-family:inherit;font-size:15px;outline:none;background:var(--blanc)}
.faq-tools input:focus{border-color:var(--bleu)}
.faq-cats{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.faq-cats button{background:var(--blanc);border:1px solid var(--ligne);border-radius:99px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--encre);cursor:pointer;transition:all .2s ease}
.faq-cats button.on{background:var(--encre);color:var(--creme);border-color:var(--encre)}
.faq-sec{margin-top:44px}
.faq-sec h3{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--bleu);font-weight:800;margin-bottom:6px}
/* pages document (legal) */
.doc{max-width:760px}
.doc h2{font-size:26px;margin-top:44px}
.doc h3{font-size:17px;margin-top:26px;font-weight:700}
.doc p, .doc li{font-size:15.5px;line-height:1.65;color:var(--pierre);margin-top:12px}
.doc ul{padding-left:20px}
.doc strong{color:var(--encre)}
/* faq */
.faq{margin-top:48px;max-width:820px}
.faq details{border-bottom:1px solid var(--ligne);padding:20px 0}
.faq summary{font-size:18px;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--bleu);font-weight:600;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"·"}
.faq p{margin-top:12px;color:var(--pierre);font-size:15.5px;max-width:700px}

/* bande citation */
.quote{font-size:clamp(24px,3vw,38px);line-height:1.25;letter-spacing:-.02em;font-weight:650;max-width:900px}
.quote .accent{color:var(--bleu)}

/* footer */
footer{background:var(--encre);color:var(--creme);padding:80px 0 44px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.foot-grid h4{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(251,249,244,.45);margin-bottom:16px;font-weight:700}
.foot-grid a{display:block;font-size:14.5px;color:rgba(251,249,244,.75);padding:5px 0}
.foot-grid a:hover{color:var(--creme)}
.foot-base{border-top:1px solid rgba(251,249,244,.14);margin-top:56px;padding-top:26px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:rgba(251,249,244,.45);flex-wrap:wrap}

/* animations premium · progressives : sans JS tout est visible, reduced-motion respecte */
html.js .rv{opacity:0;transform:translateY(26px);filter:blur(3px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease}
html.js .rv.in{opacity:1;transform:none;filter:none}
html.js .rv[data-d="1"]{transition-delay:.08s}html.js .rv[data-d="2"]{transition-delay:.16s}html.js .rv[data-d="3"]{transition-delay:.24s}
html.js .cards.rv.in > .card, html.js .steps.rv.in > .step{animation:riseIn .7s cubic-bezier(.22,1,.36,1) both}
html.js .cards.rv.in > .card:nth-child(2), html.js .steps.rv.in > .step:nth-child(2){animation-delay:.08s}
html.js .cards.rv.in > .card:nth-child(3), html.js .steps.rv.in > .step:nth-child(3){animation-delay:.16s}
html.js .cards.rv.in > .card:nth-child(4), html.js .steps.rv.in > .step:nth-child(4){animation-delay:.24s}
html.js .cards.rv.in > .card:nth-child(5){animation-delay:.32s}html.js .cards.rv.in > .card:nth-child(6){animation-delay:.40s}
html.js .cards.rv.in > .card:nth-child(7){animation-delay:.48s}html.js .cards.rv.in > .card:nth-child(8){animation-delay:.56s}
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
html.js .rv.force{transition:none!important;opacity:1!important;transform:none!important;filter:none!important}
html.js .rv.force > *{animation:none!important}
/* sequence d'entree du heros */
html.js .hero-seq > *{opacity:0;transform:translateY(26px);animation:heroUp .95s cubic-bezier(.22,1,.36,1) forwards}
html.js .hero-seq > *:nth-child(1){animation-delay:.05s}
html.js .hero-seq > *:nth-child(2){animation-delay:.18s}
html.js .hero-seq > *:nth-child(3){animation-delay:.34s}
html.js .hero-seq > *:nth-child(4){animation-delay:.5s}
html.js .hero-seq > *:nth-child(5){animation-delay:.62s}
@keyframes heroUp{to{opacity:1;transform:none}}
/* avant / apres : les deux panneaux arrivent face a face, leger relief */
html.js .duel{opacity:1;filter:none}
.duel{perspective:1200px}
/* parallaxe douce */
html.js [data-plx]{will-change:transform}
/* neutralisation totale si moteur fige ou preference reduite */
html.noanim .rv,html.noanim .hero-seq > *,html.noanim .duel .avant,html.noanim .duel .avec,html.noanim .duel li{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important}
@media (prefers-reduced-motion: reduce){html.js .rv,html.js .hero-seq > *,html.js .duel .avant,html.js .duel .avec{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important}html.js .cards.rv.in > .card,html.js .steps.rv.in > .step,html.js .duel.rv.in li{animation:none}}
/* avant / avec */
.duel{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:52px;border-radius:20px;overflow:hidden;border:1px solid var(--ligne)}
.duel .avant{background:var(--encre);color:rgba(251,249,244,.85);padding:44px 40px}
.duel .avec{background:var(--blanc);padding:44px 40px}
.duel h3{font-size:13px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:24px;font-weight:800}
.duel .avant h3{color:rgba(251,249,244,.45)}
.duel .avec h3{color:var(--bleu)}
.duel ul{list-style:none}
.duel li{font-size:16.5px;line-height:1.45;padding:9px 0;display:flex;gap:12px;align-items:baseline}
.duel .avant li{color:rgba(251,249,244,.72)}
.duel .avant li::before{content:"";width:14px;height:1.5px;background:rgba(251,249,244,.4);flex:none;position:relative;top:-4px}
.duel .avec li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bleu);flex:none;position:relative;top:-3px}
@media (max-width:900px){.duel{grid-template-columns:1fr}}
/* valeur */
.valeur{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.valeur > div{background:var(--blanc);border:1px solid var(--ligne);border-radius:16px;padding:28px}
.valeur b{display:block;font-size:46px;font-weight:750;letter-spacing:-.03em;color:var(--bleu);font-variant-numeric:tabular-nums}
.valeur b em{font-style:normal;font-size:22px}
.valeur span{display:block;font-size:14.5px;color:var(--pierre);margin-top:8px;line-height:1.45}
@media (max-width:900px){.valeur{grid-template-columns:1fr}}

/* responsive */
@media (max-width: 960px){
  .cards,.steps{grid-template-columns:repeat(2,1fr)}
  .steps{gap:32px 0}
  .step{padding:0 22px}
  .step:nth-child(odd){border-left:none;padding-left:0}
  .big,.plans,.cards.c3,.steps.s3{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .versus > div{grid-template-columns:1fr}
  .versus .nous{border-left:none;border-top:1px solid var(--ligne)}
}
@media (max-width: 820px){
  .nav-links{display:none;position:fixed;inset:64px 0 auto 0;background:var(--creme);border-bottom:1px solid var(--ligne);flex-direction:column;align-items:flex-start;padding:18px 28px 26px;gap:4px;max-height:calc(100vh - 64px);overflow:auto}
  .nav.open .nav-links{display:flex}
  .nav-links > a, .drop > button{padding:11px 0;font-size:17px}
  .drop-panel{position:static;display:none;box-shadow:none;border:none;background:transparent;min-width:0;grid-template-columns:1fr;padding:0 0 6px 14px}
  .drop.open .drop-panel{display:grid}
  .burger{display:block}
  .nav-cta{display:none}
  .sec{padding:72px 0}
  .cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:26px}
  .step{padding:0;border-left:none}
}
