/* =========================================================
   DESL CONSULTING — thème « cabinet corporate clair »
   Design validé (prototype v3) : logo à gauche, hero photo
   à carrousel (titre + image), boutons pleins bleu profond,
   sections texte hors image, onglets, image biseautée,
   bande contact à entrées, méga-footer clair, angles nets.
   Chargé APRÈS adaptive.css : ré-habille chatbot + quiz
   (fonctionnels) pour le thème clair.
   Polices auto-hébergées (fonts.css) — RGPD.
   Photos : licence Unsplash, hébergées localement (/img).
   ========================================================= */

:root{
  --white:#ffffff;
  --grey:#f5f6f7;            /* bandes gris clair */
  --ink:#2b2e33;             /* texte principal */
  --title:#3a3d42;           /* titres gris anthracite */
  --dim:#5c6167;
  --faint:#6b7280; /* ≥ 4,5:1 sur blanc (AA) — ancien #82878d = 3,5:1 */
  --primary:#1c2f9c;         /* bleu profond DESL (boutons pleins) */
  --primary-2:#16267d;
  --primary-soft:#eef2fd;    /* fond bleu très clair */
  --blue:#0b5cd6;            /* bleu DESL secondaire (liens, actifs) */
  --line:#e3e4e6;
  --border-input:#8a9099;    /* bordures de champs ≥ 3:1 sur blanc (WCAG 1.4.11) */
  --fh:'Inter',system-ui,sans-serif;
  --fb:'Inter',system-ui,sans-serif;
  --flogo:'Space Grotesk','Inter',sans-serif;
  --pad:clamp(20px,5vw,88px);
  --maxw:1320px;
  /* Alias pour adaptive.css (écrit pour l'ancien thème sombre : ses
     variables n'existaient plus — les composants retombaient sur les
     valeurs héritées ou initiales). */
  --accent:var(--blue);
  --accent-2:var(--primary-2);
  --panel:var(--grey);
  --font-head:var(--fh);
  --font-body:var(--fb);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:var(--fb);background:var(--white);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--fh);font-weight:400;line-height:1.15;letter-spacing:-.015em;color:var(--title)}
.in{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- Accessibilité : texte lecteur d'écran + lien d'évitement ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--primary);color:#fff;padding:12px 20px;font-weight:600}
.skip:focus{left:0}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--fb);font-weight:600;font-size:.92rem;padding:14px 30px;border-radius:0;border:0;cursor:pointer;transition:.18s;white-space:nowrap}
.btn--primary{background:var(--primary);color:#fff}
.btn--primary:hover{background:var(--primary-2)}
.btn--outline{background:transparent;color:var(--title);border:1px solid var(--border-input)}
.btn--outline:hover{border-color:var(--primary);color:var(--primary)}
.btn--block{width:100%}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--blue);font-size:.94rem}
.link::after{content:"›";font-size:1.15rem;transition:transform .2s}
.link:hover::after{transform:translateX(3px)}

/* ---------- En-tête : logo à gauche, nav à droite ---------- */
.header{position:sticky;top:0;z-index:60;background:var(--white);border-bottom:1px solid var(--line)}
.header .in{display:flex;align-items:flex-end;gap:30px;padding-top:14px;padding-bottom:0;flex-wrap:wrap}
.brand{font-family:var(--flogo);font-weight:700;font-size:1.22rem;line-height:1.05;letter-spacing:.05em;text-transform:uppercase;color:var(--primary);padding-bottom:18px;display:inline-flex;align-items:center;gap:10px}
.brand::before{content:"";width:10px;height:22px;background:var(--primary)}
.brand span{color:var(--blue);font-weight:700}
.head-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.utilbox{display:inline-flex;align-items:stretch;border:1px solid var(--line)}
.utilbox a{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;font-size:.86rem;color:var(--ink)}
.utilbox a+a{border-left:1px solid var(--line)}
.utilbox svg{width:15px;height:15px;stroke:var(--dim);fill:none;stroke-width:2}
.utilbox .lang{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;font-size:.86rem;color:var(--ink);border-left:1px solid var(--line)}
.nav{display:flex;gap:20px}
.nav a{font-size:.94rem;color:var(--ink);padding:12px 0 18px;border-bottom:3px solid transparent;transition:border-color .15s,color .15s;white-space:nowrap}
.nav a:hover,.nav a.on{color:var(--primary);border-color:var(--primary)}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;cursor:pointer;flex-direction:column;gap:6px;padding:10px}
.nav-toggle span{width:26px;height:2px;background:var(--title)}

/* ---------- Hero photo + carrousel (titre + image) ---------- */
.hero{position:relative;overflow:hidden;min-height:min(86vh,760px);display:flex;flex-direction:column;justify-content:space-between;background:#20242b}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.hero-bg.on{opacity:1}
.hero-veil{position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,12,16,.45) 0%,rgba(10,12,16,.14) 55%,rgba(10,12,16,.28) 100%)}
.hero-content{position:relative;z-index:2;padding-top:clamp(64px,10vw,140px)}
.hero .hero-title{font-family:var(--fh);font-weight:400;font-size:clamp(2.1rem,5.4vw,4.1rem);line-height:1.15;color:#fff;max-width:19ch;letter-spacing:-.01em;min-height:2.2em;text-shadow:0 1px 24px rgba(0,0,0,.3);margin:0}
.hero .cta{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}
.hero-nav{position:relative;z-index:2;padding-bottom:26px;padding-top:56px}
.hn-items{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.hn-item{background:none;border:0;cursor:pointer;text-align:left;font-family:var(--fb);font-size:.97rem;line-height:1.4;color:#fff;padding-top:14px;border-top:2px solid rgba(255,255,255,.55);transition:.2s;font-weight:400;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.hn-item.on{font-weight:700;border-top:4px solid #fff;padding-top:12px}
.hn-item:hover{border-top-color:#fff}
.hn-pause{flex:none;align-self:center;width:38px;height:38px;margin-left:10px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.15);color:#fff;font-size:.72rem;font-weight:700;cursor:pointer;transition:.2s}
.hn-pause:hover,.hn-pause:focus-visible{background:rgba(255,255,255,.18)}
.hero-nav .in{display:flex;align-items:stretch}
.hero-nav .hn-items{flex:1}

/* ---------- Hero de page secondaire ---------- */
.page-hero{position:relative;overflow:hidden;min-height:46vh;display:flex;align-items:flex-end;background:#20242b}
.page-hero .hero-bg{opacity:1;transition:none}
.page-hero .hero-content{padding-top:clamp(90px,12vw,150px);padding-bottom:clamp(34px,5vw,60px)}
.page-hero .eyebrow{display:block;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#cdd8f6;margin-bottom:12px;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.page-hero h1{min-height:0;font-size:clamp(2rem,5vw,3.6rem);color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.35)}
.page-hero .sub{color:#e6e9ee;max-width:620px;margin-top:14px;text-shadow:0 1px 12px rgba(0,0,0,.4)}

/* ---------- Bandes / sections ---------- */
.band{background:var(--grey)}
.sec{padding-top:clamp(56px,8vw,110px);padding-bottom:clamp(56px,8vw,110px)}
.sec h2.big,.sec h1.big{font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:400;margin-bottom:26px}
.sec h2.big--sm{font-size:clamp(1.7rem,3.6vw,2.4rem)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.ins-cat{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.mt-40{margin-top:40px}
.mt-26{margin-top:26px}
.tlist .titem{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line);font-size:.99rem;color:var(--ink)}
.tlist .titem::after{content:"✓";color:var(--blue);font-weight:700}
.split h2{margin-bottom:0}
.split .ins-cat+h2{margin-top:0}

/* ---------- FAQ (accordéons) ---------- */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:var(--white);border:1px solid var(--line);padding:18px 22px}
.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;color:var(--title)}
.faq summary::after{content:"+";color:var(--blue);font-size:1.2rem;flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--dim);font-size:.95rem;margin-top:12px;line-height:1.7}

/* ---------- Pages légales ---------- */
.legal{max-width:820px}
.legal h2{font-size:1.35rem;font-weight:600;margin:34px 0 10px}
.legal p,.legal li{color:var(--dim);font-size:.97rem;line-height:1.75}
.legal ul{padding-left:20px;margin:10px 0}
.legal .todo{background:#fdf6e3;border:1px solid #e8d9a0;padding:2px 8px;font-weight:600;color:#7a5d00}
.sec .intro{color:var(--dim);font-size:1.05rem;line-height:1.75;max-width:62ch;margin-bottom:30px}

/* ---------- Split « texte hors image » ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,70px);align-items:center;padding-top:clamp(46px,6vw,84px);padding-bottom:clamp(46px,6vw,84px)}
.split .pic{width:100%;height:100%;min-height:340px;object-fit:cover}
.split h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:400}
.split p{color:var(--dim);font-size:1.05rem;line-height:1.75;margin:20px 0 28px;max-width:56ch}

/* ---------- Onglets ---------- */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:30px;max-width:520px}
.tab{background:none;border:0;cursor:pointer;font-family:var(--fb);font-size:1.02rem;color:var(--dim);padding:12px 26px 13px;border-bottom:3px solid transparent;margin-bottom:-1px;transition:.15s}
.tab.on{color:var(--blue);border-color:var(--primary);font-weight:600}
.tabpane{display:none;max-width:880px}
.tabpane.on{display:block}
.tabpane>p{color:var(--dim);font-size:1.05rem;line-height:1.75;margin-bottom:26px;max-width:62ch}
.tlist{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;border-top:1px solid var(--line);max-width:880px}
.tlist a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line);font-size:.99rem;color:var(--ink);transition:color .15s}
.tlist a::after{content:"›";color:var(--blue);font-size:1.2rem}
.tlist a:hover{color:var(--primary)}

/* ---------- Approche : 6 étapes ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.stp{padding:30px 28px 34px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--white)}
.stp:nth-child(3n){border-right:0}
.stp .n{font-family:var(--fh);font-weight:600;font-size:1.9rem;color:var(--blue);display:block;margin-bottom:12px}
.stp h3{font-size:1.1rem;font-weight:600;margin-bottom:6px}
.stp p{color:var(--dim);font-size:.92rem}

/* ---------- « En bref » : stats + image biseautée ---------- */
.brief{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:center;padding-top:clamp(46px,6vw,84px);padding-bottom:clamp(46px,6vw,84px)}
.brief h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:400}
.brief>div>p{color:var(--dim);font-size:1.05rem;line-height:1.75;margin:18px 0 30px;max-width:52ch}
.stats{display:flex;gap:clamp(24px,4vw,54px);flex-wrap:wrap;margin-bottom:34px}
.stat{display:flex;gap:16px;align-items:flex-start}
.stat svg{width:34px;height:34px;stroke:var(--blue);fill:none;stroke-width:1.6;flex:none;margin-top:4px}
.stat b{display:block;font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:400;color:var(--title);line-height:1.05}
.stat span{display:block;color:var(--dim);font-size:.95rem;margin-top:4px}
.brief .pic{width:100%;height:clamp(320px,42vw,560px);object-fit:cover;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}

/* ---------- Offres ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:var(--white);border:1px solid var(--line);padding:32px 30px;display:flex;flex-direction:column;position:relative}
.plan.feat{border:2px solid var(--primary)}
.plan .ptag{position:absolute;top:-13px;left:26px;background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px}
.plan h3{font-size:1.28rem;font-weight:600;color:var(--title)}
.plan .price{font-family:var(--fh);font-weight:400;font-size:1.7rem;color:var(--title);margin:10px 0 22px}
.plan .price span{display:block;font-size:.85rem;color:var(--faint);margin-top:5px}
.plan ul{list-style:none;display:grid;gap:12px;margin-bottom:28px}
.plan li{position:relative;padding-left:24px;color:var(--dim);font-size:.94rem}
.plan li::before{content:"›";position:absolute;left:0;color:var(--blue);font-weight:700}
.plan .btn,.plan .link{margin-top:auto}

/* ---------- Points de vue (cartes claires) ---------- */
.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ins{background:var(--white);display:flex;flex-direction:column}
.ins img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ins .body{padding:20px 2px 0;display:flex;flex-direction:column;gap:10px;flex:1}
.ins .cat{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.ins h3{font-size:1.22rem;font-weight:500;color:var(--title);line-height:1.35}
.ins p{color:var(--dim);font-size:.94rem;flex:1}
.ins .link{font-size:.9rem}

/* ---------- Cas (page exemples) ---------- */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.case{background:var(--white);border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column}
.case-tag{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);border:1px solid #c7d7f9;padding:5px 11px;margin-bottom:16px}
.case h3{font-size:1.25rem;font-weight:600;margin-bottom:10px}
.case>p{color:var(--dim);font-size:.95rem;margin-bottom:20px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:20px}
.compare>div{background:var(--grey);padding:16px}
.compare>div:last-child{background:var(--primary-soft)}
.compare span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin-bottom:6px}
.compare>div:last-child span{color:var(--blue)}
.compare strong{display:block;font-family:var(--fh);font-weight:600;font-size:1.25rem;color:var(--title);line-height:1.15}
.compare>div:last-child strong{color:var(--primary)}
.compare em{display:block;margin-top:5px;font-size:.8rem;color:var(--dim);font-style:normal;line-height:1.4}
.case ul{list-style:none;display:grid;gap:9px;margin-bottom:20px}
.case li{position:relative;padding-left:22px;color:var(--dim);font-size:.92rem}
.case li::before{content:"›";position:absolute;left:0;color:var(--blue);font-weight:700}
.case-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-weight:600;font-size:.92rem;color:var(--title)}
.section-note{margin-top:30px;color:var(--faint);font-size:.92rem;max-width:64ch}
.section-note em{font-style:normal;color:var(--blue)}

/* ---------- Bande contact (carte à entrées) ---------- */
.contactband{background:var(--grey);padding-top:clamp(40px,6vw,70px);padding-bottom:clamp(40px,6vw,70px)}
.ccard{background:var(--white);padding:clamp(30px,4.5vw,56px);box-shadow:0 1px 3px rgba(20,24,30,.05)}
.ccard h2{font-size:clamp(1.8rem,3.8vw,2.7rem);font-weight:400;margin-bottom:clamp(26px,4vw,44px)}
.centries{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.centry{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;color:var(--ink)}
.centry svg{width:44px;height:44px;stroke:var(--blue);fill:none;stroke-width:1.5}
.centry .lbl{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;word-break:break-word}
.centry .lbl::before{content:"›";color:var(--blue);font-size:1.15rem}
.centry:hover .lbl{color:var(--primary)}

/* ---------- Formulaire ---------- */
.contact-form{max-width:660px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.8rem;font-weight:600;color:var(--title);margin-bottom:7px}
.field .opt{font-weight:400;color:var(--faint)}
.field input,.field textarea{width:100%;padding:14px 15px;font-family:var(--fb);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--border-input);border-radius:0;transition:border-color .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary)}
.field textarea{resize:vertical}
.form-meta{margin-top:14px;font-size:.85rem;color:var(--faint)}
.form-success{border:1px solid var(--primary);background:var(--primary-soft);padding:28px}
.form-success strong{font-family:var(--fh);font-size:1.15rem;color:var(--primary)}
.form-success p{margin-top:8px;color:var(--dim)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* ---------- Bande CTA finale ---------- */
.cta-final{background:var(--grey)}
.cta-final .in{padding-top:clamp(46px,6vw,80px);padding-bottom:clamp(46px,6vw,80px)}
.cta-final h2{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:400;max-width:22ch}
.cta-final p{color:var(--dim);margin:16px 0 28px;max-width:52ch}

/* ---------- Suivez-nous + footer clair ---------- */
.follow{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.follow .in{display:flex;align-items:center;justify-content:center;gap:22px;padding-top:22px;padding-bottom:22px}
.follow span{font-size:1.02rem;color:var(--title)}
.follow a{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;color:var(--ink);font-weight:700}
.follow a:hover{color:var(--primary)}
.footer{background:var(--white);padding-top:clamp(38px,5vw,60px);padding-bottom:96px}
.foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px}
.fcol h4,.fcol .ft{font-size:1.02rem;font-weight:600;color:var(--title);margin-bottom:14px}
.fcol a{display:block;color:var(--dim);font-size:.92rem;padding:4px 0}
.fcol a:hover{color:var(--primary)}
.fcol .fbrand{font-family:var(--flogo);font-weight:700;font-size:1.2rem;color:var(--primary);margin-bottom:10px;display:block;text-transform:uppercase;letter-spacing:.05em}
.fcol p{color:var(--dim);font-size:.9rem;max-width:34ch;line-height:1.7}
.foot-bottom{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.8rem;color:var(--faint)}

/* ---------- Apparitions ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible,.reveal.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.hero-bg{transition:none}}

/* =========================================================
   Ré-habillage clair du chatbot + quiz (sur-couche adaptive.css)
   ========================================================= */
.fab{background:#fff!important;border:1px solid var(--border-input)!important;border-radius:0!important;color:var(--title)!important;box-shadow:0 4px 18px rgba(20,24,30,.14)!important}
.fab:hover,.fab:focus-visible{border-color:var(--primary)!important;transform:translateY(-2px)}
.fab:focus-visible{outline:2px solid var(--primary)!important;outline-offset:2px}
.fab-ico{color:var(--blue)!important}
.chat-panel,.quiz-panel{background:#fff!important;border:1px solid var(--line)!important;border-radius:0!important;box-shadow:0 24px 60px rgba(20,24,30,.18)}
.quiz-overlay{background:rgba(20,24,30,.45)!important}
.chat-head{background:var(--grey)!important;border-bottom:1px solid var(--line)!important}
.chat-title strong{color:var(--title)!important}
.chat-title span{color:var(--dim)!important}
.chat-msg{border-radius:0!important}
.chat-msg-bot{background:var(--grey)!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.chat-msg-user{background:var(--primary)!important;border:1px solid var(--primary)!important;color:#fff!important}
.chat-typing span{background:var(--dim)!important}
.chat-input{background:#fff!important;border:1px solid var(--border-input)!important;color:var(--ink)!important;border-radius:0!important}
.chat-input:focus{border-color:var(--primary)!important}
.chat-send{background:var(--primary)!important;color:#fff!important;border-radius:0!important}
.chat-close,.quiz-close{color:var(--dim)!important}
.chat-close:hover,.quiz-close:hover{color:var(--title)!important}
.chat-rgpd,.quiz-rgpd{color:var(--faint)!important}
.quiz-step{color:var(--dim)!important}
.quiz-title{color:var(--title)!important}
.quiz-sub{color:var(--dim)!important}
.quiz-progress{background:var(--line)!important}
.quiz-progress span{background:var(--primary)!important}
.quiz-option{background:#fff!important;border:1px solid var(--border-input)!important;color:var(--ink)!important;border-radius:0!important}
.quiz-option:hover,.quiz-option:focus-visible{border-color:var(--primary)!important}
.quiz-option.is-selected{background:var(--primary-soft)!important;border-color:var(--primary)!important;color:var(--primary)!important}
.quiz-back,.quiz-forget{color:var(--dim)!important}
.quiz-back:hover{color:var(--title)!important}
.quiz-panel .btn-solid{background:var(--primary)!important;color:#fff!important;border-radius:0!important}
.quiz-panel .btn-solid:hover{background:var(--primary-2)!important}
.quiz-panel .btn-line{border:1px solid var(--border-input)!important;color:var(--title)!important;border-radius:0!important}
.quiz-panel .btn-line:hover{border-color:var(--primary)!important}
.is-adapted{border-color:var(--primary)!important;box-shadow:0 0 0 1px var(--primary)!important}
.adapt-badge{color:var(--primary)!important;background:var(--primary-soft)!important;border:1px solid #c7d7f9!important}

/* ---------- Diagnostic v2 : éléments d'interface ---------- */
.quiz-eta{font-size:.74rem!important;color:var(--faint)!important;margin:6px 0 14px!important}
.quiz-points{list-style:none;display:grid;gap:9px;margin:14px 0 20px}
.quiz-points li{position:relative;padding-left:22px;color:var(--dim);font-size:.9rem}
.quiz-points li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}
.quiz-input{width:100%;padding:14px 15px;font-family:var(--fb);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--border-input);border-radius:0;margin:14px 0 18px}
.quiz-input:focus{outline:none;border-color:var(--primary)}
.quiz-scores{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.quiz-chip{display:inline-flex;flex-direction:column;gap:2px;border:1px solid var(--line);padding:10px 16px;font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.quiz-chip b{font-family:var(--fh);font-size:1.15rem;letter-spacing:0;text-transform:none;color:var(--primary)}

/* ---------- Barre CTA mobile ---------- */
.mcta{position:fixed;bottom:0;left:0;right:0;z-index:65;display:none;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(20,24,30,.08)}
.mcta span{font-size:.84rem;color:var(--dim)}
.mcta .btn{padding:11px 20px}

/* ---------- Responsive ---------- */
@media(max-width:1060px){
  .hn-items{grid-template-columns:1fr 1fr;gap:20px}
  .split,.brief{grid-template-columns:1fr}
  .brief .pic{clip-path:none;height:300px}
  .centries{grid-template-columns:1fr 1fr;gap:24px}
  .foot-top{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .stp:nth-child(3n){border-right:1px solid var(--line)}
  .stp:nth-child(2n){border-right:0}
  .plans{grid-template-columns:1fr}
  .cases{grid-template-columns:1fr}
}
@media(max-width:900px){
  .nav{display:none}
  .head-right{display:none}
  .nav-toggle{display:flex;margin-left:auto}
  .brand{padding-bottom:14px}
  .header.open .nav{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:6px var(--pad) 14px;box-shadow:0 18px 36px rgba(20,24,30,.08)}
  .header.open .nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .insights{grid-template-columns:1fr}
  .tlist{grid-template-columns:1fr}
  .mcta{display:flex}
  .fab{bottom:70px!important;padding:10px 12px!important;font-size:.76rem!important}
  .fab-quiz{left:12px!important}
  .fab-chat{right:12px!important}
  .hero{min-height:74vh}
  .hn-items{grid-template-columns:1fr;gap:12px}
  .hn-item{padding-top:10px}
  .footer{padding-bottom:130px}
}
@media(max-width:640px){
  .field-row{grid-template-columns:1fr}
  .centries{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .stats{gap:20px}
  .steps{grid-template-columns:1fr}
  .stp{border-right:0!important}
}

/* =========================================================
   DESIGN SYSTEM v2 — artefacts visuels + passe mobile premium
   (ajouté en fin de fichier : ces règles priment sur les
   précédentes à spécificité égale)
   ========================================================= */

/* ---------- Focus visible global (clavier) ---------- */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* ---------- KPI / chiffres clés ---------- */
.kpis{display:flex;flex-wrap:wrap;gap:14px}
.kpi{flex:1 1 150px;min-width:140px;border:1px solid var(--line);border-top:3px solid var(--primary);padding:18px 16px;background:#fff}
.kpi b{display:block;font-family:var(--fh);font-size:1.7rem;font-weight:600;color:var(--primary);line-height:1.1}
.kpi span{font-size:.82rem;color:var(--dim)}

/* ---------- Badges & tags ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);padding:4px 10px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{font-size:.78rem;color:var(--dim);border:1px solid var(--line);padding:4px 10px;background:#fff}

/* ---------- Callout « Bon à savoir » ---------- */
.callout{border-left:3px solid var(--primary);background:var(--grey);padding:16px 18px;margin:20px 0}
.callout b{color:var(--title);font-size:.92rem}
.callout p{color:var(--dim);font-size:.92rem;margin-top:4px;line-height:1.65}

/* ---------- Carte expertise riche (xcard) ---------- */
.xgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.xcard{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.xcard .xhead{display:flex;align-items:baseline;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--grey)}
.xcard .xnum{font-family:var(--fh);font-weight:600;color:var(--blue);font-size:.85rem;flex:none}
.xcard h3{font-size:1.12rem;font-weight:600;color:var(--title);line-height:1.3}
.xcard .xbody{padding:20px 24px 16px;display:flex;flex-direction:column;gap:14px;flex:1}
.xcard .xintro,.xr-body .xintro{color:var(--dim);font-size:.93rem;line-height:1.65}
.xben{list-style:none;display:grid;gap:8px}
.xben li{position:relative;padding-left:22px;font-size:.9rem;color:var(--ink)}
.xben li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;border-top:1px solid var(--line);padding-top:14px}
.meta-grid>div{font-size:.82rem;color:var(--dim);line-height:1.5}
.meta-grid b{display:block;color:var(--title);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.xcard>.link{margin:0;padding:14px 24px;border-top:1px solid var(--line)}

/* ---------- Timeline verticale (parcours services) ---------- */
.vtl{display:grid;max-width:880px}
.vstep{position:relative;padding:0 0 22px 56px}
.vstep::before{content:"";position:absolute;left:17px;top:38px;bottom:-2px;width:2px;background:var(--line)}
.vstep:last-child::before{display:none}
.vnum{position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:600}
.vcard{background:#fff;border:1px solid var(--line);padding:18px 22px}
.vcard h3{font-size:1.05rem;font-weight:600;color:var(--title)}
.vcard p{color:var(--dim);font-size:.92rem;margin-top:6px;line-height:1.65}
.vmeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* ---------- Mini-exemples (bibliothèque d'exemples) ---------- */
.exgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ex{background:#fff;border:1px solid var(--line);padding:18px}
.ex .badge{margin-bottom:10px}
.ex h3,.ex h4{font-size:.96rem;font-weight:600;color:var(--title);line-height:1.35}
.ex p{font-size:.85rem;color:var(--dim);margin-top:6px;line-height:1.6}
.ex .flow{font-size:.8rem;color:var(--primary);margin-top:8px;font-weight:600}

/* ---------- Bloc prompt (exemples concrets d'IA) ---------- */
.prompt{background:#10141c;color:#dfe6f3;font-family:ui-monospace,Menlo,monospace;font-size:.78rem;line-height:1.6;padding:16px 18px;white-space:pre-wrap;overflow-x:auto;margin-top:10px}
.prompt::before{content:"PROMPT";display:block;color:#7fb0ff;font-size:.66rem;letter-spacing:.14em;margin-bottom:8px}

/* ---------- Tableau comparatif ---------- */
.cmp{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}
.cmp th{background:var(--primary);color:#fff;font-weight:600;text-align:left;padding:12px 14px}
.cmp td{border:1px solid var(--line);padding:11px 14px;color:var(--dim);vertical-align:top}
.cmp td:first-child{color:var(--title);font-weight:600}
.cmp-wrap{overflow-x:auto}

/* ---------- Cartes secteur (accordéon riche) ---------- */
.sector{background:#fff;border:1px solid var(--line);margin-bottom:16px}
.sector>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 24px}
.sector>summary::-webkit-details-marker{display:none}
.sector>summary::after{content:"+";margin-left:auto;color:var(--primary);font-size:1.4rem;font-weight:600}
.sector[open]>summary::after{content:"−"}
.sector>summary h3{font-size:1.08rem;font-weight:600;color:var(--title)}
.sector>summary .badge{flex:none}
.sector .sbody{padding:4px 24px 22px;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;border-top:1px solid var(--line)}
.sector .sbody>div{padding-top:14px}
.sector .sbody b{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:8px}
.sector .sbody ul{list-style:none;display:grid;gap:6px}
.sector .sbody li{position:relative;padding-left:18px;font-size:.88rem;color:var(--dim)}
.sector .sbody li::before{content:"–";position:absolute;left:0;color:var(--blue)}

/* =========================================================
   PASSE MOBILE — aération, lisibilité, correctifs
   ========================================================= */

/* ✅ CORRECTIF MENU HAMBURGER : ne plus masquer le parent .head-right
   (qui contient .nav) — masquer uniquement la barre utilitaire.  */
@media(max-width:900px){
  .head-right{display:flex}
  .utilbox{display:none}
  .header.open .nav{z-index:70}
  .header .in{align-items:center}
  .brand{padding-bottom:0;padding-top:0}
  .nav-toggle{padding:14px 10px}
}

@media(max-width:640px){
  /* Respiration générale */
  .in{padding-left:22px;padding-right:22px}
  .sec{padding-top:56px;padding-bottom:56px}
  .split{gap:26px;padding-top:44px;padding-bottom:44px}
  .head{margin-bottom:30px}
  /* Boutons pleine largeur, faciles à toucher */
  .btn{padding:15px 24px}
  .btn-row .btn,.hero .cta .btn,.plan .btn,.cta-final .btn{width:100%;justify-content:center}
  /* Cartes aérées */
  .svc{padding:24px 20px}
  .xgrid,.exgrid{grid-template-columns:1fr}
  .sector .sbody{grid-template-columns:1fr}
  .plans{gap:20px}
  .plan{padding:26px 22px}
  .insights{gap:26px}
  .case{padding:24px 20px}
  /* Accordéons : cible tactile confortable */
  .faq details{padding:16px 18px}
  .faq summary{min-height:28px}
  /* Hero allégé sur mobile : titre compact + carrousel réduit à des
     repères (les 4 phrases empilées disparaissent — c'est le « bloc
     trop chargé » ; le défilement et le bouton pause restent actifs).
     Aucune de ces règles ne s'applique au-dessus de 640 px : desktop inchangé. */
  .hero{min-height:auto}
  .hero-content{padding-top:72px;padding-bottom:6px}
  .hero .hero-title{font-size:clamp(1.7rem,7.4vw,2.15rem);min-height:0;max-width:17ch}
  .hero-nav{padding-top:22px;padding-bottom:22px}
  .hero-nav .in{align-items:center}
  .hn-items{display:flex;flex-wrap:wrap;gap:9px}
  .hn-item{flex:0 0 auto;width:20px;height:4px;padding:0;border-top:0;border-radius:2px;background:rgba(255,255,255,.5);font-size:0;line-height:0;color:transparent;text-shadow:none}
  .hn-item.on{width:30px;height:4px;padding:0;border-top:0;background:#fff}
  .hn-item:hover{border-top:0}
  .page-hero{min-height:40vh}
  .page-hero h1{font-size:clamp(1.6rem,7vw,2.2rem)}
  .page-hero .sub{font-size:.94rem}
  /* Stats & KPI */
  .stat b{font-size:1.5rem}
  .kpi{min-width:calc(50% - 7px);flex:1 1 calc(50% - 7px)}
  /* Tableaux : défilement interne, jamais la page */
  .cmp-wrap{margin:0 -22px;padding:0 22px}
  /* Footer aéré */
  .foot-top{gap:28px}
  .vstep{padding-left:48px}
}

/* Sous-titres de groupes d'exemples + KPI cliquables */
.sec h3.big--sm{font-size:clamp(1.15rem,2.6vw,1.45rem);font-weight:600;color:var(--title);margin-bottom:18px}
a.kpi{transition:border-color .2s}
a.kpi:hover{border-color:var(--primary)}

/* =========================================================
   DESIGN SYSTEM v3 — artefacts corporate
   Convictions en mosaïque numérotée, expertises en registre
   dépliable, frise de méthode, boutons flottants valorisés,
   premier écran mobile allégé (CTA différés au défilement).
   ========================================================= */

:root{ --primary-ghost:#d9e3fa; } /* numéraux en filigrane */

/* ---------- Convictions : mosaïque éditoriale numérotée ---------- */
.convs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.conv{position:relative;background:#fff;padding:30px 26px 34px;transition:background .2s}
.conv .cnum{position:absolute;top:22px;right:24px;font-family:var(--fh);font-weight:600;font-size:2.5rem;line-height:1;color:var(--primary-ghost);transition:color .2s}
.conv .ctag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--primary)}
.conv h3{font-size:1.06rem;font-weight:600;line-height:1.35;margin-bottom:8px;max-width:24ch}
.conv p{color:var(--dim);font-size:.92rem;line-height:1.65}
.conv:hover{background:var(--primary-soft)}
.conv:hover .cnum{color:var(--primary)}
@media(max-width:1060px){.convs{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.convs{grid-template-columns:1fr}.conv{padding:24px 20px 26px}}

/* ---------- Expertises : registre numéroté dépliable ---------- */
.xled{border-top:2px solid var(--title)}
.xrow{background:#fff;border-bottom:1px solid var(--line)}
.xrow>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:clamp(16px,3vw,34px);padding:20px clamp(6px,1.5vw,14px)}
.xrow>summary::-webkit-details-marker{display:none}
.xr-num{font-family:var(--fh);font-weight:300;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1;color:var(--primary-ghost);flex:none;min-width:2ch;transition:color .2s}
.xr-head{flex:1;min-width:0}
.xr-head h3{font-size:clamp(1.02rem,2vw,1.28rem);font-weight:600;color:var(--title);line-height:1.3}
.xr-line{color:var(--dim);font-size:.9rem;margin-top:4px;line-height:1.5}
.xr-plus{flex:none;width:34px;height:34px;border:1px solid var(--line);position:relative;transition:background .2s,border-color .2s}
.xr-plus::before,.xr-plus::after{content:"";position:absolute;top:50%;left:50%;background:var(--primary);transition:transform .25s,background .2s}
.xr-plus::before{width:14px;height:2px;transform:translate(-50%,-50%)}
.xr-plus::after{width:2px;height:14px;transform:translate(-50%,-50%)}
.xrow[open] .xr-plus{background:var(--primary);border-color:var(--primary)}
.xrow[open] .xr-plus::before,.xrow[open] .xr-plus::after{background:#fff}
.xrow[open] .xr-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.xrow:hover .xr-num,.xrow[open] .xr-num{color:var(--primary)}
.xrow[open]>summary{background:var(--primary-soft)}
.xr-body{display:grid;grid-template-columns:1.08fr .92fr;gap:18px 46px;padding:22px 14px 30px}
.xr-body .xcol{display:flex;flex-direction:column;gap:14px}
.xr-body .link{align-self:flex-start;margin-top:2px}
@media(max-width:900px){.xr-body{grid-template-columns:1fr;gap:16px}}
@media(max-width:640px){.xrow>summary{gap:14px;padding:16px 8px}.xr-plus{width:30px;height:30px}}

/* ---------- Méthode : frise numérotée à jalons ---------- */
.mroad{display:grid;grid-template-columns:repeat(3,1fr);gap:46px clamp(24px,3.5vw,44px)}
.mstep{position:relative;padding-top:26px}
.mstep::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--line)}
.mstep::after{content:"";position:absolute;top:-5px;left:0;width:12px;height:12px;background:var(--primary)}
.mstep .mn{font-family:var(--fh);font-weight:300;font-size:2.1rem;line-height:1;color:var(--primary);display:block;margin-bottom:10px}
.mstep h3{font-size:1.12rem;font-weight:600;margin-bottom:6px}
.mstep>p{color:var(--dim);font-size:.92rem;line-height:1.65}
.mdel{display:block;margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:.86rem;color:var(--dim);line-height:1.5}
.mdel b{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:2px}
@media(max-width:900px){.mroad{grid-template-columns:1fr 1fr;gap:36px 26px}}
@media(max-width:640px){
  .mroad{grid-template-columns:1fr;gap:28px}
  .mstep{padding-top:0;padding-left:24px}
  .mstep::before{top:2px;bottom:-14px;left:0;right:auto;width:2px;height:auto}
  .mstep:last-child::before{bottom:0}
  .mstep::after{top:2px;left:-5px}
}

/* ---------- Mini-exemples : lien intégré ---------- */
.ex .link{margin-top:12px;font-size:.85rem}

/* ---------- Boutons flottants valorisés ---------- */
.fab .fab-label em{display:block;font-style:normal;font-weight:400;font-size:.68rem;opacity:.78;margin-top:1px;letter-spacing:.01em}
.fab-chat{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 10px 28px rgba(28,47,156,.32)!important}
.fab-chat .fab-ico{color:#fff!important}
.fab-chat:hover,.fab-chat:focus-visible{background:var(--primary-2)!important;border-color:var(--primary-2)!important}
.fab-chat::after{content:"";position:absolute;inset:-1px;border:1px solid var(--primary);opacity:0;animation:fab-ping 3.4s ease-out 2s infinite;pointer-events:none}
@keyframes fab-ping{0%{opacity:.65;transform:scale(1)}60%,100%{opacity:0;transform:scale(1.28)}}
.fab-quiz{border-top:3px solid var(--primary)!important}
@media(prefers-reduced-motion:reduce){.fab-chat::after{display:none}}

/* ---------- Premier écran mobile allégé ----------
   Sous 900 px, les boutons flottants n'apparaissent qu'après le
   premier défilement (classe body.past-hero via site.js) :
   l'écran d'ouverture ne montre que le titre et son bouton. */
@media(max-width:900px){
  .fab,.mcta{transition:transform .35s ease,opacity .35s ease}
  body:not(.past-hero) .fab,body:not(.past-hero) .mcta{opacity:0;transform:translateY(16px);pointer-events:none}
}

/* =========================================================
   v4 — logo « biseau » + allègement mobile façon Forvis Mazars
   (barre CTA mobile retirée du gabarit ; défilement auto du hero
   désactivé sur mobile → bouton pause masqué ; boutons flottants
   redescendus). Ancien état : .backup-2026-07-07-avant-logo-mobile/
   ========================================================= */
.brand::before{content:none}
.brand-mark{width:27px;height:24px;flex:none}
.fbrand{display:inline-flex;align-items:center;gap:10px}
.fbrand .brand-mark{width:22px;height:20px}
@media(max-width:900px){
  .fab{bottom:16px!important}
  .footer{padding-bottom:110px}
}
@media(max-width:640px){
  .hn-pause{display:none} /* pas de défilement auto sur mobile (site.js) → pas de pause */
  .footer{padding-bottom:100px}
}

/* =========================================================
   v5 — corrections issues de l'audit du 7 juil. 2026
   (accessibilité, lisibilité mobile, cohérence tablette)
   ========================================================= */

/* Croix de fermeture quiz/chat : cible tactile ≥ 44 px (WCAG 2.5.8) */
.quiz-close,.chat-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0}

/* Message d'erreur du rapport PDF (échec de génération lisible) */
.quiz-error{margin:12px 0 0;padding:12px 14px;border:1px solid #d98c8c;border-left:3px solid #b3261e;background:#fdf2f2;color:#8a1c14;font-size:.9rem;line-height:1.5}

/* ---------- Calculateur de gains ---------- */
.calc{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,54px);align-items:start}
.calc-form{display:grid;gap:22px}
.calc-field{display:grid;gap:8px}
.calc-field>label,.calc-tasks legend{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--title)}
.calc-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint)}
.calc-field select{width:100%;padding:13px 15px;font-family:var(--fb);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--border-input);border-radius:0}
.calc-field select:focus{outline:none;border-color:var(--primary)}
.calc-tasks{border:0;padding:0;margin:0;display:grid;gap:10px}
.calc-tasks legend{margin-bottom:4px;padding:0}
.calc-check{display:flex;align-items:center;gap:10px;font-size:.98rem;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:400;cursor:pointer;min-height:32px}
.calc-check input{width:18px;height:18px;accent-color:var(--primary);flex:none}
.calc-out{background:var(--grey);border:1px solid var(--line);border-top:3px solid var(--primary);padding:clamp(24px,3.5vw,34px);position:sticky;top:120px}
.calc-result{display:flex;gap:clamp(20px,4vw,40px);flex-wrap:wrap;margin-bottom:18px}
.calc-metric b{display:block;font-family:var(--fh);font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--primary);line-height:1;font-variant-numeric:tabular-nums}
.calc-metric span{display:block;color:var(--dim);font-size:.88rem;margin-top:8px;line-height:1.4}
.calc-note{color:var(--ink);font-size:.98rem;line-height:1.65;margin-bottom:20px;min-height:3em}
.calc-cta{width:100%;justify-content:center}
.calc-legal{color:var(--faint);font-size:.78rem;line-height:1.55;margin-top:16px}
@media(max-width:760px){.calc{grid-template-columns:1fr}.calc-out{position:static}}

/* ---------- Réassurance sous le formulaire ---------- */
.form-trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.form-trust li{position:relative;padding-left:22px;font-size:.86rem;color:var(--dim)}
.form-trust li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}

/* Hero compact étendu à la tablette (641–900 px) : mêmes repères
   discrets que sur mobile — cohérent avec le menu hamburger qui
   bascule lui aussi à 900 px. Le défilement auto et le bouton
   pause restent actifs au-dessus de 640 px. */
@media(max-width:900px){
  .hero{min-height:auto}
  .hero-content{padding-top:72px;padding-bottom:6px}
  .hero .hero-title{font-size:clamp(1.7rem,4.6vw,2.5rem);min-height:0;max-width:20ch}
  .hero-nav{padding-top:22px;padding-bottom:22px}
  .hero-nav .in{align-items:center}
  .hn-items{display:flex;flex-wrap:wrap;gap:9px}
  .hn-item{flex:0 0 auto;width:20px;height:4px;padding:0;border-top:0;border-radius:2px;background:rgba(255,255,255,.5);font-size:0;line-height:0;color:transparent;text-shadow:none}
  .hn-item.on{width:30px;height:4px;padding:0;border-top:0;background:#fff}
  .hn-item:hover{border-top:0}
}

/* Lisibilité mobile : le texte de lecture des artefacts remonte
   vers 15–16 px sous 640 px (les étiquettes uppercase restent petites). */
@media(max-width:640px){
  .xr-line,.xcard .xintro,.xr-body .xintro,.xben li,.conv p,.sector .sbody li,.ex p,.stp p{font-size:.95rem}
  .meta-grid>div{font-size:.85rem}
  .kpi span{font-size:.85rem}
}
