@charset "utf-8";
/* Jetons du site et du LibertiScore en ligne (/score) */
:root{
  --lw-blue:#3B6FE5; --lw-blue-hover:#2C56C9; --lw-navy:#001F6B; --lw-ink:#0F172A;
  --lw-text-2:#475569; --lw-text-3:#5B6B82; --lw-text-4:#94A3B8;
  --lw-border:#E2E8F0; --lw-grey:#F8FAFC; --lw-ivory:#F6F8FB;
  --lw-green:#1d8a4e; --lw-red:#E5484D; --lw-blue-accent:#9FB8F5;
  --a:#2ECC71; --b:#52BE80; --c:#F39C12; --d:#E05252; --f:#E74C3C;
  --fixe:#94A3B8; --menthe:#5DCAA5;
  --nav-h:76px; --mq-h:0px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);}
body{font-family:'Open Sans',sans-serif;background:#fff;color:var(--lw-ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
button{font-family:inherit;}
.nb{white-space:nowrap;}

/* ═══ Barre de maquette (hors produit) ═══ */
.mq{background:#111827;color:#F9FAFB;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 5%;font:500 12.5px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif;}
.mq b{font-weight:700;}
.mq-etats{display:flex;gap:6px;flex-wrap:wrap;}
.mq-etats button{background:#1F2937;color:#F9FAFB;border:1px solid #374151;border-radius:7px;padding:6px 10px;font:600 12.5px/1 system-ui,sans-serif;cursor:pointer;}
.mq-etats button[aria-pressed="true"]{background:#C026D3;border-color:#C026D3;}
.mq span{color:#D1D5DB;}

/* ═══ États du parcours : avant le dépôt, après le dépôt, après l'email ═══ */
body.etat-avant .si-apres, body.etat-avant .si-form, body.etat-avant .si-envoye{display:none !important;}
body.etat-apres .si-avant, body.etat-apres .si-envoye{display:none !important;}
body.etat-envoye .si-avant, body.etat-envoye .si-form{display:none !important;}

/* ═══ Navigation (identique aux pages du site) ═══ */
.lw-nav{position:sticky;top:0;z-index:50;background:var(--lw-navy);display:flex;align-items:center;justify-content:space-between;padding:13px 5%;height:var(--nav-h);}
.lw-nav .brand img{height:50px;width:auto;}
.lw-nav .menu{display:flex;gap:24px;list-style:none;align-items:center;}
.lw-nav .menu a{color:rgba(255,255,255,0.82);text-decoration:none;font-size:14px;font-weight:600;}
.lw-nav .menu a.nav-cta{background:var(--lw-blue);color:#fff;padding:9px 18px;border-radius:8px;}
.lw-nav .burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;}
.lw-nav .burger span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s;}
.lw-nav .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.lw-nav .burger.open span:nth-child(2){opacity:0;}
.lw-nav .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (max-width:900px){
  .lw-nav .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--lw-navy);flex-direction:column;gap:0;padding:8px 0;box-shadow:0 12px 24px rgba(0,0,0,.18);align-items:stretch;z-index:60;}
  .lw-nav .menu.open{display:flex;}
  .lw-nav .menu a{padding:14px 24px;display:block;}
  .lw-nav .menu a.nav-cta{margin:8px 24px 4px;text-align:center;}
  .lw-nav .burger{display:flex;}
}

/* ═══ Classes partagées du site ═══ */
.lw-section{width:100%;padding:88px 5% 96px;}
.lw-head{text-align:center;margin:0 auto 48px;max-width:760px;}
.lw-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#003A9F;background:rgba(0,58,159,.06);border:1px solid rgba(0,58,159,.14);border-radius:999px;padding:5px 16px;margin-bottom:18px;}
.lw-h1{font-size:clamp(30px,4.4vw,52px);font-weight:700;line-height:1.12;letter-spacing:-0.02em;color:var(--lw-ink);}
.lw-h2{font-size:clamp(24px,3.2vw,40px);font-weight:700;line-height:1.15;letter-spacing:-0.02em;color:var(--lw-ink);}
.accent{color:var(--lw-blue);}
.lw-sub{margin:18px auto 0;font-size:16px;line-height:1.65;color:var(--lw-text-2);max-width:680px;}
.btn-primary{display:inline-block;font-size:1.05rem;font-weight:700;background:var(--lw-blue);color:#fff;border:none;border-radius:10px;padding:1.05rem 2.6rem;text-decoration:none;cursor:pointer;transition:background .2s,transform .15s;}
.btn-primary:hover{background:var(--lw-blue-hover);transform:translateY(-2px);}
.lien{display:inline-block;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--lw-blue);text-decoration:none;border-bottom:1px solid rgba(59,111,229,.35);padding-bottom:2px;}

/* ═══ Ouverture (validée) ═══ */
.hero{text-align:center;padding:84px 5% 88px;max-width:1280px;margin:0 auto;}
.hero .lw-h1{max-width:900px;margin:0 auto;}
@media (min-width:700px){ .hero .lw-h1 .accent{display:inline-block;} }
.hero .lw-sub{text-wrap:pretty;max-width:760px;}
.trois{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:48px auto 44px;max-width:1180px;}
.trois li{background:var(--lw-blue);color:#fff;border-radius:18px;padding:34px 24px 30px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 28px rgba(59,111,229,.24);}
.trois li b{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font:800 18px/1 'Montserrat',sans-serif;}
.trois li span{font-size:clamp(17px,1.7vw,22px);font-weight:700;line-height:1.25;}
.trois li em{font-style:normal;font-size:13.5px;font-weight:700;color:#fff;letter-spacing:.02em;background:rgba(255,255,255,.14);border-radius:99px;padding:6px 14px;}
.trust{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:18px;font-size:13px;font-weight:600;color:var(--lw-text-3);}
.trust span::before{content:"✓";color:var(--lw-blue);font-weight:800;margin-right:6px;}
@media (max-width:600px){
  .hero{padding:56px 20px 64px;}
  .lw-sub{font-size:15px;}
  .trois{grid-template-columns:1fr;gap:12px;margin:36px auto 34px;}
  .trois li{flex-direction:row;justify-content:flex-start;text-align:left;padding:18px 16px;min-height:0;gap:12px;}
  .trois li b{width:38px;height:38px;font-size:16px;flex:0 0 auto;}
  .trois li span{font-size:16.5px;}
  .trois li em{margin-left:auto;font-size:12px;padding:5px 10px;}
  .hero .btn-primary{display:block;width:100%;}
  .lw-section{padding:60px 20px 68px;}
}

/* ═══ Votre situation : l'aiguillage vers le parcours (le « cas réel » est retiré, le parcours le montre déjà) ═══ */
.situation{background:#fff;border-top:1px solid var(--lw-border);}
.sit{max-width:1180px;margin:0 auto;}
.sit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.sit-opt{background:#fff;border:1.5px solid var(--lw-border);border-radius:14px;padding:20px 18px;font:700 16px/1.3 'Open Sans',sans-serif;color:var(--lw-navy);cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s;}
.sit-opt:hover{border-color:var(--lw-blue);}
.sit-opt[aria-pressed="true"]{border-color:var(--lw-blue);background:rgba(59,111,229,.06);box-shadow:0 0 0 3px rgba(59,111,229,.13);}
.sit-res{margin-top:18px;}
.sit-carte{background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:16px;padding:24px;display:grid;gap:14px;}
@media (min-width:800px){ .sit-carte{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;} }
.sit-carte h3{font:800 19px/1.3 'Montserrat',sans-serif;color:var(--lw-navy);}
.sit-carte p{font-size:15px;line-height:1.6;color:var(--lw-text-2);margin-top:6px;}
.sit-ctas{display:grid;gap:10px;}
.sit-ctas .btn{margin-top:0;}
.btn.ghost{background:#fff;color:var(--lw-navy);border:1.5px solid var(--lw-border);}
.btn.ghost:hover{background:var(--lw-grey);border-color:var(--lw-blue);}
.sit-change{background:none;border:none;color:var(--lw-text-3);font-size:13px;text-decoration:underline;cursor:pointer;margin-top:12px;font-family:inherit;}
.sit-expert{display:grid;gap:16px;}
@media (min-width:900px){ .sit-expert{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch;} }
#expert-panel{display:none;flex:2;min-width:0;flex-direction:column;background:var(--lw-blue);color:#fff;border-radius:20px;padding:30px 30px 32px;}
#expert-panel .ep-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:5px 12px;border-radius:999px;margin-bottom:16px;}
#expert-panel h3{font-size:23px;font-weight:800;line-height:1.15;margin-bottom:20px;color:#fff;}
#expert-panel .ep-who{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
#expert-panel .ep-ava{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.4);display:grid;place-items:center;font-size:17px;font-weight:700;flex-shrink:0;}
#expert-panel .ep-n{font-size:15px;font-weight:700;line-height:1.3;}
#expert-panel .ep-r{font-size:12.5px;color:rgba(255,255,255,.8);}
#expert-panel .ep-chip{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.12);padding:7px 13px;border-radius:8px;margin-bottom:22px;}
#expert-panel .ep-chip svg{width:15px;height:15px;stroke:#fff;stroke-width:2;fill:none;}
#expert-panel .ep-lbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:12px;}
#expert-panel .ep-bul{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px;font-size:14px;line-height:1.45;}
#expert-panel .ep-ck{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#2ECC71;display:grid;place-items:center;margin-top:1px;}
#expert-panel .ep-ck svg{width:11px;height:11px;stroke:#fff;stroke-width:3.4;fill:none;}
#expert-panel .ep-reass{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:12.5px;line-height:1.4;background:rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;color:rgba(255,255,255,.92);}
#expert-panel .ep-reass svg{width:18px;height:18px;stroke:#FFD580;stroke-width:2;fill:none;flex-shrink:0;}
#expert-panel .ep-change{align-self:flex-start;background:none;border:none;color:rgba(255,255,255,.75);font-size:12px;text-decoration:underline;cursor:pointer;margin-top:14px;padding:0;font-family:inherit;}
#expert-panel{display:flex;}
.cal-embed{background:#fff;border:1px solid var(--lw-border);border-radius:20px;min-height:360px;display:grid;place-items:center;text-align:center;padding:24px;color:var(--lw-text-3);font-size:14px;line-height:1.6;}
.cal-embed b{display:block;color:var(--lw-navy);font-size:16px;margin-bottom:6px;}
@media (max-width:700px){ .sit-options{grid-template-columns:1fr;} }

/* ═══ Champs, recherche dans l'annuaire public (comme LibertiDash) et fiche entreprise : chemin « sans facture » ; liste des fournisseurs : résultat ═══ */
.qui-champ label{display:block;font-size:13px;font-weight:700;color:var(--lw-navy);margin-bottom:7px;}
.qui-champ input,.qui-champ select{width:100%;height:52px;border:1.5px solid var(--lw-border);border-radius:12px;padding:0 14px;font:500 16px/1 'Open Sans',sans-serif;color:var(--lw-ink);background:#fff;}
.qui-champ select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 15px center;}
.qui-champ input:focus,.qui-champ select:focus{outline:none;border-color:var(--lw-blue);box-shadow:0 0 0 3px rgba(59,111,229,.13);}
.qui-sugg{margin-top:8px;background:#fff;border:1px solid var(--lw-border);border-radius:12px;overflow:hidden;}
.qui-sugg .sg{display:block;width:100%;text-align:left;background:#fff;border:none;border-top:1px solid var(--lw-border);padding:11px 14px;cursor:pointer;}
.qui-sugg .sg:first-child{border-top:none;}
.qui-sugg .sg:hover,.qui-sugg .sg:focus{background:rgba(59,111,229,.06);outline:none;}
.sg b{display:block;font-size:14.5px;color:var(--lw-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sg small{display:block;font-size:12.5px;color:var(--lw-text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sg i{display:block;font-style:normal;font-size:11.5px;color:var(--lw-red);margin-top:3px;}
.qui-info{padding:11px 14px;font-size:13px;color:var(--lw-text-3);}
.qui-info button{background:none;border:none;color:var(--lw-blue);font:700 13px 'Open Sans',sans-serif;text-decoration:underline;cursor:pointer;margin-left:6px;}
.ent{grid-area:ent;background:#fff;border:1px solid var(--lw-border);border-radius:14px;padding:18px;}
.ent-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.ent-h b{font:800 16px/1.3 'Montserrat',sans-serif;color:var(--lw-navy);overflow-wrap:anywhere;}
.ent-pill{flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--lw-green);background:rgba(29,138,78,.1);border-radius:99px;padding:4px 10px;}
.ent-pill.off{color:var(--lw-text-3);background:var(--lw-grey);}
.ent-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:14px;}
.ent-f dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lw-text-4);}
.ent-f dd{font-size:14px;font-weight:600;color:var(--lw-ink);margin-top:2px;}
.ent-f .large{grid-column:1 / -1;}
.fr-t{font-size:17px;font-weight:700;line-height:1.4;color:var(--lw-ink);}
.fr-t b{color:var(--lw-green);}
.fr-l{list-style:none;display:grid;margin-top:12px;}
.fr-l li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--lw-border);}
.fr-l li:first-child{border-top:none;}
.fr-rg{width:30px;height:30px;border-radius:50%;background:rgba(59,111,229,.1);color:var(--lw-blue);display:grid;place-items:center;font:800 13px/1 'Montserrat',sans-serif;}
.fr-nom{font-size:16.5px;font-weight:700;color:var(--lw-navy);}
/* La liste nomme les plus fréquents : cette dernière ligne dit que le marché ne s'y arrête pas. */
.fr-autre .fr-rg{background:var(--lw-grey);border:1px solid var(--lw-border);color:var(--lw-text-3);}
.fr-autre .fr-nom{font-size:14.5px;font-weight:600;color:var(--lw-text-2);}

/* ═══ Parcours en 4 étapes : barre latérale chronologique + contenu ═══ */
.parcours{background:var(--lw-ivory);border-top:1px solid var(--lw-border);padding:0 0 96px;}
.parcours-in{max-width:1280px;margin:0 auto;padding:0 4%;display:grid;grid-template-columns:minmax(0,1fr);}
.side{position:sticky;top:var(--nav-h);z-index:40;background:rgba(246,248,251,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--lw-border);margin:0 -4.2%;padding:10px 4%;}
.side-t{display:none;}
.side-l{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;position:relative;}
.side-a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--lw-text-3);padding:6px 2px;border-radius:12px;text-align:center;}
.side-ic{width:38px;height:38px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;background:#fff;border:1.5px solid var(--lw-border);color:var(--lw-navy);transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;}
.side-x b{display:block;font:800 11px/1.25 'Montserrat',sans-serif;letter-spacing:.02em;color:var(--lw-navy);}
.side-x em{display:none;}
.side-n{display:none;}
.side-x .long{display:none;}
.side-a.on .side-ic{border-color:var(--lw-blue);box-shadow:0 0 0 4px rgba(59,111,229,.14);transform:translateY(-1px);}
.side-a.on .side-x b{color:var(--lw-blue);}
.ic-note{background:var(--lw-navy);border-color:transparent;color:var(--g);font:900 20px/1 'Montserrat',sans-serif;}
.ic-note small{font:800 10px/1 'Montserrat',sans-serif;color:rgba(255,255,255,.75);letter-spacing:.04em;}
.ic-cal{flex-direction:column;gap:1px;font:800 11px/1 'Montserrat',sans-serif;color:var(--lw-navy);}
.ic-cal small{font-size:8px;letter-spacing:.08em;color:var(--lw-text-3);}
.ic-mail{color:var(--lw-blue);}
.ic-rap{color:var(--lw-blue);}
.bonus{display:none;}
@media (min-width:1080px){
  /* Le suivi n'est pas une étape du parcours : c'est ce qui vient après la signature. */
  .bonus{display:inline-block;font-style:normal;margin-left:7px;font:800 8.5px/1 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--menthe);background:rgba(93,202,165,.14);border:1px solid rgba(93,202,165,.32);border-radius:999px;padding:4px 7px;vertical-align:middle;}
}
.ic-dash{background:var(--lw-blue);border-color:transparent;color:#fff;font:800 17px/1 'Montserrat',sans-serif;border-radius:50%;}
.fait{position:absolute;right:-5px;top:-5px;width:17px;height:17px;border-radius:50%;background:var(--lw-green);color:#fff;display:grid;place-items:center;font:800 10px/1 'Open Sans',sans-serif;box-shadow:0 0 0 2px var(--lw-ivory);}
.etapes{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:56px;padding-top:36px;}
@media (min-width:1080px){
  .parcours{padding:64px 0 110px;}
  .parcours-in{grid-template-columns:280px minmax(0,1fr);gap:48px;align-items:start;}
  .side{top:calc(var(--nav-h) + 24px);margin:0;padding:0;background:none;backdrop-filter:none;border:0;}
  .side-t{display:block;font:800 11px/1 'Montserrat',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lw-text-3);margin:6px 0 20px 4px;}
  .side-l{grid-template-columns:1fr;gap:10px;}
  .side-l::before{content:"";position:absolute;left:25px;top:30px;bottom:30px;width:2px;background:var(--lw-border);}
  .side-a{flex-direction:row;align-items:center;gap:14px;padding:10px 12px 10px 6px;text-align:left;position:relative;}
  .side-a:hover{background:#fff;}
  .side-a.on{background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05);}
  .side-ic{width:40px;height:40px;}
  .side-x b{font-size:14px;}
  .side-x .long{display:inline;}
  .side-x .court{display:none;}
  .side-x em{display:block;font-style:normal;font-size:12.5px;font-weight:600;color:var(--lw-text-3);margin-top:3px;}
  /* Les deux notes du LibertiScore, là où la barre latérale a de la place */
  .side-n{display:flex;gap:8px;margin-left:auto;}
  .side-n span{display:flex;flex-direction:column;align-items:center;gap:3px;}
  .side-n i{width:28px;height:28px;border-radius:8px;background:var(--g);color:#fff;display:grid;place-items:center;font:900 15px/1 'Montserrat',sans-serif;font-style:normal;}
  .side-n small{font:700 8.5px/1 'Montserrat',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--lw-text-3);}
  .etapes{padding-top:0;gap:72px;}
}

/* En-tête d'étape */
.etape{scroll-margin-top:calc(var(--nav-h) + 90px);}
@media (min-width:1080px){ .etape{scroll-margin-top:calc(var(--nav-h) + 24px);} }
.etape-h{margin-bottom:20px;}
.eyebrow{display:inline-block;font:800 10.5px/1 'Montserrat',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lw-blue);background:rgba(59,111,229,.08);border-radius:99px;padding:6px 13px;margin-bottom:12px;}
.etape-h h2{font:800 clamp(22px,2.6vw,30px)/1.2 'Montserrat',sans-serif;color:var(--lw-navy);letter-spacing:-.02em;}
.etape-h p{font-size:15px;line-height:1.6;color:var(--lw-text-2);margin-top:8px;max-width:720px;}

/* Cartes */
.card{background:#fff;border:1px solid var(--lw-border);border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.grille{display:grid;gap:16px;}
@media (min-width:760px){ .grille.deux{grid-template-columns:repeat(2,minmax(0,1fr));} }
.carte-t{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;}
.carte-t h3{font:800 12px/1.2 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);}

/* Dépôt (avant) */
.depot{display:grid;gap:22px;}
@media (min-width:900px){
  .depot{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;}
  .depot > div:first-child{display:flex;}
  .depot .drop{flex:1;justify-content:center;}
}
.drop{width:100%;border:2px dashed rgba(59,111,229,.45);border-radius:14px;background:rgba(59,111,229,.04);padding:34px 20px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:inherit;color:inherit;}
.drop:hover{border-color:var(--lw-blue);background:rgba(59,111,229,.08);}
.drop-ic{width:56px;height:56px;border-radius:50%;background:rgba(59,111,229,.12);color:var(--lw-blue);display:grid;place-items:center;margin-bottom:8px;}
.drop-t{font:800 17px/1.3 'Montserrat',sans-serif;color:var(--lw-navy);}
.drop-s{font-size:13.5px;color:var(--lw-text-3);}
.drop-note{text-align:center;font-size:14px;font-weight:700;color:var(--lw-ink);margin-top:12px;}
.comment{list-style:none;display:grid;gap:12px;}
.comment li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--lw-text-2);}
.comment li b{display:block;font-size:15.5px;color:var(--lw-ink);margin-bottom:3px;}
.lien-d{text-align:right;}
.n{width:26px;height:26px;flex:0 0 auto;border-radius:50%;background:var(--lw-blue);color:#fff;display:grid;place-items:center;font:800 12px/1 'Montserrat',sans-serif;margin-top:1px;}
.exemple{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:26px 0 14px;font-size:14px;color:var(--lw-text-2);}
.badge-ex{font:800 10.5px/1 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--lw-navy);border-radius:99px;padding:6px 11px;}

/* Lu sur votre facture (comme /score) */
.lu{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;}
.lu-ok{display:inline-flex;align-items:center;gap:7px;font:800 12.5px/1 'Montserrat',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--lw-text-3);margin-right:4px;}
.chip{background:#fff;border:1px solid var(--lw-border);border-radius:9px;padding:8px 12px;}
.chip span{display:block;font:700 10px/1 'Montserrat',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--lw-text-3);margin-bottom:4px;}
.chip b{display:block;font:700 14px/1.2 'IBM Plex Mono',monospace;color:var(--lw-navy);}

/* Carte Part fournisseur = la carte de score de /score */
.score-card{background:var(--lw-navy);border-radius:14px;padding:22px 20px;color:#fff;position:relative;overflow:hidden;}
/* --sc et --beam viennent de la note : la carte prend la couleur du LibertiScore. */
.score-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--sc,var(--lw-blue));z-index:2;}
.score-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 70% at 50% -10%,var(--beam,rgba(59,111,229,.22)),transparent 60%);}
.score-card > *{position:relative;z-index:1;}
.score-card .carte-t h3{color:rgba(255,255,255,.62);}
.dual{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dsc{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px 10px 14px;text-align:center;}
.dsc-top{font:800 10px/1.2 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.dsc-l{font:900 52px/1 'Montserrat',sans-serif;margin:9px 0 5px;}
.dsc-lb{font-size:12.5px;font-weight:700;}
.dsc-v{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.1);font:700 15px/1.2 'IBM Plex Mono',monospace;color:#fff;}
.dsc-v small{display:block;font:600 11px/1.3 'Open Sans',sans-serif;color:rgba(255,255,255,.55);margin-top:4px;}
.bar{margin-top:18px;}
.bar-t{height:9px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden;}
.bar-f{height:100%;border-radius:6px;}
.bar-sc{display:flex;justify-content:space-between;margin-top:7px;font:500 10.5px/1 'IBM Plex Mono',monospace;color:rgba(255,255,255,.45);}
.score-pied{margin-top:14px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.6);}
.score-pied b{color:rgba(255,255,255,.85);font-weight:600;}

/* Carte Part réglementaire */
.compteur{display:flex;align-items:center;gap:10px;background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:12px;padding:12px 14px;margin-bottom:10px;}
.compteur-ic{width:34px;height:34px;border-radius:10px;background:rgba(59,111,229,.1);color:var(--lw-blue);display:grid;place-items:center;flex:0 0 auto;}
.compteur b{display:block;font:700 16px/1.2 'IBM Plex Mono',monospace;color:var(--lw-navy);}
.compteur span{font-size:12.5px;color:var(--lw-text-3);}
.ligne{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 2px;border-top:1px solid var(--lw-border);}
.ligne.premier{border-top:0;}
.ligne span{font-size:14.5px;color:var(--lw-text-2);}
.ligne b{font:700 15px/1.2 'IBM Plex Mono',monospace;color:var(--lw-ink);white-space:nowrap;}
.ligne.total{border-top:1.5px solid var(--lw-ink);margin-top:2px;}
.ligne.total span{font-weight:700;color:var(--lw-ink);}
.tag-an{display:inline-block;margin-left:9px;font:700 9.5px/1 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--lw-text-3);background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:99px;padding:5px 9px;vertical-align:middle;}

/* Infobulle */
.info{position:relative;display:inline-flex;}
.info-b{width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;background:none;color:var(--lw-text-3);font:800 12px/1 'Montserrat',sans-serif;cursor:pointer;display:grid;place-items:center;}
.score-card .info-b{color:rgba(255,255,255,.7);}
.info-b:hover,.info-b:focus-visible{color:var(--lw-blue);outline:none;}
.score-card .info-b:hover,.score-card .info-b:focus-visible{color:#fff;}
.bulle{position:absolute;right:-6px;top:calc(100% + 10px);width:min(270px,78vw);background:var(--lw-ink);color:#fff;font-size:13px;line-height:1.5;font-weight:500;padding:11px 13px;border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.28);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:20;text-align:left;text-transform:none;letter-spacing:0;}
.bulle::before{content:"";position:absolute;right:12px;top:-6px;border:6px solid transparent;border-top:0;border-bottom-color:var(--lw-ink);}
.info:hover .bulle,.info:focus-within .bulle,.info.open .bulle{opacity:1;visibility:visible;transform:none;}
.info-l{margin-left:9px;vertical-align:middle;}
/* En bas d'une carte, la bulle s'ouvre vers le haut. */
.bulle.haut{top:auto;bottom:calc(100% + 10px);}
.bulle.haut::before{top:auto;bottom:-6px;border-top:6px solid var(--lw-ink);border-bottom:0;}
.bulle b{display:block;font:800 10px/1 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:9px;}
.bulle .lt{display:flex;align-items:center;gap:9px;margin-top:7px;font-size:13px;font-weight:600;}
.bulle .lt i{width:22px;height:22px;flex:0 0 auto;border-radius:6px;color:#fff;font:900 12px/1 'Montserrat',sans-serif;font-style:normal;display:grid;place-items:center;}
/* Sur la carte sombre, une bulle encre se fondait dans le fond : elle passe en blanc. */
.score-card .bulle{background:#fff;color:var(--lw-ink);box-shadow:0 14px 30px rgba(0,0,0,.45);}
.score-card .bulle::before{border-bottom-color:#fff;}

/* Facture alignée au marché */
.cmp{display:grid;gap:22px;}
@media (min-width:900px){ .cmp{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;} }
.cmp-l{margin-top:14px;}
.cmp-l:first-child{margin-top:0;}
.cmp-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;}
.cmp-t span{font-size:14px;color:var(--lw-text-2);}
.cmp-t b{font:700 16px/1.2 'IBM Plex Mono',monospace;color:var(--lw-ink);white-space:nowrap;}
.cmp-bar{display:flex;gap:3px;height:22px;}
.cmp-bar i{border-radius:6px;min-width:3px;}
.cmp-bar .fixe{background:var(--fixe);} .cmp-bar .neg{background:var(--lw-blue);} .cmp-bar .marche{background:var(--menthe);}
.cmp-bar .vide{border:1.5px dashed var(--lw-red);background:rgba(229,72,77,.1);}
.cmp-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12.5px;color:var(--lw-text-3);}
.cmp-leg span{display:inline-flex;align-items:center;gap:6px;}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;}
.dot.fixe{background:var(--fixe);} .dot.neg{background:var(--lw-blue);} .dot.marche{background:var(--menthe);}
.dot.vide{border:1.5px dashed var(--lw-red);background:rgba(229,72,77,.14);}
.cmp-leg .ec{color:var(--lw-red);font-weight:700;}
.dot.green{background:var(--lw-green);} .dot.blue{background:var(--lw-blue);} .dot.red{background:var(--lw-red);}
.gain{background:rgba(229,72,77,.07);border:1px solid rgba(229,72,77,.26);border-radius:14px;padding:20px;text-align:center;}
.gain-k{font:800 11px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-2);}
.gain-v{font:700 34px/1.1 'IBM Plex Mono',monospace;color:var(--lw-ink);margin:8px 0 4px;}
.gain-v small{display:block;font:700 12.5px/1.3 'Open Sans',sans-serif;color:var(--lw-text-2);margin-top:5px;}
.gain-u{font-size:13.5px;color:var(--lw-text-2);}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--lw-blue);color:#fff;border:none;border-radius:12px;font:700 16px/1 'Open Sans',sans-serif;padding:16px 20px;cursor:pointer;text-decoration:none;margin-top:16px;transition:background .18s;}
.btn:hover{background:var(--lw-blue-hover);}
.sous{font-size:13px;line-height:1.55;color:var(--lw-text-3);margin-top:14px;}

/* LibertiBenchmark : échéance et statut du marché */
.bm{display:grid;gap:18px;}
@media (min-width:900px){ .bm{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;} }
.ech-k{font:800 11px/1.2 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);}
.ech-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;}
.ech-d{font:700 28px/1.1 'IBM Plex Mono',monospace;color:var(--lw-ink);}
.ech-attente{font-size:15px;line-height:1.6;color:var(--lw-text-2);margin-top:10px;}
.badge{font:700 12px/1 'Open Sans',sans-serif;padding:6px 11px;border-radius:999px;}
.badge.rouge{color:#C0392B;background:rgba(231,76,60,.1);}
.ech-p{font-size:13.5px;color:var(--lw-text-3);margin-top:10px;}
.alert{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 15px;margin-top:16px;border:1px solid;}
.alert.rouge{background:rgba(231,76,60,.07);border-color:rgba(231,76,60,.25);}
.alert-t{font:800 14px/1.3 'Montserrat',sans-serif;color:var(--lw-ink);}
.alert-x{font-size:13.5px;color:var(--lw-text-2);margin-top:4px;line-height:1.55;}
.cal{border:1px solid var(--lw-border);border-radius:14px;overflow:hidden;background:#fff;}
.cal-h{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.cal-h div{background:var(--lw-navy);color:#fff;font:700 13px/1 'Open Sans',sans-serif;padding:14px 10px;text-align:center;}
.cal-r{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.cal-r div{padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;border-left:1px solid var(--lw-border);text-align:center;}
.cal-r div:first-child{border-left:0;}
/* La colonne de l'échéance ne s'allume qu'une fois l'échéance lue */
body:not(.etat-avant) .cal-h div.hl{background:var(--lw-blue);}
body:not(.etat-avant) .cal-r div.hl{background:rgba(59,111,229,.07);box-shadow:inset 0 0 0 2px rgba(59,111,229,.35);}
.pastille{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--lw-ink);}
.var-month{font-size:10.5px;color:var(--lw-text-3);}
/* Sous-titre des deux cartes de l'étape 2 : même hauteur réservée, donc les deux tableaux démarrent sur la même ligne. */
.ech-sub{font-size:15px;font-weight:600;line-height:1.45;color:var(--lw-text-2);margin:8px 0 16px;}
@media (min-width:900px){
  /* Étape 2 : même hauteur réservée à la date et à la phrase, puis l'alerte et le tableau remplissent le reste,
     donc les deux blocs ont exactement la même taille. */
  .bm > .card{display:flex;flex-direction:column;}
  .ech-corps{flex:1;display:flex;flex-direction:column;}
  .ech-row{min-height:46px;margin:8px 0 16px;}
  .ech-sub{min-height:46px;margin:8px 0 16px;}
  .alert{flex:1;margin-top:0;align-items:center;}
  .cal{flex:1;display:flex;flex-direction:column;}
  .cal-r{flex:1;}
  .cal-r div{justify-content:center;}
}
@media (max-width:520px){ .pastille{font-size:11px;gap:5px;} .cal-h div{font-size:11.5px;padding:12px 4px;} .cal-r div{padding:12px 3px;} .var-month{font-size:9.5px;} }

/* Étape 3 : le mail, puis la mise en concurrence et la décision */
.mail{display:grid;gap:22px;}
@media (min-width:900px){
  .mail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}
  /* Avant le dépôt et après l'envoi, la colonne de gauche est vide : le bloc prend toute la largeur. */
  body.etat-avant .mail, body.etat-envoye .mail{grid-template-columns:minmax(0,1fr);}
}
.derniere-t{font:800 19px/1.3 'Montserrat',sans-serif;color:var(--lw-navy);margin-bottom:10px;}
.derniere{font-size:15px;line-height:1.6;color:var(--lw-text-2);}
.derniere b{color:var(--lw-ink);}
.lb{display:block;font:800 11px/1 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--lw-text-3);margin-bottom:8px;}
.inp{width:100%;padding:14px 15px;border:1.5px solid var(--lw-border);border-radius:11px;font:16px 'Open Sans',sans-serif;background:#fff;}
.inp:focus{outline:none;border-color:var(--lw-blue);box-shadow:0 0 0 3px rgba(59,111,229,.13);}
.hint{font-size:12.5px;line-height:1.55;color:var(--lw-text-3);margin-top:10px;}
.hint a{color:var(--lw-blue);}
.attente{background:var(--lw-grey);border:1.5px dashed var(--lw-border);border-radius:12px;padding:22px;text-align:center;font-size:14.5px;line-height:1.6;color:var(--lw-text-2);}
.envoye{text-align:center;}
.envoye .ic{width:62px;height:62px;border-radius:50%;background:rgba(46,204,113,.14);display:grid;place-items:center;margin:0 auto 14px;}
.envoye h3{font:800 22px/1.2 'Montserrat',sans-serif;color:var(--lw-navy);}
.envoye p{font-size:15px;color:var(--lw-text-2);margin-top:6px;}
.next{list-style:none;margin-top:18px;display:grid;gap:10px;text-align:left;}
.next li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--lw-text-2);}
.ensuite-t{font:800 12px/1.2 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);margin:28px 0 12px;}
.ensuite{display:grid;gap:14px;}
@media (min-width:760px){ .ensuite{grid-template-columns:repeat(2,minmax(0,1fr));} }
.ens{background:var(--lw-blue);color:#fff;border-radius:16px;padding:22px 22px 24px;box-shadow:0 4px 20px rgba(59,111,229,.20);}
.ens-n{font:800 11px/1 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.ens-t{font-size:18px;font-weight:700;margin:8px 0 8px;}
.ens-d{font-size:14px;line-height:1.6;color:rgba(255,255,255,.85);}
@media (max-width:600px){ .stats{grid-template-columns:1fr;} }
.rapport{margin-top:22px;}

/* Étape 4 : LibertiDash */
.dash{background:var(--lw-navy);color:#fff;border-radius:18px;padding:32px 26px;display:grid;gap:34px;overflow:hidden;}
@media (min-width:900px){ .dash{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;padding:40px 44px;} }
.dash h3{font:800 clamp(22px,2.4vw,30px)/1.2 'Montserrat',sans-serif;letter-spacing:-.02em;}
.dash h3 span{color:var(--lw-blue-accent);}
.dash-txt > p{font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.82);margin-top:14px;}
.avantages{list-style:none;display:grid;gap:12px;margin-top:20px;}
.avantages li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:rgba(255,255,255,.82);}
.avantages li::before{content:"✓";flex:0 0 24px;height:24px;border-radius:50%;background:rgba(93,202,165,.18);color:var(--menthe);display:grid;place-items:center;font-weight:800;font-size:13px;margin-top:1px;}
.avantages b{color:#fff;}
.reserve{margin-top:20px;font-size:13px;font-weight:600;color:rgba(255,255,255,.62);}
.tel{width:100%;max-width:280px;margin:0 auto;background:#0B1220;border-radius:36px;padding:12px;box-shadow:0 30px 60px rgba(0,0,0,.35);}
.tel-ecran{background:#F8FAFC;border-radius:26px;overflow:hidden;}
/* En-tête de l'app : son icône (celle du manifeste) et son nom */
.tel-marque{display:flex;align-items:center;gap:11px;padding:15px 16px 14px;background:#fff;border-bottom:1px solid var(--lw-border);}
.tel-logo{width:36px;height:36px;border-radius:11px;flex:0 0 auto;}
.tel-marque b{font:800 17px/1 'Montserrat',sans-serif;letter-spacing:-.01em;color:var(--lw-navy);}
/* Aperçu flouté : la structure de l'app se devine, rien ne se lit. Le voile fond le bas de l'écran. */
.tel-apercu{position:relative;height:430px;overflow:hidden;background:#F8FAFC;}
.tel-flou{padding:12px;display:grid;gap:9px;filter:blur(4.5px) saturate(1.04);transform:scale(1.03);transform-origin:top center;}
.tel-voile{position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(to bottom,rgba(248,250,252,0),rgba(248,250,252,.9) 72%,#F8FAFC);}
.tf{background:#fff;border-radius:14px;padding:12px 13px;display:grid;gap:5px;}
.tf-bleu{background:linear-gradient(135deg,#4A7CE8,#3B6FE5 55%,#2C56C9);color:#fff;}
.tf-h{display:flex;align-items:center;gap:8px;}
.tf-h span{flex:1;font-size:12.5px;color:var(--lw-text-2);}
.tf-bleu .tf-h span{color:rgba(255,255,255,.85);}
.tf-h strong{flex:1;font:700 13px/1.25 'Open Sans',sans-serif;color:var(--lw-ink);}
.tf-h em{font-style:normal;font:700 13px/1 'IBM Plex Mono',monospace;color:var(--lw-ink);}
.tf-h i{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:9px;background:rgba(59,111,229,.12);color:var(--lw-blue);}
.tf-bleu .tf-h i{background:rgba(255,255,255,.2);color:#fff;}
.tf-h svg{width:14px;height:14px;}
.tf-pastille{font-style:normal;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;}
.tf b{font:800 24px/1.1 'Montserrat',sans-serif;color:var(--lw-ink);}
.tf-bleu b{color:#fff;}
.tf b small{font-size:14px;font-weight:700;color:var(--lw-text-3);}
.tf-bleu b small{color:rgba(255,255,255,.8);}
.tf-m{font-size:20px;}
.tf-date{font-size:19px;}
.tf-s{font-size:11.5px;color:var(--lw-text-3);}
.tf-bleu .tf-s{color:rgba(255,255,255,.82);}
.tf-barre{display:flex;gap:3px;height:26px;}
.tf-barre i{border-radius:6px;background:var(--lw-blue);}
.tf-barre i.or{background:#F39C12;} .tf-barre i.vert{background:#2ECC71;} .tf-barre i.rouge{background:#E5484D;}
.tf-leg{font-size:11px;color:var(--lw-text-3);}
.tf-leg b{font:700 12px/1.3 'Open Sans',sans-serif;color:var(--lw-green);}
.tf-jauge{height:7px;border-radius:99px;background:rgba(255,255,255,.22);overflow:hidden;margin-top:4px;}
.tf-jauge span{display:block;height:100%;border-radius:99px;background:#2ECC71;}
.tf-jl{display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.75);}
.tf-marche{margin-top:4px;border:1px solid rgba(255,255,255,.45);border-radius:12px;padding:9px 12px;font-size:12px;font-weight:600;}
.tf-p{font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.85);}
/* Barre d'onglets de l'app : icônes seules, pastille sur l'onglet ouvert */
.tel-nav{display:flex;justify-content:space-around;align-items:center;gap:2px;padding:9px 6px 11px;background:var(--lw-navy);}
.tel-nav span{display:grid;place-items:center;width:32px;height:28px;border-radius:9px;color:rgba(255,255,255,.55);}
.tel-nav span.on{background:var(--lw-blue);color:#fff;box-shadow:0 7px 16px -5px rgba(59,111,229,.7);}
.tel-nav svg{width:18px;height:18px;}
/* Disponibilité : ce que l'on montre à la place de l'intérieur de l'application */
.dispo{text-align:center;}
@media (min-width:900px){ .dispo{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.13);padding-top:26px;margin-top:-6px;} }
.dispo-t{font:800 10px/1 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.dispo-l{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:13px;}
.dispo-l li{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:700;color:#fff;}
.dispo-l svg{width:16px;height:16px;flex:0 0 auto;color:var(--lw-blue-accent);}
.dispo-n{margin:13px auto 0;max-width:330px;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.62);}

/* ═══ Blocs repris tels quels de l'accueil : fournisseurs, engagements ═══ */
.lw-card{
  background:var(--lw-blue);border:1.5px solid rgba(255,255,255,0.10);border-radius:20px;
  box-shadow:0 4px 20px rgba(59,111,229,0.20);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  opacity:0;transform:translateY(18px);
}
.lw-card.visible{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease,box-shadow .25s ease,border-color .25s ease;}
.lw-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(59,111,229,0.32);border-color:rgba(255,255,255,0.20);}
@media (prefers-reduced-motion: reduce){
  .lw-card{opacity:1;transform:none;}
}
.logos-marquee{max-width:1320px;margin:44px auto 0;overflow:hidden;position:relative;}
.logos-marquee::before,.logos-marquee::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;}
.logos-marquee::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0));}
.logos-marquee::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0));}
.logos-marquee .track{display:flex;gap:18px;width:max-content;animation:logoScroll 80s linear infinite;}
.logos-marquee:hover .track{animation-play-state:paused;}
.logos-marquee .logo{flex:0 0 auto;height:72px;background:#fff;border:1px solid var(--lw-border);border-radius:14px;display:grid;place-items:center;padding:14px 26px;}
.logos-marquee .logo-more{flex:0 0 auto;height:72px;background:var(--lw-grey);border:1px dashed var(--lw-border);border-radius:14px;display:grid;place-items:center;padding:14px 24px;font-size:13px;font-weight:700;color:var(--lw-text-3);white-space:nowrap;}
.logos-marquee .logo img{max-height:34px;max-width:150px;width:auto;height:auto;object-fit:contain;filter:grayscale(100%) opacity(0.55);transition:filter .2s ease;}
.logos-marquee .logo:hover img{filter:grayscale(0%) opacity(1);}
@keyframes logoScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.logos-marquee .track{animation:none;}}
.logos-cap{text-align:center;font-size:11px;color:var(--lw-text-4);margin-top:14px;letter-spacing:.06em;text-transform:uppercase;}
@keyframes logoScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.engagements{display:flex;gap:18px;max-width:1320px;margin:0 auto;align-items:stretch;}
.engage{flex:1;display:flex;flex-direction:column;padding:30px 28px 32px;border-radius:20px;color:#fff;}
.engage .ico{width:48px;height:48px;border-radius:13px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.18);display:grid;place-items:center;margin-bottom:18px;}
.engage .ico svg{width:24px;height:24px;stroke:#fff;}
.engage .e-num{font-size:12px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-bottom:4px;}
.engage .e-title{font-size:18px;font-weight:700;line-height:1.3;margin-bottom:12px;}
.engage .e-desc{flex:1;font-size:13.5px;font-weight:600;line-height:1.65;color:rgba(255,255,255,0.78);}
.engage .e-desc b{color:#fff;font-weight:800;}
.engage-footer{display:flex;gap:18px;max-width:1320px;margin:36px auto 0;align-items:stretch;}
.ef-stat{flex:1.4;background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:18px;padding:28px 30px;display:flex;align-items:center;gap:24px;}
.ef-stat .num{font-size:46px;font-weight:800;color:var(--lw-blue);line-height:1;letter-spacing:-0.02em;flex-shrink:0;}
.ef-stat .txt strong{display:block;font-size:14px;color:var(--lw-ink);margin-bottom:4px;}
.ef-stat .txt span{font-size:13px;color:var(--lw-text-3);line-height:1.55;}
.ef-partner{flex:1;background:#fff;border:1px solid var(--lw-border);border-radius:18px;padding:28px 30px;display:flex;flex-direction:column;justify-content:center;}
.ef-partner .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-4);margin-bottom:8px;}
.ef-partner .v{font-size:18px;font-weight:700;color:var(--lw-ink);}
.ef-partner .v b{color:var(--lw-blue);}
.ef-partner .s{margin-top:8px;font-size:13px;color:var(--lw-text-3);}
@media (max-width:800px){
  .engagements{flex-direction:column;}
  .engage-footer{flex-direction:column;}
}
@media (max-width:600px){
  .ef-stat{flex-direction:column;align-items:flex-start;text-align:left;gap:12px;}
}
.engagements .lw-card{opacity:1;transform:none;}
.logos-marquee{margin-top:18px;}
.logos-marquee::before{background:linear-gradient(90deg,var(--lw-ivory),rgba(246,248,251,0));}
.logos-marquee::after{background:linear-gradient(270deg,var(--lw-ivory),rgba(246,248,251,0));}

/* ═══ Appel final + footer (identiques au site) ═══ */
.lw-footer-cta{background:var(--lw-navy);color:#fff;text-align:center;padding:88px 5% 96px;}
.lw-footer-cta .fc-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 16px;margin-bottom:22px;}
.lw-footer-cta h2{font-size:clamp(26px,3.6vw,44px);font-weight:800;line-height:1.12;letter-spacing:-0.02em;max-width:900px;margin:0 auto 18px;}
.lw-footer-cta h2 .accent{color:#7DA2F2;}
.lw-footer-cta p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.78);max-width:680px;margin:0 auto 32px;}
.lw-footer-cta .fc-note{margin-top:18px;font-size:12px;color:rgba(255,255,255,.55);}
.lw-footer{background:#001F6B;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.7);padding:40px 5%;}
.lw-footer-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.lw-footer .f-brand img{height:40px;width:auto;}
.lw-footer .f-links{display:flex;gap:22px;flex-wrap:wrap;}
.lw-footer .f-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:13px;}
.lw-footer .f-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.lw-footer .f-social{display:flex;align-items:center;gap:10px;}
.lw-footer .f-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);}
.lw-footer .f-social svg{display:block;}
.lw-footer .f-divider{width:1px;height:18px;background:rgba(255,255,255,.15);}
.lw-footer .f-copy{width:100%;text-align:center;font-size:12px;color:rgba(255,255,255,.45);margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);}
@media (max-width:600px){
  .lw-footer-cta{padding:60px 20px 68px;}
  .lw-footer-inner{flex-direction:column;align-items:flex-start;}
  .lw-footer .f-right{width:100%;justify-content:space-between;}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }

/* ═══════════ VERSION ÉPURÉE : la forme de la V5 sur le fond de l'accueil ═══════════ */
/* Un seul style de titre : Montserrat 800, serré, navy */
.lw-h1,.lw-h2{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--lw-navy);}
.lw-h1{font-size:clamp(34px,5vw,60px);line-height:1.06;letter-spacing:-.04em;}
.lw-h2{font-size:clamp(27px,3.6vw,44px);line-height:1.1;letter-spacing:-.035em;}
.lw-footer-cta h2{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.035em;}
.etape-h h2{font-size:clamp(24px,2.8vw,34px);letter-spacing:-.03em;}
.trois li span,.ens-t,.fr-t,.engage .e-title{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.015em;}
.lw-tag{border:0;}
.tag-an{background:none;border:0;padding:0;margin-left:8px;}

/* Ouverture comme la V5 : texte à gauche, aperçu à droite */
.hero{text-align:left;max-width:none;margin:0;padding:84px 5% 88px;background:linear-gradient(180deg,#fff 0%,#F7F9FD 100%);border-bottom:1px solid var(--lw-border);}
.hero-grille{max-width:1180px;margin:0 auto;display:grid;gap:44px;align-items:center;}
@media (min-width:900px){ .hero-grille{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:60px;} }
.hero .lw-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:0;}
.hero .lw-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lw-blue);}
.hero .lw-h1{max-width:none;margin:22px 0 0;font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.045em;}
.hero .lw-h1 .accent{display:inline;}
.hero .lw-sub{margin:22px 0 0;max-width:650px;font-size:18px;line-height:1.6;}
.hero .btn-primary{margin-top:30px;padding:16px 26px;border-radius:10px;font-size:17px;font-weight:800;text-align:center;box-shadow:0 10px 24px rgba(59,111,229,.2);}
.hero .trust{justify-content:flex-start;margin-top:18px;}
.apercu{background:var(--lw-navy);border-radius:22px;padding:25px;color:#fff;box-shadow:0 25px 60px rgba(0,31,107,.18);}
.apercu-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;}
.apercu-k{font:700 10.5px/1 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.apercu-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8DE0B6;}
.apercu-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#45C98A;}
.apercu-note{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:17px;padding:20px;}
.apercu-ligne{display:flex;justify-content:space-between;align-items:center;gap:20px;}
.apercu-t{display:block;font:800 19px/1.25 'Montserrat',sans-serif;}
.apercu-ligne p{font-size:13.5px;color:rgba(255,255,255,.72);margin-top:5px;}
.apercu-lettre{font:900 72px/1 'Montserrat',sans-serif;color:var(--b);}
.apercu-jauge{height:9px;background:rgba(255,255,255,.09);border-radius:9px;margin-top:20px;overflow:hidden;}
.apercu-jauge i{display:block;width:43%;height:100%;background:linear-gradient(90deg,#2ECC71,#52BE80);border-radius:9px;}
.apercu-echelle{display:flex;justify-content:space-between;margin-top:7px;font:500 10.5px/1 'IBM Plex Mono',monospace;color:rgba(255,255,255,.62);}
.apercu-bm{margin-top:12px;padding:17px;background:#fff;color:var(--lw-ink);border-radius:15px;}
.apercu-bm-h{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.apercu-bm-h strong{font:800 14.5px/1.2 'Montserrat',sans-serif;color:var(--lw-navy);}
.apercu-pill{font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;background:#ECFBF3;color:var(--lw-green);white-space:nowrap;}
.apercu-bm p{font-size:13.5px;line-height:1.55;color:var(--lw-text-2);margin-top:7px;}
.apercu-bm b{color:var(--lw-navy);}
/* Les trois questions, sur fond blanc, apparaissent l'une après l'autre quand la rangée arrive à l'écran */
.trois{max-width:1180px;margin:56px auto 0;}
.trois li{background:#fff;color:var(--lw-navy);border:1px solid var(--lw-border);box-shadow:0 1px 2px rgba(15,23,42,.04);}
.trois li b{background:rgba(59,111,229,.1);color:var(--lw-blue);}
.trois li em{color:var(--lw-text-2);background:var(--lw-grey);border:1px solid var(--lw-border);}
.js-anim .trois li{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.js-anim .trois.vu li{opacity:1;transform:none;}
.js-anim .trois.vu li:nth-child(2){transition-delay:.25s;}
.js-anim .trois.vu li:nth-child(3){transition-delay:.5s;}
.js-anim .trois.vu li:nth-child(4){transition-delay:.75s;}
@media (prefers-reduced-motion:reduce){ .js-anim .trois li{opacity:1;transform:none;transition:none;} }
/* « Où en est mon contrat ? » et « Quand agir ? » sont cliquables : toute la carte mène à l'étape */
.trois li{position:relative;}
.trois li:has(> a){display:grid;padding:0;}
.trois-lien{display:flex;flex-direction:inherit;align-items:inherit;justify-content:inherit;gap:inherit;padding:34px 24px 30px;color:inherit;text-decoration:none;border-radius:inherit;}
.trois li:has(> a):hover{border-color:var(--lw-blue);box-shadow:0 12px 28px rgba(59,111,229,.14);}
.trois-fl{position:absolute;top:14px;right:16px;font-style:normal;font-weight:800;color:var(--lw-blue);}
/* La stratégie d'achat en 4 temps : Mesurer, Anticiper, Décider, Piloter */
.quatre{grid-template-columns:repeat(3,minmax(0,1fr));}
.quatre li b{width:40px;height:40px;border-radius:12px;font-size:13px;}
.quatre small{font-size:14px;font-weight:600;line-height:1.35;color:var(--lw-text-2);margin-top:-4px;}
/* Barre latérale à 4 repères (le suivi mensuel n'y figure plus) */
@media (max-width:1079px){ .side-l{grid-template-columns:repeat(3,minmax(0,1fr));} }

/* Le bleu plein reste aux boutons */
.n{background:rgba(59,111,229,.12);color:var(--lw-blue);}
.ens{background:#fff;color:var(--lw-navy);border:1px solid var(--lw-border);box-shadow:none;}
.ens-n{color:var(--lw-blue);}
.ens-d{color:var(--lw-text-2);}
.engagements .lw-card{background:#fff;border:1px solid var(--lw-border);box-shadow:0 1px 2px rgba(15,23,42,.04);}
.engagements .lw-card:hover{border-color:var(--lw-border);box-shadow:0 12px 28px rgba(15,23,42,.08);}
.engage{color:var(--lw-navy);}
.engage .ico{background:rgba(59,111,229,.1);border:0;}
.engage .ico svg{stroke:var(--lw-blue);}
.engage .ico span{color:var(--lw-blue) !important;}
.engage .e-num{color:var(--lw-text-3);}
.engage .e-title{color:var(--lw-navy);}
.engage .e-desc{color:var(--lw-text-2);}
.engage .e-desc b{color:var(--lw-ink);}

/* Plus d'air */
.lw-section{padding:104px 5% 112px;}
.lw-head{margin-bottom:56px;}
.card{padding:26px;}
@media (min-width:1080px){ .parcours{padding:88px 0 120px;} .etapes{gap:96px;} }

/* LibertiScore : l'abonnement en euros, sans lettre (la lettre peut pénaliser la meilleure offre) */
.dsc-abo{display:flex;flex-direction:column;justify-content:center;}
.dsc-m{font:700 30px/1.1 'IBM Plex Mono',monospace;color:#fff;margin:14px 0 6px;}
.dsc-abo .dsc-lb{color:rgba(255,255,255,.62);font-weight:600;}

/* Résultat : les fournisseurs susceptibles de faire une offre */
.fr-res{margin-top:16px;}
@media (min-width:760px){
  .fr-res .fr-l{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;}
  .fr-res .fr-l li,.fr-res .fr-l li:first-child{border:1px solid var(--lw-border);border-radius:12px;padding:10px 12px;}
}

/* Sans facture sous la main : être recontacté */
.sans{text-align:center;margin-top:16px;}
.sans-b{background:none;border:0;color:var(--lw-blue);font:700 15px/1.4 'Open Sans',sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px 4px;}
.sf{display:grid;gap:22px;}
@media (min-width:900px){ .sf{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;column-gap:36px;} .sf .sf-retour{grid-column:1 / -1;justify-self:start;} }
.sf-t h3{font:800 24px/1.2 'Montserrat',sans-serif;color:var(--lw-navy);letter-spacing:-.02em;}
.sf-t p{font-size:15px;line-height:1.6;color:var(--lw-text-2);margin-top:10px;}
.sf-form{display:grid;gap:16px;}
.sf-form .btn{margin-top:4px;}
.sf .hint{margin-top:0;}
.sf .sf-retour{margin-top:0;}
/* Formulaire sur une seule colonne : la fiche entreprise suit le champ ; le retour à la facture sous le texte, pas en bas de carte */
.sf-form .ent{grid-area:auto;}
.sf-form{max-width:560px;}
@media (min-width:900px){
  .sf{grid-template-rows:auto 1fr;}
  .sf > div:not(.sf-t){grid-column:2;grid-row:1 / span 2;}
  .sf .sf-retour{grid-column:1;grid-row:2;align-self:start;justify-self:start;}
}

/* Carte résultat, reprise de la V5 : quatre cases alignées, la facture passe de l'actuelle à l'alignée */
.resultat{background:var(--lw-navy);color:#fff;border-radius:20px;padding:28px;}
.resultat-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;}
.resultat-h small{display:block;font:700 11px/1.2 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.resultat-h h3{font:800 21px/1.25 'Montserrat',sans-serif;margin-top:6px;}
.resultat-lettre{font:900 54px/1 'Montserrat',sans-serif;}
.resultat-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.metrique{display:flex;flex-direction:column;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px;}
.metrique span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.metrique strong{font:700 25px/1.2 'IBM Plex Mono',monospace;color:#fff;margin-top:8px;transition:color .4s;}
.metrique em{font-style:normal;font-size:12.5px;color:rgba(255,255,255,.62);margin-top:4px;}
.facture-dyn.alignee strong{color:#7DDE92;}
.resultat-pied{margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.6);}
.resultat + .grille{margin-top:16px;}
/* Part réglementaire sur toute la largeur : le compteur à gauche, les lignes à droite */
@media (min-width:760px){
  .reg{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:32px;align-items:start;}
  .reg .carte-t{grid-column:1 / -1;}
  .reg .compteur{grid-column:1;grid-row:2 / span 4;margin-bottom:0;}
  .reg .ligne{grid-column:2;}
}
@media (max-width:520px){ .resultat{padding:22px 18px;} .resultat-grille{grid-template-columns:1fr;} .metrique strong{font-size:23px;} .fa-chiffres{grid-template-columns:1fr;} .parts .metrique span{min-height:0;} }

/* Les deux parts côte à côte, sur le modèle de la carte résultat ; les cases passent sur une colonne si la carte est étroite */
.parts .resultat-h h3{font-size:19px;}
.parts .resultat{padding:22px;}
.parts .metrique{padding:16px;}
.parts .metrique strong{font-size:20px;}
.parts .resultat-pied b{color:#fff;}
/* Part réglementaire en blanc : ce qui ne se négocie pas se distingue d'un coup d'œil de la part fournisseur (navy) */
.parts .resultat{border:1px solid var(--lw-navy);}
.resultat.clair{background:#fff;color:var(--lw-ink);border-color:var(--lw-border);box-shadow:0 1px 2px rgba(15,23,42,.04);}
.resultat.clair .resultat-h small{color:var(--lw-text-3);}
.resultat.clair .resultat-h h3{color:var(--lw-navy);}
.resultat.clair .metrique{background:var(--lw-grey);border-color:var(--lw-border);}
.resultat.clair .metrique span{color:var(--lw-text-3);}
.resultat.clair .metrique strong{color:var(--lw-ink);}
.resultat.clair .metrique em{color:var(--lw-text-2);}
.resultat.clair .resultat-pied{color:var(--lw-text-2);}
.resultat-contrat{margin-top:8px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.78);}
.resultat-contrat em{font-style:normal;color:#9FB8F5;}
.resultat-contrat + .resultat-contrat{margin-top:3px;}
.resultat.clair .resultat-contrat{color:var(--lw-text-2);}
/* Carte conseil, aux couleurs de la note du LibertiScore */
.conseil{--note:#52BE80;--note-fond:rgba(82,190,128,.1);margin-top:16px;display:flex;align-items:center;gap:18px;background:var(--note-fond);border:1.5px solid var(--note);border-left-width:6px;border-radius:14px;padding:18px 22px;}
.conseil[data-note="A+"],.conseil[data-note="A"]{--note:#2ECC71;--note-fond:rgba(46,204,113,.1);}
.conseil[data-note="C"]{--note:#F39C12;--note-fond:rgba(243,156,18,.1);}
.conseil[data-note="D"]{--note:#E05252;--note-fond:rgba(224,82,82,.1);}
.conseil[data-note="F"]{--note:#E74C3C;--note-fond:rgba(231,76,60,.1);}
.conseil-note{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--note);color:#fff;display:grid;place-items:center;font:900 26px/1 'Montserrat',sans-serif;}
.conseil-k{display:block;font:800 11px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);}
.conseil-t{font-size:16px;font-weight:600;line-height:1.55;color:var(--lw-ink);margin-top:4px;}
@media (max-width:520px){ .conseil{align-items:flex-start;padding:16px;gap:14px;} .conseil-note{width:44px;height:44px;font-size:22px;} }
/* « Bonne nouvelle » au-dessus de la liste des fournisseurs */
.ic-cmp{color:var(--lw-blue);}
.fr-k{font:800 11px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-green);margin-bottom:6px;}
/* Situation estimée et écarts en fourchette ; l'email dans la carte de comparaison */
.fa-v.fa-fourchette{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:2px;font-size:clamp(20px,2.1vw,24px);}
.fa-fourchette small{font:600 14px/1 'Open Sans',sans-serif;color:var(--lw-text-2);}
.cmp-mail{margin:0 0 22px;padding-bottom:22px;border-bottom:1px solid var(--lw-border);}
.ap-carte.clair{background:#fff;border-color:#fff;}
.ap-carte.clair .ap-tete small{color:var(--lw-text-3);}
.ap-carte.clair .ap-tete strong,.ap-carte.clair .ap-date{color:var(--lw-navy);}
.ap-carte.clair .ap-tuiles div{background:var(--lw-grey);border-color:var(--lw-border);}
.ap-carte.clair .ap-tuiles span{color:var(--lw-text-3);}
.ap-carte.clair .ap-tuiles b{color:var(--lw-ink);}
.ap-carte.clair .ap-tuiles em{color:var(--lw-text-2);}

/* Votre facture vs alignée : le montant et la note passent de l'actuel à l'aligné */
.cmp-card{margin-top:16px;}
.dyn{text-align:center;background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:14px;padding:22px 18px;transition:background .4s,border-color .4s;}
.dyn.alignee{background:rgba(46,204,113,.07);border-color:rgba(46,204,113,.35);}
.dyn-note{display:flex;align-items:center;justify-content:center;gap:10px;}
.dyn-lettre{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;color:#fff;font:900 27px/1 'Montserrat',sans-serif;font-style:normal;background:var(--note,var(--b));transition:background .4s;}
.dyn.alignee .dyn-lettre{background:var(--a);animation:dyn-pop .45s ease;}
@keyframes dyn-pop{0%{transform:scale(.82);}60%{transform:scale(1.12);}100%{transform:scale(1);}}
.dyn-label{font-size:15px;font-weight:700;color:var(--lw-ink);}
.dyn-k{margin-top:16px;font:800 11px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);}
.dyn-v{font:700 34px/1.1 'IBM Plex Mono',monospace;color:var(--lw-ink);margin:6px 0 4px;transition:color .4s;}
.dyn.alignee .dyn-v{color:var(--lw-green);}
.dyn-s{font-size:13px;color:var(--lw-text-2);}
.dyn-ecart{margin-top:14px;padding-top:12px;border-top:1px solid var(--lw-border);font-size:13px;line-height:1.5;color:var(--lw-text-2);}
.dyn-ecart b{color:#C0392B;}
@media (prefers-reduced-motion:reduce){ .dyn.alignee .dyn-lettre{animation:none;} }

/* Étape 2 comme la V5 : le texte à gauche, la carte du marché à droite */
@media (min-width:1180px){ .etape-bm{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;align-items:center;} .etape-bm .etape-h{margin-bottom:0;} }
.marche-carte{padding:24px;}
.marche-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;}
.marche-h strong{font:800 17px/1.3 'Montserrat',sans-serif;color:var(--lw-navy);}
.marche-h span{font-size:12px;color:var(--lw-text-3);}
.annees{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px;}
.annee{border:1px solid var(--lw-border);border-radius:12px;padding:16px 6px;text-align:center;}
.annee.active{border:2px solid var(--lw-blue);background:#F2F6FF;}
.annee b{display:block;font:700 14px/1.2 'IBM Plex Mono',monospace;color:var(--lw-navy);}
.annee span{display:block;font-size:12.5px;font-weight:800;margin-top:9px;}
.annee .bon{color:var(--lw-green);}
.annee .stable{color:var(--lw-text-3);}
.annee .tendu{color:#B45309;}
.marche-verdict{margin-top:17px;padding:14px 16px;background:#F4F7FC;border-radius:12px;font-size:14px;line-height:1.6;color:var(--lw-text-2);}
.marche-verdict b{color:var(--lw-navy);}
@media (max-width:520px){ .annees{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* Étape 4 : le vrai dossier d'abord */
.etape-h + .rapport{margin-top:0;}
.rapport + .ensuite{margin-top:24px;}

/* Le suivi mensuel (LibertiDash) clôt la page */
.suivi-fin{background:var(--lw-ivory);border-top:1px solid var(--lw-border);padding:96px 5% 104px;}
.suivi-in{max-width:1180px;margin:0 auto;}

/* En-tête comme la V5 : contenu aligné sur la page, flamme + nom en Montserrat, menu en gras */
.lw-nav{display:block;padding:0 5%;}
.lw-nav-in{max-width:1180px;height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;}
.lw-nav .brand img{height:35px;width:auto;}
.brand-nom{font:800 21px/1 'Montserrat',sans-serif;letter-spacing:-.04em;color:#fff;white-space:nowrap;}
.brand-nom span{color:#FFB347;}
.lw-nav .menu{gap:27px;}
.lw-nav .menu a{font-size:13px;font-weight:700;color:#DCE5F7;}
.lw-nav .menu a:hover{color:#fff;}
.lw-nav .menu a.nav-cta{padding:10px 18px;border-radius:9px;color:#fff;}
@media (max-width:900px){ .lw-nav .menu a{font-size:15px;} }

/* Les deux parts alignées ligne à ligne : en-tête, cases, pied (sous-grille commune aux deux cartes) */
@media (min-width:760px){
  .parts{grid-template-rows:repeat(3,auto);}
  .parts .resultat{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;}
  .parts .resultat-h{grid-row:1;margin-bottom:0;padding-bottom:22px;}
  .parts .resultat-grille{grid-row:2 / span 2;grid-template-rows:subgrid;row-gap:12px;}
  .parts .resultat-pied{grid-row:3;margin-top:0;padding-top:16px;}
}
/* Cartes côte à côte mais étroites (sans barre latérale sous 800 px, avec barre latérale sous 1 160 px) : une case par ligne */
@media (min-width:760px) and (max-width:799px), (min-width:1080px) and (max-width:1159px){ .parts .resultat-grille{grid-template-columns:1fr;grid-template-rows:none;} }

/* Votre facture vs alignée : deux cartes, montant et note, l'écart dessous */
.fa{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:stretch;}
.fa-box{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1.5px solid var(--lw-border);border-radius:14px;padding:20px;}
.fa-box.alignee{border:2px solid var(--lw-green);box-shadow:0 12px 28px rgba(29,138,78,.1);}
.fa-k{font:800 11px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);}
.fa-v{font:700 32px/1.1 'IBM Plex Mono',monospace;color:var(--lw-ink);margin-top:10px;}
.fa-box.alignee .fa-v{color:var(--lw-green);}
.fa-s{font-size:13px;color:var(--lw-text-2);margin-top:4px;}
.fa-note{display:flex;align-items:center;gap:10px;margin-top:16px;}
.fa-note i{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font:900 21px/1 'Montserrat',sans-serif;font-style:normal;transition:background .3s;}
.fa-note span{font-size:15px;font-weight:700;color:var(--lw-ink);}
.fa-box.alignee.fa-fini .fa-note i{animation:dyn-pop .45s ease;}
.fa-fl{align-self:center;font-size:24px;color:var(--lw-text-4);}
.fa-ecart{margin-top:16px;font-size:15px;color:var(--lw-text-2);}
.fa-ecart b{color:#C0392B;}
@media (max-width:600px){ .fa{grid-template-columns:1fr;} .fa-fl{justify-self:center;transform:rotate(90deg);} }
@media (prefers-reduced-motion:reduce){ .fa-box.alignee.fa-fini .fa-note i{animation:none;} }

/* Carte LibertiDash : son titre est une phrase, donc plus petit que l'ancien titre, et sans couleur d'accent */
.dash h3{font-size:clamp(19px,1.9vw,24px);line-height:1.35;letter-spacing:-.01em;}
.dash h3 .nb{color:inherit;}

/* Dépôt : les trois points sur une ligne chacun, la date des données, l'état « analyse en cours » */
.comment li b{display:inline;margin:0;}
.maj{margin-top:12px;font-size:13px;line-height:1.5;color:var(--lw-text-3);}
.drop.en-cours{cursor:progress;border-style:solid;}
.drop.en-cours .drop-ic{animation:depot-pouls 1s ease-in-out infinite;}
@keyframes depot-pouls{50%{transform:scale(.9);opacity:.6;}}

/* Les deux parts : libellés sur deux lignes réservées, pour que les montants restent alignés */
.parts .metrique span{min-height:2.6em;}

/* Votre contrat comparé aux conditions de marché : écarts et périmètre */
.fa-chiffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;}
.fa-chiffres div{background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:12px;padding:12px 14px;}
.fa-chiffres dt{font:800 11px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-3);}
.fa-chiffres dd{font:700 20px/1.2 'IBM Plex Mono',monospace;color:#B42318;margin-top:6px;}
.fa-perimetre{margin-top:14px;font-size:13.5px;line-height:1.55;color:var(--lw-text-2);}
.fa-perimetre b{color:var(--lw-ink);}

/* Appel à l'action sous le résultat */
.res-cta{margin-top:20px;text-align:center;}
.res-cta .btn{display:inline-flex;width:auto;margin-top:0;padding:16px 28px;}
.res-cta p{margin-top:10px;font-size:13.5px;color:var(--lw-text-2);}

/* Formulaires : obligatoires, erreurs */
.oblig{font-size:13px;color:var(--lw-text-3);}
.req{color:#B42318;font-weight:800;}
.err{margin-top:6px;font-size:13px;font-weight:600;color:#B42318;}
.qui-champ input[aria-invalid="true"],.inp[aria-invalid="true"]{border-color:#B42318;}
.btn[aria-busy="true"]{cursor:progress;opacity:.8;}
.facultatif{font-weight:600;color:var(--lw-text-3);}

/* Clavier et contraste */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lw-blue);outline-offset:2px;}
.lw-nav a:focus-visible,.lw-nav button:focus-visible,.dash a:focus-visible{outline-color:#9FB8F5;}
.eyebrow{color:#2C56C9;}
.ent-f dt{color:var(--lw-text-3);}
@media (prefers-reduced-motion:reduce){ .drop.en-cours .drop-ic{animation:none;} }

/* Mobile et contraste, vérifiés le 15/09 : écarts sur une colonne, libellés sans hauteur réservée, pied de page plus lisible */
.lw-footer .f-copy{color:rgba(255,255,255,.6);}
@media (max-width:520px){ .fa-chiffres{grid-template-columns:1fr;} .parts .metrique span{min-height:0;} }

/* Aperçu du hero : les mêmes cartes que l'analyse, en réduit */
.ap-carte{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;}
.ap-carte + .ap-carte{margin-top:12px;}
.ap-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.ap-tete small{display:block;font:700 10px/1.3 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.ap-tete strong{display:block;font:800 17px/1.2 'Montserrat',sans-serif;color:#fff;margin-top:5px;}
.ap-lettre{font:900 44px/1 'Montserrat',sans-serif;color:var(--b);}
.ap-date{font:700 16px/1.2 'IBM Plex Mono',monospace;color:#fff;white-space:nowrap;}
.ap-tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
.ap-tuiles div{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;}
.ap-tuiles span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.ap-tuiles b{display:block;font:700 17px/1.2 'IBM Plex Mono',monospace;color:#fff;margin-top:4px;}
.ap-tuiles em{display:block;font-style:normal;font-size:11px;color:rgba(255,255,255,.62);}

/* Résultat : la facture totale sur toute la largeur de la carte, l'échéance à droite du statut du marché */
.metrique.large{grid-column:1 / -1;}
.resultat-date{text-align:right;}
.resultat-date strong{display:block;font:700 22px/1.1 'IBM Plex Mono',monospace;color:#fff;white-space:nowrap;}
.resultat-date em{display:block;font-style:normal;font-size:12.5px;color:#9FB8F5;margin-top:5px;}

/* Comparaison : les écarts sous les deux cartes, mêmes largeurs ; flous jusqu'à l'email */
.fa-ecart-box{background:var(--lw-grey);border:1px solid var(--lw-border);border-radius:12px;padding:12px 14px;}
.fa-ecart-box b{display:block;font:700 20px/1.2 'IBM Plex Mono',monospace;color:#B42318;margin-top:6px;}
.flou{filter:blur(7px);user-select:none;transition:filter .5s ease;}
body.etat-envoye .flou{filter:none;user-select:auto;}
body.etat-envoye .si-pas-envoye{display:none !important;}
.fa-verrou{margin-top:14px;font-size:14px;font-weight:600;color:var(--lw-ink);}
.fa-verrou a{margin-left:6px;font-weight:700;color:var(--lw-blue);}
.lien-rapport{font-weight:700;color:var(--lw-blue);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.rapport-lien{margin-top:10px;font-size:14px;}
.envoye .rapport-lien{margin-top:18px;}
.fr-res .logos-marquee{margin-top:18px;}
.fr-res .logos-marquee::before{background:linear-gradient(90deg,#fff,rgba(255,255,255,0));}
.fr-res .logos-marquee::after{background:linear-gradient(270deg,#fff,rgba(255,255,255,0));}

#engagements{border-top:1px solid var(--lw-border);}

/* En-têtes des deux cartes du résultat : l'étiquette sur toute la largeur, puis le titre et la note (ou l'échéance) */
.parts .resultat-h{display:block;}
.parts .resultat-h small{display:block;}
.resultat-ligne{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:6px;}
.parts .resultat-h h3{margin-top:0;}
@media (max-width:520px){
  .resultat-ligne{flex-wrap:wrap;row-gap:6px;}
  .resultat-date{text-align:left;}
}


@media (max-width:700px){ .sit-options{grid-template-columns:1fr;} }
@media (max-width:600px){
  .hero{padding:52px 20px 60px;}
  .trois{margin:36px auto 0;}
  .hero .lw-sub{font-size:16.5px;}
  .trois-lien{padding:18px 16px;}
  .trois-fl{position:static;margin-left:6px;}
  .quatre{grid-template-columns:1fr;}
  .quatre .trois-lien{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"n v p" "n q p";align-items:center;column-gap:12px;row-gap:2px;text-align:left;}
  .quatre .trois-lien b{grid-area:n;}
  .quatre .trois-lien span{grid-area:v;}
  .quatre .trois-lien small{grid-area:q;margin-top:0;}
  .quatre .trois-lien em{grid-area:p;margin-left:0;}
  .quatre .trois-fl{display:none;}
  .suivi-fin{padding:60px 20px 68px;}
  .fa-vide{display:none;}
  .lw-section{padding:64px 20px 72px;}
  .card{padding:20px;}
}
