/* ===== Page sectorielle Banques & Assurances (chargée après expertise.css et secteur.css) ===== */

/* 01 Premier écran : motif « faire tourner / faire évoluer » */
.xhero .runchange{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.xhero.banque h1{max-width:21ch}
.xhero.banque .lead{max-width:660px}

/* 02 Où en êtes-vous */
.moments{background:#fff;padding:70px 0 64px;border-bottom:1px solid var(--line)}
.moments h2{font:600 12.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mo{display:flex;flex-direction:column;gap:10px;padding:24px 24px 22px;border-radius:18px;background:var(--paper);border:1px solid var(--line);transition:border-color .3s,transform .3s var(--ease)}
.mo:hover{border-color:var(--blue);transform:translateY(-3px)}
.mo .mt{display:inline-flex;align-items:center;gap:9px;font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.mo .mt i{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.mo h3{font-size:21px;line-height:1.2;margin:2px 0 0}
.mo p{margin:0;font-size:15px;line-height:1.55;color:var(--text)}
.mo .link{margin-top:auto;padding-top:6px;font-size:15px}
@media(max-width:900px){.mgrid{grid-template-columns:1fr}}

/* 03 Cinq enjeux : position de chaque enjeu entre « faire tourner » et « faire évoluer » */
.enjeux{background:var(--paper);padding:110px 0 100px}
.axis{display:flex;align-items:center;gap:14px;margin:0 0 8px;font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.axis i{flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--accent))}
.jlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.enj{display:grid;grid-template-columns:120px 1.2fr 1fr;gap:18px 36px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}
.enj .jn{display:flex;flex-direction:column;gap:14px;padding-top:6px}
.enj .num{font:800 34px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.gauge{position:relative;display:block;width:96px;height:4px;border-radius:4px;background:var(--line)}
.gauge i{position:absolute;top:50%;left:calc(var(--p,0) * 100%);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(79,61,255,.14)}
.enj.chg .gauge i{background:var(--accent);box-shadow:0 0 0 4px rgba(61,220,151,.18)}
.gauge.full{background:linear-gradient(90deg,var(--blue),var(--accent))}
.gauge.full i{display:none}
.enj h3{font-size:clamp(20px,1.8vw,24px);line-height:1.25;margin:4px 0 10px}
.enj .jb p{margin:0;color:var(--text);font-size:16px;line-height:1.6}
.enj .jp{padding:4px 0 0 26px;border-left:1px solid var(--line)}
.enj .spl{display:block;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.enj .jp ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.enj .jp li{font-size:14px;line-height:1.2;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.enj .link{font-size:15px}
.enj .links2{display:flex;flex-wrap:wrap;gap:6px 20px}
.enj.trans .num::after{content:"transverse";display:block;margin-top:8px;font:600 11px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media(max-width:960px){
  .enj{grid-template-columns:96px 1fr;gap:14px 18px}
  .enj .jp{grid-column:2;border-left:0;padding:0}
  .gauge{width:72px}
}
@media(max-width:640px){
  .enjeux{padding:80px 0 70px}
  .enj{grid-template-columns:1fr;padding:26px 0}
  .enj .jp{grid-column:1}
  .enj .jn{flex-direction:row;align-items:center;gap:16px}
  .enj .num{font-size:28px}
  .enj.trans .num::after{display:inline;margin:0 0 0 10px}
}

/* 04 Banque ou assurance */
.ctx{position:relative;background:var(--night);color:#fff;padding:110px 0 100px;overflow:hidden}
.ctx::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 480px at 0% 10%,rgba(79,61,255,.22),transparent 70%),radial-gradient(700px 480px at 100% 90%,rgba(61,220,151,.12),transparent 70%);pointer-events:none}
.ctx .wrap{position:relative}
.socle{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding:20px 24px;margin-bottom:18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.socle .sk{font:600 12.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.socle ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.socle li{font-size:14px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#E4E8F5}
.cgrid{display:grid;grid-template-columns:1.06fr .94fr;gap:18px;align-items:start}
.cpan{--cc:#8C80FF;position:relative;display:flex;flex-direction:column;gap:16px;padding:32px 30px 26px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);overflow:hidden}
.cpan.ins{--cc:var(--accent);margin-top:46px}
.cpan::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cc)}
.cpan .ctag{display:inline-flex;align-items:center;gap:10px;font:600 13px var(--body);letter-spacing:.12em;text-transform:uppercase;color:#fff}
.cpan .ctag i{width:10px;height:10px;border-radius:50%;background:var(--cc);box-shadow:0 0 0 5px rgba(255,255,255,.06)}
.cpan .ckey{margin:0;font:700 clamp(22px,2.1vw,29px)/1.2 var(--display);letter-spacing:-.02em;color:#fff}
.cpts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cpts li{position:relative;padding-left:18px;font-size:15px;line-height:1.55;color:#C3CBE3}
.cpts li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--cc)}
.cpts b{color:#fff;font-weight:600}
.cexp{margin:6px 0 0;padding-top:16px;border-top:1px dashed rgba(255,255,255,.16);font-size:15px;line-height:1.55;color:#E4E8F5}
.cexp b{display:block;font:600 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--cc);margin-bottom:5px}
.cnote{margin:26px 0 0;font-size:15.5px;line-height:1.6;color:#C3CBE3;max-width:820px}
.cprot{margin:14px 0 0;padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.12);font-size:14.5px;line-height:1.55;color:#9EA9C6;max-width:820px}
.cprot a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--accent)}
@media(max-width:900px){.cgrid{grid-template-columns:1fr}.cpan.ins{margin-top:0}}
@media(max-width:640px){.ctx{padding:80px 0 70px}.cpan{padding:26px 22px 22px}.socle{padding:18px}}

/* 05 Au-delà de la technologie */
.audela{background:#fff;padding:110px 0 100px}
.audela .shead,.dora .shead{grid-template-columns:1fr;gap:22px}
.audela .shead h2,.dora .shead h2{max-width:24ch}
.audela .shead p,.dora .shead p{max-width:800px}
.dlist{display:flex;flex-direction:column;gap:14px}
.dpair{display:grid;grid-template-columns:.8fr 1.2fr;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:var(--paper);transition:border-color .3s,box-shadow .3s}
.dpair:hover{border-color:rgba(79,61,255,.4);box-shadow:0 18px 40px -24px rgba(11,18,38,.25)}
.dside{padding:22px 24px}
.dside.deep{background:#fff;border-left:1px solid var(--line);position:relative}
.dside.deep::before{content:"";position:absolute;left:-1px;top:22px;bottom:22px;width:3px;border-radius:3px;background:var(--blue)}
.dk{display:block;font:600 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dside.deep .dk{color:var(--blue)}
.dside b{display:block;font:600 17px/1.3 var(--display);color:var(--ink);margin-bottom:6px}
.dside p{margin:0;font-size:14.5px;line-height:1.55;color:var(--text)}
.dq{grid-column:1/-1;margin:0;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;background:var(--night);color:#fff;font:600 15.5px/1.45 var(--display)}
.dq span{font:600 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.dnote{margin:22px 0 0;font-size:15.5px;line-height:1.6;color:var(--text);max-width:820px}
@media(max-width:820px){.dpair{grid-template-columns:1fr}.dside.deep{border-left:0;border-top:1px solid var(--line)}.dside.deep::before{left:24px;right:auto;top:-1px;bottom:auto;width:48px;height:3px}}
@media(max-width:640px){.audela{padding:80px 0 70px}.dside{padding:18px}.dq{padding:14px 18px}}

/* 06 DORA */
.dora{background:var(--mist);padding:100px 0 90px}
.dgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:start}
.dfact{padding:26px 26px 22px;border-radius:20px;background:var(--night);color:#C3CBE3}
.dfact .dfk{display:block;font:600 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.dfact p{margin:0 0 12px;font-size:15px;line-height:1.55}
.dfact b{color:#fff}
.dfact .dfn{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;color:#8F9AB8}
.dmap{list-style:none;margin:0;padding:0;counter-reset:dm;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden}
.dmap li{counter-increment:dm;display:grid;grid-template-columns:.9fr 1.1fr;gap:6px 22px;padding:16px 22px 16px 58px;position:relative;border-top:1px solid var(--line)}
.dmap li:first-child{border-top:0}
.dmap li::before{content:counter(dm);position:absolute;left:20px;top:16px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 12.5px var(--display);color:#fff;background:var(--blue)}
.dmap .dd{font:600 15.5px/1.35 var(--display);color:var(--ink)}
.dmap .dc{font-size:14.5px;line-height:1.5;color:var(--text)}
.dlim{margin:20px 0 0;padding:16px 20px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--text);max-width:980px}
.dlim b{color:var(--ink)}
@media(max-width:960px){.dgrid{grid-template-columns:1fr}}
@media(max-width:640px){.dora{padding:80px 0 70px}.dmap li{grid-template-columns:1fr;padding:14px 16px 14px 52px}.dmap li::before{left:16px}}

/* Exemple de recherche (sans logo : les logos clients restent sur l'accueil) */
.dex{margin:14px 0 0;font-size:15px;line-height:1.55;color:var(--text)}
.dex span{margin-right:12px;font:600 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:640px){.dex span{display:block;margin:0 0 4px}}
.dex a{color:var(--blue);font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor}

/* 08 Questions fréquentes */
.faq{max-width:860px;margin:44px 0 0}
.faq h3{font-size:22px;margin:0 0 14px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font:600 17px/1.35 var(--display);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 18px var(--body);color:var(--blue);background:var(--mist);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}
.faq details p{margin:0 0 18px;font-size:15.5px;line-height:1.6;color:var(--text);max-width:760px}

/* 09 Appel final */
.final h2{max-width:20ch}
